@libp2p/mdns 10.0.25 → 10.1.0-15eb66428
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 +1 -1
- package/dist/src/mdns.d.ts +2 -1
- package/dist/src/mdns.d.ts.map +1 -1
- package/dist/src/mdns.js +4 -1
- package/dist/src/mdns.js.map +1 -1
- package/package.json +8 -8
- package/src/mdns.ts +5 -1
- package/dist/typedoc-urls.json +0 -4
package/dist/index.min.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PMdns = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2PMdns=(()=>{var St=Object.create;var je=Object.defineProperty;var Lt=Object.getOwnPropertyDescriptor;var bt=Object.getOwnPropertyNames;var Ct=Object.getPrototypeOf,Ot=Object.prototype.hasOwnProperty;var H=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var Q=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),k=(r,e)=>{for(var n in e)je(r,n,{get:e[n],enumerable:!0})},sn=(r,e,n,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of bt(e))!Ot.call(r,i)&&i!==n&&je(r,i,{get:()=>e[i],enumerable:!(t=Lt(e,i))||t.enumerable});return r};var or=(r,e,n)=>(n=r!=null?St(Ct(r)):{},sn(e||!r||!r.__esModule?je(n,"default",{value:r,enumerable:!0}):n,r)),Tt=r=>sn(je({},"__esModule",{value:!0}),r);var hn=Q(ar=>{"use strict";ar.toString=function(r){switch(r){case 1:return"A";case 10:return"NULL";case 28:return"AAAA";case 18:return"AFSDB";case 42:return"APL";case 257:return"CAA";case 60:return"CDNSKEY";case 59:return"CDS";case 37:return"CERT";case 5:return"CNAME";case 49:return"DHCID";case 32769:return"DLV";case 39:return"DNAME";case 48:return"DNSKEY";case 43:return"DS";case 55:return"HIP";case 13:return"HINFO";case 45:return"IPSECKEY";case 25:return"KEY";case 36:return"KX";case 29:return"LOC";case 15:return"MX";case 35:return"NAPTR";case 2:return"NS";case 47:return"NSEC";case 50:return"NSEC3";case 51:return"NSEC3PARAM";case 12:return"PTR";case 46:return"RRSIG";case 17:return"RP";case 24:return"SIG";case 6:return"SOA";case 99:return"SPF";case 33:return"SRV";case 44:return"SSHFP";case 32768:return"TA";case 249:return"TKEY";case 52:return"TLSA";case 250:return"TSIG";case 16:return"TXT";case 252:return"AXFR";case 251:return"IXFR";case 41:return"OPT";case 255:return"ANY"}return"UNKNOWN_"+r};ar.toType=function(r){switch(r.toUpperCase()){case"A":return 1;case"NULL":return 10;case"AAAA":return 28;case"AFSDB":return 18;case"APL":return 42;case"CAA":return 257;case"CDNSKEY":return 60;case"CDS":return 59;case"CERT":return 37;case"CNAME":return 5;case"DHCID":return 49;case"DLV":return 32769;case"DNAME":return 39;case"DNSKEY":return 48;case"DS":return 43;case"HIP":return 55;case"HINFO":return 13;case"IPSECKEY":return 45;case"KEY":return 25;case"KX":return 36;case"LOC":return 29;case"MX":return 15;case"NAPTR":return 35;case"NS":return 2;case"NSEC":return 47;case"NSEC3":return 50;case"NSEC3PARAM":return 51;case"PTR":return 12;case"RRSIG":return 46;case"RP":return 17;case"SIG":return 24;case"SOA":return 6;case"SPF":return 99;case"SRV":return 33;case"SSHFP":return 44;case"TA":return 32768;case"TKEY":return 249;case"TLSA":return 52;case"TSIG":return 250;case"TXT":return 16;case"AXFR":return 252;case"IXFR":return 251;case"OPT":return 41;case"ANY":return 255;case"*":return 255}return r.toUpperCase().startsWith("UNKNOWN_")?parseInt(r.slice(8)):0}});var pn=Q(dr=>{"use strict";dr.toString=function(r){switch(r){case 0:return"NOERROR";case 1:return"FORMERR";case 2:return"SERVFAIL";case 3:return"NXDOMAIN";case 4:return"NOTIMP";case 5:return"REFUSED";case 6:return"YXDOMAIN";case 7:return"YXRRSET";case 8:return"NXRRSET";case 9:return"NOTAUTH";case 10:return"NOTZONE";case 11:return"RCODE_11";case 12:return"RCODE_12";case 13:return"RCODE_13";case 14:return"RCODE_14";case 15:return"RCODE_15"}return"RCODE_"+r};dr.toRcode=function(r){switch(r.toUpperCase()){case"NOERROR":return 0;case"FORMERR":return 1;case"SERVFAIL":return 2;case"NXDOMAIN":return 3;case"NOTIMP":return 4;case"REFUSED":return 5;case"YXDOMAIN":return 6;case"YXRRSET":return 7;case"NXRRSET":return 8;case"NOTAUTH":return 9;case"NOTZONE":return 10;case"RCODE_11":return 11;case"RCODE_12":return 12;case"RCODE_13":return 13;case"RCODE_14":return 14;case"RCODE_15":return 15}return 0}});var gn=Q(lr=>{"use strict";lr.toString=function(r){switch(r){case 0:return"QUERY";case 1:return"IQUERY";case 2:return"STATUS";case 3:return"OPCODE_3";case 4:return"NOTIFY";case 5:return"UPDATE";case 6:return"OPCODE_6";case 7:return"OPCODE_7";case 8:return"OPCODE_8";case 9:return"OPCODE_9";case 10:return"OPCODE_10";case 11:return"OPCODE_11";case 12:return"OPCODE_12";case 13:return"OPCODE_13";case 14:return"OPCODE_14";case 15:return"OPCODE_15"}return"OPCODE_"+r};lr.toOpcode=function(r){switch(r.toUpperCase()){case"QUERY":return 0;case"IQUERY":return 1;case"STATUS":return 2;case"OPCODE_3":return 3;case"NOTIFY":return 4;case"UPDATE":return 5;case"OPCODE_6":return 6;case"OPCODE_7":return 7;case"OPCODE_8":return 8;case"OPCODE_9":return 9;case"OPCODE_10":return 10;case"OPCODE_11":return 11;case"OPCODE_12":return 12;case"OPCODE_13":return 13;case"OPCODE_14":return 14;case"OPCODE_15":return 15}return 0}});var mn=Q(ur=>{"use strict";ur.toString=function(r){switch(r){case 1:return"IN";case 2:return"CS";case 3:return"CH";case 4:return"HS";case 255:return"ANY"}return"UNKNOWN_"+r};ur.toClass=function(r){switch(r.toUpperCase()){case"IN":return 1;case"CS":return 2;case"CH":return 3;case"HS":return 4;case"ANY":return 255}return 0}});var yn=Q(hr=>{"use strict";hr.toString=function(r){switch(r){case 1:return"LLQ";case 2:return"UL";case 3:return"NSID";case 5:return"DAU";case 6:return"DHU";case 7:return"N3U";case 8:return"CLIENT_SUBNET";case 9:return"EXPIRE";case 10:return"COOKIE";case 11:return"TCP_KEEPALIVE";case 12:return"PADDING";case 13:return"CHAIN";case 14:return"KEY_TAG";case 26946:return"DEVICEID"}return r<0?null:`OPTION_${r}`};hr.toCode=function(r){if(typeof r=="number")return r;if(!r)return-1;switch(r.toUpperCase()){case"OPTION_0":return 0;case"LLQ":return 1;case"UL":return 2;case"NSID":return 3;case"OPTION_4":return 4;case"DAU":return 5;case"DHU":return 6;case"N3U":return 7;case"CLIENT_SUBNET":return 8;case"EXPIRE":return 9;case"COOKIE":return 10;case"TCP_KEEPALIVE":return 11;case"PADDING":return 12;case"CHAIN":return 13;case"KEY_TAG":return 14;case"DEVICEID":return 26946;case"OPTION_65535":return 65535}let e=r.match(/_(\d+)$/);return e?parseInt(e[1],10):-1}});var In=Q((En,pr)=>{var wn=function(r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.decode=l,r.encode=m,r.familyOf=d,r.name=void 0,r.sizeOf=a,r.v6=r.v4=void 0;let e=/^(\d{1,3}\.){3,3}\d{1,3}$/,n=4,t=/^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i,i=16,o={name:"v4",size:n,isFormat:u=>e.test(u),encode(u,p,s){s=~~s,p=p||new Uint8Array(s+n);let y=u.length,v=0;for(let U=0;U<y;){let L=u.charCodeAt(U++);L===46?(p[s++]=v,v=0):v=v*10+(L-48)}return p[s]=v,p},decode(u,p){return p=~~p,`${u[p++]}.${u[p++]}.${u[p++]}.${u[p]}`}};r.v4=o;let c={name:"v6",size:i,isFormat:u=>u.length>0&&t.test(u),encode(u,p,s){s=~~s;let y=s+i,v=-1,U=0,L=0,D=!0,T=!1;p=p||new Uint8Array(s+i);for(let b=0;b<u.length;b++){let C=u.charCodeAt(b);C===58?(D?v!==-1?(s<y&&(p[s]=0),s<y-1&&(p[s+1]=0),s+=2):s<y&&(v=s):(T===!0?(s<y&&(p[s]=L),s++):(s<y&&(p[s]=U>>8),s<y-1&&(p[s+1]=U&255),s+=2),U=0,L=0),D=!0,T=!1):C===46?(s<y&&(p[s]=L),s++,L=0,U=0,D=!1,T=!0):(D=!1,C>=97?C-=87:C>=65?C-=55:(C-=48,L=L*10+C),U=(U<<4)+C)}if(D===!1)T===!0?(s<y&&(p[s]=L),s++):(s<y&&(p[s]=U>>8),s<y-1&&(p[s+1]=U&255),s+=2);else if(v===0)s<y&&(p[s]=0),s<y-1&&(p[s+1]=0),s+=2;else if(v!==-1){s+=2;for(let b=Math.min(s-1,y-1);b>=v+2;b--)p[b]=p[b-2];p[v]=0,p[v+1]=0,v=s}if(v!==s&&v!==-1)for(s>y-2&&(s=y-2);y>v;)p[--y]=s<y&&s>v?p[--s]:0;else for(;s<y;)p[s++]=0;return p},decode(u,p){p=~~p;let s="";for(let y=0;y<i;y+=2)y!==0&&(s+=":"),s+=(u[p+y]<<8|u[p+y+1]).toString(16);return s.replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}};r.v6=c;let h="ip";r.name=h;function a(u){if(o.isFormat(u))return o.size;if(c.isFormat(u))return c.size;throw Error(`Invalid ip address: ${u}`)}function d(u){return a(u)===o.size?1:2}function m(u,p,s){s=~~s;let y=a(u);return typeof p=="function"&&(p=p(s+y)),y===o.size?o.encode(u,p,s):c.encode(u,p,s)}function l(u,p,s){if(p=~~p,s=s||u.length-p,s===o.size)return o.decode(u,p,s);if(s===c.size)return c.decode(u,p,s);throw Error(`Invalid buffer size needs to be ${o.size} for v4 or ${c.size} for v6.`)}return"default"in r?r.default:r}({});typeof define=="function"&&define.amd?define([],function(){return wn}):typeof pr=="object"&&typeof En=="object"&&(pr.exports=wn)});var An=Q(w=>{"use strict";var E=H("buffer").Buffer,ge=hn(),Nt=pn(),Pt=gn(),Qe=mn(),gr=yn(),ve=In(),Dt=0,xn=32768,mr=32768,Bt=~mr,vn=32768,Ft=~vn,g=w.name={};g.encode=function(r,e,n,{mail:t=!1}={}){e||(e=E.alloc(g.encodingLength(r))),n||(n=0);let i=n,o=r.replace(/^\.|\.$/gm,"");if(o.length){let c=[];if(t){let h="";o.split(".").forEach(a=>{a.endsWith("\\")?h+=(h.length?".":"")+a.slice(0,-1):c.length===0&&h.length?c.push(h+"."+a):c.push(a)})}else c=o.split(".");for(let h=0;h<c.length;h++){let a=e.write(c[h],n+1);e[n]=a,n+=a+1}}return e[n++]=0,g.encode.bytes=n-i,e};g.encode.bytes=0;g.decode=function(r,e,{mail:n=!1}={}){e||(e=0);let t=[],i=e,o=0,c=0,h=!1;for(;;){if(e>=r.length)throw new Error("Cannot decode name (buffer overflow)");let a=r[e++];if(c+=h?0:1,a===0)break;if(a&192)if((a&192)===192){if(e+1>r.length)throw new Error("Cannot decode name (buffer overflow)");let d=r.readUInt16BE(e-1)-49152;if(d>=i)throw new Error("Cannot decode name (bad pointer)");e=d,i=d,c+=h?0:1,h=!0}else throw new Error("Cannot decode name (bad label)");else{if(e+a>r.length)throw new Error("Cannot decode name (buffer overflow)");if(o+=a+1,o>254)throw new Error("Cannot decode name (name too long)");let d=r.toString("utf-8",e,e+a);n&&(d=d.replace(/\./g,"\\.")),t.push(d),e+=a,c+=h?0:a}}return g.decode.bytes=c,t.length===0?".":t.join(".")};g.decode.bytes=0;g.encodingLength=function(r){return r==="."||r===".."?1:E.byteLength(r.replace(/^\.|\.$/gm,""))+2};var I={};I.encode=function(r,e,n){e||(e=E.alloc(I.encodingLength(r))),n||(n=0);let t=e.write(r,n+1);return e[n]=t,I.encode.bytes=t+1,e};I.encode.bytes=0;I.decode=function(r,e){e||(e=0);let n=r[e],t=r.toString("utf-8",e+1,e+1+n);return I.decode.bytes=n+1,t};I.decode.bytes=0;I.encodingLength=function(r){return E.byteLength(r)+1};var Y={};Y.encode=function(r,e,n){e||(e=Y.encodingLength(r)),n||(n=0);let t=(r.flags||0)&32767,i=r.type==="response"?xn:Dt;return e.writeUInt16BE(r.id||0,n),e.writeUInt16BE(t|i,n+2),e.writeUInt16BE(r.questions.length,n+4),e.writeUInt16BE(r.answers.length,n+6),e.writeUInt16BE(r.authorities.length,n+8),e.writeUInt16BE(r.additionals.length,n+10),e};Y.encode.bytes=12;Y.decode=function(r,e){if(e||(e=0),r.length<12)throw new Error("Header must be 12 bytes");let n=r.readUInt16BE(e+2);return{id:r.readUInt16BE(e),type:n&xn?"response":"query",flags:n&32767,flag_qr:(n>>15&1)===1,opcode:Pt.toString(n>>11&15),flag_aa:(n>>10&1)===1,flag_tc:(n>>9&1)===1,flag_rd:(n>>8&1)===1,flag_ra:(n>>7&1)===1,flag_z:(n>>6&1)===1,flag_ad:(n>>5&1)===1,flag_cd:(n>>4&1)===1,rcode:Nt.toString(n&15),questions:new Array(r.readUInt16BE(e+4)),answers:new Array(r.readUInt16BE(e+6)),authorities:new Array(r.readUInt16BE(e+8)),additionals:new Array(r.readUInt16BE(e+10))}};Y.decode.bytes=12;Y.encodingLength=function(){return 12};var oe=w.unknown={};oe.encode=function(r,e,n){return e||(e=E.alloc(oe.encodingLength(r))),n||(n=0),e.writeUInt16BE(r.length,n),r.copy(e,n+2),oe.encode.bytes=r.length+2,e};oe.encode.bytes=0;oe.decode=function(r,e){e||(e=0);let n=r.readUInt16BE(e),t=r.slice(e+2,e+2+n);return oe.decode.bytes=n+2,t};oe.decode.bytes=0;oe.encodingLength=function(r){return r.length+2};var ce=w.ns={};ce.encode=function(r,e,n){return e||(e=E.alloc(ce.encodingLength(r))),n||(n=0),g.encode(r,e,n+2),e.writeUInt16BE(g.encode.bytes,n),ce.encode.bytes=g.encode.bytes+2,e};ce.encode.bytes=0;ce.decode=function(r,e){e||(e=0);let n=r.readUInt16BE(e),t=g.decode(r,e+2);return ce.decode.bytes=n+2,t};ce.decode.bytes=0;ce.encodingLength=function(r){return g.encodingLength(r)+2};var se=w.soa={};se.encode=function(r,e,n){e||(e=E.alloc(se.encodingLength(r))),n||(n=0);let t=n;return n+=2,g.encode(r.mname,e,n),n+=g.encode.bytes,g.encode(r.rname,e,n,{mail:!0}),n+=g.encode.bytes,e.writeUInt32BE(r.serial||0,n),n+=4,e.writeUInt32BE(r.refresh||0,n),n+=4,e.writeUInt32BE(r.retry||0,n),n+=4,e.writeUInt32BE(r.expire||0,n),n+=4,e.writeUInt32BE(r.minimum||0,n),n+=4,e.writeUInt16BE(n-t-2,t),se.encode.bytes=n-t,e};se.encode.bytes=0;se.decode=function(r,e){e||(e=0);let n=e,t={};return e+=2,t.mname=g.decode(r,e),e+=g.decode.bytes,t.rname=g.decode(r,e,{mail:!0}),e+=g.decode.bytes,t.serial=r.readUInt32BE(e),e+=4,t.refresh=r.readUInt32BE(e),e+=4,t.retry=r.readUInt32BE(e),e+=4,t.expire=r.readUInt32BE(e),e+=4,t.minimum=r.readUInt32BE(e),e+=4,se.decode.bytes=e-n,t};se.decode.bytes=0;se.encodingLength=function(r){return 22+g.encodingLength(r.mname)+g.encodingLength(r.rname)};var ae=w.txt={};ae.encode=function(r,e,n){Array.isArray(r)||(r=[r]);for(let i=0;i<r.length;i++)if(typeof r[i]=="string"&&(r[i]=E.from(r[i])),!E.isBuffer(r[i]))throw new Error("Must be a Buffer");e||(e=E.alloc(ae.encodingLength(r))),n||(n=0);let t=n;return n+=2,r.forEach(function(i){e[n++]=i.length,i.copy(e,n,0,i.length),n+=i.length}),e.writeUInt16BE(n-t-2,t),ae.encode.bytes=n-t,e};ae.encode.bytes=0;ae.decode=function(r,e){e||(e=0);let n=e,t=r.readUInt16BE(e);e+=2;let i=[];for(;t>0;){let o=r[e++];if(--t,t<o)throw new Error("Buffer overflow");i.push(r.slice(e,e+o)),e+=o,t-=o}return ae.decode.bytes=e-n,i};ae.decode.bytes=0;ae.encodingLength=function(r){Array.isArray(r)||(r=[r]);let e=2;return r.forEach(function(n){typeof n=="string"?e+=E.byteLength(n)+1:e+=n.length+1}),e};var de=w.null={};de.encode=function(r,e,n){e||(e=E.alloc(de.encodingLength(r))),n||(n=0),typeof r=="string"&&(r=E.from(r)),r||(r=E.alloc(0));let t=n;n+=2;let i=r.length;return r.copy(e,n,0,i),n+=i,e.writeUInt16BE(n-t-2,t),de.encode.bytes=n-t,e};de.encode.bytes=0;de.decode=function(r,e){e||(e=0);let n=e,t=r.readUInt16BE(e);e+=2;let i=r.slice(e,e+t);return e+=t,de.decode.bytes=e-n,i};de.decode.bytes=0;de.encodingLength=function(r){return r?(E.isBuffer(r)?r.length:E.byteLength(r))+2:2};var le=w.hinfo={};le.encode=function(r,e,n){e||(e=E.alloc(le.encodingLength(r))),n||(n=0);let t=n;return n+=2,I.encode(r.cpu,e,n),n+=I.encode.bytes,I.encode(r.os,e,n),n+=I.encode.bytes,e.writeUInt16BE(n-t-2,t),le.encode.bytes=n-t,e};le.encode.bytes=0;le.decode=function(r,e){e||(e=0);let n=e,t={};return e+=2,t.cpu=I.decode(r,e),e+=I.decode.bytes,t.os=I.decode(r,e),e+=I.decode.bytes,le.decode.bytes=e-n,t};le.decode.bytes=0;le.encodingLength=function(r){return I.encodingLength(r.cpu)+I.encodingLength(r.os)+2};var j=w.ptr={},Rt=w.cname=j,_t=w.dname=j;j.encode=function(r,e,n){return e||(e=E.alloc(j.encodingLength(r))),n||(n=0),g.encode(r,e,n+2),e.writeUInt16BE(g.encode.bytes,n),j.encode.bytes=g.encode.bytes+2,e};j.encode.bytes=0;j.decode=function(r,e){e||(e=0);let n=g.decode(r,e+2);return j.decode.bytes=g.decode.bytes+2,n};j.decode.bytes=0;j.encodingLength=function(r){return g.encodingLength(r)+2};var ue=w.srv={};ue.encode=function(r,e,n){e||(e=E.alloc(ue.encodingLength(r))),n||(n=0),e.writeUInt16BE(r.priority||0,n+2),e.writeUInt16BE(r.weight||0,n+4),e.writeUInt16BE(r.port||0,n+6),g.encode(r.target,e,n+8);let t=g.encode.bytes+6;return e.writeUInt16BE(t,n),ue.encode.bytes=t+2,e};ue.encode.bytes=0;ue.decode=function(r,e){e||(e=0);let n=r.readUInt16BE(e),t={};return t.priority=r.readUInt16BE(e+2),t.weight=r.readUInt16BE(e+4),t.port=r.readUInt16BE(e+6),t.target=g.decode(r,e+8),ue.decode.bytes=n+2,t};ue.decode.bytes=0;ue.encodingLength=function(r){return 8+g.encodingLength(r.target)};var M=w.caa={};M.ISSUER_CRITICAL=128;M.encode=function(r,e,n){let t=M.encodingLength(r);return e||(e=E.alloc(M.encodingLength(r))),n||(n=0),r.issuerCritical&&(r.flags=M.ISSUER_CRITICAL),e.writeUInt16BE(t-2,n),n+=2,e.writeUInt8(r.flags||0,n),n+=1,I.encode(r.tag,e,n),n+=I.encode.bytes,e.write(r.value,n),n+=E.byteLength(r.value),M.encode.bytes=t,e};M.encode.bytes=0;M.decode=function(r,e){e||(e=0);let n=r.readUInt16BE(e);e+=2;let t=e,i={};return i.flags=r.readUInt8(e),e+=1,i.tag=I.decode(r,e),e+=I.decode.bytes,i.value=r.toString("utf-8",e,t+n),i.issuerCritical=!!(i.flags&M.ISSUER_CRITICAL),M.decode.bytes=n+2,i};M.decode.bytes=0;M.encodingLength=function(r){return I.encodingLength(r.tag)+I.encodingLength(r.value)+2};var we=w.mx={};we.encode=function(r,e,n){e||(e=E.alloc(we.encodingLength(r))),n||(n=0);let t=n;return n+=2,e.writeUInt16BE(r.preference||0,n),n+=2,g.encode(r.exchange,e,n),n+=g.encode.bytes,e.writeUInt16BE(n-t-2,t),we.encode.bytes=n-t,e};we.encode.bytes=0;we.decode=function(r,e){e||(e=0);let n=e,t={};return e+=2,t.preference=r.readUInt16BE(e),e+=2,t.exchange=g.decode(r,e),e+=g.decode.bytes,we.decode.bytes=e-n,t};we.encodingLength=function(r){return 4+g.encodingLength(r.exchange)};var he=w.a={};he.encode=function(r,e,n){return e||(e=E.alloc(he.encodingLength(r))),n||(n=0),e.writeUInt16BE(4,n),n+=2,ve.v4.encode(r,e,n),he.encode.bytes=6,e};he.encode.bytes=0;he.decode=function(r,e){e||(e=0),e+=2;let n=ve.v4.decode(r,e);return he.decode.bytes=6,n};he.decode.bytes=0;he.encodingLength=function(){return 6};var pe=w.aaaa={};pe.encode=function(r,e,n){return e||(e=E.alloc(pe.encodingLength(r))),n||(n=0),e.writeUInt16BE(16,n),n+=2,ve.v6.encode(r,e,n),pe.encode.bytes=18,e};pe.encode.bytes=0;pe.decode=function(r,e){e||(e=0),e+=2;let n=ve.v6.decode(r,e);return pe.decode.bytes=18,n};pe.decode.bytes=0;pe.encodingLength=function(){return 18};var R=w.option={};R.encode=function(r,e,n){e||(e=E.alloc(R.encodingLength(r))),n||(n=0);let t=n,i=gr.toCode(r.code);if(e.writeUInt16BE(i,n),n+=2,r.data)e.writeUInt16BE(r.data.length,n),n+=2,r.data.copy(e,n),n+=r.data.length;else switch(i){case 8:let o=r.sourcePrefixLength||0,c=r.family||ve.familyOf(r.ip),h=ve.encode(r.ip,E.alloc),a=Math.ceil(o/8);e.writeUInt16BE(a+4,n),n+=2,e.writeUInt16BE(c,n),n+=2,e.writeUInt8(o,n++),e.writeUInt8(r.scopePrefixLength||0,n++),h.copy(e,n,0,a),n+=a;break;case 11:r.timeout?(e.writeUInt16BE(2,n),n+=2,e.writeUInt16BE(r.timeout,n),n+=2):(e.writeUInt16BE(0,n),n+=2);break;case 12:let d=r.length||0;e.writeUInt16BE(d,n),n+=2,e.fill(0,n,n+d),n+=d;break;case 14:let m=r.tags.length*2;e.writeUInt16BE(m,n),n+=2;for(let l of r.tags)e.writeUInt16BE(l,n),n+=2;break;default:throw new Error(`Unknown roption code: ${r.code}`)}return R.encode.bytes=n-t,e};R.encode.bytes=0;R.decode=function(r,e){e||(e=0);let n={};n.code=r.readUInt16BE(e),n.type=gr.toString(n.code),e+=2;let t=r.readUInt16BE(e);switch(e+=2,n.data=r.slice(e,e+t),n.code){case 8:n.family=r.readUInt16BE(e),e+=2,n.sourcePrefixLength=r.readUInt8(e++),n.scopePrefixLength=r.readUInt8(e++);let i=E.alloc(n.family===1?4:16);r.copy(i,0,e,e+t-4),n.ip=ve.decode(i);break;case 11:t>0&&(n.timeout=r.readUInt16BE(e),e+=2);break;case 14:n.tags=[];for(let o=0;o<t;o+=2)n.tags.push(r.readUInt16BE(e)),e+=2}return R.decode.bytes=t+4,n};R.decode.bytes=0;R.encodingLength=function(r){if(r.data)return r.data.length+4;switch(gr.toCode(r.code)){case 8:let n=r.sourcePrefixLength||0;return Math.ceil(n/8)+8;case 11:return typeof r.timeout=="number"?6:4;case 12:return r.length+4;case 14:return 4+r.tags.length*2}throw new Error(`Unknown roption code: ${r.code}`)};var q=w.opt={};q.encode=function(r,e,n){e||(e=E.alloc(q.encodingLength(r))),n||(n=0);let t=n,i=Le(r,R);return e.writeUInt16BE(i,n),n=Be(r,R,e,n+2),q.encode.bytes=n-t,e};q.encode.bytes=0;q.decode=function(r,e){e||(e=0);let n=e,t=[],i=r.readUInt16BE(e);e+=2;let o=0;for(;i>0;)t[o++]=R.decode(r,e),e+=R.decode.bytes,i-=R.decode.bytes;return q.decode.bytes=e-n,t};q.decode.bytes=0;q.encodingLength=function(r){return 2+Le(r||[],R)};var F=w.dnskey={};F.PROTOCOL_DNSSEC=3;F.ZONE_KEY=128;F.SECURE_ENTRYPOINT=32768;F.encode=function(r,e,n){e||(e=E.alloc(F.encodingLength(r))),n||(n=0);let t=n,i=r.key;if(!E.isBuffer(i))throw new Error("Key must be a Buffer");return n+=2,e.writeUInt16BE(r.flags,n),n+=2,e.writeUInt8(F.PROTOCOL_DNSSEC,n),n+=1,e.writeUInt8(r.algorithm,n),n+=1,i.copy(e,n,0,i.length),n+=i.length,F.encode.bytes=n-t,e.writeUInt16BE(F.encode.bytes-2,t),e};F.encode.bytes=0;F.decode=function(r,e){e||(e=0);let n=e;var t={},i=r.readUInt16BE(e);if(e+=2,t.flags=r.readUInt16BE(e),e+=2,r.readUInt8(e)!==F.PROTOCOL_DNSSEC)throw new Error("Protocol must be 3");return e+=1,t.algorithm=r.readUInt8(e),e+=1,t.key=r.slice(e,n+i+2),e+=t.key.length,F.decode.bytes=e-n,t};F.decode.bytes=0;F.encodingLength=function(r){return 6+E.byteLength(r.key)};var W=w.rrsig={};W.encode=function(r,e,n){e||(e=E.alloc(W.encodingLength(r))),n||(n=0);let t=n,i=r.signature;if(!E.isBuffer(i))throw new Error("Signature must be a Buffer");return n+=2,e.writeUInt16BE(ge.toType(r.typeCovered),n),n+=2,e.writeUInt8(r.algorithm,n),n+=1,e.writeUInt8(r.labels,n),n+=1,e.writeUInt32BE(r.originalTTL,n),n+=4,e.writeUInt32BE(r.expiration,n),n+=4,e.writeUInt32BE(r.inception,n),n+=4,e.writeUInt16BE(r.keyTag,n),n+=2,g.encode(r.signersName,e,n),n+=g.encode.bytes,i.copy(e,n,0,i.length),n+=i.length,W.encode.bytes=n-t,e.writeUInt16BE(W.encode.bytes-2,t),e};W.encode.bytes=0;W.decode=function(r,e){e||(e=0);let n=e;var t={},i=r.readUInt16BE(e);return e+=2,t.typeCovered=ge.toString(r.readUInt16BE(e)),e+=2,t.algorithm=r.readUInt8(e),e+=1,t.labels=r.readUInt8(e),e+=1,t.originalTTL=r.readUInt32BE(e),e+=4,t.expiration=r.readUInt32BE(e),e+=4,t.inception=r.readUInt32BE(e),e+=4,t.keyTag=r.readUInt16BE(e),e+=2,t.signersName=g.decode(r,e),e+=g.decode.bytes,t.signature=r.slice(e,n+i+2),e+=t.signature.length,W.decode.bytes=e-n,t};W.decode.bytes=0;W.encodingLength=function(r){return 20+g.encodingLength(r.signersName)+E.byteLength(r.signature)};var J=w.rp={};J.encode=function(r,e,n){e||(e=E.alloc(J.encodingLength(r))),n||(n=0);let t=n;return n+=2,g.encode(r.mbox||".",e,n,{mail:!0}),n+=g.encode.bytes,g.encode(r.txt||".",e,n),n+=g.encode.bytes,J.encode.bytes=n-t,e.writeUInt16BE(J.encode.bytes-2,t),e};J.encode.bytes=0;J.decode=function(r,e){e||(e=0);let n=e,t={};return e+=2,t.mbox=g.decode(r,e,{mail:!0})||".",e+=g.decode.bytes,t.txt=g.decode(r,e)||".",e+=g.decode.bytes,J.decode.bytes=e-n,t};J.decode.bytes=0;J.encodingLength=function(r){return 2+g.encodingLength(r.mbox||".")+g.encodingLength(r.txt||".")};var O={};O.encode=function(r,e,n){e||(e=E.alloc(O.encodingLength(r))),n||(n=0);let t=n;for(var i=[],o=0;o<r.length;o++){var c=ge.toType(r[o]);i[c>>8]===void 0&&(i[c>>8]=[]),i[c>>8][c>>3&31]|=1<<7-(c&7)}for(o=0;o<i.length;o++)if(i[o]!==void 0){var h=E.from(i[o]);e.writeUInt8(o,n),n+=1,e.writeUInt8(h.length,n),n+=1,h.copy(e,n),n+=h.length}return O.encode.bytes=n-t,e};O.encode.bytes=0;O.decode=function(r,e,n){e||(e=0);let t=e;for(var i=[];e-t<n;){var o=r.readUInt8(e);e+=1;var c=r.readUInt8(e);e+=1;for(var h=0;h<c;h++)for(var a=r.readUInt8(e+h),d=0;d<8;d++)if(a&1<<7-d){var m=ge.toString(o<<8|h<<3|d);i.push(m)}e+=c}return O.decode.bytes=e-t,i};O.decode.bytes=0;O.encodingLength=function(r){for(var e=[],n=0;n<r.length;n++){var t=ge.toType(r[n]);e[t>>8]=Math.max(e[t>>8]||0,t&255)}var i=0;for(n=0;n<e.length;n++)e[n]!==void 0&&(i+=2+Math.ceil((e[n]+1)/8));return i};var Z=w.nsec={};Z.encode=function(r,e,n){e||(e=E.alloc(Z.encodingLength(r))),n||(n=0);let t=n;return n+=2,g.encode(r.nextDomain,e,n),n+=g.encode.bytes,O.encode(r.rrtypes,e,n),n+=O.encode.bytes,Z.encode.bytes=n-t,e.writeUInt16BE(Z.encode.bytes-2,t),e};Z.encode.bytes=0;Z.decode=function(r,e){e||(e=0);let n=e;var t={},i=r.readUInt16BE(e);return e+=2,t.nextDomain=g.decode(r,e),e+=g.decode.bytes,t.rrtypes=O.decode(r,e,i-(e-n)),e+=O.decode.bytes,Z.decode.bytes=e-n,t};Z.decode.bytes=0;Z.encodingLength=function(r){return 2+g.encodingLength(r.nextDomain)+O.encodingLength(r.rrtypes)};var f=w.nsec3={};f.encode=function(r,e,n){e||(e=E.alloc(f.encodingLength(r))),n||(n=0);let t=n,i=r.salt;if(!E.isBuffer(i))throw new Error("salt must be a Buffer");let o=r.nextDomain;if(!E.isBuffer(o))throw new Error("nextDomain must be a Buffer");return n+=2,e.writeUInt8(r.algorithm,n),n+=1,e.writeUInt8(r.flags,n),n+=1,e.writeUInt16BE(r.iterations,n),n+=2,e.writeUInt8(i.length,n),n+=1,i.copy(e,n,0,i.length),n+=i.length,e.writeUInt8(o.length,n),n+=1,o.copy(e,n,0,o.length),n+=o.length,O.encode(r.rrtypes,e,n),n+=O.encode.bytes,f.encode.bytes=n-t,e.writeUInt16BE(f.encode.bytes-2,t),e};f.encode.bytes=0;f.decode=function(r,e){e||(e=0);let n=e;var t={},i=r.readUInt16BE(e);e+=2,t.algorithm=r.readUInt8(e),e+=1,t.flags=r.readUInt8(e),e+=1,t.iterations=r.readUInt16BE(e),e+=2;let o=r.readUInt8(e);e+=1,t.salt=r.slice(e,e+o),e+=o;let c=r.readUInt8(e);return e+=1,t.nextDomain=r.slice(e,e+c),e+=c,t.rrtypes=O.decode(r,e,i-(e-n)),e+=O.decode.bytes,f.decode.bytes=e-n,t};f.decode.bytes=0;f.encodingLength=function(r){return 8+r.salt.length+r.nextDomain.length+O.encodingLength(r.rrtypes)};var ee=w.ds={};ee.encode=function(r,e,n){e||(e=E.alloc(ee.encodingLength(r))),n||(n=0);let t=n,i=r.digest;if(!E.isBuffer(i))throw new Error("Digest must be a Buffer");return n+=2,e.writeUInt16BE(r.keyTag,n),n+=2,e.writeUInt8(r.algorithm,n),n+=1,e.writeUInt8(r.digestType,n),n+=1,i.copy(e,n,0,i.length),n+=i.length,ee.encode.bytes=n-t,e.writeUInt16BE(ee.encode.bytes-2,t),e};ee.encode.bytes=0;ee.decode=function(r,e){e||(e=0);let n=e;var t={},i=r.readUInt16BE(e);return e+=2,t.keyTag=r.readUInt16BE(e),e+=2,t.algorithm=r.readUInt8(e),e+=1,t.digestType=r.readUInt8(e),e+=1,t.digest=r.slice(e,n+i+2),e+=t.digest.length,ee.decode.bytes=e-n,t};ee.decode.bytes=0;ee.encodingLength=function(r){return 6+E.byteLength(r.digest)};var z=w.sshfp={};z.getFingerprintLengthForHashType=function(e){switch(e){case 1:return 20;case 2:return 32}};z.encode=function(e,n,t){n||(n=E.alloc(z.encodingLength(e))),t||(t=0);let i=t;t+=2,n[t]=e.algorithm,t+=1,n[t]=e.hash,t+=1;let o=E.from(e.fingerprint.toUpperCase(),"hex");if(o.length!==z.getFingerprintLengthForHashType(e.hash))throw new Error("Invalid fingerprint length");return o.copy(n,t),t+=o.byteLength,z.encode.bytes=t-i,n.writeUInt16BE(z.encode.bytes-2,i),n};z.encode.bytes=0;z.decode=function(e,n){n||(n=0);let t=n,i={};n+=2,i.algorithm=e[n],n+=1,i.hash=e[n],n+=1;let o=z.getFingerprintLengthForHashType(i.hash);return i.fingerprint=e.slice(n,n+o).toString("hex").toUpperCase(),n+=o,z.decode.bytes=n-t,i};z.decode.bytes=0;z.encodingLength=function(r){return 4+E.from(r.fingerprint,"hex").byteLength};var re=w.naptr={};re.encode=function(r,e,n){e||(e=E.alloc(re.encodingLength(r))),n||(n=0);let t=n;return n+=2,e.writeUInt16BE(r.order||0,n),n+=2,e.writeUInt16BE(r.preference||0,n),n+=2,I.encode(r.flags,e,n),n+=I.encode.bytes,I.encode(r.services,e,n),n+=I.encode.bytes,I.encode(r.regexp,e,n),n+=I.encode.bytes,g.encode(r.replacement,e,n),n+=g.encode.bytes,re.encode.bytes=n-t,e.writeUInt16BE(re.encode.bytes-2,t),e};re.encode.bytes=0;re.decode=function(r,e){e||(e=0);let n=e,t={};return e+=2,t.order=r.readUInt16BE(e),e+=2,t.preference=r.readUInt16BE(e),e+=2,t.flags=I.decode(r,e),e+=I.decode.bytes,t.services=I.decode(r,e),e+=I.decode.bytes,t.regexp=I.decode(r,e),e+=I.decode.bytes,t.replacement=g.decode(r,e),e+=g.decode.bytes,re.decode.bytes=e-n,t};re.decode.bytes=0;re.encodingLength=function(r){return I.encodingLength(r.flags)+I.encodingLength(r.services)+I.encodingLength(r.regexp)+g.encodingLength(r.replacement)+6};var ne=w.tlsa={};ne.encode=function(r,e,n){e||(e=E.alloc(ne.encodingLength(r))),n||(n=0);let t=n,i=r.certificate;if(!E.isBuffer(i))throw new Error("Certificate must be a Buffer");return n+=2,e.writeUInt8(r.usage,n),n+=1,e.writeUInt8(r.selector,n),n+=1,e.writeUInt8(r.matchingType,n),n+=1,i.copy(e,n,0,i.length),n+=i.length,ne.encode.bytes=n-t,e.writeUInt16BE(ne.encode.bytes-2,t),e};ne.encode.bytes=0;ne.decode=function(r,e){e||(e=0);let n=e,t={},i=r.readUInt16BE(e);return e+=2,t.usage=r.readUInt8(e),e+=1,t.selector=r.readUInt8(e),e+=1,t.matchingType=r.readUInt8(e),e+=1,t.certificate=r.slice(e,n+i+2),e+=t.certificate.length,ne.decode.bytes=e-n,t};ne.decode.bytes=0;ne.encodingLength=function(r){return 5+E.byteLength(r.certificate)};var yr=w.record=function(r){switch(r.toUpperCase()){case"A":return he;case"PTR":return j;case"CNAME":return Rt;case"DNAME":return _t;case"TXT":return ae;case"NULL":return de;case"AAAA":return pe;case"SRV":return ue;case"HINFO":return le;case"CAA":return M;case"NS":return ce;case"SOA":return se;case"MX":return we;case"OPT":return q;case"DNSKEY":return F;case"RRSIG":return W;case"RP":return J;case"NSEC":return Z;case"NSEC3":return f;case"SSHFP":return z;case"DS":return ee;case"NAPTR":return re;case"TLSA":return ne}return oe},N=w.answer={};N.encode=function(r,e,n){e||(e=E.alloc(N.encodingLength(r))),n||(n=0);let t=n;if(g.encode(r.name,e,n),n+=g.encode.bytes,e.writeUInt16BE(ge.toType(r.type),n),r.type.toUpperCase()==="OPT"){if(r.name!==".")throw new Error("OPT name must be root.");e.writeUInt16BE(r.udpPayloadSize||4096,n+2),e.writeUInt8(r.extendedRcode||0,n+4),e.writeUInt8(r.ednsVersion||0,n+5),e.writeUInt16BE(r.flags||0,n+6),n+=8,q.encode(r.options||[],e,n),n+=q.encode.bytes}else{let i=Qe.toClass(r.class===void 0?"IN":r.class);r.flush&&(i|=mr),e.writeUInt16BE(i,n+2),e.writeUInt32BE(r.ttl||0,n+4),n+=8;let o=yr(r.type);o.encode(r.data,e,n),n+=o.encode.bytes}return N.encode.bytes=n-t,e};N.encode.bytes=0;N.decode=function(r,e){e||(e=0);let n={},t=e;if(n.name=g.decode(r,e),e+=g.decode.bytes,n.type=ge.toString(r.readUInt16BE(e)),n.type==="OPT")n.udpPayloadSize=r.readUInt16BE(e+2),n.extendedRcode=r.readUInt8(e+4),n.ednsVersion=r.readUInt8(e+5),n.flags=r.readUInt16BE(e+6),n.flag_do=(n.flags>>15&1)===1,n.options=q.decode(r,e+8),e+=8+q.decode.bytes;else{let i=r.readUInt16BE(e+2);n.ttl=r.readUInt32BE(e+4),n.class=Qe.toString(i&Bt),n.flush=!!(i&mr);let o=yr(n.type);n.data=o.decode(r,e+8),e+=8+o.decode.bytes}return N.decode.bytes=e-t,n};N.decode.bytes=0;N.encodingLength=function(r){let e=r.data!==null&&r.data!==void 0?r.data:r.options;return g.encodingLength(r.name)+8+yr(r.type).encodingLength(e)};var X=w.question={};X.encode=function(r,e,n){e||(e=E.alloc(X.encodingLength(r))),n||(n=0);let t=n;return g.encode(r.name,e,n),n+=g.encode.bytes,e.writeUInt16BE(ge.toType(r.type),n),n+=2,e.writeUInt16BE(Qe.toClass(r.class===void 0?"IN":r.class),n),n+=2,X.encode.bytes=n-t,r};X.encode.bytes=0;X.decode=function(r,e){e||(e=0);let n=e,t={};return t.name=g.decode(r,e),e+=g.decode.bytes,t.type=ge.toString(r.readUInt16BE(e)),e+=2,t.class=Qe.toString(r.readUInt16BE(e)),e+=2,!!(t.class&vn)&&(t.class&=Ft),X.decode.bytes=e-n,t};X.decode.bytes=0;X.encodingLength=function(r){return g.encodingLength(r.name)+4};w.AUTHORITATIVE_ANSWER=1024;w.TRUNCATED_RESPONSE=512;w.RECURSION_DESIRED=256;w.RECURSION_AVAILABLE=128;w.AUTHENTIC_DATA=32;w.CHECKING_DISABLED=16;w.DNSSEC_OK=32768;w.encode=function(r,e,n){let t=!e;t&&(e=E.alloc(w.encodingLength(r))),n||(n=0);let i=n;return r.questions||(r.questions=[]),r.answers||(r.answers=[]),r.authorities||(r.authorities=[]),r.additionals||(r.additionals=[]),Y.encode(r,e,n),n+=Y.encode.bytes,n=Be(r.questions,X,e,n),n=Be(r.answers,N,e,n),n=Be(r.authorities,N,e,n),n=Be(r.additionals,N,e,n),w.encode.bytes=n-i,t&&w.encode.bytes!==e.length?e.slice(0,w.encode.bytes):e};w.encode.bytes=0;w.decode=function(r,e){e||(e=0);let n=e,t=Y.decode(r,e);return e+=Y.decode.bytes,e=Ge(t.questions,X,r,e),e=Ge(t.answers,N,r,e),e=Ge(t.authorities,N,r,e),e=Ge(t.additionals,N,r,e),w.decode.bytes=e-n,t};w.decode.bytes=0;w.encodingLength=function(r){return Y.encodingLength(r)+Le(r.questions||[],X)+Le(r.answers||[],N)+Le(r.authorities||[],N)+Le(r.additionals||[],N)};w.streamEncode=function(r){let e=w.encode(r),n=E.alloc(2);n.writeUInt16BE(e.byteLength);let t=E.concat([n,e]);return w.streamEncode.bytes=t.byteLength,t};w.streamEncode.bytes=0;w.streamDecode=function(r){let e=r.readUInt16BE(0);if(r.byteLength<e+2)return null;let n=w.decode(r.slice(2));return w.streamDecode.bytes=w.decode.bytes,n};w.streamDecode.bytes=0;function Le(r,e){let n=0;for(let t=0;t<r.length;t++)n+=e.encodingLength(r[t]);return n}function Be(r,e,n,t){for(let i=0;i<r.length;i++)e.encode(r[i],n,t),t+=e.encode.bytes;return t}function Ge(r,e,n,t){for(let i=0;i<r.length;i++)r[i]=e.decode(n,t),t+=e.decode.bytes;return t}});var Ln=Q((Zo,Sn)=>{"use strict";var Un=Vt;process.nextTick($t,42);Sn.exports=kt;function kt(r){var e=t;return n;function n(i){e(i||zt)}function t(i){var o=[i];e=c,r(h);function c(a){o.push(a)}function h(a){var d=arguments;for(e=Mt(a)?t:m;o.length;)m(o.shift());function m(l){Un(qt,l,d)}}}}function Mt(r){return Object.prototype.toString.call(r)==="[object Error]"}function zt(){}function qt(r,e){r.apply(null,e)}function $t(r){r===42&&(Un=process.nextTick)}function Vt(r,e,n){process.nextTick(function(){r(e,n)})}});var On=Q((fo,Cn)=>{var wr=An(),Kt=H("dgram"),Ht=Ln(),jt=H("events"),Ir=H("os"),Er=function(){};Cn.exports=function(r){r||(r={});var e=new jt.EventEmitter,n=typeof r.port=="number"?r.port:5353,t=r.type||"udp4",i=r.ip||r.host||(t==="udp4"?"224.0.0.251":null),o={address:i,port:n},c={},h=!1,a=null;if(t==="udp6"&&(!i||!r.interface))throw new Error("For IPv6 multicast you must specify `ip` and `interface`");var d=r.socket||Kt.createSocket({type:t,reuseAddr:r.reuseAddr!==!1,toString:function(){return t}});d.on("error",function(l){l.code==="EACCES"||l.code==="EADDRINUSE"?e.emit("error",l):e.emit("warning",l)}),d.on("message",function(l,u){try{l=wr.decode(l)}catch(p){e.emit("warning",p);return}e.emit("packet",l,u),l.type==="query"&&e.emit("query",l,u),l.type==="response"&&e.emit("response",l,u)}),d.on("listening",function(){n||(n=o.port=d.address().port),r.multicast!==!1&&(e.update(),a=setInterval(e.update,5e3),d.setMulticastTTL(r.ttl||255),d.setMulticastLoopback(r.loopback!==!1))});var m=Ht(function(l){if(!n||r.bind===!1)return l(null);d.once("error",l),d.bind(n,r.bind||r.interface,function(){d.removeListener("error",l),l(null)})});return m(function(l){if(l)return e.emit("error",l);e.emit("ready")}),e.send=function(l,u,p){if(typeof u=="function")return e.send(l,null,u);p||(p=Er),u?!u.host&&!u.address&&(u.address=o.address):u=o,m(s);function s(y){if(h)return p();if(y)return p(y);var v=wr.encode(l);d.send(v,0,v.length,u.port,u.address||u.host,p)}},e.response=e.respond=function(l,u,p){Array.isArray(l)&&(l={answers:l}),l.type="response",l.flags=(l.flags||0)|wr.AUTHORITATIVE_ANSWER,e.send(l,u,p)},e.query=function(l,u,p,s){if(typeof u=="function")return e.query(l,null,null,u);if(typeof u=="object"&&u&&u.port)return e.query(l,null,u,p);if(typeof p=="function")return e.query(l,u,null,p);s||(s=Er),typeof l=="string"&&(l=[{name:l,type:u||"ANY"}]),Array.isArray(l)&&(l={type:"query",questions:l}),l.type="query",e.send(l,p,s)},e.destroy=function(l){if(l||(l=Er),h)return process.nextTick(l);h=!0,clearInterval(a);for(var u in c)try{d.dropMembership(i,u)}catch{}c={},d.close(l)},e.update=function(){for(var l=r.interface?[].concat(r.interface):Yt(),u=!1,p=0;p<l.length;p++){var s=l[p];if(!c[s])try{d.addMembership(i,s),c[s]=!0,u=!0}catch(y){e.emit("warning",y)}}if(u){if(d.setMulticastInterface)try{d.setMulticastInterface(r.interface||Xt())}catch(y){e.emit("warning",y)}e.emit("networkInterface")}},e};function Xt(){for(var r=Ir.networkInterfaces(),e=Object.keys(r),n=0;n<e.length;n++)for(var t=r[e[n]],i=0;i<t.length;i++){var o=t[i];if(bn(o.family)&&!o.internal)return Ir.platform()==="darwin"&&e[n]==="en0"?o.address:"0.0.0.0"}return"127.0.0.1"}function Yt(){for(var r=Ir.networkInterfaces(),e=Object.keys(r),n=[],t=0;t<e.length;t++)for(var i=r[e[t]],o=0;o<i.length;o++){var c=i[o];if(bn(c.family)){n.push(c.address);break}}return n}function bn(r){return r===4||r==="IPv4"}});var Wn=Q(Ve=>{(function(){var r,e,n,t,i,o,c,h;h=function(a){var d,m,l,u;return d=(a&255<<24)>>>24,m=(a&255<<16)>>>16,l=(a&65280)>>>8,u=a&255,[d,m,l,u].join(".")},c=function(a){var d,m,l,u,p,s;for(d=[],l=u=0;u<=3&&a.length!==0;l=++u){if(l>0){if(a[0]!==".")throw new Error("Invalid IP");a=a.substring(1)}s=e(a),p=s[0],m=s[1],a=a.substring(m),d.push(p)}if(a.length!==0)throw new Error("Invalid IP");switch(d.length){case 1:if(d[0]>4294967295)throw new Error("Invalid IP");return d[0]>>>0;case 2:if(d[0]>255||d[1]>16777215)throw new Error("Invalid IP");return(d[0]<<24|d[1])>>>0;case 3:if(d[0]>255||d[1]>255||d[2]>65535)throw new Error("Invalid IP");return(d[0]<<24|d[1]<<16|d[2])>>>0;case 4:if(d[0]>255||d[1]>255||d[2]>255||d[3]>255)throw new Error("Invalid IP");return(d[0]<<24|d[1]<<16|d[2]<<8|d[3])>>>0;default:throw new Error("Invalid IP")}},n=function(a){return a.charCodeAt(0)},t=n("0"),o=n("a"),i=n("A"),e=function(a){var d,m,l,u,p;for(u=0,d=10,m="9",l=0,a.length>1&&a[l]==="0"&&(a[l+1]==="x"||a[l+1]==="X"?(l+=2,d=16):"0"<=a[l+1]&&a[l+1]<="9"&&(l++,d=8,m="7")),p=l;l<a.length;){if("0"<=a[l]&&a[l]<=m)u=u*d+(n(a[l])-t)>>>0;else if(d===16)if("a"<=a[l]&&a[l]<="f")u=u*d+(10+n(a[l])-o)>>>0;else if("A"<=a[l]&&a[l]<="F")u=u*d+(10+n(a[l])-i)>>>0;else break;else break;if(u>4294967295)throw new Error("too large");l++}if(l===p)throw new Error("empty octet");return[u,l]},r=function(){function a(d,m){var l,u,p,s;if(typeof d!="string")throw new Error("Missing `net' parameter");if(m||(s=d.split("/",2),d=s[0],m=s[1]),m||(m=32),typeof m=="string"&&m.indexOf(".")>-1){try{this.maskLong=c(m)}catch(y){throw l=y,new Error("Invalid mask: "+m)}for(u=p=32;p>=0;u=--p)if(this.maskLong===4294967295<<32-u>>>0){this.bitmask=u;break}}else if(m||m===0)this.bitmask=parseInt(m,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(c(d)&this.maskLong)>>>0}catch(y){throw l=y,new Error("Invalid net address: "+d)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+m);this.size=Math.pow(2,32-this.bitmask),this.base=h(this.netLong),this.mask=h(this.maskLong),this.hostmask=h(~this.maskLong),this.first=this.bitmask<=30?h(this.netLong+1):this.base,this.last=this.bitmask<=30?h(this.netLong+this.size-2):h(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?h(this.netLong+this.size-1):void 0}return a.prototype.contains=function(d){return typeof d=="string"&&(d.indexOf("/")>0||d.split(".").length!==4)&&(d=new a(d)),d instanceof a?this.contains(d.base)&&this.contains(d.broadcast||d.last):(c(d)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},a.prototype.next=function(d){return d==null&&(d=1),new a(h(this.netLong+this.size*d),this.mask)},a.prototype.forEach=function(d){var m,l,u;for(u=c(this.first),l=c(this.last),m=0;u<=l;)d(h(u),u,m),m++,u++},a.prototype.toString=function(){return this.base+"/"+this.bitmask},a}(),Ve.ip2long=c,Ve.long2ip=h,Ve.Netmask=r}).call(Ve)});var Mo={};k(Mo,{mdns:()=>ko});var an=Symbol.for("@libp2p/peer-discovery");var dn=Symbol.for("@libp2p/peer-id");var Xe=class extends Error{code;props;constructor(e,n,t){super(e),this.code=n,this.name=t?.name??"CodeError",this.props=t??{}}};var ln=H("events"),un=(r,...e)=>{try{(0,ln.setMaxListeners)(r,...e)}catch{}};var Ye=class extends EventTarget{#e=new Map;constructor(){super(),un(1/0,this)}listenerCount(e){let n=this.#e.get(e);return n==null?0:n.length}addEventListener(e,n,t){super.addEventListener(e,n,t);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:n,once:(t!==!0&&t!==!1&&t?.once)??!1})}removeEventListener(e,n,t){super.removeEventListener(e.toString(),n??null,t);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:o})=>o!==n),this.#e.set(e,i))}dispatchEvent(e){let n=super.dispatchEvent(e),t=this.#e.get(e.type);return t==null||(t=t.filter(({once:i})=>!i),this.#e.set(e.type,t)),n}safeDispatchEvent(e,n={}){return this.dispatchEvent(new sr(e,n))}},cr=class extends Event{detail;constructor(e,n){super(e,n),this.detail=n?.detail}},sr=globalThis.CustomEvent??cr;var Ut=or(On(),1);var Sr={};k(Sr,{base58btc:()=>P,base58flickr:()=>ft});var ec=new Uint8Array(0);function Tn(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let n=0;n<r.byteLength;n++)if(r[n]!==e[n])return!1;return!0}function $(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 Nn(r){return new TextEncoder().encode(r)}function Pn(r){return new TextDecoder().decode(r)}function Gt(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var n=new Uint8Array(256),t=0;t<n.length;t++)n[t]=255;for(var i=0;i<r.length;i++){var o=r.charAt(i),c=o.charCodeAt(0);if(n[c]!==255)throw new TypeError(o+" is ambiguous");n[c]=i}var h=r.length,a=r.charAt(0),d=Math.log(h)/Math.log(256),m=Math.log(256)/Math.log(h);function l(s){if(s instanceof Uint8Array||(ArrayBuffer.isView(s)?s=new Uint8Array(s.buffer,s.byteOffset,s.byteLength):Array.isArray(s)&&(s=Uint8Array.from(s))),!(s instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(s.length===0)return"";for(var y=0,v=0,U=0,L=s.length;U!==L&&s[U]===0;)U++,y++;for(var D=(L-U)*m+1>>>0,T=new Uint8Array(D);U!==L;){for(var b=s[U],C=0,K=D-1;(b!==0||C<v)&&K!==-1;K--,C++)b+=256*T[K]>>>0,T[K]=b%h>>>0,b=b/h>>>0;if(b!==0)throw new Error("Non-zero carry");v=C,U++}for(var ie=D-v;ie!==D&&T[ie]===0;)ie++;for(var He=a.repeat(y);ie<D;++ie)He+=r.charAt(T[ie]);return He}function u(s){if(typeof s!="string")throw new TypeError("Expected String");if(s.length===0)return new Uint8Array;var y=0;if(s[y]!==" "){for(var v=0,U=0;s[y]===a;)v++,y++;for(var L=(s.length-y)*d+1>>>0,D=new Uint8Array(L);s[y];){var T=n[s.charCodeAt(y)];if(T===255)return;for(var b=0,C=L-1;(T!==0||b<U)&&C!==-1;C--,b++)T+=h*D[C]>>>0,D[C]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");U=b,y++}if(s[y]!==" "){for(var K=L-U;K!==L&&D[K]===0;)K++;for(var ie=new Uint8Array(v+(L-K)),He=v;K!==L;)ie[He++]=D[K++];return ie}}}function p(s){var y=u(s);if(y)return y;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:u,decode:p}}var Qt=Gt,Wt=Qt,Bn=Wt;var xr=class{name;prefix;baseEncode;constructor(e,n,t){this.name=e,this.prefix=n,this.baseEncode=t}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},vr=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,n,t){if(this.name=e,this.prefix=n,n.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=n.codePointAt(0),this.baseDecode=t}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Fn(this,e)}},Ar=class{decoders;constructor(e){this.decoders=e}or(e){return Fn(this,e)}decode(e){let n=e[0],t=this.decoders[n];if(t!=null)return t.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Fn(r,e){return new Ar({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var Ur=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,n,t,i){this.name=e,this.prefix=n,this.baseEncode=t,this.baseDecode=i,this.encoder=new xr(e,n,t),this.decoder=new vr(e,n,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function be({name:r,prefix:e,encode:n,decode:t}){return new Ur(r,e,n,t)}function Ee({name:r,prefix:e,alphabet:n}){let{encode:t,decode:i}=Bn(n,r);return be({prefix:e,name:r,encode:t,decode:o=>$(i(o))})}function Jt(r,e,n,t){let i={};for(let m=0;m<e.length;++m)i[e[m]]=m;let o=r.length;for(;r[o-1]==="=";)--o;let c=new Uint8Array(o*n/8|0),h=0,a=0,d=0;for(let m=0;m<o;++m){let l=i[r[m]];if(l===void 0)throw new SyntaxError(`Non-${t} character`);a=a<<n|l,h+=n,h>=8&&(h-=8,c[d++]=255&a>>h)}if(h>=n||255&a<<8-h)throw new SyntaxError("Unexpected end of data");return c}function Zt(r,e,n){let t=e[e.length-1]==="=",i=(1<<n)-1,o="",c=0,h=0;for(let a=0;a<r.length;++a)for(h=h<<8|r[a],c+=8;c>n;)c-=n,o+=e[i&h>>c];if(c!==0&&(o+=e[i&h<<n-c]),t)for(;o.length*n&7;)o+="=";return o}function S({name:r,prefix:e,bitsPerChar:n,alphabet:t}){return be({prefix:e,name:r,encode(i){return Zt(i,t,n)},decode(i){return Jt(i,t,n,r)}})}var P=Ee({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ft=Ee({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Lr={};k(Lr,{base10:()=>ei});var ei=Ee({prefix:"9",name:"base10",alphabet:"0123456789"});var br={};k(br,{base16:()=>ri,base16upper:()=>ni});var ri=S({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),ni=S({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Cr={};k(Cr,{base2:()=>ti});var ti=S({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Or={};k(Or,{base256emoji:()=>ai});var Rn=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),ii=Rn.reduce((r,e,n)=>(r[n]=e,r),[]),oi=Rn.reduce((r,e,n)=>(r[e.codePointAt(0)]=n,r),[]);function ci(r){return r.reduce((e,n)=>(e+=ii[n],e),"")}function si(r){let e=[];for(let n of r){let t=oi[n.codePointAt(0)];if(t===void 0)throw new Error(`Non-base256emoji character: ${n}`);e.push(t)}return new Uint8Array(e)}var ai=be({prefix:"\u{1F680}",name:"base256emoji",encode:ci,decode:si});var Tr={};k(Tr,{base32:()=>me,base32hex:()=>hi,base32hexpad:()=>gi,base32hexpadupper:()=>mi,base32hexupper:()=>pi,base32pad:()=>li,base32padupper:()=>ui,base32upper:()=>di,base32z:()=>yi});var me=S({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),di=S({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),li=S({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ui=S({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),hi=S({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),pi=S({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),gi=S({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),mi=S({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),yi=S({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Nr={};k(Nr,{base36:()=>wi,base36upper:()=>Ei});var wi=Ee({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Ei=Ee({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Pr={};k(Pr,{base64:()=>Ii,base64pad:()=>xi,base64url:()=>vi,base64urlpad:()=>Ai});var Ii=S({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),xi=S({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),vi=S({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Ai=S({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Dr={};k(Dr,{base8:()=>Ui});var Ui=S({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Br={};k(Br,{identity:()=>Si});var Si=be({prefix:"\0",name:"identity",encode:r=>Pn(r),decode:r=>Nn(r)});var yc=new TextEncoder,wc=new TextDecoder;var Rr={};k(Rr,{identity:()=>Je});var Ci=Mn,_n=128,Oi=127,Ti=~Oi,Ni=Math.pow(2,31);function Mn(r,e,n){e=e||[],n=n||0;for(var t=n;r>=Ni;)e[n++]=r&255|_n,r/=128;for(;r&Ti;)e[n++]=r&255|_n,r>>>=7;return e[n]=r|0,Mn.bytes=n-t+1,e}var Pi=Fr,Di=128,kn=127;function Fr(r,t){var n=0,t=t||0,i=0,o=t,c,h=r.length;do{if(o>=h)throw Fr.bytes=0,new RangeError("Could not decode varint");c=r[o++],n+=i<28?(c&kn)<<i:(c&kn)*Math.pow(2,i),i+=7}while(c>=Di);return Fr.bytes=o-t,n}var Bi=Math.pow(2,7),Fi=Math.pow(2,14),Ri=Math.pow(2,21),_i=Math.pow(2,28),ki=Math.pow(2,35),Mi=Math.pow(2,42),zi=Math.pow(2,49),qi=Math.pow(2,56),$i=Math.pow(2,63),Vi=function(r){return r<Bi?1:r<Fi?2:r<Ri?3:r<_i?4:r<ki?5:r<Mi?6:r<zi?7:r<qi?8:r<$i?9:10},Ki={encode:Ci,decode:Pi,encodingLength:Vi},Hi=Ki,Fe=Hi;function Re(r,e=0){return[Fe.decode(r,e),Fe.decode.bytes]}function Ce(r,e,n=0){return Fe.encode(r,e,n),e}function Oe(r){return Fe.encodingLength(r)}function Ie(r,e){let n=e.byteLength,t=Oe(r),i=t+Oe(n),o=new Uint8Array(i+n);return Ce(r,o,0),Ce(n,o,t),o.set(e,i),new Te(r,n,e,o)}function Ae(r){let e=$(r),[n,t]=Re(e),[i,o]=Re(e.subarray(t)),c=e.subarray(t+o);if(c.byteLength!==i)throw new Error("Incorrect length");return new Te(n,i,c,e)}function zn(r,e){if(r===e)return!0;{let n=e;return r.code===n.code&&r.size===n.size&&n.bytes instanceof Uint8Array&&Tn(r.bytes,n.bytes)}}var Te=class{code;size;digest;bytes;constructor(e,n,t,i){this.code=e,this.size=n,this.digest=t,this.bytes=i}};var qn=0,ji="identity",$n=$;function Xi(r){return Ie(qn,$n(r))}var Je={code:qn,name:ji,encode:$n,digest:Xi};var zr={};k(zr,{sha256:()=>Ze,sha512:()=>Yi});var Mr=or(H("crypto"),1);function kr({name:r,code:e,encode:n}){return new _r(r,e,n)}var _r=class{name;code;encode;constructor(e,n,t){this.name=e,this.code=n,this.encode=t}digest(e){if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?Ie(this.code,n):n.then(t=>Ie(this.code,t))}else throw Error("Unknown type, must be binary type")}};var Ze=kr({name:"sha2-256",code:18,encode:r=>$(Mr.default.createHash("sha256").update(r).digest())}),Yi=kr({name:"sha2-512",code:19,encode:r=>$(Mr.default.createHash("sha512").update(r).digest())});function Kn(r,e){let{bytes:n,version:t}=r;switch(t){case 0:return Qi(n,qr(r),e??P.encoder);default:return Wi(n,qr(r),e??me.encoder)}}var Hn=new WeakMap;function qr(r){let e=Hn.get(r);if(e==null){let n=new Map;return Hn.set(r,n),n}return e}var G=class r{code;version;multihash;bytes;"/";constructor(e,n,t,i){this.code=n,this.version=e,this.multihash=t,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:n}=this;if(e!==_e)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(n.code!==Ji)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(n)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:n}=this.multihash,t=Ie(e,n);return r.createV1(this.code,t)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,n){let t=n;return t!=null&&e.code===t.code&&e.version===t.version&&zn(e.multihash,t.multihash)}toString(e){return Kn(this,e)}toJSON(){return{"/":Kn(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let n=e;if(n instanceof r)return n;if(n["/"]!=null&&n["/"]===n.bytes||n.asCID===n){let{version:t,code:i,multihash:o,bytes:c}=n;return new r(t,i,o,c??jn(t,i,o.bytes))}else if(n[Zi]===!0){let{version:t,multihash:i,code:o}=n,c=Ae(i);return r.create(t,o,c)}else return null}static create(e,n,t){if(typeof n!="number")throw new Error("String codecs are no longer supported");if(!(t.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(n!==_e)throw new Error(`Version 0 CID must use dag-pb (code: ${_e}) block encoding`);return new r(e,n,t,t.bytes)}case 1:{let i=jn(e,n,t.bytes);return new r(e,n,t,i)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,_e,e)}static createV1(e,n){return r.create(1,e,n)}static decode(e){let[n,t]=r.decodeFirst(e);if(t.length!==0)throw new Error("Incorrect length");return n}static decodeFirst(e){let n=r.inspectBytes(e),t=n.size-n.multihashSize,i=$(e.subarray(t,t+n.multihashSize));if(i.byteLength!==n.multihashSize)throw new Error("Incorrect length");let o=i.subarray(n.multihashSize-n.digestSize),c=new Te(n.multihashCode,n.digestSize,o,i);return[n.version===0?r.createV0(c):r.createV1(n.codec,c),e.subarray(n.size)]}static inspectBytes(e){let n=0,t=()=>{let[l,u]=Re(e.subarray(n));return n+=u,l},i=t(),o=_e;if(i===18?(i=0,n=0):o=t(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let c=n,h=t(),a=t(),d=n+a,m=d-c;return{version:i,codec:o,multihashCode:h,digestSize:a,multihashSize:m,size:d}}static parse(e,n){let[t,i]=Gi(e,n),o=r.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return qr(o).set(t,e),o}};function Gi(r,e){switch(r[0]){case"Q":{let n=e??P;return[P.prefix,n.decode(`${P.prefix}${r}`)]}case P.prefix:{let n=e??P;return[P.prefix,n.decode(r)]}case me.prefix:{let n=e??me;return[me.prefix,n.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function Qi(r,e,n){let{prefix:t}=n;if(t!==P.prefix)throw Error(`Cannot string encode V0 in ${n.name} encoding`);let i=e.get(t);if(i==null){let o=n.encode(r).slice(1);return e.set(t,o),o}else return i}function Wi(r,e,n){let{prefix:t}=n,i=e.get(t);if(i==null){let o=n.encode(r);return e.set(t,o),o}else return i}var _e=112,Ji=18;function jn(r,e,n){let t=Oe(r),i=t+Oe(e),o=new Uint8Array(i+n.byteLength);return Ce(r,o,0),Ce(e,o,t),o.set(n,i),o}var Zi=Symbol.for("@ipld/js-cid/CID");var xe={...Br,...Cr,...Dr,...Lr,...br,...Tr,...Nr,...Sr,...Pr,...Or},zc={...zr,...Rr};function ke(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let n=0;n<r.byteLength;n++)if(r[n]!==e[n])return!1;return!0}var fi=Symbol.for("nodejs.util.inspect.custom"),Xn=Object.values(xe).map(r=>r.decoder).reduce((r,e)=>r.or(e),xe.identity.decoder),Yn=114,Gn=36,Qn=37,Me=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[dn]=!0;toString(){return this.string==null&&(this.string=P.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return G.createV1(Yn,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e==null)return!1;if(e instanceof Uint8Array)return ke(this.multihash.bytes,e);if(typeof e=="string")return $r(e).equals(this);if(e?.multihash?.bytes!=null)return ke(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[fi](){return`PeerId(${this.toString()})`}},ze=class extends Me{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},qe=class extends Me{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},$e=class extends Me{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function $r(r,e){if(e=e??Xn,r.charAt(0)==="1"||r.charAt(0)==="Q"){let n=Ae(P.decode(`z${r}`));return r.startsWith("12D")?new qe({multihash:n}):r.startsWith("16U")?new $e({multihash:n}):new ze({multihash:n})}return eo(Xn.decode(r))}function eo(r){try{let e=Ae(r);if(e.code===Je.code){if(e.digest.length===Gn)return new qe({multihash:e});if(e.digest.length===Qn)return new $e({multihash:e})}if(e.code===Ze.code)return new ze({multihash:e})}catch{return ro(G.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function ro(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==Yn)throw new Error("Supplied PeerID CID is invalid");let e=r.multihash;if(e.code===Ze.code)return new ze({multihash:r.multihash});if(e.code===Je.code){if(e.digest.length===Gn)return new qe({multihash:r.multihash});if(e.digest.length===Qn)return new $e({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}var V=H("node:net");function fe(r){return!!(0,V.isIP)(r)}var Jn=or(Wn(),1),no=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],to=no.map(r=>new Jn.Netmask(r));function io(r){for(let e of to)if(e.contains(r))return!0;return!1}function oo(r){return/^::$/.test(r)||/^::1$/.test(r)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(r)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(r)||/^ff([0-9a-fA-F]{2,2}):/i.test(r)}function Zn(r){return(0,V.isIPv4)(r)?io(r):(0,V.isIPv6)(r)?oo(r):void 0}function fn(r){try{let{address:e}=r.nodeAddress();return!!Zn(e)}catch{return!0}}var tt=H("node:buffer");var et=H("node:buffer");function Ne(r){return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}function er(r=0){return Ne(et.Buffer.allocUnsafe(r))}function nt(r,e,n,t){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:n},decoder:{decode:t}}}var rt=nt("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Vr=nt("ascii","a",r=>{let e="a";for(let n=0;n<r.length;n++)e+=String.fromCharCode(r[n]);return e},r=>{r=r.substring(1);let e=er(r.length);for(let n=0;n<r.length;n++)e[n]=r.charCodeAt(n);return e}),co={utf8:rt,"utf-8":rt,hex:xe.base16,latin1:Vr,ascii:Vr,binary:Vr,...xe},rr=co;function _(r,e="utf8"){let n=rr[e];if(n==null)throw new Error(`Unsupported encoding "${e}"`);return e==="utf8"||e==="utf-8"?tt.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):n.encoder.encode(r).substring(1)}var so=Math.pow(2,7),ao=Math.pow(2,14),lo=Math.pow(2,21),Kr=Math.pow(2,28),Hr=Math.pow(2,35),jr=Math.pow(2,42),Xr=Math.pow(2,49),x=128,B=127;function te(r){if(r<so)return 1;if(r<ao)return 2;if(r<lo)return 3;if(r<Kr)return 4;if(r<Hr)return 5;if(r<jr)return 6;if(r<Xr)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function uo(r,e,n=0){switch(te(r)){case 8:e[n++]=r&255|x,r/=128;case 7:e[n++]=r&255|x,r/=128;case 6:e[n++]=r&255|x,r/=128;case 5:e[n++]=r&255|x,r/=128;case 4:e[n++]=r&255|x,r>>>=7;case 3:e[n++]=r&255|x,r>>>=7;case 2:e[n++]=r&255|x,r>>>=7;case 1:{e[n++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return e}function ho(r,e,n=0){switch(te(r)){case 8:e.set(n++,r&255|x),r/=128;case 7:e.set(n++,r&255|x),r/=128;case 6:e.set(n++,r&255|x),r/=128;case 5:e.set(n++,r&255|x),r/=128;case 4:e.set(n++,r&255|x),r>>>=7;case 3:e.set(n++,r&255|x),r>>>=7;case 2:e.set(n++,r&255|x),r>>>=7;case 1:{e.set(n++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return e}function po(r,e){let n=r[e],t=0;if(t+=n&B,n<x||(n=r[e+1],t+=(n&B)<<7,n<x)||(n=r[e+2],t+=(n&B)<<14,n<x)||(n=r[e+3],t+=(n&B)<<21,n<x)||(n=r[e+4],t+=(n&B)*Kr,n<x)||(n=r[e+5],t+=(n&B)*Hr,n<x)||(n=r[e+6],t+=(n&B)*jr,n<x)||(n=r[e+7],t+=(n&B)*Xr,n<x))return t;throw new RangeError("Could not decode varint")}function go(r,e){let n=r.get(e),t=0;if(t+=n&B,n<x||(n=r.get(e+1),t+=(n&B)<<7,n<x)||(n=r.get(e+2),t+=(n&B)<<14,n<x)||(n=r.get(e+3),t+=(n&B)<<21,n<x)||(n=r.get(e+4),t+=(n&B)*Kr,n<x)||(n=r.get(e+5),t+=(n&B)*Hr,n<x)||(n=r.get(e+6),t+=(n&B)*jr,n<x)||(n=r.get(e+7),t+=(n&B)*Xr,n<x))return t;throw new RangeError("Could not decode varint")}function Pe(r,e,n=0){return e==null&&(e=er(te(r))),e instanceof Uint8Array?uo(r,e,n):ho(r,e,n)}function Se(r,e=0){return r instanceof Uint8Array?po(r,e):go(r,e)}var ot=H("node:buffer");function ye(r,e){return Ne(ot.Buffer.concat(r,e))}var nr=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let n=this.index,t=e();return t===void 0&&(this.index=n),t}parseWith(e){let n=e();if(this.index===this.input.length)return n}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let n=this.readChar();if(n===e)return n})}readSeparator(e,n,t){return this.readAtomically(()=>{if(!(n>0&&this.readGivenChar(e)===void 0))return t()})}readNumber(e,n,t,i){return this.readAtomically(()=>{let o=0,c=0,h=this.peekChar();if(h===void 0)return;let a=h==="0",d=2**(8*i)-1;for(;;){let m=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let u=Number.parseInt(l,e);if(!Number.isNaN(u))return u});if(m===void 0)break;if(o*=e,o+=m,o>d||(c+=1,n!==void 0&&c>n))return}if(c!==0)return!t&&a&&c>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let n=0;n<e.length;n++){let t=this.readSeparator(".",n,()=>this.readNumber(10,3,!1,1));if(t===void 0)return;e[n]=t}return e})}readIPv6Addr(){let e=n=>{for(let t=0;t<n.length/2;t++){let i=t*2;if(t<n.length-3){let c=this.readSeparator(":",t,()=>this.readIPv4Addr());if(c!==void 0)return n[i]=c[0],n[i+1]=c[1],n[i+2]=c[2],n[i+3]=c[3],[i+4,!0]}let o=this.readSeparator(":",t,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];n[i]=o>>8,n[i+1]=o&255}return[n.length,!1]};return this.readAtomically(()=>{let n=new Uint8Array(16),[t,i]=e(n);if(t===16)return n;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),c=16-(t+2),[h]=e(o.subarray(0,c));return n.set(o.subarray(0,h),16-h),n})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var ms=new nr;var Us=parseInt("0xFFFF",16),Ss=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var at=H("node:buffer");function Yr(r,e="utf8"){let n=rr[e];if(n==null)throw new Error(`Unsupported encoding "${e}"`);return e==="utf8"||e==="utf-8"?Ne(at.Buffer.from(r,"utf-8")):n.decoder.decode(`${n.prefix}${r}`)}var dt=V.isIPv4,xo=V.isIPv6,Gr=function(r){let e=0;if(r=r.toString().trim(),dt(r)){let n=new Uint8Array(e+4);return r.split(/\./g).forEach(t=>{n[e++]=parseInt(t,10)&255}),n}if(xo(r)){let n=r.split(":",8),t;for(t=0;t<n.length;t++){let o=dt(n[t]),c;o&&(c=Gr(n[t]),n[t]=_(c.slice(0,2),"base16")),c!=null&&++t<8&&n.splice(t,0,_(c.slice(2,4),"base16"))}if(n[0]==="")for(;n.length<8;)n.unshift("0");else if(n[n.length-1]==="")for(;n.length<8;)n.push("0");else if(n.length<8){for(t=0;t<n.length&&n[t]!=="";t++);let o=[t,1];for(t=9-n.length;t>0;t--)o.push("0");n.splice.apply(n,o)}let i=new Uint8Array(e+16);for(t=0;t<n.length;t++){let o=parseInt(n[t],16);i[e++]=o>>8&255,i[e++]=o&255}return i}throw new Error("invalid ip address")},lt=function(r,e=0,n){e=~~e,n=n??r.length-e;let t=new DataView(r.buffer);if(n===4){let i=[];for(let o=0;o<n;o++)i.push(r[e+o]);return i.join(".")}if(n===16){let i=[];for(let o=0;o<n;o+=2)i.push(t.getUint16(e+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var De={},Qr={},Ao=[[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"],[481,-1,"http-path"],[777,-1,"memory"]];Ao.forEach(r=>{let e=Uo(...r);Qr[e.code]=e,De[e.name]=e});function Uo(r,e,n,t,i){return{code:r,size:e,name:n,resolvable:!!t,path:!!i}}function A(r){if(typeof r=="number"){if(Qr[r]!=null)return Qr[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(De[r]!=null)return De[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var la=A("ip4"),ua=A("ip6"),ha=A("ipcidr");function fr(r,e){switch(A(r).code){case 4:case 41:return Lo(e);case 42:return Zr(e);case 6:case 273:case 33:case 132:return pt(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Zr(e);case 421:return To(e);case 444:return ht(e);case 445:return ht(e);case 466:return Oo(e);case 481:return globalThis.encodeURIComponent(Zr(e));default:return _(e,"base16")}}function en(r,e){switch(A(r).code){case 4:return ut(e);case 41:return ut(e);case 42:return Jr(e);case 6:case 273:case 33:case 132:return rn(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Jr(e);case 421:return bo(e);case 444:return No(e);case 445:return Po(e);case 466:return Co(e);case 481:return Jr(globalThis.decodeURIComponent(e));default:return Yr(e,"base16")}}var Wr=Object.values(xe).map(r=>r.decoder),So=function(){let r=Wr[0].or(Wr[1]);return Wr.slice(2).forEach(e=>r=r.or(e)),r}();function ut(r){if(!fe(r))throw new Error("invalid ip address");return Gr(r)}function Lo(r){let e=lt(r,0,r.length);if(e==null)throw new Error("ipBuff is required");if(!fe(e))throw new Error("invalid ip address");return e}function rn(r){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,r),new Uint8Array(e)}function pt(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Jr(r){let e=Yr(r),n=Uint8Array.from(Pe(e.length));return ye([n,e],n.length+e.length)}function Zr(r){let e=Se(r);if(r=r.slice(te(e)),r.length!==e)throw new Error("inconsistent lengths");return _(r)}function bo(r){let e;r[0]==="Q"||r[0]==="1"?e=Ae(P.decode(`z${r}`)).bytes:e=G.parse(r).multihash.bytes;let n=Uint8Array.from(Pe(e.length));return ye([n,e],n.length+e.length)}function Co(r){let e=So.decode(r),n=Uint8Array.from(Pe(e.length));return ye([n,e],n.length+e.length)}function Oo(r){let e=Se(r),n=r.slice(te(e));if(n.length!==e)throw new Error("inconsistent lengths");return"u"+_(n,"base64url")}function To(r){let e=Se(r),n=r.slice(te(e));if(n.length!==e)throw new Error("inconsistent lengths");return _(n,"base58btc")}function No(r){let e=r.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let n=me.decode("b"+e[0]),t=parseInt(e[1],10);if(t<1||t>65536)throw new Error("Port number is not in range(1, 65536)");let i=rn(t);return ye([n,i],n.length+i.length)}function Po(r){let e=r.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let n=me.decode(`b${e[0]}`),t=parseInt(e[1],10);if(t<1||t>65536)throw new Error("Port number is not in range(1, 65536)");let i=rn(t);return ye([n,i],n.length+i.length)}function ht(r){let e=r.slice(0,r.length-2),n=r.slice(r.length-2),t=_(e,"base32"),i=pt(n);return`${t}:${i}`}function gt(r){r=nn(r);let e=[],n=[],t=null,i=r.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let c=i[o],h=A(c);if(h.size===0){e.push([h.code]),n.push([h.code]);continue}if(o++,o>=i.length)throw yt("invalid address: "+r);if(h.path===!0){t=nn(i.slice(o).join("/")),e.push([h.code,en(h.code,t)]),n.push([h.code,t]);break}let a=en(h.code,i[o]);e.push([h.code,a]),n.push([h.code,fr(h.code,a)])}return{string:mt(n),bytes:on(e),tuples:e,stringTuples:n,path:t}}function tn(r){let e=[],n=[],t=null,i=0;for(;i<r.length;){let o=Se(r,i),c=te(o),h=A(o),a=Do(h,r.slice(i+c));if(a===0){e.push([o]),n.push([o]),i+=c;continue}let d=r.slice(i+c,i+c+a);if(i+=a+c,i>r.length)throw yt("Invalid address Uint8Array: "+_(r,"base16"));e.push([o,d]);let m=fr(o,d);if(n.push([o,m]),h.path===!0){t=m;break}}return{bytes:Uint8Array.from(r),string:mt(n),tuples:e,stringTuples:n,path:t}}function mt(r){let e=[];return r.map(n=>{let t=A(n[0]);return e.push(t.name),n.length>1&&n[1]!=null&&e.push(n[1]),null}),nn(e.join("/"))}function on(r){return ye(r.map(e=>{let n=A(e[0]),t=Uint8Array.from(Pe(n.code));return e.length>1&&e[1]!=null&&(t=ye([t,e[1]])),t}))}function Do(r,e){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let n=Se(e instanceof Uint8Array?e:Uint8Array.from(e));return n+te(n)}}function nn(r){return"/"+r.trim().split("/").filter(e=>e).join("/")}function yt(r){return new Error("Error parsing address: "+r)}var Bo=Symbol.for("nodejs.util.inspect.custom"),cn=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Fo=[A("dns").code,A("dns4").code,A("dns6").code,A("dnsaddr").code],tr=class r{bytes;#e;#r;#n;#t;[cn]=!0;constructor(e){e==null&&(e="");let n;if(e instanceof Uint8Array)n=tn(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);n=gt(e)}else if(Et(e))n=tn(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=n.bytes,this.#e=n.string,this.#r=n.tuples,this.#n=n.stringTuples,this.#t=n.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,n,t,i,o="",c=A("tcp"),h=A("udp"),a=A("ip4"),d=A("ip6"),m=A("dns6"),l=A("ip6zone");for(let[p,s]of this.stringTuples())p===l.code&&(o=`%${s??""}`),Fo.includes(p)&&(n=c.name,i=443,t=`${s??""}${o}`,e=p===m.code?6:4),(p===c.code||p===h.code)&&(n=A(p).name,i=parseInt(s??"")),(p===a.code||p===d.code)&&(n=A(p).name,t=`${s??""}${o}`,e=p===d.code?6:4);if(e==null||n==null||t==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:t,transport:n,port:i}}protos(){return this.#r.map(([e])=>Object.assign({},A(e)))}protoCodes(){return this.#r.map(([e])=>e)}protoNames(){return this.#r.map(([e])=>A(e).name)}tuples(){return this.#r}stringTuples(){return this.#n}encapsulate(e){return e=new r(e),new r(this.toString()+e.toString())}decapsulate(e){let n=e.toString(),t=this.toString(),i=t.lastIndexOf(n);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new r(t.slice(0,i))}decapsulateCode(e){let n=this.tuples();for(let t=n.length-1;t>=0;t--)if(n[t][0]===e)return new r(on(n.slice(0,t)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([t,i])=>{t===De.p2p.code&&e.push([t,i]),t===De["p2p-circuit"].code&&(e=[])});let n=e.pop();if(n?.[1]!=null){let t=n[1];return t[0]==="Q"||t[0]==="1"?_(P.decode(`z${t}`),"base58btc"):_(G.parse(t).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#t}equals(e){return ke(this.bytes,e.bytes)}async resolve(e){let n=this.protos().find(o=>o.resolvable);if(n==null)return[this];let t=wt.get(n.name);if(t==null)throw new Xe(`no available resolver for ${n.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await t(this,e)).map(o=>Ke(o))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let n=(e??this).protos();return!(n.length!==2||n[0].code!==4&&n[0].code!==41||n[1].code!==6&&n[1].code!==273)}[Bo](){return`Multiaddr(${this.#e})`}};var wt=new Map;function Et(r){return!!r?.[cn]}function Ke(r){return new tr(r)}function It(r,e,n,t){let i=()=>{t?.log.trace("query",e),r.query({questions:[{name:e,type:"PTR"}]})};return i(),setInterval(i,n)}function xt(r,e,n,t){if(r.answers==null)return;let i,o=[];if(r.answers.forEach(c=>{switch(c.type){case"PTR":i=c;break;case"TXT":o.push(c);break;default:break}}),r.additionals.forEach(c=>{switch(c.type){case"TXT":o.push(c);break;default:break}}),!(i==null||i?.name!==n||o.length===0||i.data.startsWith(e)))try{let c=o.flatMap(a=>a.data).filter(a=>a.toString().startsWith("dnsaddr=")).map(a=>Ke(a.toString().substring(8))),h=c[0].getPeerId();if(h==null)throw new Error("Multiaddr doesn't contain PeerId");return t?.log("peer found %p",h),{id:$r(h),multiaddrs:c.map(a=>a.decapsulateCode(A("p2p").code))}}catch(c){t?.log.error("failed to parse mdns response",c)}}function vt(r,e,n,t,i,o,c){if(!o){c?.log("not responding to mDNS query as broadcast mode is false");return}if(t.length!==0&&r.questions[0]!=null&&r.questions[0].name===i){let h=[];h.push({name:i,type:"PTR",class:"IN",ttl:120,data:n+"."+i}),t.filter(Ro).forEach(a=>{let d="dnsaddr="+a.toString();if(d.length>255){c?.log("multiaddr %a is too long to use in mDNS query response",a);return}if(a.getPeerId()==null){c?.log("multiaddr %a did not have a peer ID so cannot be used in mDNS query response",a);return}h.push({name:n+"."+i,type:"TXT",class:"IN",ttl:120,data:d})}),c?.log.trace("responding to query"),e.respond(h)}}function Ro(r){return!!fn(r)}function At(r){let e="",n="abcdefghijklmnopqrstuvwxyz0123456789";for(let t=0;t<r;t++)e+=n.charAt(Math.floor(Math.random()*n.length));return e}var ir=class extends Ye{mdns;log;broadcast;interval;serviceTag;peerName;port;ip;_queryInterval;components;constructor(e,n={}){if(super(),this.log=e.logger.forComponent("libp2p:mdns"),this.broadcast=n.broadcast!==!1,this.interval=n.interval??1e3*10,this.serviceTag=n.serviceTag??"_p2p._udp.local",this.ip=n.ip??"224.0.0.251",this.peerName=n.peerName??At(63),this.peerName.length>=64)throw new Error("Peer name should be less than 64 chars long");this.port=n.port??5353,this.components=e,this._queryInterval=null,this._onMdnsQuery=this._onMdnsQuery.bind(this),this._onMdnsResponse=this._onMdnsResponse.bind(this),this._onMdnsWarning=this._onMdnsWarning.bind(this),this._onMdnsError=this._onMdnsError.bind(this)}[an]=this;[Symbol.toStringTag]="@libp2p/mdns";isStarted(){return!!this.mdns}async start(){this.mdns==null&&(this.mdns=(0,Ut.default)({port:this.port,ip:this.ip}),this.mdns.on("query",this._onMdnsQuery),this.mdns.on("response",this._onMdnsResponse),this.mdns.on("warning",this._onMdnsWarning),this.mdns.on("error",this._onMdnsError),this._queryInterval=It(this.mdns,this.serviceTag,this.interval,{log:this.log}))}_onMdnsQuery(e){this.mdns!=null&&(this.log.trace("received incoming mDNS query"),vt(e,this.mdns,this.peerName,this.components.addressManager.getAddresses(),this.serviceTag,this.broadcast,{log:this.log}))}_onMdnsResponse(e){this.log.trace("received mDNS query response");try{let n=xt(e,this.peerName,this.serviceTag,{log:this.log});n!=null&&(this.log("discovered peer in mDNS query response %p",n.id),this.dispatchEvent(new sr("peer",{detail:n})))}catch(n){this.log.error("Error processing peer response",n)}}_onMdnsWarning(e){this.log.error("mdns warning",e)}_onMdnsError(e){this.log.error("mdns error",e)}async stop(){this.mdns!=null&&(this.mdns.removeListener("query",this._onMdnsQuery),this.mdns.removeListener("response",this._onMdnsResponse),this.mdns.removeListener("warning",this._onMdnsWarning),this.mdns.removeListener("error",this._onMdnsError),this._queryInterval!=null&&(clearInterval(this._queryInterval),this._queryInterval=null),await new Promise(e=>{this.mdns!=null?this.mdns.destroy(e):e()}),this.mdns=void 0)}};function ko(r={}){return e=>new ir(e,r)}return Tt(Mo);})();
|
|
2
|
+
"use strict";var Libp2PMdns=(()=>{var Lt=Object.create;var je=Object.defineProperty;var bt=Object.getOwnPropertyDescriptor;var Ct=Object.getOwnPropertyNames;var Ot=Object.getPrototypeOf,Tt=Object.prototype.hasOwnProperty;var H=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var Q=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),k=(r,e)=>{for(var n in e)je(r,n,{get:e[n],enumerable:!0})},sn=(r,e,n,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ct(e))!Tt.call(r,i)&&i!==n&&je(r,i,{get:()=>e[i],enumerable:!(t=bt(e,i))||t.enumerable});return r};var or=(r,e,n)=>(n=r!=null?Lt(Ot(r)):{},sn(e||!r||!r.__esModule?je(n,"default",{value:r,enumerable:!0}):n,r)),Nt=r=>sn(je({},"__esModule",{value:!0}),r);var pn=Q(ar=>{"use strict";ar.toString=function(r){switch(r){case 1:return"A";case 10:return"NULL";case 28:return"AAAA";case 18:return"AFSDB";case 42:return"APL";case 257:return"CAA";case 60:return"CDNSKEY";case 59:return"CDS";case 37:return"CERT";case 5:return"CNAME";case 49:return"DHCID";case 32769:return"DLV";case 39:return"DNAME";case 48:return"DNSKEY";case 43:return"DS";case 55:return"HIP";case 13:return"HINFO";case 45:return"IPSECKEY";case 25:return"KEY";case 36:return"KX";case 29:return"LOC";case 15:return"MX";case 35:return"NAPTR";case 2:return"NS";case 47:return"NSEC";case 50:return"NSEC3";case 51:return"NSEC3PARAM";case 12:return"PTR";case 46:return"RRSIG";case 17:return"RP";case 24:return"SIG";case 6:return"SOA";case 99:return"SPF";case 33:return"SRV";case 44:return"SSHFP";case 32768:return"TA";case 249:return"TKEY";case 52:return"TLSA";case 250:return"TSIG";case 16:return"TXT";case 252:return"AXFR";case 251:return"IXFR";case 41:return"OPT";case 255:return"ANY"}return"UNKNOWN_"+r};ar.toType=function(r){switch(r.toUpperCase()){case"A":return 1;case"NULL":return 10;case"AAAA":return 28;case"AFSDB":return 18;case"APL":return 42;case"CAA":return 257;case"CDNSKEY":return 60;case"CDS":return 59;case"CERT":return 37;case"CNAME":return 5;case"DHCID":return 49;case"DLV":return 32769;case"DNAME":return 39;case"DNSKEY":return 48;case"DS":return 43;case"HIP":return 55;case"HINFO":return 13;case"IPSECKEY":return 45;case"KEY":return 25;case"KX":return 36;case"LOC":return 29;case"MX":return 15;case"NAPTR":return 35;case"NS":return 2;case"NSEC":return 47;case"NSEC3":return 50;case"NSEC3PARAM":return 51;case"PTR":return 12;case"RRSIG":return 46;case"RP":return 17;case"SIG":return 24;case"SOA":return 6;case"SPF":return 99;case"SRV":return 33;case"SSHFP":return 44;case"TA":return 32768;case"TKEY":return 249;case"TLSA":return 52;case"TSIG":return 250;case"TXT":return 16;case"AXFR":return 252;case"IXFR":return 251;case"OPT":return 41;case"ANY":return 255;case"*":return 255}return r.toUpperCase().startsWith("UNKNOWN_")?parseInt(r.slice(8)):0}});var gn=Q(dr=>{"use strict";dr.toString=function(r){switch(r){case 0:return"NOERROR";case 1:return"FORMERR";case 2:return"SERVFAIL";case 3:return"NXDOMAIN";case 4:return"NOTIMP";case 5:return"REFUSED";case 6:return"YXDOMAIN";case 7:return"YXRRSET";case 8:return"NXRRSET";case 9:return"NOTAUTH";case 10:return"NOTZONE";case 11:return"RCODE_11";case 12:return"RCODE_12";case 13:return"RCODE_13";case 14:return"RCODE_14";case 15:return"RCODE_15"}return"RCODE_"+r};dr.toRcode=function(r){switch(r.toUpperCase()){case"NOERROR":return 0;case"FORMERR":return 1;case"SERVFAIL":return 2;case"NXDOMAIN":return 3;case"NOTIMP":return 4;case"REFUSED":return 5;case"YXDOMAIN":return 6;case"YXRRSET":return 7;case"NXRRSET":return 8;case"NOTAUTH":return 9;case"NOTZONE":return 10;case"RCODE_11":return 11;case"RCODE_12":return 12;case"RCODE_13":return 13;case"RCODE_14":return 14;case"RCODE_15":return 15}return 0}});var mn=Q(lr=>{"use strict";lr.toString=function(r){switch(r){case 0:return"QUERY";case 1:return"IQUERY";case 2:return"STATUS";case 3:return"OPCODE_3";case 4:return"NOTIFY";case 5:return"UPDATE";case 6:return"OPCODE_6";case 7:return"OPCODE_7";case 8:return"OPCODE_8";case 9:return"OPCODE_9";case 10:return"OPCODE_10";case 11:return"OPCODE_11";case 12:return"OPCODE_12";case 13:return"OPCODE_13";case 14:return"OPCODE_14";case 15:return"OPCODE_15"}return"OPCODE_"+r};lr.toOpcode=function(r){switch(r.toUpperCase()){case"QUERY":return 0;case"IQUERY":return 1;case"STATUS":return 2;case"OPCODE_3":return 3;case"NOTIFY":return 4;case"UPDATE":return 5;case"OPCODE_6":return 6;case"OPCODE_7":return 7;case"OPCODE_8":return 8;case"OPCODE_9":return 9;case"OPCODE_10":return 10;case"OPCODE_11":return 11;case"OPCODE_12":return 12;case"OPCODE_13":return 13;case"OPCODE_14":return 14;case"OPCODE_15":return 15}return 0}});var yn=Q(ur=>{"use strict";ur.toString=function(r){switch(r){case 1:return"IN";case 2:return"CS";case 3:return"CH";case 4:return"HS";case 255:return"ANY"}return"UNKNOWN_"+r};ur.toClass=function(r){switch(r.toUpperCase()){case"IN":return 1;case"CS":return 2;case"CH":return 3;case"HS":return 4;case"ANY":return 255}return 0}});var wn=Q(hr=>{"use strict";hr.toString=function(r){switch(r){case 1:return"LLQ";case 2:return"UL";case 3:return"NSID";case 5:return"DAU";case 6:return"DHU";case 7:return"N3U";case 8:return"CLIENT_SUBNET";case 9:return"EXPIRE";case 10:return"COOKIE";case 11:return"TCP_KEEPALIVE";case 12:return"PADDING";case 13:return"CHAIN";case 14:return"KEY_TAG";case 26946:return"DEVICEID"}return r<0?null:`OPTION_${r}`};hr.toCode=function(r){if(typeof r=="number")return r;if(!r)return-1;switch(r.toUpperCase()){case"OPTION_0":return 0;case"LLQ":return 1;case"UL":return 2;case"NSID":return 3;case"OPTION_4":return 4;case"DAU":return 5;case"DHU":return 6;case"N3U":return 7;case"CLIENT_SUBNET":return 8;case"EXPIRE":return 9;case"COOKIE":return 10;case"TCP_KEEPALIVE":return 11;case"PADDING":return 12;case"CHAIN":return 13;case"KEY_TAG":return 14;case"DEVICEID":return 26946;case"OPTION_65535":return 65535}let e=r.match(/_(\d+)$/);return e?parseInt(e[1],10):-1}});var In=Q((xn,pr)=>{var En=function(r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.decode=l,r.encode=m,r.familyOf=d,r.name=void 0,r.sizeOf=a,r.v6=r.v4=void 0;let e=/^(\d{1,3}\.){3,3}\d{1,3}$/,n=4,t=/^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i,i=16,o={name:"v4",size:n,isFormat:u=>e.test(u),encode(u,p,s){s=~~s,p=p||new Uint8Array(s+n);let y=u.length,v=0;for(let U=0;U<y;){let L=u.charCodeAt(U++);L===46?(p[s++]=v,v=0):v=v*10+(L-48)}return p[s]=v,p},decode(u,p){return p=~~p,`${u[p++]}.${u[p++]}.${u[p++]}.${u[p]}`}};r.v4=o;let c={name:"v6",size:i,isFormat:u=>u.length>0&&t.test(u),encode(u,p,s){s=~~s;let y=s+i,v=-1,U=0,L=0,D=!0,T=!1;p=p||new Uint8Array(s+i);for(let b=0;b<u.length;b++){let C=u.charCodeAt(b);C===58?(D?v!==-1?(s<y&&(p[s]=0),s<y-1&&(p[s+1]=0),s+=2):s<y&&(v=s):(T===!0?(s<y&&(p[s]=L),s++):(s<y&&(p[s]=U>>8),s<y-1&&(p[s+1]=U&255),s+=2),U=0,L=0),D=!0,T=!1):C===46?(s<y&&(p[s]=L),s++,L=0,U=0,D=!1,T=!0):(D=!1,C>=97?C-=87:C>=65?C-=55:(C-=48,L=L*10+C),U=(U<<4)+C)}if(D===!1)T===!0?(s<y&&(p[s]=L),s++):(s<y&&(p[s]=U>>8),s<y-1&&(p[s+1]=U&255),s+=2);else if(v===0)s<y&&(p[s]=0),s<y-1&&(p[s+1]=0),s+=2;else if(v!==-1){s+=2;for(let b=Math.min(s-1,y-1);b>=v+2;b--)p[b]=p[b-2];p[v]=0,p[v+1]=0,v=s}if(v!==s&&v!==-1)for(s>y-2&&(s=y-2);y>v;)p[--y]=s<y&&s>v?p[--s]:0;else for(;s<y;)p[s++]=0;return p},decode(u,p){p=~~p;let s="";for(let y=0;y<i;y+=2)y!==0&&(s+=":"),s+=(u[p+y]<<8|u[p+y+1]).toString(16);return s.replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}};r.v6=c;let h="ip";r.name=h;function a(u){if(o.isFormat(u))return o.size;if(c.isFormat(u))return c.size;throw Error(`Invalid ip address: ${u}`)}function d(u){return a(u)===o.size?1:2}function m(u,p,s){s=~~s;let y=a(u);return typeof p=="function"&&(p=p(s+y)),y===o.size?o.encode(u,p,s):c.encode(u,p,s)}function l(u,p,s){if(p=~~p,s=s||u.length-p,s===o.size)return o.decode(u,p,s);if(s===c.size)return c.decode(u,p,s);throw Error(`Invalid buffer size needs to be ${o.size} for v4 or ${c.size} for v6.`)}return"default"in r?r.default:r}({});typeof define=="function"&&define.amd?define([],function(){return En}):typeof pr=="object"&&typeof xn=="object"&&(pr.exports=En)});var Un=Q(w=>{"use strict";var E=H("buffer").Buffer,ge=pn(),Pt=gn(),Dt=mn(),Qe=yn(),gr=wn(),ve=In(),Bt=0,vn=32768,mr=32768,Ft=~mr,An=32768,Rt=~An,g=w.name={};g.encode=function(r,e,n,{mail:t=!1}={}){e||(e=E.alloc(g.encodingLength(r))),n||(n=0);let i=n,o=r.replace(/^\.|\.$/gm,"");if(o.length){let c=[];if(t){let h="";o.split(".").forEach(a=>{a.endsWith("\\")?h+=(h.length?".":"")+a.slice(0,-1):c.length===0&&h.length?c.push(h+"."+a):c.push(a)})}else c=o.split(".");for(let h=0;h<c.length;h++){let a=e.write(c[h],n+1);e[n]=a,n+=a+1}}return e[n++]=0,g.encode.bytes=n-i,e};g.encode.bytes=0;g.decode=function(r,e,{mail:n=!1}={}){e||(e=0);let t=[],i=e,o=0,c=0,h=!1;for(;;){if(e>=r.length)throw new Error("Cannot decode name (buffer overflow)");let a=r[e++];if(c+=h?0:1,a===0)break;if(a&192)if((a&192)===192){if(e+1>r.length)throw new Error("Cannot decode name (buffer overflow)");let d=r.readUInt16BE(e-1)-49152;if(d>=i)throw new Error("Cannot decode name (bad pointer)");e=d,i=d,c+=h?0:1,h=!0}else throw new Error("Cannot decode name (bad label)");else{if(e+a>r.length)throw new Error("Cannot decode name (buffer overflow)");if(o+=a+1,o>254)throw new Error("Cannot decode name (name too long)");let d=r.toString("utf-8",e,e+a);n&&(d=d.replace(/\./g,"\\.")),t.push(d),e+=a,c+=h?0:a}}return g.decode.bytes=c,t.length===0?".":t.join(".")};g.decode.bytes=0;g.encodingLength=function(r){return r==="."||r===".."?1:E.byteLength(r.replace(/^\.|\.$/gm,""))+2};var x={};x.encode=function(r,e,n){e||(e=E.alloc(x.encodingLength(r))),n||(n=0);let t=e.write(r,n+1);return e[n]=t,x.encode.bytes=t+1,e};x.encode.bytes=0;x.decode=function(r,e){e||(e=0);let n=r[e],t=r.toString("utf-8",e+1,e+1+n);return x.decode.bytes=n+1,t};x.decode.bytes=0;x.encodingLength=function(r){return E.byteLength(r)+1};var Y={};Y.encode=function(r,e,n){e||(e=Y.encodingLength(r)),n||(n=0);let t=(r.flags||0)&32767,i=r.type==="response"?vn:Bt;return e.writeUInt16BE(r.id||0,n),e.writeUInt16BE(t|i,n+2),e.writeUInt16BE(r.questions.length,n+4),e.writeUInt16BE(r.answers.length,n+6),e.writeUInt16BE(r.authorities.length,n+8),e.writeUInt16BE(r.additionals.length,n+10),e};Y.encode.bytes=12;Y.decode=function(r,e){if(e||(e=0),r.length<12)throw new Error("Header must be 12 bytes");let n=r.readUInt16BE(e+2);return{id:r.readUInt16BE(e),type:n&vn?"response":"query",flags:n&32767,flag_qr:(n>>15&1)===1,opcode:Dt.toString(n>>11&15),flag_aa:(n>>10&1)===1,flag_tc:(n>>9&1)===1,flag_rd:(n>>8&1)===1,flag_ra:(n>>7&1)===1,flag_z:(n>>6&1)===1,flag_ad:(n>>5&1)===1,flag_cd:(n>>4&1)===1,rcode:Pt.toString(n&15),questions:new Array(r.readUInt16BE(e+4)),answers:new Array(r.readUInt16BE(e+6)),authorities:new Array(r.readUInt16BE(e+8)),additionals:new Array(r.readUInt16BE(e+10))}};Y.decode.bytes=12;Y.encodingLength=function(){return 12};var oe=w.unknown={};oe.encode=function(r,e,n){return e||(e=E.alloc(oe.encodingLength(r))),n||(n=0),e.writeUInt16BE(r.length,n),r.copy(e,n+2),oe.encode.bytes=r.length+2,e};oe.encode.bytes=0;oe.decode=function(r,e){e||(e=0);let n=r.readUInt16BE(e),t=r.slice(e+2,e+2+n);return oe.decode.bytes=n+2,t};oe.decode.bytes=0;oe.encodingLength=function(r){return r.length+2};var ce=w.ns={};ce.encode=function(r,e,n){return e||(e=E.alloc(ce.encodingLength(r))),n||(n=0),g.encode(r,e,n+2),e.writeUInt16BE(g.encode.bytes,n),ce.encode.bytes=g.encode.bytes+2,e};ce.encode.bytes=0;ce.decode=function(r,e){e||(e=0);let n=r.readUInt16BE(e),t=g.decode(r,e+2);return ce.decode.bytes=n+2,t};ce.decode.bytes=0;ce.encodingLength=function(r){return g.encodingLength(r)+2};var se=w.soa={};se.encode=function(r,e,n){e||(e=E.alloc(se.encodingLength(r))),n||(n=0);let t=n;return n+=2,g.encode(r.mname,e,n),n+=g.encode.bytes,g.encode(r.rname,e,n,{mail:!0}),n+=g.encode.bytes,e.writeUInt32BE(r.serial||0,n),n+=4,e.writeUInt32BE(r.refresh||0,n),n+=4,e.writeUInt32BE(r.retry||0,n),n+=4,e.writeUInt32BE(r.expire||0,n),n+=4,e.writeUInt32BE(r.minimum||0,n),n+=4,e.writeUInt16BE(n-t-2,t),se.encode.bytes=n-t,e};se.encode.bytes=0;se.decode=function(r,e){e||(e=0);let n=e,t={};return e+=2,t.mname=g.decode(r,e),e+=g.decode.bytes,t.rname=g.decode(r,e,{mail:!0}),e+=g.decode.bytes,t.serial=r.readUInt32BE(e),e+=4,t.refresh=r.readUInt32BE(e),e+=4,t.retry=r.readUInt32BE(e),e+=4,t.expire=r.readUInt32BE(e),e+=4,t.minimum=r.readUInt32BE(e),e+=4,se.decode.bytes=e-n,t};se.decode.bytes=0;se.encodingLength=function(r){return 22+g.encodingLength(r.mname)+g.encodingLength(r.rname)};var ae=w.txt={};ae.encode=function(r,e,n){Array.isArray(r)||(r=[r]);for(let i=0;i<r.length;i++)if(typeof r[i]=="string"&&(r[i]=E.from(r[i])),!E.isBuffer(r[i]))throw new Error("Must be a Buffer");e||(e=E.alloc(ae.encodingLength(r))),n||(n=0);let t=n;return n+=2,r.forEach(function(i){e[n++]=i.length,i.copy(e,n,0,i.length),n+=i.length}),e.writeUInt16BE(n-t-2,t),ae.encode.bytes=n-t,e};ae.encode.bytes=0;ae.decode=function(r,e){e||(e=0);let n=e,t=r.readUInt16BE(e);e+=2;let i=[];for(;t>0;){let o=r[e++];if(--t,t<o)throw new Error("Buffer overflow");i.push(r.slice(e,e+o)),e+=o,t-=o}return ae.decode.bytes=e-n,i};ae.decode.bytes=0;ae.encodingLength=function(r){Array.isArray(r)||(r=[r]);let e=2;return r.forEach(function(n){typeof n=="string"?e+=E.byteLength(n)+1:e+=n.length+1}),e};var de=w.null={};de.encode=function(r,e,n){e||(e=E.alloc(de.encodingLength(r))),n||(n=0),typeof r=="string"&&(r=E.from(r)),r||(r=E.alloc(0));let t=n;n+=2;let i=r.length;return r.copy(e,n,0,i),n+=i,e.writeUInt16BE(n-t-2,t),de.encode.bytes=n-t,e};de.encode.bytes=0;de.decode=function(r,e){e||(e=0);let n=e,t=r.readUInt16BE(e);e+=2;let i=r.slice(e,e+t);return e+=t,de.decode.bytes=e-n,i};de.decode.bytes=0;de.encodingLength=function(r){return r?(E.isBuffer(r)?r.length:E.byteLength(r))+2:2};var le=w.hinfo={};le.encode=function(r,e,n){e||(e=E.alloc(le.encodingLength(r))),n||(n=0);let t=n;return n+=2,x.encode(r.cpu,e,n),n+=x.encode.bytes,x.encode(r.os,e,n),n+=x.encode.bytes,e.writeUInt16BE(n-t-2,t),le.encode.bytes=n-t,e};le.encode.bytes=0;le.decode=function(r,e){e||(e=0);let n=e,t={};return e+=2,t.cpu=x.decode(r,e),e+=x.decode.bytes,t.os=x.decode(r,e),e+=x.decode.bytes,le.decode.bytes=e-n,t};le.decode.bytes=0;le.encodingLength=function(r){return x.encodingLength(r.cpu)+x.encodingLength(r.os)+2};var j=w.ptr={},_t=w.cname=j,kt=w.dname=j;j.encode=function(r,e,n){return e||(e=E.alloc(j.encodingLength(r))),n||(n=0),g.encode(r,e,n+2),e.writeUInt16BE(g.encode.bytes,n),j.encode.bytes=g.encode.bytes+2,e};j.encode.bytes=0;j.decode=function(r,e){e||(e=0);let n=g.decode(r,e+2);return j.decode.bytes=g.decode.bytes+2,n};j.decode.bytes=0;j.encodingLength=function(r){return g.encodingLength(r)+2};var ue=w.srv={};ue.encode=function(r,e,n){e||(e=E.alloc(ue.encodingLength(r))),n||(n=0),e.writeUInt16BE(r.priority||0,n+2),e.writeUInt16BE(r.weight||0,n+4),e.writeUInt16BE(r.port||0,n+6),g.encode(r.target,e,n+8);let t=g.encode.bytes+6;return e.writeUInt16BE(t,n),ue.encode.bytes=t+2,e};ue.encode.bytes=0;ue.decode=function(r,e){e||(e=0);let n=r.readUInt16BE(e),t={};return t.priority=r.readUInt16BE(e+2),t.weight=r.readUInt16BE(e+4),t.port=r.readUInt16BE(e+6),t.target=g.decode(r,e+8),ue.decode.bytes=n+2,t};ue.decode.bytes=0;ue.encodingLength=function(r){return 8+g.encodingLength(r.target)};var M=w.caa={};M.ISSUER_CRITICAL=128;M.encode=function(r,e,n){let t=M.encodingLength(r);return e||(e=E.alloc(M.encodingLength(r))),n||(n=0),r.issuerCritical&&(r.flags=M.ISSUER_CRITICAL),e.writeUInt16BE(t-2,n),n+=2,e.writeUInt8(r.flags||0,n),n+=1,x.encode(r.tag,e,n),n+=x.encode.bytes,e.write(r.value,n),n+=E.byteLength(r.value),M.encode.bytes=t,e};M.encode.bytes=0;M.decode=function(r,e){e||(e=0);let n=r.readUInt16BE(e);e+=2;let t=e,i={};return i.flags=r.readUInt8(e),e+=1,i.tag=x.decode(r,e),e+=x.decode.bytes,i.value=r.toString("utf-8",e,t+n),i.issuerCritical=!!(i.flags&M.ISSUER_CRITICAL),M.decode.bytes=n+2,i};M.decode.bytes=0;M.encodingLength=function(r){return x.encodingLength(r.tag)+x.encodingLength(r.value)+2};var we=w.mx={};we.encode=function(r,e,n){e||(e=E.alloc(we.encodingLength(r))),n||(n=0);let t=n;return n+=2,e.writeUInt16BE(r.preference||0,n),n+=2,g.encode(r.exchange,e,n),n+=g.encode.bytes,e.writeUInt16BE(n-t-2,t),we.encode.bytes=n-t,e};we.encode.bytes=0;we.decode=function(r,e){e||(e=0);let n=e,t={};return e+=2,t.preference=r.readUInt16BE(e),e+=2,t.exchange=g.decode(r,e),e+=g.decode.bytes,we.decode.bytes=e-n,t};we.encodingLength=function(r){return 4+g.encodingLength(r.exchange)};var he=w.a={};he.encode=function(r,e,n){return e||(e=E.alloc(he.encodingLength(r))),n||(n=0),e.writeUInt16BE(4,n),n+=2,ve.v4.encode(r,e,n),he.encode.bytes=6,e};he.encode.bytes=0;he.decode=function(r,e){e||(e=0),e+=2;let n=ve.v4.decode(r,e);return he.decode.bytes=6,n};he.decode.bytes=0;he.encodingLength=function(){return 6};var pe=w.aaaa={};pe.encode=function(r,e,n){return e||(e=E.alloc(pe.encodingLength(r))),n||(n=0),e.writeUInt16BE(16,n),n+=2,ve.v6.encode(r,e,n),pe.encode.bytes=18,e};pe.encode.bytes=0;pe.decode=function(r,e){e||(e=0),e+=2;let n=ve.v6.decode(r,e);return pe.decode.bytes=18,n};pe.decode.bytes=0;pe.encodingLength=function(){return 18};var R=w.option={};R.encode=function(r,e,n){e||(e=E.alloc(R.encodingLength(r))),n||(n=0);let t=n,i=gr.toCode(r.code);if(e.writeUInt16BE(i,n),n+=2,r.data)e.writeUInt16BE(r.data.length,n),n+=2,r.data.copy(e,n),n+=r.data.length;else switch(i){case 8:let o=r.sourcePrefixLength||0,c=r.family||ve.familyOf(r.ip),h=ve.encode(r.ip,E.alloc),a=Math.ceil(o/8);e.writeUInt16BE(a+4,n),n+=2,e.writeUInt16BE(c,n),n+=2,e.writeUInt8(o,n++),e.writeUInt8(r.scopePrefixLength||0,n++),h.copy(e,n,0,a),n+=a;break;case 11:r.timeout?(e.writeUInt16BE(2,n),n+=2,e.writeUInt16BE(r.timeout,n),n+=2):(e.writeUInt16BE(0,n),n+=2);break;case 12:let d=r.length||0;e.writeUInt16BE(d,n),n+=2,e.fill(0,n,n+d),n+=d;break;case 14:let m=r.tags.length*2;e.writeUInt16BE(m,n),n+=2;for(let l of r.tags)e.writeUInt16BE(l,n),n+=2;break;default:throw new Error(`Unknown roption code: ${r.code}`)}return R.encode.bytes=n-t,e};R.encode.bytes=0;R.decode=function(r,e){e||(e=0);let n={};n.code=r.readUInt16BE(e),n.type=gr.toString(n.code),e+=2;let t=r.readUInt16BE(e);switch(e+=2,n.data=r.slice(e,e+t),n.code){case 8:n.family=r.readUInt16BE(e),e+=2,n.sourcePrefixLength=r.readUInt8(e++),n.scopePrefixLength=r.readUInt8(e++);let i=E.alloc(n.family===1?4:16);r.copy(i,0,e,e+t-4),n.ip=ve.decode(i);break;case 11:t>0&&(n.timeout=r.readUInt16BE(e),e+=2);break;case 14:n.tags=[];for(let o=0;o<t;o+=2)n.tags.push(r.readUInt16BE(e)),e+=2}return R.decode.bytes=t+4,n};R.decode.bytes=0;R.encodingLength=function(r){if(r.data)return r.data.length+4;switch(gr.toCode(r.code)){case 8:let n=r.sourcePrefixLength||0;return Math.ceil(n/8)+8;case 11:return typeof r.timeout=="number"?6:4;case 12:return r.length+4;case 14:return 4+r.tags.length*2}throw new Error(`Unknown roption code: ${r.code}`)};var q=w.opt={};q.encode=function(r,e,n){e||(e=E.alloc(q.encodingLength(r))),n||(n=0);let t=n,i=Le(r,R);return e.writeUInt16BE(i,n),n=Be(r,R,e,n+2),q.encode.bytes=n-t,e};q.encode.bytes=0;q.decode=function(r,e){e||(e=0);let n=e,t=[],i=r.readUInt16BE(e);e+=2;let o=0;for(;i>0;)t[o++]=R.decode(r,e),e+=R.decode.bytes,i-=R.decode.bytes;return q.decode.bytes=e-n,t};q.decode.bytes=0;q.encodingLength=function(r){return 2+Le(r||[],R)};var F=w.dnskey={};F.PROTOCOL_DNSSEC=3;F.ZONE_KEY=128;F.SECURE_ENTRYPOINT=32768;F.encode=function(r,e,n){e||(e=E.alloc(F.encodingLength(r))),n||(n=0);let t=n,i=r.key;if(!E.isBuffer(i))throw new Error("Key must be a Buffer");return n+=2,e.writeUInt16BE(r.flags,n),n+=2,e.writeUInt8(F.PROTOCOL_DNSSEC,n),n+=1,e.writeUInt8(r.algorithm,n),n+=1,i.copy(e,n,0,i.length),n+=i.length,F.encode.bytes=n-t,e.writeUInt16BE(F.encode.bytes-2,t),e};F.encode.bytes=0;F.decode=function(r,e){e||(e=0);let n=e;var t={},i=r.readUInt16BE(e);if(e+=2,t.flags=r.readUInt16BE(e),e+=2,r.readUInt8(e)!==F.PROTOCOL_DNSSEC)throw new Error("Protocol must be 3");return e+=1,t.algorithm=r.readUInt8(e),e+=1,t.key=r.slice(e,n+i+2),e+=t.key.length,F.decode.bytes=e-n,t};F.decode.bytes=0;F.encodingLength=function(r){return 6+E.byteLength(r.key)};var W=w.rrsig={};W.encode=function(r,e,n){e||(e=E.alloc(W.encodingLength(r))),n||(n=0);let t=n,i=r.signature;if(!E.isBuffer(i))throw new Error("Signature must be a Buffer");return n+=2,e.writeUInt16BE(ge.toType(r.typeCovered),n),n+=2,e.writeUInt8(r.algorithm,n),n+=1,e.writeUInt8(r.labels,n),n+=1,e.writeUInt32BE(r.originalTTL,n),n+=4,e.writeUInt32BE(r.expiration,n),n+=4,e.writeUInt32BE(r.inception,n),n+=4,e.writeUInt16BE(r.keyTag,n),n+=2,g.encode(r.signersName,e,n),n+=g.encode.bytes,i.copy(e,n,0,i.length),n+=i.length,W.encode.bytes=n-t,e.writeUInt16BE(W.encode.bytes-2,t),e};W.encode.bytes=0;W.decode=function(r,e){e||(e=0);let n=e;var t={},i=r.readUInt16BE(e);return e+=2,t.typeCovered=ge.toString(r.readUInt16BE(e)),e+=2,t.algorithm=r.readUInt8(e),e+=1,t.labels=r.readUInt8(e),e+=1,t.originalTTL=r.readUInt32BE(e),e+=4,t.expiration=r.readUInt32BE(e),e+=4,t.inception=r.readUInt32BE(e),e+=4,t.keyTag=r.readUInt16BE(e),e+=2,t.signersName=g.decode(r,e),e+=g.decode.bytes,t.signature=r.slice(e,n+i+2),e+=t.signature.length,W.decode.bytes=e-n,t};W.decode.bytes=0;W.encodingLength=function(r){return 20+g.encodingLength(r.signersName)+E.byteLength(r.signature)};var J=w.rp={};J.encode=function(r,e,n){e||(e=E.alloc(J.encodingLength(r))),n||(n=0);let t=n;return n+=2,g.encode(r.mbox||".",e,n,{mail:!0}),n+=g.encode.bytes,g.encode(r.txt||".",e,n),n+=g.encode.bytes,J.encode.bytes=n-t,e.writeUInt16BE(J.encode.bytes-2,t),e};J.encode.bytes=0;J.decode=function(r,e){e||(e=0);let n=e,t={};return e+=2,t.mbox=g.decode(r,e,{mail:!0})||".",e+=g.decode.bytes,t.txt=g.decode(r,e)||".",e+=g.decode.bytes,J.decode.bytes=e-n,t};J.decode.bytes=0;J.encodingLength=function(r){return 2+g.encodingLength(r.mbox||".")+g.encodingLength(r.txt||".")};var O={};O.encode=function(r,e,n){e||(e=E.alloc(O.encodingLength(r))),n||(n=0);let t=n;for(var i=[],o=0;o<r.length;o++){var c=ge.toType(r[o]);i[c>>8]===void 0&&(i[c>>8]=[]),i[c>>8][c>>3&31]|=1<<7-(c&7)}for(o=0;o<i.length;o++)if(i[o]!==void 0){var h=E.from(i[o]);e.writeUInt8(o,n),n+=1,e.writeUInt8(h.length,n),n+=1,h.copy(e,n),n+=h.length}return O.encode.bytes=n-t,e};O.encode.bytes=0;O.decode=function(r,e,n){e||(e=0);let t=e;for(var i=[];e-t<n;){var o=r.readUInt8(e);e+=1;var c=r.readUInt8(e);e+=1;for(var h=0;h<c;h++)for(var a=r.readUInt8(e+h),d=0;d<8;d++)if(a&1<<7-d){var m=ge.toString(o<<8|h<<3|d);i.push(m)}e+=c}return O.decode.bytes=e-t,i};O.decode.bytes=0;O.encodingLength=function(r){for(var e=[],n=0;n<r.length;n++){var t=ge.toType(r[n]);e[t>>8]=Math.max(e[t>>8]||0,t&255)}var i=0;for(n=0;n<e.length;n++)e[n]!==void 0&&(i+=2+Math.ceil((e[n]+1)/8));return i};var Z=w.nsec={};Z.encode=function(r,e,n){e||(e=E.alloc(Z.encodingLength(r))),n||(n=0);let t=n;return n+=2,g.encode(r.nextDomain,e,n),n+=g.encode.bytes,O.encode(r.rrtypes,e,n),n+=O.encode.bytes,Z.encode.bytes=n-t,e.writeUInt16BE(Z.encode.bytes-2,t),e};Z.encode.bytes=0;Z.decode=function(r,e){e||(e=0);let n=e;var t={},i=r.readUInt16BE(e);return e+=2,t.nextDomain=g.decode(r,e),e+=g.decode.bytes,t.rrtypes=O.decode(r,e,i-(e-n)),e+=O.decode.bytes,Z.decode.bytes=e-n,t};Z.decode.bytes=0;Z.encodingLength=function(r){return 2+g.encodingLength(r.nextDomain)+O.encodingLength(r.rrtypes)};var f=w.nsec3={};f.encode=function(r,e,n){e||(e=E.alloc(f.encodingLength(r))),n||(n=0);let t=n,i=r.salt;if(!E.isBuffer(i))throw new Error("salt must be a Buffer");let o=r.nextDomain;if(!E.isBuffer(o))throw new Error("nextDomain must be a Buffer");return n+=2,e.writeUInt8(r.algorithm,n),n+=1,e.writeUInt8(r.flags,n),n+=1,e.writeUInt16BE(r.iterations,n),n+=2,e.writeUInt8(i.length,n),n+=1,i.copy(e,n,0,i.length),n+=i.length,e.writeUInt8(o.length,n),n+=1,o.copy(e,n,0,o.length),n+=o.length,O.encode(r.rrtypes,e,n),n+=O.encode.bytes,f.encode.bytes=n-t,e.writeUInt16BE(f.encode.bytes-2,t),e};f.encode.bytes=0;f.decode=function(r,e){e||(e=0);let n=e;var t={},i=r.readUInt16BE(e);e+=2,t.algorithm=r.readUInt8(e),e+=1,t.flags=r.readUInt8(e),e+=1,t.iterations=r.readUInt16BE(e),e+=2;let o=r.readUInt8(e);e+=1,t.salt=r.slice(e,e+o),e+=o;let c=r.readUInt8(e);return e+=1,t.nextDomain=r.slice(e,e+c),e+=c,t.rrtypes=O.decode(r,e,i-(e-n)),e+=O.decode.bytes,f.decode.bytes=e-n,t};f.decode.bytes=0;f.encodingLength=function(r){return 8+r.salt.length+r.nextDomain.length+O.encodingLength(r.rrtypes)};var ee=w.ds={};ee.encode=function(r,e,n){e||(e=E.alloc(ee.encodingLength(r))),n||(n=0);let t=n,i=r.digest;if(!E.isBuffer(i))throw new Error("Digest must be a Buffer");return n+=2,e.writeUInt16BE(r.keyTag,n),n+=2,e.writeUInt8(r.algorithm,n),n+=1,e.writeUInt8(r.digestType,n),n+=1,i.copy(e,n,0,i.length),n+=i.length,ee.encode.bytes=n-t,e.writeUInt16BE(ee.encode.bytes-2,t),e};ee.encode.bytes=0;ee.decode=function(r,e){e||(e=0);let n=e;var t={},i=r.readUInt16BE(e);return e+=2,t.keyTag=r.readUInt16BE(e),e+=2,t.algorithm=r.readUInt8(e),e+=1,t.digestType=r.readUInt8(e),e+=1,t.digest=r.slice(e,n+i+2),e+=t.digest.length,ee.decode.bytes=e-n,t};ee.decode.bytes=0;ee.encodingLength=function(r){return 6+E.byteLength(r.digest)};var z=w.sshfp={};z.getFingerprintLengthForHashType=function(e){switch(e){case 1:return 20;case 2:return 32}};z.encode=function(e,n,t){n||(n=E.alloc(z.encodingLength(e))),t||(t=0);let i=t;t+=2,n[t]=e.algorithm,t+=1,n[t]=e.hash,t+=1;let o=E.from(e.fingerprint.toUpperCase(),"hex");if(o.length!==z.getFingerprintLengthForHashType(e.hash))throw new Error("Invalid fingerprint length");return o.copy(n,t),t+=o.byteLength,z.encode.bytes=t-i,n.writeUInt16BE(z.encode.bytes-2,i),n};z.encode.bytes=0;z.decode=function(e,n){n||(n=0);let t=n,i={};n+=2,i.algorithm=e[n],n+=1,i.hash=e[n],n+=1;let o=z.getFingerprintLengthForHashType(i.hash);return i.fingerprint=e.slice(n,n+o).toString("hex").toUpperCase(),n+=o,z.decode.bytes=n-t,i};z.decode.bytes=0;z.encodingLength=function(r){return 4+E.from(r.fingerprint,"hex").byteLength};var re=w.naptr={};re.encode=function(r,e,n){e||(e=E.alloc(re.encodingLength(r))),n||(n=0);let t=n;return n+=2,e.writeUInt16BE(r.order||0,n),n+=2,e.writeUInt16BE(r.preference||0,n),n+=2,x.encode(r.flags,e,n),n+=x.encode.bytes,x.encode(r.services,e,n),n+=x.encode.bytes,x.encode(r.regexp,e,n),n+=x.encode.bytes,g.encode(r.replacement,e,n),n+=g.encode.bytes,re.encode.bytes=n-t,e.writeUInt16BE(re.encode.bytes-2,t),e};re.encode.bytes=0;re.decode=function(r,e){e||(e=0);let n=e,t={};return e+=2,t.order=r.readUInt16BE(e),e+=2,t.preference=r.readUInt16BE(e),e+=2,t.flags=x.decode(r,e),e+=x.decode.bytes,t.services=x.decode(r,e),e+=x.decode.bytes,t.regexp=x.decode(r,e),e+=x.decode.bytes,t.replacement=g.decode(r,e),e+=g.decode.bytes,re.decode.bytes=e-n,t};re.decode.bytes=0;re.encodingLength=function(r){return x.encodingLength(r.flags)+x.encodingLength(r.services)+x.encodingLength(r.regexp)+g.encodingLength(r.replacement)+6};var ne=w.tlsa={};ne.encode=function(r,e,n){e||(e=E.alloc(ne.encodingLength(r))),n||(n=0);let t=n,i=r.certificate;if(!E.isBuffer(i))throw new Error("Certificate must be a Buffer");return n+=2,e.writeUInt8(r.usage,n),n+=1,e.writeUInt8(r.selector,n),n+=1,e.writeUInt8(r.matchingType,n),n+=1,i.copy(e,n,0,i.length),n+=i.length,ne.encode.bytes=n-t,e.writeUInt16BE(ne.encode.bytes-2,t),e};ne.encode.bytes=0;ne.decode=function(r,e){e||(e=0);let n=e,t={},i=r.readUInt16BE(e);return e+=2,t.usage=r.readUInt8(e),e+=1,t.selector=r.readUInt8(e),e+=1,t.matchingType=r.readUInt8(e),e+=1,t.certificate=r.slice(e,n+i+2),e+=t.certificate.length,ne.decode.bytes=e-n,t};ne.decode.bytes=0;ne.encodingLength=function(r){return 5+E.byteLength(r.certificate)};var yr=w.record=function(r){switch(r.toUpperCase()){case"A":return he;case"PTR":return j;case"CNAME":return _t;case"DNAME":return kt;case"TXT":return ae;case"NULL":return de;case"AAAA":return pe;case"SRV":return ue;case"HINFO":return le;case"CAA":return M;case"NS":return ce;case"SOA":return se;case"MX":return we;case"OPT":return q;case"DNSKEY":return F;case"RRSIG":return W;case"RP":return J;case"NSEC":return Z;case"NSEC3":return f;case"SSHFP":return z;case"DS":return ee;case"NAPTR":return re;case"TLSA":return ne}return oe},N=w.answer={};N.encode=function(r,e,n){e||(e=E.alloc(N.encodingLength(r))),n||(n=0);let t=n;if(g.encode(r.name,e,n),n+=g.encode.bytes,e.writeUInt16BE(ge.toType(r.type),n),r.type.toUpperCase()==="OPT"){if(r.name!==".")throw new Error("OPT name must be root.");e.writeUInt16BE(r.udpPayloadSize||4096,n+2),e.writeUInt8(r.extendedRcode||0,n+4),e.writeUInt8(r.ednsVersion||0,n+5),e.writeUInt16BE(r.flags||0,n+6),n+=8,q.encode(r.options||[],e,n),n+=q.encode.bytes}else{let i=Qe.toClass(r.class===void 0?"IN":r.class);r.flush&&(i|=mr),e.writeUInt16BE(i,n+2),e.writeUInt32BE(r.ttl||0,n+4),n+=8;let o=yr(r.type);o.encode(r.data,e,n),n+=o.encode.bytes}return N.encode.bytes=n-t,e};N.encode.bytes=0;N.decode=function(r,e){e||(e=0);let n={},t=e;if(n.name=g.decode(r,e),e+=g.decode.bytes,n.type=ge.toString(r.readUInt16BE(e)),n.type==="OPT")n.udpPayloadSize=r.readUInt16BE(e+2),n.extendedRcode=r.readUInt8(e+4),n.ednsVersion=r.readUInt8(e+5),n.flags=r.readUInt16BE(e+6),n.flag_do=(n.flags>>15&1)===1,n.options=q.decode(r,e+8),e+=8+q.decode.bytes;else{let i=r.readUInt16BE(e+2);n.ttl=r.readUInt32BE(e+4),n.class=Qe.toString(i&Ft),n.flush=!!(i&mr);let o=yr(n.type);n.data=o.decode(r,e+8),e+=8+o.decode.bytes}return N.decode.bytes=e-t,n};N.decode.bytes=0;N.encodingLength=function(r){let e=r.data!==null&&r.data!==void 0?r.data:r.options;return g.encodingLength(r.name)+8+yr(r.type).encodingLength(e)};var X=w.question={};X.encode=function(r,e,n){e||(e=E.alloc(X.encodingLength(r))),n||(n=0);let t=n;return g.encode(r.name,e,n),n+=g.encode.bytes,e.writeUInt16BE(ge.toType(r.type),n),n+=2,e.writeUInt16BE(Qe.toClass(r.class===void 0?"IN":r.class),n),n+=2,X.encode.bytes=n-t,r};X.encode.bytes=0;X.decode=function(r,e){e||(e=0);let n=e,t={};return t.name=g.decode(r,e),e+=g.decode.bytes,t.type=ge.toString(r.readUInt16BE(e)),e+=2,t.class=Qe.toString(r.readUInt16BE(e)),e+=2,!!(t.class&An)&&(t.class&=Rt),X.decode.bytes=e-n,t};X.decode.bytes=0;X.encodingLength=function(r){return g.encodingLength(r.name)+4};w.AUTHORITATIVE_ANSWER=1024;w.TRUNCATED_RESPONSE=512;w.RECURSION_DESIRED=256;w.RECURSION_AVAILABLE=128;w.AUTHENTIC_DATA=32;w.CHECKING_DISABLED=16;w.DNSSEC_OK=32768;w.encode=function(r,e,n){let t=!e;t&&(e=E.alloc(w.encodingLength(r))),n||(n=0);let i=n;return r.questions||(r.questions=[]),r.answers||(r.answers=[]),r.authorities||(r.authorities=[]),r.additionals||(r.additionals=[]),Y.encode(r,e,n),n+=Y.encode.bytes,n=Be(r.questions,X,e,n),n=Be(r.answers,N,e,n),n=Be(r.authorities,N,e,n),n=Be(r.additionals,N,e,n),w.encode.bytes=n-i,t&&w.encode.bytes!==e.length?e.slice(0,w.encode.bytes):e};w.encode.bytes=0;w.decode=function(r,e){e||(e=0);let n=e,t=Y.decode(r,e);return e+=Y.decode.bytes,e=Ge(t.questions,X,r,e),e=Ge(t.answers,N,r,e),e=Ge(t.authorities,N,r,e),e=Ge(t.additionals,N,r,e),w.decode.bytes=e-n,t};w.decode.bytes=0;w.encodingLength=function(r){return Y.encodingLength(r)+Le(r.questions||[],X)+Le(r.answers||[],N)+Le(r.authorities||[],N)+Le(r.additionals||[],N)};w.streamEncode=function(r){let e=w.encode(r),n=E.alloc(2);n.writeUInt16BE(e.byteLength);let t=E.concat([n,e]);return w.streamEncode.bytes=t.byteLength,t};w.streamEncode.bytes=0;w.streamDecode=function(r){let e=r.readUInt16BE(0);if(r.byteLength<e+2)return null;let n=w.decode(r.slice(2));return w.streamDecode.bytes=w.decode.bytes,n};w.streamDecode.bytes=0;function Le(r,e){let n=0;for(let t=0;t<r.length;t++)n+=e.encodingLength(r[t]);return n}function Be(r,e,n,t){for(let i=0;i<r.length;i++)e.encode(r[i],n,t),t+=e.encode.bytes;return t}function Ge(r,e,n,t){for(let i=0;i<r.length;i++)r[i]=e.decode(n,t),t+=e.decode.bytes;return t}});var bn=Q((Uc,Ln)=>{"use strict";var Sn=Kt;process.nextTick(Vt,42);Ln.exports=Mt;function Mt(r){var e=t;return n;function n(i){e(i||qt)}function t(i){var o=[i];e=c,r(h);function c(a){o.push(a)}function h(a){var d=arguments;for(e=zt(a)?t:m;o.length;)m(o.shift());function m(l){Sn($t,l,d)}}}}function zt(r){return Object.prototype.toString.call(r)==="[object Error]"}function qt(){}function $t(r,e){r.apply(null,e)}function Vt(r){r===42&&(Sn=process.nextTick)}function Kt(r,e,n){process.nextTick(function(){r(e,n)})}});var Tn=Q((Sc,On)=>{var wr=Un(),Ht=H("dgram"),jt=bn(),Xt=H("events"),xr=H("os"),Er=function(){};On.exports=function(r){r||(r={});var e=new Xt.EventEmitter,n=typeof r.port=="number"?r.port:5353,t=r.type||"udp4",i=r.ip||r.host||(t==="udp4"?"224.0.0.251":null),o={address:i,port:n},c={},h=!1,a=null;if(t==="udp6"&&(!i||!r.interface))throw new Error("For IPv6 multicast you must specify `ip` and `interface`");var d=r.socket||Ht.createSocket({type:t,reuseAddr:r.reuseAddr!==!1,toString:function(){return t}});d.on("error",function(l){l.code==="EACCES"||l.code==="EADDRINUSE"?e.emit("error",l):e.emit("warning",l)}),d.on("message",function(l,u){try{l=wr.decode(l)}catch(p){e.emit("warning",p);return}e.emit("packet",l,u),l.type==="query"&&e.emit("query",l,u),l.type==="response"&&e.emit("response",l,u)}),d.on("listening",function(){n||(n=o.port=d.address().port),r.multicast!==!1&&(e.update(),a=setInterval(e.update,5e3),d.setMulticastTTL(r.ttl||255),d.setMulticastLoopback(r.loopback!==!1))});var m=jt(function(l){if(!n||r.bind===!1)return l(null);d.once("error",l),d.bind(n,r.bind||r.interface,function(){d.removeListener("error",l),l(null)})});return m(function(l){if(l)return e.emit("error",l);e.emit("ready")}),e.send=function(l,u,p){if(typeof u=="function")return e.send(l,null,u);p||(p=Er),u?!u.host&&!u.address&&(u.address=o.address):u=o,m(s);function s(y){if(h)return p();if(y)return p(y);var v=wr.encode(l);d.send(v,0,v.length,u.port,u.address||u.host,p)}},e.response=e.respond=function(l,u,p){Array.isArray(l)&&(l={answers:l}),l.type="response",l.flags=(l.flags||0)|wr.AUTHORITATIVE_ANSWER,e.send(l,u,p)},e.query=function(l,u,p,s){if(typeof u=="function")return e.query(l,null,null,u);if(typeof u=="object"&&u&&u.port)return e.query(l,null,u,p);if(typeof p=="function")return e.query(l,u,null,p);s||(s=Er),typeof l=="string"&&(l=[{name:l,type:u||"ANY"}]),Array.isArray(l)&&(l={type:"query",questions:l}),l.type="query",e.send(l,p,s)},e.destroy=function(l){if(l||(l=Er),h)return process.nextTick(l);h=!0,clearInterval(a);for(var u in c)try{d.dropMembership(i,u)}catch{}c={},d.close(l)},e.update=function(){for(var l=r.interface?[].concat(r.interface):Gt(),u=!1,p=0;p<l.length;p++){var s=l[p];if(!c[s])try{d.addMembership(i,s),c[s]=!0,u=!0}catch(y){e.emit("warning",y)}}if(u){if(d.setMulticastInterface)try{d.setMulticastInterface(r.interface||Yt())}catch(y){e.emit("warning",y)}e.emit("networkInterface")}},e};function Yt(){for(var r=xr.networkInterfaces(),e=Object.keys(r),n=0;n<e.length;n++)for(var t=r[e[n]],i=0;i<t.length;i++){var o=t[i];if(Cn(o.family)&&!o.internal)return xr.platform()==="darwin"&&e[n]==="en0"?o.address:"0.0.0.0"}return"127.0.0.1"}function Gt(){for(var r=xr.networkInterfaces(),e=Object.keys(r),n=[],t=0;t<e.length;t++)for(var i=r[e[t]],o=0;o<i.length;o++){var c=i[o];if(Cn(c.family)){n.push(c.address);break}}return n}function Cn(r){return r===4||r==="IPv4"}});var Jn=Q(Ve=>{(function(){var r,e,n,t,i,o,c,h;h=function(a){var d,m,l,u;return d=(a&255<<24)>>>24,m=(a&255<<16)>>>16,l=(a&65280)>>>8,u=a&255,[d,m,l,u].join(".")},c=function(a){var d,m,l,u,p,s;for(d=[],l=u=0;u<=3&&a.length!==0;l=++u){if(l>0){if(a[0]!==".")throw new Error("Invalid IP");a=a.substring(1)}s=e(a),p=s[0],m=s[1],a=a.substring(m),d.push(p)}if(a.length!==0)throw new Error("Invalid IP");switch(d.length){case 1:if(d[0]>4294967295)throw new Error("Invalid IP");return d[0]>>>0;case 2:if(d[0]>255||d[1]>16777215)throw new Error("Invalid IP");return(d[0]<<24|d[1])>>>0;case 3:if(d[0]>255||d[1]>255||d[2]>65535)throw new Error("Invalid IP");return(d[0]<<24|d[1]<<16|d[2])>>>0;case 4:if(d[0]>255||d[1]>255||d[2]>255||d[3]>255)throw new Error("Invalid IP");return(d[0]<<24|d[1]<<16|d[2]<<8|d[3])>>>0;default:throw new Error("Invalid IP")}},n=function(a){return a.charCodeAt(0)},t=n("0"),o=n("a"),i=n("A"),e=function(a){var d,m,l,u,p;for(u=0,d=10,m="9",l=0,a.length>1&&a[l]==="0"&&(a[l+1]==="x"||a[l+1]==="X"?(l+=2,d=16):"0"<=a[l+1]&&a[l+1]<="9"&&(l++,d=8,m="7")),p=l;l<a.length;){if("0"<=a[l]&&a[l]<=m)u=u*d+(n(a[l])-t)>>>0;else if(d===16)if("a"<=a[l]&&a[l]<="f")u=u*d+(10+n(a[l])-o)>>>0;else if("A"<=a[l]&&a[l]<="F")u=u*d+(10+n(a[l])-i)>>>0;else break;else break;if(u>4294967295)throw new Error("too large");l++}if(l===p)throw new Error("empty octet");return[u,l]},r=function(){function a(d,m){var l,u,p,s;if(typeof d!="string")throw new Error("Missing `net' parameter");if(m||(s=d.split("/",2),d=s[0],m=s[1]),m||(m=32),typeof m=="string"&&m.indexOf(".")>-1){try{this.maskLong=c(m)}catch(y){throw l=y,new Error("Invalid mask: "+m)}for(u=p=32;p>=0;u=--p)if(this.maskLong===4294967295<<32-u>>>0){this.bitmask=u;break}}else if(m||m===0)this.bitmask=parseInt(m,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(c(d)&this.maskLong)>>>0}catch(y){throw l=y,new Error("Invalid net address: "+d)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+m);this.size=Math.pow(2,32-this.bitmask),this.base=h(this.netLong),this.mask=h(this.maskLong),this.hostmask=h(~this.maskLong),this.first=this.bitmask<=30?h(this.netLong+1):this.base,this.last=this.bitmask<=30?h(this.netLong+this.size-2):h(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?h(this.netLong+this.size-1):void 0}return a.prototype.contains=function(d){return typeof d=="string"&&(d.indexOf("/")>0||d.split(".").length!==4)&&(d=new a(d)),d instanceof a?this.contains(d.base)&&this.contains(d.broadcast||d.last):(c(d)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},a.prototype.next=function(d){return d==null&&(d=1),new a(h(this.netLong+this.size*d),this.mask)},a.prototype.forEach=function(d){var m,l,u;for(u=c(this.first),l=c(this.last),m=0;u<=l;)d(h(u),u,m),m++,u++},a.prototype.toString=function(){return this.base+"/"+this.bitmask},a}(),Ve.ip2long=c,Ve.long2ip=h,Ve.Netmask=r}).call(Ve)});var zo={};k(zo,{mdns:()=>Mo});var an=Symbol.for("@libp2p/peer-discovery");var dn=Symbol.for("@libp2p/peer-id");var Xe=class extends Error{code;props;constructor(e,n,t){super(e),this.code=n,this.name=t?.name??"CodeError",this.props=t??{}}};var ln=H("events"),un=(r,...e)=>{try{(0,ln.setMaxListeners)(r,...e)}catch{}};var Ye=class extends EventTarget{#e=new Map;constructor(){super(),un(1/0,this)}listenerCount(e){let n=this.#e.get(e);return n==null?0:n.length}addEventListener(e,n,t){super.addEventListener(e,n,t);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:n,once:(t!==!0&&t!==!1&&t?.once)??!1})}removeEventListener(e,n,t){super.removeEventListener(e.toString(),n??null,t);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:o})=>o!==n),this.#e.set(e,i))}dispatchEvent(e){let n=super.dispatchEvent(e),t=this.#e.get(e.type);return t==null||(t=t.filter(({once:i})=>!i),this.#e.set(e.type,t)),n}safeDispatchEvent(e,n={}){return this.dispatchEvent(new sr(e,n))}},cr=class extends Event{detail;constructor(e,n){super(e,n),this.detail=n?.detail}},sr=globalThis.CustomEvent??cr;var hn=Symbol.for("@libp2p/service-capabilities"),Yo=Symbol.for("@libp2p/service-dependencies");var St=or(Tn(),1);var Sr={};k(Sr,{base58btc:()=>P,base58flickr:()=>ei});var Lc=new Uint8Array(0);function Nn(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let n=0;n<r.byteLength;n++)if(r[n]!==e[n])return!1;return!0}function $(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 Pn(r){return new TextEncoder().encode(r)}function Dn(r){return new TextDecoder().decode(r)}function Qt(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var n=new Uint8Array(256),t=0;t<n.length;t++)n[t]=255;for(var i=0;i<r.length;i++){var o=r.charAt(i),c=o.charCodeAt(0);if(n[c]!==255)throw new TypeError(o+" is ambiguous");n[c]=i}var h=r.length,a=r.charAt(0),d=Math.log(h)/Math.log(256),m=Math.log(256)/Math.log(h);function l(s){if(s instanceof Uint8Array||(ArrayBuffer.isView(s)?s=new Uint8Array(s.buffer,s.byteOffset,s.byteLength):Array.isArray(s)&&(s=Uint8Array.from(s))),!(s instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(s.length===0)return"";for(var y=0,v=0,U=0,L=s.length;U!==L&&s[U]===0;)U++,y++;for(var D=(L-U)*m+1>>>0,T=new Uint8Array(D);U!==L;){for(var b=s[U],C=0,K=D-1;(b!==0||C<v)&&K!==-1;K--,C++)b+=256*T[K]>>>0,T[K]=b%h>>>0,b=b/h>>>0;if(b!==0)throw new Error("Non-zero carry");v=C,U++}for(var ie=D-v;ie!==D&&T[ie]===0;)ie++;for(var He=a.repeat(y);ie<D;++ie)He+=r.charAt(T[ie]);return He}function u(s){if(typeof s!="string")throw new TypeError("Expected String");if(s.length===0)return new Uint8Array;var y=0;if(s[y]!==" "){for(var v=0,U=0;s[y]===a;)v++,y++;for(var L=(s.length-y)*d+1>>>0,D=new Uint8Array(L);s[y];){var T=n[s.charCodeAt(y)];if(T===255)return;for(var b=0,C=L-1;(T!==0||b<U)&&C!==-1;C--,b++)T+=h*D[C]>>>0,D[C]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");U=b,y++}if(s[y]!==" "){for(var K=L-U;K!==L&&D[K]===0;)K++;for(var ie=new Uint8Array(v+(L-K)),He=v;K!==L;)ie[He++]=D[K++];return ie}}}function p(s){var y=u(s);if(y)return y;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:u,decode:p}}var Wt=Qt,Jt=Wt,Fn=Jt;var Ir=class{name;prefix;baseEncode;constructor(e,n,t){this.name=e,this.prefix=n,this.baseEncode=t}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},vr=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,n,t){if(this.name=e,this.prefix=n,n.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=n.codePointAt(0),this.baseDecode=t}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Rn(this,e)}},Ar=class{decoders;constructor(e){this.decoders=e}or(e){return Rn(this,e)}decode(e){let n=e[0],t=this.decoders[n];if(t!=null)return t.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Rn(r,e){return new Ar({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var Ur=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,n,t,i){this.name=e,this.prefix=n,this.baseEncode=t,this.baseDecode=i,this.encoder=new Ir(e,n,t),this.decoder=new vr(e,n,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function be({name:r,prefix:e,encode:n,decode:t}){return new Ur(r,e,n,t)}function Ee({name:r,prefix:e,alphabet:n}){let{encode:t,decode:i}=Fn(n,r);return be({prefix:e,name:r,encode:t,decode:o=>$(i(o))})}function Zt(r,e,n,t){let i={};for(let m=0;m<e.length;++m)i[e[m]]=m;let o=r.length;for(;r[o-1]==="=";)--o;let c=new Uint8Array(o*n/8|0),h=0,a=0,d=0;for(let m=0;m<o;++m){let l=i[r[m]];if(l===void 0)throw new SyntaxError(`Non-${t} character`);a=a<<n|l,h+=n,h>=8&&(h-=8,c[d++]=255&a>>h)}if(h>=n||255&a<<8-h)throw new SyntaxError("Unexpected end of data");return c}function ft(r,e,n){let t=e[e.length-1]==="=",i=(1<<n)-1,o="",c=0,h=0;for(let a=0;a<r.length;++a)for(h=h<<8|r[a],c+=8;c>n;)c-=n,o+=e[i&h>>c];if(c!==0&&(o+=e[i&h<<n-c]),t)for(;o.length*n&7;)o+="=";return o}function S({name:r,prefix:e,bitsPerChar:n,alphabet:t}){return be({prefix:e,name:r,encode(i){return ft(i,t,n)},decode(i){return Zt(i,t,n,r)}})}var P=Ee({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ei=Ee({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Lr={};k(Lr,{base10:()=>ri});var ri=Ee({prefix:"9",name:"base10",alphabet:"0123456789"});var br={};k(br,{base16:()=>ni,base16upper:()=>ti});var ni=S({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),ti=S({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Cr={};k(Cr,{base2:()=>ii});var ii=S({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Or={};k(Or,{base256emoji:()=>di});var _n=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}"),oi=_n.reduce((r,e,n)=>(r[n]=e,r),[]),ci=_n.reduce((r,e,n)=>(r[e.codePointAt(0)]=n,r),[]);function si(r){return r.reduce((e,n)=>(e+=oi[n],e),"")}function ai(r){let e=[];for(let n of r){let t=ci[n.codePointAt(0)];if(t===void 0)throw new Error(`Non-base256emoji character: ${n}`);e.push(t)}return new Uint8Array(e)}var di=be({prefix:"\u{1F680}",name:"base256emoji",encode:si,decode:ai});var Tr={};k(Tr,{base32:()=>me,base32hex:()=>pi,base32hexpad:()=>mi,base32hexpadupper:()=>yi,base32hexupper:()=>gi,base32pad:()=>ui,base32padupper:()=>hi,base32upper:()=>li,base32z:()=>wi});var me=S({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),li=S({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),ui=S({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),hi=S({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),pi=S({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),gi=S({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),mi=S({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),yi=S({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),wi=S({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Nr={};k(Nr,{base36:()=>Ei,base36upper:()=>xi});var Ei=Ee({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),xi=Ee({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Pr={};k(Pr,{base64:()=>Ii,base64pad:()=>vi,base64url:()=>Ai,base64urlpad:()=>Ui});var Ii=S({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),vi=S({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Ai=S({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Ui=S({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Dr={};k(Dr,{base8:()=>Si});var Si=S({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Br={};k(Br,{identity:()=>Li});var Li=be({prefix:"\0",name:"identity",encode:r=>Dn(r),decode:r=>Pn(r)});var $c=new TextEncoder,Vc=new TextDecoder;var Rr={};k(Rr,{identity:()=>Je});var Oi=zn,kn=128,Ti=127,Ni=~Ti,Pi=Math.pow(2,31);function zn(r,e,n){e=e||[],n=n||0;for(var t=n;r>=Pi;)e[n++]=r&255|kn,r/=128;for(;r&Ni;)e[n++]=r&255|kn,r>>>=7;return e[n]=r|0,zn.bytes=n-t+1,e}var Di=Fr,Bi=128,Mn=127;function Fr(r,t){var n=0,t=t||0,i=0,o=t,c,h=r.length;do{if(o>=h)throw Fr.bytes=0,new RangeError("Could not decode varint");c=r[o++],n+=i<28?(c&Mn)<<i:(c&Mn)*Math.pow(2,i),i+=7}while(c>=Bi);return Fr.bytes=o-t,n}var Fi=Math.pow(2,7),Ri=Math.pow(2,14),_i=Math.pow(2,21),ki=Math.pow(2,28),Mi=Math.pow(2,35),zi=Math.pow(2,42),qi=Math.pow(2,49),$i=Math.pow(2,56),Vi=Math.pow(2,63),Ki=function(r){return r<Fi?1:r<Ri?2:r<_i?3:r<ki?4:r<Mi?5:r<zi?6:r<qi?7:r<$i?8:r<Vi?9:10},Hi={encode:Oi,decode:Di,encodingLength:Ki},ji=Hi,Fe=ji;function Re(r,e=0){return[Fe.decode(r,e),Fe.decode.bytes]}function Ce(r,e,n=0){return Fe.encode(r,e,n),e}function Oe(r){return Fe.encodingLength(r)}function xe(r,e){let n=e.byteLength,t=Oe(r),i=t+Oe(n),o=new Uint8Array(i+n);return Ce(r,o,0),Ce(n,o,t),o.set(e,i),new Te(r,n,e,o)}function Ae(r){let e=$(r),[n,t]=Re(e),[i,o]=Re(e.subarray(t)),c=e.subarray(t+o);if(c.byteLength!==i)throw new Error("Incorrect length");return new Te(n,i,c,e)}function qn(r,e){if(r===e)return!0;{let n=e;return r.code===n.code&&r.size===n.size&&n.bytes instanceof Uint8Array&&Nn(r.bytes,n.bytes)}}var Te=class{code;size;digest;bytes;constructor(e,n,t,i){this.code=e,this.size=n,this.digest=t,this.bytes=i}};var $n=0,Xi="identity",Vn=$;function Yi(r){return xe($n,Vn(r))}var Je={code:$n,name:Xi,encode:Vn,digest:Yi};var zr={};k(zr,{sha256:()=>Ze,sha512:()=>Gi});var Mr=or(H("crypto"),1);function kr({name:r,code:e,encode:n}){return new _r(r,e,n)}var _r=class{name;code;encode;constructor(e,n,t){this.name=e,this.code=n,this.encode=t}digest(e){if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?xe(this.code,n):n.then(t=>xe(this.code,t))}else throw Error("Unknown type, must be binary type")}};var Ze=kr({name:"sha2-256",code:18,encode:r=>$(Mr.default.createHash("sha256").update(r).digest())}),Gi=kr({name:"sha2-512",code:19,encode:r=>$(Mr.default.createHash("sha512").update(r).digest())});function Hn(r,e){let{bytes:n,version:t}=r;switch(t){case 0:return Wi(n,qr(r),e??P.encoder);default:return Ji(n,qr(r),e??me.encoder)}}var jn=new WeakMap;function qr(r){let e=jn.get(r);if(e==null){let n=new Map;return jn.set(r,n),n}return e}var G=class r{code;version;multihash;bytes;"/";constructor(e,n,t,i){this.code=n,this.version=e,this.multihash=t,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:n}=this;if(e!==_e)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(n.code!==Zi)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(n)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:n}=this.multihash,t=xe(e,n);return r.createV1(this.code,t)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,n){let t=n;return t!=null&&e.code===t.code&&e.version===t.version&&qn(e.multihash,t.multihash)}toString(e){return Hn(this,e)}toJSON(){return{"/":Hn(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let n=e;if(n instanceof r)return n;if(n["/"]!=null&&n["/"]===n.bytes||n.asCID===n){let{version:t,code:i,multihash:o,bytes:c}=n;return new r(t,i,o,c??Xn(t,i,o.bytes))}else if(n[fi]===!0){let{version:t,multihash:i,code:o}=n,c=Ae(i);return r.create(t,o,c)}else return null}static create(e,n,t){if(typeof n!="number")throw new Error("String codecs are no longer supported");if(!(t.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(n!==_e)throw new Error(`Version 0 CID must use dag-pb (code: ${_e}) block encoding`);return new r(e,n,t,t.bytes)}case 1:{let i=Xn(e,n,t.bytes);return new r(e,n,t,i)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,_e,e)}static createV1(e,n){return r.create(1,e,n)}static decode(e){let[n,t]=r.decodeFirst(e);if(t.length!==0)throw new Error("Incorrect length");return n}static decodeFirst(e){let n=r.inspectBytes(e),t=n.size-n.multihashSize,i=$(e.subarray(t,t+n.multihashSize));if(i.byteLength!==n.multihashSize)throw new Error("Incorrect length");let o=i.subarray(n.multihashSize-n.digestSize),c=new Te(n.multihashCode,n.digestSize,o,i);return[n.version===0?r.createV0(c):r.createV1(n.codec,c),e.subarray(n.size)]}static inspectBytes(e){let n=0,t=()=>{let[l,u]=Re(e.subarray(n));return n+=u,l},i=t(),o=_e;if(i===18?(i=0,n=0):o=t(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let c=n,h=t(),a=t(),d=n+a,m=d-c;return{version:i,codec:o,multihashCode:h,digestSize:a,multihashSize:m,size:d}}static parse(e,n){let[t,i]=Qi(e,n),o=r.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return qr(o).set(t,e),o}};function Qi(r,e){switch(r[0]){case"Q":{let n=e??P;return[P.prefix,n.decode(`${P.prefix}${r}`)]}case P.prefix:{let n=e??P;return[P.prefix,n.decode(r)]}case me.prefix:{let n=e??me;return[me.prefix,n.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function Wi(r,e,n){let{prefix:t}=n;if(t!==P.prefix)throw Error(`Cannot string encode V0 in ${n.name} encoding`);let i=e.get(t);if(i==null){let o=n.encode(r).slice(1);return e.set(t,o),o}else return i}function Ji(r,e,n){let{prefix:t}=n,i=e.get(t);if(i==null){let o=n.encode(r);return e.set(t,o),o}else return i}var _e=112,Zi=18;function Xn(r,e,n){let t=Oe(r),i=t+Oe(e),o=new Uint8Array(i+n.byteLength);return Ce(r,o,0),Ce(e,o,t),o.set(n,i),o}var fi=Symbol.for("@ipld/js-cid/CID");var Ie={...Br,...Cr,...Dr,...Lr,...br,...Tr,...Nr,...Sr,...Pr,...Or},ls={...zr,...Rr};function ke(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let n=0;n<r.byteLength;n++)if(r[n]!==e[n])return!1;return!0}var eo=Symbol.for("nodejs.util.inspect.custom"),Yn=Object.values(Ie).map(r=>r.decoder).reduce((r,e)=>r.or(e),Ie.identity.decoder),Gn=114,Qn=36,Wn=37,Me=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[dn]=!0;toString(){return this.string==null&&(this.string=P.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return G.createV1(Gn,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e==null)return!1;if(e instanceof Uint8Array)return ke(this.multihash.bytes,e);if(typeof e=="string")return $r(e).equals(this);if(e?.multihash?.bytes!=null)return ke(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[eo](){return`PeerId(${this.toString()})`}},ze=class extends Me{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},qe=class extends Me{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},$e=class extends Me{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function $r(r,e){if(e=e??Yn,r.charAt(0)==="1"||r.charAt(0)==="Q"){let n=Ae(P.decode(`z${r}`));return r.startsWith("12D")?new qe({multihash:n}):r.startsWith("16U")?new $e({multihash:n}):new ze({multihash:n})}return ro(Yn.decode(r))}function ro(r){try{let e=Ae(r);if(e.code===Je.code){if(e.digest.length===Qn)return new qe({multihash:e});if(e.digest.length===Wn)return new $e({multihash:e})}if(e.code===Ze.code)return new ze({multihash:e})}catch{return no(G.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function no(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==Gn)throw new Error("Supplied PeerID CID is invalid");let e=r.multihash;if(e.code===Ze.code)return new ze({multihash:r.multihash});if(e.code===Je.code){if(e.digest.length===Qn)return new qe({multihash:r.multihash});if(e.digest.length===Wn)return new $e({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}var V=H("node:net");function fe(r){return!!(0,V.isIP)(r)}var Zn=or(Jn(),1),to=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],io=to.map(r=>new Zn.Netmask(r));function oo(r){for(let e of io)if(e.contains(r))return!0;return!1}function co(r){return/^::$/.test(r)||/^::1$/.test(r)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(r)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(r)||/^ff([0-9a-fA-F]{2,2}):/i.test(r)}function fn(r){return(0,V.isIPv4)(r)?oo(r):(0,V.isIPv6)(r)?co(r):void 0}function et(r){try{let{address:e}=r.nodeAddress();return!!fn(e)}catch{return!0}}var it=H("node:buffer");var rt=H("node:buffer");function Ne(r){return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}function er(r=0){return Ne(rt.Buffer.allocUnsafe(r))}function tt(r,e,n,t){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:n},decoder:{decode:t}}}var nt=tt("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Vr=tt("ascii","a",r=>{let e="a";for(let n=0;n<r.length;n++)e+=String.fromCharCode(r[n]);return e},r=>{r=r.substring(1);let e=er(r.length);for(let n=0;n<r.length;n++)e[n]=r.charCodeAt(n);return e}),so={utf8:nt,"utf-8":nt,hex:Ie.base16,latin1:Vr,ascii:Vr,binary:Vr,...Ie},rr=so;function _(r,e="utf8"){let n=rr[e];if(n==null)throw new Error(`Unsupported encoding "${e}"`);return e==="utf8"||e==="utf-8"?it.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):n.encoder.encode(r).substring(1)}var ao=Math.pow(2,7),lo=Math.pow(2,14),uo=Math.pow(2,21),Kr=Math.pow(2,28),Hr=Math.pow(2,35),jr=Math.pow(2,42),Xr=Math.pow(2,49),I=128,B=127;function te(r){if(r<ao)return 1;if(r<lo)return 2;if(r<uo)return 3;if(r<Kr)return 4;if(r<Hr)return 5;if(r<jr)return 6;if(r<Xr)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function ho(r,e,n=0){switch(te(r)){case 8:e[n++]=r&255|I,r/=128;case 7:e[n++]=r&255|I,r/=128;case 6:e[n++]=r&255|I,r/=128;case 5:e[n++]=r&255|I,r/=128;case 4:e[n++]=r&255|I,r>>>=7;case 3:e[n++]=r&255|I,r>>>=7;case 2:e[n++]=r&255|I,r>>>=7;case 1:{e[n++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return e}function po(r,e,n=0){switch(te(r)){case 8:e.set(n++,r&255|I),r/=128;case 7:e.set(n++,r&255|I),r/=128;case 6:e.set(n++,r&255|I),r/=128;case 5:e.set(n++,r&255|I),r/=128;case 4:e.set(n++,r&255|I),r>>>=7;case 3:e.set(n++,r&255|I),r>>>=7;case 2:e.set(n++,r&255|I),r>>>=7;case 1:{e.set(n++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return e}function go(r,e){let n=r[e],t=0;if(t+=n&B,n<I||(n=r[e+1],t+=(n&B)<<7,n<I)||(n=r[e+2],t+=(n&B)<<14,n<I)||(n=r[e+3],t+=(n&B)<<21,n<I)||(n=r[e+4],t+=(n&B)*Kr,n<I)||(n=r[e+5],t+=(n&B)*Hr,n<I)||(n=r[e+6],t+=(n&B)*jr,n<I)||(n=r[e+7],t+=(n&B)*Xr,n<I))return t;throw new RangeError("Could not decode varint")}function mo(r,e){let n=r.get(e),t=0;if(t+=n&B,n<I||(n=r.get(e+1),t+=(n&B)<<7,n<I)||(n=r.get(e+2),t+=(n&B)<<14,n<I)||(n=r.get(e+3),t+=(n&B)<<21,n<I)||(n=r.get(e+4),t+=(n&B)*Kr,n<I)||(n=r.get(e+5),t+=(n&B)*Hr,n<I)||(n=r.get(e+6),t+=(n&B)*jr,n<I)||(n=r.get(e+7),t+=(n&B)*Xr,n<I))return t;throw new RangeError("Could not decode varint")}function Pe(r,e,n=0){return e==null&&(e=er(te(r))),e instanceof Uint8Array?ho(r,e,n):po(r,e,n)}function Se(r,e=0){return r instanceof Uint8Array?go(r,e):mo(r,e)}var ct=H("node:buffer");function ye(r,e){return Ne(ct.Buffer.concat(r,e))}var nr=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let n=this.index,t=e();return t===void 0&&(this.index=n),t}parseWith(e){let n=e();if(this.index===this.input.length)return n}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let n=this.readChar();if(n===e)return n})}readSeparator(e,n,t){return this.readAtomically(()=>{if(!(n>0&&this.readGivenChar(e)===void 0))return t()})}readNumber(e,n,t,i){return this.readAtomically(()=>{let o=0,c=0,h=this.peekChar();if(h===void 0)return;let a=h==="0",d=2**(8*i)-1;for(;;){let m=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let u=Number.parseInt(l,e);if(!Number.isNaN(u))return u});if(m===void 0)break;if(o*=e,o+=m,o>d||(c+=1,n!==void 0&&c>n))return}if(c!==0)return!t&&a&&c>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let n=0;n<e.length;n++){let t=this.readSeparator(".",n,()=>this.readNumber(10,3,!1,1));if(t===void 0)return;e[n]=t}return e})}readIPv6Addr(){let e=n=>{for(let t=0;t<n.length/2;t++){let i=t*2;if(t<n.length-3){let c=this.readSeparator(":",t,()=>this.readIPv4Addr());if(c!==void 0)return n[i]=c[0],n[i+1]=c[1],n[i+2]=c[2],n[i+3]=c[3],[i+4,!0]}let o=this.readSeparator(":",t,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];n[i]=o>>8,n[i+1]=o&255}return[n.length,!1]};return this.readAtomically(()=>{let n=new Uint8Array(16),[t,i]=e(n);if(t===16)return n;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),c=16-(t+2),[h]=e(o.subarray(0,c));return n.set(o.subarray(0,h),16-h),n})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var qs=new nr;var Gs=parseInt("0xFFFF",16),Qs=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var dt=H("node:buffer");function Yr(r,e="utf8"){let n=rr[e];if(n==null)throw new Error(`Unsupported encoding "${e}"`);return e==="utf8"||e==="utf-8"?Ne(dt.Buffer.from(r,"utf-8")):n.decoder.decode(`${n.prefix}${r}`)}var lt=V.isIPv4,vo=V.isIPv6,Gr=function(r){let e=0;if(r=r.toString().trim(),lt(r)){let n=new Uint8Array(e+4);return r.split(/\./g).forEach(t=>{n[e++]=parseInt(t,10)&255}),n}if(vo(r)){let n=r.split(":",8),t;for(t=0;t<n.length;t++){let o=lt(n[t]),c;o&&(c=Gr(n[t]),n[t]=_(c.slice(0,2),"base16")),c!=null&&++t<8&&n.splice(t,0,_(c.slice(2,4),"base16"))}if(n[0]==="")for(;n.length<8;)n.unshift("0");else if(n[n.length-1]==="")for(;n.length<8;)n.push("0");else if(n.length<8){for(t=0;t<n.length&&n[t]!=="";t++);let o=[t,1];for(t=9-n.length;t>0;t--)o.push("0");n.splice.apply(n,o)}let i=new Uint8Array(e+16);for(t=0;t<n.length;t++){let o=parseInt(n[t],16);i[e++]=o>>8&255,i[e++]=o&255}return i}throw new Error("invalid ip address")},ut=function(r,e=0,n){e=~~e,n=n??r.length-e;let t=new DataView(r.buffer);if(n===4){let i=[];for(let o=0;o<n;o++)i.push(r[e+o]);return i.join(".")}if(n===16){let i=[];for(let o=0;o<n;o+=2)i.push(t.getUint16(e+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var De={},Qr={},Uo=[[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"],[481,-1,"http-path"],[777,-1,"memory"]];Uo.forEach(r=>{let e=So(...r);Qr[e.code]=e,De[e.name]=e});function So(r,e,n,t,i){return{code:r,size:e,name:n,resolvable:!!t,path:!!i}}function A(r){if(typeof r=="number"){if(Qr[r]!=null)return Qr[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(De[r]!=null)return De[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var Ra=A("ip4"),_a=A("ip6"),ka=A("ipcidr");function fr(r,e){switch(A(r).code){case 4:case 41:return bo(e);case 42:return Zr(e);case 6:case 273:case 33:case 132:return gt(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Zr(e);case 421:return No(e);case 444:return pt(e);case 445:return pt(e);case 466:return To(e);case 481:return globalThis.encodeURIComponent(Zr(e));default:return _(e,"base16")}}function en(r,e){switch(A(r).code){case 4:return ht(e);case 41:return ht(e);case 42:return Jr(e);case 6:case 273:case 33:case 132:return rn(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Jr(e);case 421:return Co(e);case 444:return Po(e);case 445:return Do(e);case 466:return Oo(e);case 481:return Jr(globalThis.decodeURIComponent(e));default:return Yr(e,"base16")}}var Wr=Object.values(Ie).map(r=>r.decoder),Lo=function(){let r=Wr[0].or(Wr[1]);return Wr.slice(2).forEach(e=>r=r.or(e)),r}();function ht(r){if(!fe(r))throw new Error("invalid ip address");return Gr(r)}function bo(r){let e=ut(r,0,r.length);if(e==null)throw new Error("ipBuff is required");if(!fe(e))throw new Error("invalid ip address");return e}function rn(r){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,r),new Uint8Array(e)}function gt(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Jr(r){let e=Yr(r),n=Uint8Array.from(Pe(e.length));return ye([n,e],n.length+e.length)}function Zr(r){let e=Se(r);if(r=r.slice(te(e)),r.length!==e)throw new Error("inconsistent lengths");return _(r)}function Co(r){let e;r[0]==="Q"||r[0]==="1"?e=Ae(P.decode(`z${r}`)).bytes:e=G.parse(r).multihash.bytes;let n=Uint8Array.from(Pe(e.length));return ye([n,e],n.length+e.length)}function Oo(r){let e=Lo.decode(r),n=Uint8Array.from(Pe(e.length));return ye([n,e],n.length+e.length)}function To(r){let e=Se(r),n=r.slice(te(e));if(n.length!==e)throw new Error("inconsistent lengths");return"u"+_(n,"base64url")}function No(r){let e=Se(r),n=r.slice(te(e));if(n.length!==e)throw new Error("inconsistent lengths");return _(n,"base58btc")}function Po(r){let e=r.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let n=me.decode("b"+e[0]),t=parseInt(e[1],10);if(t<1||t>65536)throw new Error("Port number is not in range(1, 65536)");let i=rn(t);return ye([n,i],n.length+i.length)}function Do(r){let e=r.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let n=me.decode(`b${e[0]}`),t=parseInt(e[1],10);if(t<1||t>65536)throw new Error("Port number is not in range(1, 65536)");let i=rn(t);return ye([n,i],n.length+i.length)}function pt(r){let e=r.slice(0,r.length-2),n=r.slice(r.length-2),t=_(e,"base32"),i=gt(n);return`${t}:${i}`}function mt(r){r=nn(r);let e=[],n=[],t=null,i=r.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let c=i[o],h=A(c);if(h.size===0){e.push([h.code]),n.push([h.code]);continue}if(o++,o>=i.length)throw wt("invalid address: "+r);if(h.path===!0){t=nn(i.slice(o).join("/")),e.push([h.code,en(h.code,t)]),n.push([h.code,t]);break}let a=en(h.code,i[o]);e.push([h.code,a]),n.push([h.code,fr(h.code,a)])}return{string:yt(n),bytes:on(e),tuples:e,stringTuples:n,path:t}}function tn(r){let e=[],n=[],t=null,i=0;for(;i<r.length;){let o=Se(r,i),c=te(o),h=A(o),a=Bo(h,r.slice(i+c));if(a===0){e.push([o]),n.push([o]),i+=c;continue}let d=r.slice(i+c,i+c+a);if(i+=a+c,i>r.length)throw wt("Invalid address Uint8Array: "+_(r,"base16"));e.push([o,d]);let m=fr(o,d);if(n.push([o,m]),h.path===!0){t=m;break}}return{bytes:Uint8Array.from(r),string:yt(n),tuples:e,stringTuples:n,path:t}}function yt(r){let e=[];return r.map(n=>{let t=A(n[0]);return e.push(t.name),n.length>1&&n[1]!=null&&e.push(n[1]),null}),nn(e.join("/"))}function on(r){return ye(r.map(e=>{let n=A(e[0]),t=Uint8Array.from(Pe(n.code));return e.length>1&&e[1]!=null&&(t=ye([t,e[1]])),t}))}function Bo(r,e){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let n=Se(e instanceof Uint8Array?e:Uint8Array.from(e));return n+te(n)}}function nn(r){return"/"+r.trim().split("/").filter(e=>e).join("/")}function wt(r){return new Error("Error parsing address: "+r)}var Fo=Symbol.for("nodejs.util.inspect.custom"),cn=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Ro=[A("dns").code,A("dns4").code,A("dns6").code,A("dnsaddr").code],tr=class r{bytes;#e;#r;#n;#t;[cn]=!0;constructor(e){e==null&&(e="");let n;if(e instanceof Uint8Array)n=tn(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);n=mt(e)}else if(xt(e))n=tn(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=n.bytes,this.#e=n.string,this.#r=n.tuples,this.#n=n.stringTuples,this.#t=n.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,n,t,i,o="",c=A("tcp"),h=A("udp"),a=A("ip4"),d=A("ip6"),m=A("dns6"),l=A("ip6zone");for(let[p,s]of this.stringTuples())p===l.code&&(o=`%${s??""}`),Ro.includes(p)&&(n=c.name,i=443,t=`${s??""}${o}`,e=p===m.code?6:4),(p===c.code||p===h.code)&&(n=A(p).name,i=parseInt(s??"")),(p===a.code||p===d.code)&&(n=A(p).name,t=`${s??""}${o}`,e=p===d.code?6:4);if(e==null||n==null||t==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:t,transport:n,port:i}}protos(){return this.#r.map(([e])=>Object.assign({},A(e)))}protoCodes(){return this.#r.map(([e])=>e)}protoNames(){return this.#r.map(([e])=>A(e).name)}tuples(){return this.#r}stringTuples(){return this.#n}encapsulate(e){return e=new r(e),new r(this.toString()+e.toString())}decapsulate(e){let n=e.toString(),t=this.toString(),i=t.lastIndexOf(n);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new r(t.slice(0,i))}decapsulateCode(e){let n=this.tuples();for(let t=n.length-1;t>=0;t--)if(n[t][0]===e)return new r(on(n.slice(0,t)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([t,i])=>{t===De.p2p.code&&e.push([t,i]),t===De["p2p-circuit"].code&&(e=[])});let n=e.pop();if(n?.[1]!=null){let t=n[1];return t[0]==="Q"||t[0]==="1"?_(P.decode(`z${t}`),"base58btc"):_(G.parse(t).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#t}equals(e){return ke(this.bytes,e.bytes)}async resolve(e){let n=this.protos().find(o=>o.resolvable);if(n==null)return[this];let t=Et.get(n.name);if(t==null)throw new Xe(`no available resolver for ${n.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await t(this,e)).map(o=>Ke(o))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let n=(e??this).protos();return!(n.length!==2||n[0].code!==4&&n[0].code!==41||n[1].code!==6&&n[1].code!==273)}[Fo](){return`Multiaddr(${this.#e})`}};var Et=new Map;function xt(r){return!!r?.[cn]}function Ke(r){return new tr(r)}function It(r,e,n,t){let i=()=>{t?.log.trace("query",e),r.query({questions:[{name:e,type:"PTR"}]})};return i(),setInterval(i,n)}function vt(r,e,n,t){if(r.answers==null)return;let i,o=[];if(r.answers.forEach(c=>{switch(c.type){case"PTR":i=c;break;case"TXT":o.push(c);break;default:break}}),r.additionals.forEach(c=>{switch(c.type){case"TXT":o.push(c);break;default:break}}),!(i==null||i?.name!==n||o.length===0||i.data.startsWith(e)))try{let c=o.flatMap(a=>a.data).filter(a=>a.toString().startsWith("dnsaddr=")).map(a=>Ke(a.toString().substring(8))),h=c[0].getPeerId();if(h==null)throw new Error("Multiaddr doesn't contain PeerId");return t?.log("peer found %p",h),{id:$r(h),multiaddrs:c.map(a=>a.decapsulateCode(A("p2p").code))}}catch(c){t?.log.error("failed to parse mdns response",c)}}function At(r,e,n,t,i,o,c){if(!o){c?.log("not responding to mDNS query as broadcast mode is false");return}if(t.length!==0&&r.questions[0]!=null&&r.questions[0].name===i){let h=[];h.push({name:i,type:"PTR",class:"IN",ttl:120,data:n+"."+i}),t.filter(_o).forEach(a=>{let d="dnsaddr="+a.toString();if(d.length>255){c?.log("multiaddr %a is too long to use in mDNS query response",a);return}if(a.getPeerId()==null){c?.log("multiaddr %a did not have a peer ID so cannot be used in mDNS query response",a);return}h.push({name:n+"."+i,type:"TXT",class:"IN",ttl:120,data:d})}),c?.log.trace("responding to query"),e.respond(h)}}function _o(r){return!!et(r)}function Ut(r){let e="",n="abcdefghijklmnopqrstuvwxyz0123456789";for(let t=0;t<r;t++)e+=n.charAt(Math.floor(Math.random()*n.length));return e}var ir=class extends Ye{mdns;log;broadcast;interval;serviceTag;peerName;port;ip;_queryInterval;components;constructor(e,n={}){if(super(),this.log=e.logger.forComponent("libp2p:mdns"),this.broadcast=n.broadcast!==!1,this.interval=n.interval??1e3*10,this.serviceTag=n.serviceTag??"_p2p._udp.local",this.ip=n.ip??"224.0.0.251",this.peerName=n.peerName??Ut(63),this.peerName.length>=64)throw new Error("Peer name should be less than 64 chars long");this.port=n.port??5353,this.components=e,this._queryInterval=null,this._onMdnsQuery=this._onMdnsQuery.bind(this),this._onMdnsResponse=this._onMdnsResponse.bind(this),this._onMdnsWarning=this._onMdnsWarning.bind(this),this._onMdnsError=this._onMdnsError.bind(this)}[an]=this;[Symbol.toStringTag]="@libp2p/mdns";[hn]=["@libp2p/peer-discovery"];isStarted(){return!!this.mdns}async start(){this.mdns==null&&(this.mdns=(0,St.default)({port:this.port,ip:this.ip}),this.mdns.on("query",this._onMdnsQuery),this.mdns.on("response",this._onMdnsResponse),this.mdns.on("warning",this._onMdnsWarning),this.mdns.on("error",this._onMdnsError),this._queryInterval=It(this.mdns,this.serviceTag,this.interval,{log:this.log}))}_onMdnsQuery(e){this.mdns!=null&&(this.log.trace("received incoming mDNS query"),At(e,this.mdns,this.peerName,this.components.addressManager.getAddresses(),this.serviceTag,this.broadcast,{log:this.log}))}_onMdnsResponse(e){this.log.trace("received mDNS query response");try{let n=vt(e,this.peerName,this.serviceTag,{log:this.log});n!=null&&(this.log("discovered peer in mDNS query response %p",n.id),this.dispatchEvent(new sr("peer",{detail:n})))}catch(n){this.log.error("Error processing peer response",n)}}_onMdnsWarning(e){this.log.error("mdns warning",e)}_onMdnsError(e){this.log.error("mdns error",e)}async stop(){this.mdns!=null&&(this.mdns.removeListener("query",this._onMdnsQuery),this.mdns.removeListener("response",this._onMdnsResponse),this.mdns.removeListener("warning",this._onMdnsWarning),this.mdns.removeListener("error",this._onMdnsError),this._queryInterval!=null&&(clearInterval(this._queryInterval),this._queryInterval=null),await new Promise(e=>{this.mdns!=null?this.mdns.destroy(e):e()}),this.mdns=void 0)}};function Mo(r={}){return e=>new ir(e,r)}return Nt(zo);})();
|
|
3
3
|
return Libp2PMdns}));
|
package/dist/src/mdns.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TypedEventEmitter, peerDiscoverySymbol } from '@libp2p/interface';
|
|
1
|
+
import { TypedEventEmitter, peerDiscoverySymbol, serviceCapabilities } from '@libp2p/interface';
|
|
2
2
|
import multicastDNS from 'multicast-dns';
|
|
3
3
|
import type { ComponentLogger, PeerDiscovery, PeerDiscoveryEvents, Startable } from '@libp2p/interface';
|
|
4
4
|
import type { AddressManager } from '@libp2p/interface-internal';
|
|
@@ -28,6 +28,7 @@ export declare class MulticastDNS extends TypedEventEmitter<PeerDiscoveryEvents>
|
|
|
28
28
|
constructor(components: MulticastDNSComponents, init?: MulticastDNSInit);
|
|
29
29
|
readonly [peerDiscoverySymbol]: this;
|
|
30
30
|
readonly [Symbol.toStringTag] = "@libp2p/mdns";
|
|
31
|
+
readonly [serviceCapabilities]: string[];
|
|
31
32
|
isStarted(): boolean;
|
|
32
33
|
/**
|
|
33
34
|
* Start sending queries to the LAN.
|
package/dist/src/mdns.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdns.d.ts","sourceRoot":"","sources":["../../src/mdns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"mdns.d.ts","sourceRoot":"","sources":["../../src/mdns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5G,OAAO,YAAY,MAAM,eAAe,CAAA;AAGxC,OAAO,KAAK,EAAE,eAAe,EAAU,aAAa,EAAE,mBAAmB,EAAY,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACzH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAEhE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,qBAAa,YAAa,SAAQ,iBAAiB,CAAC,mBAAmB,CAAE,YAAW,aAAa,EAAE,SAAS;IACnG,IAAI,CAAC,EAAE,YAAY,CAAC,YAAY,CAAA;IAEvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAC7B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAQ;IAC3B,OAAO,CAAC,cAAc,CAAuC;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;gBAEtC,UAAU,EAAE,sBAAsB,EAAE,IAAI,GAAE,gBAAqB;IAsB5E,QAAQ,CAAC,CAAC,mBAAmB,CAAC,OAAO;IAErC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAiB;IAE9C,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAEvC;IAED,SAAS,IAAK,OAAO;IAIrB;;;;OAIG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAgB7B,YAAY,CAAE,KAAK,EAAE,YAAY,CAAC,WAAW,GAAG,IAAI;IAkBpD,eAAe,CAAE,KAAK,EAAE,YAAY,CAAC,cAAc,GAAG,IAAI;IAoB1D,cAAc,CAAE,GAAG,EAAE,KAAK,GAAG,IAAI;IAIjC,YAAY,CAAE,GAAG,EAAE,KAAK,GAAG,IAAI;IAI/B;;;;OAIG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;CAyB7B"}
|
package/dist/src/mdns.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CustomEvent, TypedEventEmitter, peerDiscoverySymbol } from '@libp2p/interface';
|
|
1
|
+
import { CustomEvent, TypedEventEmitter, peerDiscoverySymbol, serviceCapabilities } from '@libp2p/interface';
|
|
2
2
|
import multicastDNS from 'multicast-dns';
|
|
3
3
|
import * as query from './query.js';
|
|
4
4
|
import { stringGen } from './utils.js';
|
|
@@ -35,6 +35,9 @@ export class MulticastDNS extends TypedEventEmitter {
|
|
|
35
35
|
}
|
|
36
36
|
[peerDiscoverySymbol] = this;
|
|
37
37
|
[Symbol.toStringTag] = '@libp2p/mdns';
|
|
38
|
+
[serviceCapabilities] = [
|
|
39
|
+
'@libp2p/peer-discovery'
|
|
40
|
+
];
|
|
38
41
|
isStarted() {
|
|
39
42
|
return Boolean(this.mdns);
|
|
40
43
|
}
|
package/dist/src/mdns.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdns.js","sourceRoot":"","sources":["../../src/mdns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"mdns.js","sourceRoot":"","sources":["../../src/mdns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5G,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAkBtC,MAAM,OAAO,YAAa,SAAQ,iBAAsC;IAC/D,IAAI,CAA4B;IAEtB,GAAG,CAAQ;IACX,SAAS,CAAS;IAClB,QAAQ,CAAQ;IAChB,UAAU,CAAQ;IAClB,QAAQ,CAAQ;IAChB,IAAI,CAAQ;IACZ,EAAE,CAAQ;IACnB,cAAc,CAAuC;IAC5C,UAAU,CAAwB;IAEnD,YAAa,UAAkC,EAAE,OAAyB,EAAE;QAC1E,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;QACxD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,KAAK,CAAA;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAA;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAA;QACtD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,aAAa,CAAA;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,EAAE,CAAC,CAAA;QAC9C,wBAAwB;QACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAChE,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAA;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClD,CAAC;IAEQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAA;IAE5B,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,cAAc,CAAA;IAErC,CAAC,mBAAmB,CAAC,GAAa;QACzC,wBAAwB;KACzB,CAAA;IAED,SAAS;QACP,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QAC1D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QACxC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;QAC9C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC5C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QAExC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE;YAC9E,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAA;IACJ,CAAC;IAED,YAAY,CAAE,KAA+B;QAC3C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAC9C,KAAK,CAAC,QAAQ,CACZ,KAAK,EACL,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE,EAC7C,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,SAAS,EAAE;YACd,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CACF,CAAA;IACH,CAAC;IAED,eAAe,CAAE,KAAkC;QACjD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAE9C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE;gBACzE,GAAG,EAAE,IAAI,CAAC,GAAG;aACd,CAAC,CAAA;YAEF,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC,2CAA2C,EAAE,SAAS,CAAC,EAAE,CAAC,CAAA;gBAEnE,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAW,MAAM,EAAE;oBACnD,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC,CAAA;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAA;QACvD,CAAC;IACH,CAAC;IAED,cAAc,CAAE,GAAU;QACxB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;IACrC,CAAC;IAED,YAAY,CAAE,GAAU;QACtB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;IACnC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;QAC1D,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QACxD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QAEpD,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;YAChC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC5B,CAAC;QAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAC5B,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,CAAA;YACX,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,IAAI,GAAG,SAAS,CAAA;IACvB,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/mdns",
|
|
3
|
-
"version": "10.0
|
|
3
|
+
"version": "10.1.0-15eb66428",
|
|
4
4
|
"description": "Node.js libp2p mDNS discovery implementation for peer discovery",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/peer-discovery-mdns#readme",
|
|
@@ -50,19 +50,19 @@
|
|
|
50
50
|
"test:electron-main": "aegir test -t electron-main"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@libp2p/interface": "
|
|
54
|
-
"@libp2p/interface-internal": "
|
|
55
|
-
"@libp2p/peer-id": "
|
|
56
|
-
"@libp2p/utils": "
|
|
53
|
+
"@libp2p/interface": "1.5.0-15eb66428",
|
|
54
|
+
"@libp2p/interface-internal": "1.2.4-15eb66428",
|
|
55
|
+
"@libp2p/peer-id": "4.1.4-15eb66428",
|
|
56
|
+
"@libp2p/utils": "5.4.4-15eb66428",
|
|
57
57
|
"@multiformats/multiaddr": "^12.2.3",
|
|
58
58
|
"@types/multicast-dns": "^7.2.4",
|
|
59
59
|
"dns-packet": "^5.6.1",
|
|
60
60
|
"multicast-dns": "^7.2.5"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
|
-
"@libp2p/interface-compliance-tests": "
|
|
64
|
-
"@libp2p/logger": "
|
|
65
|
-
"@libp2p/peer-id-factory": "
|
|
63
|
+
"@libp2p/interface-compliance-tests": "5.4.7-15eb66428",
|
|
64
|
+
"@libp2p/logger": "4.0.15-15eb66428",
|
|
65
|
+
"@libp2p/peer-id-factory": "4.1.4-15eb66428",
|
|
66
66
|
"aegir": "^43.0.1",
|
|
67
67
|
"p-wait-for": "^5.0.2",
|
|
68
68
|
"sinon-ts": "^2.0.0"
|
package/src/mdns.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CustomEvent, TypedEventEmitter, peerDiscoverySymbol } from '@libp2p/interface'
|
|
1
|
+
import { CustomEvent, TypedEventEmitter, peerDiscoverySymbol, serviceCapabilities } from '@libp2p/interface'
|
|
2
2
|
import multicastDNS from 'multicast-dns'
|
|
3
3
|
import * as query from './query.js'
|
|
4
4
|
import { stringGen } from './utils.js'
|
|
@@ -58,6 +58,10 @@ export class MulticastDNS extends TypedEventEmitter<PeerDiscoveryEvents> impleme
|
|
|
58
58
|
|
|
59
59
|
readonly [Symbol.toStringTag] = '@libp2p/mdns'
|
|
60
60
|
|
|
61
|
+
readonly [serviceCapabilities]: string[] = [
|
|
62
|
+
'@libp2p/peer-discovery'
|
|
63
|
+
]
|
|
64
|
+
|
|
61
65
|
isStarted (): boolean {
|
|
62
66
|
return Boolean(this.mdns)
|
|
63
67
|
}
|
package/dist/typedoc-urls.json
DELETED