@libp2p/multistream-select 7.0.22-f144def15 → 7.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -1,13 +1,13 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PMultistreamSelect = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PMultistreamSelect=(()=>{var ye=Object.defineProperty;var Rt=Object.getOwnPropertyDescriptor;var Bt=Object.getOwnPropertyNames;var Vt=Object.prototype.hasOwnProperty;var y=(r,e)=>{for(var t in e)ye(r,t,{get:e[t],enumerable:!0})},_t=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Bt(e))!Vt.call(r,o)&&o!==t&&ye(r,o,{get:()=>e[o],enumerable:!(n=Rt(e,o))||n.enumerable});return r};var kt=r=>_t(ye({},"__esModule",{value:!0}),r);var wn={};y(wn,{PROTOCOL_ID:()=>S,handle:()=>Pt,select:()=>Ft});var S="/multistream/1.0.0";var re=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}};var ne=class extends Error{static name="UnsupportedProtocolError";constructor(e="Unsupported protocol error"){super(e),this.name="UnsupportedProtocolError"}},oe=class extends Error{static name="InvalidMessageError";constructor(e="Invalid message"){super(e),this.name="InvalidMessageError"}};function O(r=0){return new Uint8Array(r)}function I(r=0){return new Uint8Array(r)}function zt(r){return r?.buffer instanceof ArrayBuffer}function nt(r){if(zt(r))return r;let e=r.slice();return new Uint8Array(e.buffer,0,e.byteLength)}function xe(r,e){e==null&&(e=r.reduce((o,s)=>o+s.length,0));let t=I(e),n=0;for(let o of r)t.set(o,n),n+=o.length;return nt(t)}function ot(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}var it=Symbol.for("@achingbrain/uint8arraylist");function st(r,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let t=0;for(let n of r){let o=t+n.byteLength;if(e<o)return{buf:n,index:e-t};t=o}throw new RangeError("index is out of bounds")}function se(r){return!!r?.[it]}var x=class r{bufs;length;[it]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let t=0;for(let n of e)if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.push(n);else if(se(n)){t+=n.byteLength;for(let o of n.bufs)this.bufs.push(o)}else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}prepend(...e){this.prependAll(e)}prependAll(e){let t=0;for(let n of e.reverse())if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.unshift(n);else if(se(n))t+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}get(e){let t=st(this.bufs,e);return t.buf[t.index]}set(e,t){let n=st(this.bufs,e);n.buf[n.index]=t}write(e,t=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(t+n,e[n]);else if(se(e))for(let n=0;n<e.length;n++)this.set(t+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,t){let{bufs:n,length:o}=this._subList(e,t);return xe(n,o)}subarray(e,t){let{bufs:n,length:o}=this._subList(e,t);return n.length===1?n[0]:xe(n,o)}sublist(e,t){let{bufs:n,length:o}=this._subList(e,t),s=new r;return s.length=o,s.bufs=n,s}_subList(e,t){if(e=e??0,t=t??this.length,e<0&&(e=this.length+e),t<0&&(t=this.length+t),e<0||t>this.length)throw new RangeError("index is out of bounds");if(e===t)return{bufs:[],length:0};if(e===0&&t===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,c=a+i.byteLength;if(o=c,e>=c)continue;let u=e>=a&&e<c,l=t>a&&t<=c;if(u&&l){if(e===a&&t===c){n.push(i);break}let f=e-a;n.push(i.subarray(f,f+(t-e)));break}if(u){if(e===0){n.push(i);continue}n.push(i.subarray(e-a));continue}if(l){if(t===c){n.push(i);break}n.push(i.subarray(0,t-a));break}n.push(i)}return{bufs:n,length:t-e}}indexOf(e,t=0){if(!se(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(t=Number(t??0),isNaN(t)&&(t=0),t<0&&(t=this.length+t),t<0&&(t=0),e.length===0)return t>this.length?this.length:t;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let f=0;f<s;f++)i[f]=-1;for(let f=0;f<o;f++)i[n[f]]=f;let a=i,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=t;f<=c;f+=l){l=0;for(let m=u;m>=0;m--){let p=this.get(f+m);if(n[m]!==p){l=Math.max(1,m-a[p]);break}}if(l===0)return f}return-1}getInt8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getInt8(0)}setInt8(e,t){let n=I(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,t),this.write(n,e)}getInt16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,t)}setInt16(e,t,n){let o=O(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,t,n),this.write(o,e)}getInt32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,t)}setInt32(e,t,n){let o=O(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,t,n),this.write(o,e)}getBigInt64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,t)}setBigInt64(e,t,n){let o=O(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,t,n),this.write(o,e)}getUint8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getUint8(0)}setUint8(e,t){let n=I(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,t),this.write(n,e)}getUint16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,t)}setUint16(e,t,n){let o=O(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,t,n),this.write(o,e)}getUint32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,t)}setUint32(e,t,n){let o=O(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,t,n),this.write(o,e)}getBigUint64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,t)}setBigUint64(e,t,n){let o=O(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,t,n),this.write(o,e)}getFloat32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,t)}setFloat32(e,t,n){let o=O(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,t,n),this.write(o,e)}getFloat64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,t)}setFloat64(e,t,n){let o=O(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,t,n),this.write(o,e)}equals(e){if(e==null||!(e instanceof r)||e.bufs.length!==this.bufs.length)return!1;for(let t=0;t<this.bufs.length;t++)if(!ot(this.bufs[t],e.bufs[t]))return!1;return!0}static fromUint8Arrays(e,t){let n=new r;return n.bufs=e,t==null&&(t=e.reduce((o,s)=>o+s.byteLength,0)),n.length=t,n}};var Se={};y(Se,{base10:()=>Jt});var Cn=new Uint8Array(0);function at(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function M(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return V(r);if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return V(new Uint8Array(r.buffer,r.byteOffset,r.byteLength));throw new Error("Unknown type, must be binary type")}function ct(r){return new TextEncoder().encode(r)}function ut(r){return new TextDecoder().decode(r)}function $t(r){return r?.buffer instanceof ArrayBuffer}function V(r){return $t(r)?r:r.slice()}function Gt(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(t[i]!==255)throw new TypeError(s+" is ambiguous");t[i]=o}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var w=0,B=0,v=0,D=h.length;v!==D&&h[v]===0;)v++,w++;for(var T=(D-v)*l+1>>>0,E=new Uint8Array(T);v!==D;){for(var U=h[v],P=0,A=T-1;(U!==0||P<B)&&A!==-1;A--,P++)U+=256*E[A]>>>0,E[A]=U%a>>>0,U=U/a>>>0;if(U!==0)throw new Error("Non-zero carry");B=P,v++}for(var C=T-B;C!==T&&E[C]===0;)C++;for(var te=c.repeat(w);C<T;++C)te+=r.charAt(E[C]);return te}function m(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var w=0;if(h[w]!==" "){for(var B=0,v=0;h[w]===c;)B++,w++;for(var D=(h.length-w)*u+1>>>0,T=new Uint8Array(D);h[w];){var E=t[h.charCodeAt(w)];if(E===255)return;for(var U=0,P=D-1;(E!==0||U<v)&&P!==-1;P--,U++)E+=a*T[P]>>>0,T[P]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error("Non-zero carry");v=U,w++}if(h[w]!==" "){for(var A=D-v;A!==D&&T[A]===0;)A++;for(var C=new Uint8Array(B+(D-A)),te=B;A!==D;)C[te++]=T[A++];return C}}}function p(h){var w=m(h);if(w)return w;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:m,decode:p}}var Ht=Gt,jt=Ht,ft=jt;var Ee=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Le=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){this.name=e,this.prefix=t;let o=t.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return ht(this,e)}},ve=class{decoders;constructor(e){this.decoders=e}or(e){return ht(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function ht(r,e){return new ve({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var Ae=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new Ee(e,t,n),this.decoder=new Le(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function z({name:r,prefix:e,encode:t,decode:n}){return new Ae(r,e,t,n)}function R({name:r,prefix:e,alphabet:t}){let{encode:n,decode:o}=ft(t,r);return z({prefix:e,name:r,encode:n,decode:s=>M(o(s))})}function qt(r,e,t,n){let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*t/8|0),i=0,a=0,c=0;for(let u=0;u<o;++u){let l=e[r[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<t|l,i+=t,i>=8&&(i-=8,s[c++]=255&a>>i)}if(i>=t||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function Xt(r,e,t){let n=e[e.length-1]==="=",o=(1<<t)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>t;)i-=t,s+=e[o&a>>i];if(i!==0&&(s+=e[o&a<<t-i]),n)for(;(s.length*t&7)!==0;)s+="=";return s}function Wt(r){let e={};for(let t=0;t<r.length;++t)e[r[t]]=t;return e}function b({name:r,prefix:e,bitsPerChar:t,alphabet:n}){let o=Wt(n);return z({prefix:e,name:r,encode(s){return Xt(s,n,t)},decode(s){return qt(s,o,t,r)}})}var Jt=R({prefix:"9",name:"base10",alphabet:"0123456789"});var Ie={};y(Ie,{base16:()=>Kt,base16upper:()=>Qt});var Kt=b({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Qt=b({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var De={};y(De,{base2:()=>Yt});var Yt=b({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Te={};y(Te,{base256emoji:()=>nr});var dt=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}"),Zt=dt.reduce((r,e,t)=>(r[t]=e,r),[]),er=dt.reduce((r,e,t)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return r[n]=t,r},[]);function tr(r){return r.reduce((e,t)=>(e+=Zt[t],e),"")}function rr(r){let e=[];for(let t of r){let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);let o=er[n];if(o==null)throw new Error(`Non-base256emoji character: ${t}`);e.push(o)}return new Uint8Array(e)}var nr=z({prefix:"\u{1F680}",name:"base256emoji",encode:tr,decode:rr});var Ue={};y(Ue,{base32:()=>$,base32hex:()=>ar,base32hexpad:()=>ur,base32hexpadupper:()=>lr,base32hexupper:()=>cr,base32pad:()=>sr,base32padupper:()=>ir,base32upper:()=>or,base32z:()=>fr});var $=b({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),or=b({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),sr=b({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ir=b({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ar=b({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),cr=b({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ur=b({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),lr=b({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),fr=b({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ne={};y(Ne,{base36:()=>W,base36upper:()=>hr});var W=R({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),hr=R({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ce={};y(Ce,{base58btc:()=>N,base58flickr:()=>dr});var N=R({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),dr=R({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Oe={};y(Oe,{base64:()=>mr,base64pad:()=>pr,base64url:()=>br,base64urlpad:()=>wr});var mr=b({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),pr=b({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),br=b({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),wr=b({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Me={};y(Me,{base8:()=>gr});var gr=b({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Fe={};y(Fe,{identity:()=>yr});var yr=z({prefix:"\0",name:"identity",encode:r=>ut(r),decode:r=>ct(r)});var Xn=new TextEncoder,Wn=new TextDecoder;var Re={};y(Re,{identity:()=>$r});var Lr=bt,mt=128,vr=127,Ar=~vr,Sr=Math.pow(2,31);function bt(r,e,t){e=e||[],t=t||0;for(var n=t;r>=Sr;)e[t++]=r&255|mt,r/=128;for(;r&Ar;)e[t++]=r&255|mt,r>>>=7;return e[t]=r|0,bt.bytes=t-n+1,e}var Ir=Pe,Dr=128,pt=127;function Pe(r,n){var t=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw Pe.bytes=0,new RangeError("Could not decode varint");i=r[s++],t+=o<28?(i&pt)<<o:(i&pt)*Math.pow(2,o),o+=7}while(i>=Dr);return Pe.bytes=s-n,t}var Tr=Math.pow(2,7),Ur=Math.pow(2,14),Nr=Math.pow(2,21),Cr=Math.pow(2,28),Or=Math.pow(2,35),Mr=Math.pow(2,42),Fr=Math.pow(2,49),Pr=Math.pow(2,56),Rr=Math.pow(2,63),Br=function(r){return r<Tr?1:r<Ur?2:r<Nr?3:r<Cr?4:r<Or?5:r<Mr?6:r<Fr?7:r<Pr?8:r<Rr?9:10},Vr={encode:Lr,decode:Ir,encodingLength:Br},_r=Vr,J=_r;function K(r,e=0){return[J.decode(r,e),J.decode.bytes]}function G(r,e,t=0){return J.encode(r,e,t),e}function H(r){return J.encodingLength(r)}function q(r,e){let t=e.byteLength,n=H(r),o=n+H(t),s=new Uint8Array(o+t);return G(r,s,0),G(t,s,n),s.set(e,o),new j(r,t,e,s)}function wt(r){let e=M(r),[t,n]=K(e),[o,s]=K(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new j(t,o,i,e)}function gt(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&at(r.bytes,t.bytes)}}var j=class{code;size;digest;bytes;constructor(e,t,n,o){this.code=e,this.size=t,this.digest=V(n),this.bytes=V(o)}};var yt=0,kr="identity",xt=M;function zr(r,e){if(e?.truncate!=null&&e.truncate!==r.byteLength){if(e.truncate<0||e.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e.truncate)}return q(yt,xt(r))}var $r={code:yt,name:kr,encode:xt,digest:zr};var _e={};y(_e,{sha256:()=>Hr,sha512:()=>jr});var Gr=20;function Ve({name:r,code:e,encode:t,minDigestLength:n,maxDigestLength:o}){return new Be(r,e,t,n,o)}var Be=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,t,n,o,s){this.name=e,this.code=t,this.encode=n,this.minDigestLength=o??Gr,this.maxDigestLength=s}digest(e,t){if(t?.truncate!=null){if(t.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&t.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?Et(n,this.code,t?.truncate):n.then(o=>Et(o,this.code,t?.truncate))}else throw Error("Unknown type, must be binary type")}};function Et(r,e,t){if(t!=null&&t!==r.byteLength){if(t>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t)}return q(e,r)}function vt(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var Hr=Ve({name:"sha2-256",code:18,encode:vt("SHA-256")}),jr=Ve({name:"sha2-512",code:19,encode:vt("SHA-512")});function At(r,e){let{bytes:t,version:n}=r;return n===0?Xr(t,ke(r),e??N.encoder):Wr(t,ke(r),e??$.encoder)}var St=new WeakMap;function ke(r){let e=St.get(r);if(e==null){let t=new Map;return St.set(r,t),t}return e}var ae=class r{code;version;multihash;bytes;"/";constructor(e,t,n,o){this.code=t,this.version=e,this.multihash=n,this.bytes=V(o),this["/"]=this.bytes}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:t}=this;if(e!==Y)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==Jr)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}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:t}=this.multihash,n=q(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&&gt(e.multihash,n.multihash)}toString(e){return At(this,e)}toJSON(){return{"/":At(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 t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:s,bytes:i}=t;return new r(n,o,s,i??It(n,o,s.bytes))}else if(t[Kr]===!0){let{version:n,multihash:o,code:s}=t,i=wt(o);return r.create(n,s,i)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==Y)throw new Error(`Version 0 CID must use dag-pb (code: ${Y}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=It(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,Y,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=M(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let s=o.subarray(t.multihashSize-t.digestSize),i=new j(t.multihashCode,t.digestSize,s,o);return[t.version===0?r.createV0(i):r.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[f,m]=K(e.subarray(t));return t+=m,f},o=n(),s=Y;if(o===18?(o=0,t=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=t,a=n(),c=n(),u=t+c,l=u-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,t){let[n,o]=qr(e,t),s=r.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return ke(s).set(n,e),s}};function qr(r,e){switch(r[0]){case"Q":{let t=e??N;return[N.prefix,t.decode(`${N.prefix}${r}`)]}case N.prefix:{let t=e??N;return[N.prefix,t.decode(r)]}case $.prefix:{let t=e??$;return[$.prefix,t.decode(r)]}case W.prefix:{let t=e??W;return[W.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function Xr(r,e,t){let{prefix:n}=t;if(n!==N.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let s=t.encode(r).slice(1);return e.set(n,s),s}else return o}function Wr(r,e,t){let{prefix:n}=t,o=e.get(n);if(o==null){let s=t.encode(r);return e.set(n,s),s}else return o}var Y=112,Jr=18;function It(r,e,t){let n=H(r),o=n+H(e),s=new Uint8Array(o+t.byteLength);return G(r,s,0),G(e,s,n),s.set(t,o),s}var Kr=Symbol.for("@ipld/js-cid/CID");var ze={...Fe,...De,...Me,...Se,...Ie,...Ue,...Ne,...Ce,...Oe,...Te},wo={..._e,...Re};function Tt(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var Dt=Tt("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),$e=Tt("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=I(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Qr={utf8:Dt,"utf-8":Dt,hex:ze.base16,latin1:$e,ascii:$e,binary:$e,...ze},ce=Qr;function L(r,e="utf8"){let t=ce[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.decoder.decode(`${t.prefix}${r}`)}var Yr=Math.pow(2,7),Zr=Math.pow(2,14),en=Math.pow(2,21),Ge=Math.pow(2,28),He=Math.pow(2,35),je=Math.pow(2,42),qe=Math.pow(2,49),d=128,g=127;function F(r){if(r<Yr)return 1;if(r<Zr)return 2;if(r<en)return 3;if(r<Ge)return 4;if(r<He)return 5;if(r<je)return 6;if(r<qe)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function tn(r,e,t=0){switch(F(r)){case 8:e[t++]=r&255|d,r/=128;case 7:e[t++]=r&255|d,r/=128;case 6:e[t++]=r&255|d,r/=128;case 5:e[t++]=r&255|d,r/=128;case 4:e[t++]=r&255|d,r>>>=7;case 3:e[t++]=r&255|d,r>>>=7;case 2:e[t++]=r&255|d,r>>>=7;case 1:{e[t++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return e}function rn(r,e,t=0){switch(F(r)){case 8:e.set(t++,r&255|d),r/=128;case 7:e.set(t++,r&255|d),r/=128;case 6:e.set(t++,r&255|d),r/=128;case 5:e.set(t++,r&255|d),r/=128;case 4:e.set(t++,r&255|d),r>>>=7;case 3:e.set(t++,r&255|d),r>>>=7;case 2:e.set(t++,r&255|d),r>>>=7;case 1:{e.set(t++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return e}function nn(r,e){let t=r[e],n=0;if(n+=t&g,t<d||(t=r[e+1],n+=(t&g)<<7,t<d)||(t=r[e+2],n+=(t&g)<<14,t<d)||(t=r[e+3],n+=(t&g)<<21,t<d)||(t=r[e+4],n+=(t&g)*Ge,t<d)||(t=r[e+5],n+=(t&g)*He,t<d)||(t=r[e+6],n+=(t&g)*je,t<d)||(t=r[e+7],n+=(t&g)*qe,t<d))return n;throw new RangeError("Could not decode varint")}function on(r,e){let t=r.get(e),n=0;if(n+=t&g,t<d||(t=r.get(e+1),n+=(t&g)<<7,t<d)||(t=r.get(e+2),n+=(t&g)<<14,t<d)||(t=r.get(e+3),n+=(t&g)<<21,t<d)||(t=r.get(e+4),n+=(t&g)*Ge,t<d)||(t=r.get(e+5),n+=(t&g)*He,t<d)||(t=r.get(e+6),n+=(t&g)*je,t<d)||(t=r.get(e+7),n+=(t&g)*qe,t<d))return n;throw new RangeError("Could not decode varint")}function ue(r,e,t=0){return e==null&&(e=I(F(r))),e instanceof Uint8Array?tn(r,e,t):rn(r,e,t)}function le(r,e=0){return r instanceof Uint8Array?nn(r,e):on(r,e)}function Ut(r,e="utf8"){let t=ce[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.encoder.encode(r).substring(1)}var We=class r extends Error{name="TimeoutError";constructor(e,t){super(e,t),Error.captureStackTrace?.(this,r)}},Nt=r=>r.reason??new DOMException("This operation was aborted.","AbortError");function Je(r,e){let{milliseconds:t,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout},signal:i}=e,a,c,l=new Promise((f,m)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(i?.aborted){m(Nt(i));return}if(i&&(c=()=>{m(Nt(i))},i.addEventListener("abort",c,{once:!0})),r.then(f,m),t===Number.POSITIVE_INFINITY)return;let p=new We;a=s.setTimeout.call(void 0,()=>{if(n){try{f(n())}catch(h){m(h)}return}typeof r.cancel=="function"&&r.cancel(),o===!1?f():o instanceof Error?m(o):(p.message=o??`Promise timed out after ${t} milliseconds`,m(p))},t)}).finally(()=>{l.clear(),c&&i&&i.removeEventListener("abort",c)});return l.clear=()=>{s.clearTimeout.call(void 0,a),a=void 0},l}var sn=r=>{let e=r.addEventListener||r.on||r.addListener,t=r.removeEventListener||r.off||r.removeListener;if(!e||!t)throw new TypeError("Emitter is not compatible");return{addListener:e.bind(r),removeListener:t.bind(r)}};function an(r,e,t){let n,o=new Promise((s,i)=>{if(t={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...t},!(t.count>=0&&(t.count===Number.POSITIVE_INFINITY||Number.isInteger(t.count))))throw new TypeError("The `count` option should be at least 0 or more");t.signal?.throwIfAborted();let a=[e].flat(),c=[],{addListener:u,removeListener:l}=sn(r),f=async(...p)=>{let h=t.multiArgs?p:p[0];if(t.filter)try{if(!await t.filter(h))return}catch(w){n(),i(w);return}c.push(h),t.count===c.length&&(n(),s(c))},m=(...p)=>{n(),i(t.rejectionMultiArgs?p:p[0])};n=()=>{for(let p of a)l(p,f);for(let p of t.rejectionEvents)a.includes(p)||l(p,m)};for(let p of a)u(p,f);for(let p of t.rejectionEvents)a.includes(p)||u(p,m);t.signal&&t.signal.addEventListener("abort",()=>{m(t.signal.reason)},{once:!0}),t.resolveImmediately&&s(c)});if(o.cancel=n,typeof t.timeout=="number"){let s=Je(o,{milliseconds:t.timeout});return s.cancel=()=>{n(),s.clear()},s}return o}function Ct(r,e,t){typeof t=="function"&&(t={filter:t}),t={...t,count:1,resolveImmediately:!1};let n=an(r,e,t),o=n.then(s=>s[0]);return o.cancel=n.cancel,o}var _=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"};function cn(r){return r.reason}async function Ke(r,e,t){if(e==null)return r;let n=t?.translateError??cn;if(e.aborted)return r.catch(()=>{}),Promise.reject(n(e));let o;try{return await Promise.race([r,new Promise((s,i)=>{o=()=>{i(n(e))},e.addEventListener("abort",o)})])}finally{o!=null&&e.removeEventListener("abort",o)}}var ln=4194304,fe=class extends Error{static name="UnwrappedError";name="UnwrappedError"},Ye=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},Ze=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},et=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function fn(r){return typeof r?.closeRead=="function"}function hn(r){return typeof r?.close=="function"}function Qe(r){return fn(r)?r.remoteWriteStatus!=="writable"&&r.readBufferLength===0:hn(r)?r.status!=="open":!1}function dn(r){return r?.addEventListener!=null&&r?.removeEventListener!=null&&r?.send!=null&&r?.push!=null&&r?.log!=null}function mn(r,e){let t=e?.maxBufferSize??ln,n=new x,o,s=!1;if(!dn(r))throw new re("Argument should be a Stream or a Multiaddr");let i=l=>{if(n.append(l.data),n.byteLength>t){let f=n.byteLength;n.consume(n.byteLength),o?.reject(new Error(`Read buffer overflow - ${f} > ${t}`))}o?.resolve()};r.addEventListener("message",i);let a=l=>{l.error!=null?o?.reject(l.error):o?.resolve()};r.addEventListener("close",a);let c=()=>{o?.resolve()};r.addEventListener("remoteCloseWrite",c);let u={readBuffer:n,async read(l){if(s===!0)throw new fe("Stream was unwrapped");if(Qe(r)){if(n.byteLength===0&&l?.bytes==null)return null;if(l?.bytes!=null&&n.byteLength<l.bytes)throw r.log.error("closed after reading %d/%d bytes",n.byteLength,l.bytes),new _(`Unexpected EOF - stream closed after reading ${n.byteLength}/${l.bytes} bytes`)}let f=l?.bytes??1;for(o=Promise.withResolvers();;){if(n.byteLength>=f){o.resolve();break}if(await Ke(o.promise,l?.signal),Qe(r)){if(n.byteLength===0&&l?.bytes==null)return null;break}o=Promise.withResolvers()}let m=l?.bytes??n.byteLength;if(n.byteLength<m){if(Qe(r))throw r.log.error("closed while reading %d/%d bytes",n.byteLength,m),new _(`Unexpected EOF - stream closed while reading ${n.byteLength}/${m} bytes`);return u.read(l)}let p=n.sublist(0,m);return n.consume(m),p},async write(l,f){if(s===!0)throw new fe("Stream was unwrapped");r.send(l)||await Ct(r,"drain",{signal:f?.signal,rejectionEvents:["close"]})},unwrap(){return s||(s=!0,r.removeEventListener("message",i),r.removeEventListener("close",a),r.removeEventListener("remoteCloseWrite",c),n.byteLength>0&&(r.log("stream unwrapped with %d unread bytes",n.byteLength),r.unshift(n))),r}};return u}function he(r,e={}){let t=mn(r,e);e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=F(e.maxDataLength));let n=e?.lengthDecoder??le,o=e?.lengthEncoder??ue;return{async read(i){let a=-1,c=new x;for(;;){let l=await t.read({...i,bytes:1});if(l==null)break;c.append(l);try{a=n(c)}catch(f){if(f instanceof RangeError)continue;throw f}if(a<0)throw new Ye("Invalid message length");if(e?.maxLengthLength!=null&&c.byteLength>e.maxLengthLength)throw new et(`Message length length too long - ${c.byteLength} > ${e.maxLengthLength}`);if(a>-1)break}if(e?.maxDataLength!=null&&a>e.maxDataLength)throw new Ze(`Message length too long - ${a} > ${e.maxDataLength}`);let u=await t.read({...i,bytes:a});if(u==null)throw r.log.error("tried to read %d bytes but the stream closed",a),new _(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(u.byteLength!==a)throw r.log.error("read %d/%d bytes before the stream closed",u.byteLength,a),new _(`Unexpected EOF - read ${u.byteLength}/${a} bytes before the stream closed`);return u},async write(i,a){await t.write(new x(o(i.byteLength),i),a)},async writeV(i,a){let c=new x(...i.flatMap(u=>[o(u.byteLength),u]));await t.write(c,a)},unwrap(){return t.unwrap()}}}var de=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},X=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},me=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"},Z=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};function pe(r){return r[Symbol.asyncIterator]!=null}function Ot(r,e){if(r.byteLength>e)throw new X("Message length too long")}var we=r=>{let e=F(r),t=I(e);return ue(r,t),we.bytes=e,t};we.bytes=0;function ge(r,e){e=e??{};let t=e.lengthEncoder??we,n=e?.maxDataLength??4194304;function*o(s){Ot(s,n);let i=t(s.byteLength);i instanceof Uint8Array?yield i:yield*i,s instanceof Uint8Array?yield s:yield*s}return pe(r)?(async function*(){for await(let s of r)yield*o(s)})():(function*(){for(let s of r)yield*o(s)})()}ge.single=(r,e)=>{e=e??{};let t=e.lengthEncoder??we,n=e?.maxDataLength??4194304;return Ot(r,n),new x(t(r.byteLength),r)};var k;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(k||(k={}));var rt=r=>{let e=le(r);return rt.bytes=F(e),e};rt.bytes=0;function tt(r,e){let t=new x,n=k.LENGTH,o=-1,s=e?.lengthDecoder??rt,i=e?.maxLengthLength??8,a=e?.maxDataLength??4194304;function*c(){for(;t.byteLength>0;){if(n===k.LENGTH)try{if(o=s(t),o<0)throw new de("Invalid message length");if(o>a)throw new X("Message length too long");let u=s.bytes;t.consume(u),e?.onLength!=null&&e.onLength(o),n=k.DATA}catch(u){if(u instanceof RangeError){if(t.byteLength>i)throw new me("Message length length too long");break}throw u}if(n===k.DATA){if(t.byteLength<o)break;let u=t.sublist(0,o);t.consume(o),e?.onData!=null&&e.onData(u),yield u,n=k.LENGTH}}}return pe(r)?(async function*(){for await(let u of r)t.append(u),yield*c();if(t.byteLength>0)throw new Z("Unexpected end of input")})():(function*(){for(let u of r)t.append(u),yield*c();if(t.byteLength>0)throw new Z("Unexpected end of input")})()}tt.fromReader=(r,e)=>{let t=1,n=(async function*(){for(;;)try{let{done:s,value:i}=await r.next(t);if(s===!0)return;i!=null&&(yield i)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{t=1}})();return tt(n,{...e??{},onLength:s=>{t=s}})};var bn=L(`
3
- `);async function ee(r,e){let n=(await r.read(e)).subarray();if(n.byteLength===0||n[n.length-1]!==bn[0])throw new oe("Missing newline");return Ut(n).trimEnd()}async function Ft(r,e,t={}){if(e=Array.isArray(e)?[...e]:[e],e.length===0)throw new Error("At least one protocol must be specified");let n=r.log.newScope("mss:select"),o=he(r,{...t,maxDataLength:1024});for(let s=0;s<e.length;s++){let i=e[s],a;if(s===0){n.trace('write ["%s", "%s"]',S,i);let c=L(`${S}
4
- `),u=L(`${i}
5
- `);if(await o.writeV([c,u],t),n.trace("reading multistream-select header"),a=await ee(o,t),n.trace('read "%s"',a),a!==S){n.error("did not read multistream-select header from response");break}}else n.trace('write "%s"',i),await o.write(L(`${i}
6
- `),t);if(n.trace("reading protocol response"),a=await ee(o,t),n.trace('read "%s"',a),a===i)return n.trace('selected "%s" after negotiation',a),o.unwrap(),i}throw new ne(`Protocol selection failed - could not negotiate ${e}`)}async function Pt(r,e,t={}){e=Array.isArray(e)?e:[e];let n=r.log.newScope("mss:handle"),o=he(r,{...t,maxDataLength:1024,maxLengthLength:2});for(;;){n.trace("reading incoming string");let s=await ee(o,t);if(n.trace('read "%s"',s),s===S){n.trace('respond with "%s" for "%s"',S,s),await o.write(L(`${S}
7
- `),t),n.trace('responded with "%s" for "%s"',S,s);continue}if(e.includes(s))return n.trace('respond with "%s" for "%s"',s,s),await o.write(L(`${s}
8
- `),t),n.trace('responded with "%s" for "%s"',s,s),o.unwrap(),s;if(s==="ls"){let i=new x(...e.map(a=>ge.single(L(`${a}
9
- `))),L(`
10
- `));n.trace('respond with "%s" for %s',e,s),await o.write(i,t),n.trace('responded with "%s" for %s',e,s);continue}n.trace('respond with "na" for "%s"',s),await o.write(L(`na
11
- `),t),n('responded with "na" for "%s"',s)}}return kt(wn);})();
2
+ "use strict";var Libp2PMultistreamSelect=(()=>{var Ee=Object.defineProperty;var kt=Object.getOwnPropertyDescriptor;var zt=Object.getOwnPropertyNames;var $t=Object.prototype.hasOwnProperty;var y=(r,e)=>{for(var t in e)Ee(r,t,{get:e[t],enumerable:!0})},Gt=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of zt(e))!$t.call(r,o)&&o!==t&&Ee(r,o,{get:()=>e[o],enumerable:!(n=kt(e,o))||n.enumerable});return r};var Ht=r=>Gt(Ee({},"__esModule",{value:!0}),r);var En={};y(En,{PROTOCOL_ID:()=>S,handle:()=>_t,select:()=>Bt});var S="/multistream/1.0.0";var oe=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}};var se=class extends Error{static name="UnsupportedProtocolError";constructor(e="Unsupported protocol error"){super(e),this.name="UnsupportedProtocolError"}},ie=class extends Error{static name="InvalidMessageError";constructor(e="Invalid message"){super(e),this.name="InvalidMessageError"}};function O(r=0){return new Uint8Array(r)}function D(r=0){return new Uint8Array(r)}function jt(r){return r?.buffer instanceof ArrayBuffer}function st(r){if(jt(r))return r;let e=r.slice();return new Uint8Array(e.buffer,0,e.byteLength)}function Le(r,e){e==null&&(e=r.reduce((o,s)=>o+s.length,0));let t=D(e),n=0;for(let o of r)t.set(o,n),n+=o.length;return st(t)}function it(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}var ct=Symbol.for("@achingbrain/uint8arraylist");function at(r,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let t=0;for(let n of r){let o=t+n.byteLength;if(e<o)return{buf:n,index:e-t};t=o}throw new RangeError("index is out of bounds")}function ae(r){return!!r?.[ct]}var x=class r{bufs;length;[ct]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let t=0;for(let n of e)if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.push(n);else if(ae(n)){t+=n.byteLength;for(let o of n.bufs)this.bufs.push(o)}else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}prepend(...e){this.prependAll(e)}prependAll(e){let t=0;for(let n of e.reverse())if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.unshift(n);else if(ae(n))t+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}get(e){let t=at(this.bufs,e);return t.buf[t.index]}set(e,t){let n=at(this.bufs,e);n.buf[n.index]=t}write(e,t=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(t+n,e[n]);else if(ae(e))for(let n=0;n<e.length;n++)this.set(t+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,t){let{bufs:n,length:o}=this._subList(e,t);return Le(n,o)}subarray(e,t){let{bufs:n,length:o}=this._subList(e,t);return n.length===1?n[0]:Le(n,o)}sublist(e,t){let{bufs:n,length:o}=this._subList(e,t),s=new r;return s.length=o,s.bufs=n,s}_subList(e,t){if(e=e??0,t=t??this.length,e<0&&(e=this.length+e),t<0&&(t=this.length+t),e<0||t>this.length)throw new RangeError("index is out of bounds");if(e===t)return{bufs:[],length:0};if(e===0&&t===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,u=a+i.byteLength;if(o=u,e>=u)continue;let l=e>=a&&e<u,c=t>a&&t<=u;if(l&&c){if(e===a&&t===u){n.push(i);break}let f=e-a;n.push(i.subarray(f,f+(t-e)));break}if(l){if(e===0){n.push(i);continue}n.push(i.subarray(e-a));continue}if(c){if(t===u){n.push(i);break}n.push(i.subarray(0,t-a));break}n.push(i)}return{bufs:n,length:t-e}}indexOf(e,t=0){if(!ae(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(t=Number(t??0),isNaN(t)&&(t=0),t<0&&(t=this.length+t),t<0&&(t=0),e.length===0)return t>this.length?this.length:t;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let f=0;f<s;f++)i[f]=-1;for(let f=0;f<o;f++)i[n[f]]=f;let a=i,u=this.byteLength-n.byteLength,l=n.byteLength-1,c;for(let f=t;f<=u;f+=c){c=0;for(let d=l;d>=0;d--){let m=this.get(f+d);if(n[d]!==m){c=Math.max(1,d-a[m]);break}}if(c===0)return f}return-1}getInt8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getInt8(0)}setInt8(e,t){let n=D(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,t),this.write(n,e)}getInt16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,t)}setInt16(e,t,n){let o=O(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,t,n),this.write(o,e)}getInt32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,t)}setInt32(e,t,n){let o=O(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,t,n),this.write(o,e)}getBigInt64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,t)}setBigInt64(e,t,n){let o=O(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,t,n),this.write(o,e)}getUint8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getUint8(0)}setUint8(e,t){let n=D(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,t),this.write(n,e)}getUint16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,t)}setUint16(e,t,n){let o=O(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,t,n),this.write(o,e)}getUint32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,t)}setUint32(e,t,n){let o=O(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,t,n),this.write(o,e)}getBigUint64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,t)}setBigUint64(e,t,n){let o=O(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,t,n),this.write(o,e)}getFloat32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,t)}setFloat32(e,t,n){let o=O(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,t,n),this.write(o,e)}getFloat64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,t)}setFloat64(e,t,n){let o=O(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,t,n),this.write(o,e)}equals(e){if(e==null||!(e instanceof r)||e.bufs.length!==this.bufs.length)return!1;for(let t=0;t<this.bufs.length;t++)if(!it(this.bufs[t],e.bufs[t]))return!1;return!0}static fromUint8Arrays(e,t){let n=new r;return n.bufs=e,t==null&&(t=e.reduce((o,s)=>o+s.byteLength,0)),n.length=t,n}};var De={};y(De,{base10:()=>Zt});var Pn=new Uint8Array(0);function lt(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function L(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 ft(r){let e=new Uint8Array(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}var ut=4096;function ht(r){let e=r.length;if(e<=ut)return String.fromCharCode.apply(String,r);let t="",n=0;for(;n<e;)t+=String.fromCharCode.apply(String,r.subarray(n,n+=ut));return t}function qt(r){return r?.buffer instanceof ArrayBuffer}function _(r){return qt(r)?r:r.slice()}function Xt(r,e,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var n=new Uint8Array(256),o=0;o<n.length;o++)n[o]=255;for(var s=0;s<r.length;s++){var i=r.charAt(s),a=i.charCodeAt(0);if(n[a]!==255)throw new TypeError(i+" is ambiguous");if(n[a]=s,t){var u=i.toLowerCase().charCodeAt(0),l=i.toUpperCase().charCodeAt(0);u!==a&&(n[u]=s),l!==a&&(n[l]=s)}}var c=r.length,f=r.charAt(0),d=Math.log(c)/Math.log(256),m=Math.log(256)/Math.log(c);function z(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var g=0,B=0,A=0,U=p.length;A!==U&&p[A]===0;)A++,g++;for(var T=(U-A)*m+1>>>0,E=new Uint8Array(T);A!==U;){for(var N=p[A],P=0,I=T-1;(N!==0||P<B)&&I!==-1;I--,P++)N+=256*E[I]>>>0,E[I]=N%c>>>0,N=N/c>>>0;if(N!==0)throw new Error("Non-zero carry");B=P,A++}for(var M=T-B;M!==T&&E[M]===0;)M++;for(var ne=f.repeat(g);M<T;++M)ne+=r.charAt(E[M]);return ne}function re(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var g=0;if(p[g]!==" "){for(var B=0,A=0;p[g]===f;)B++,g++;for(var U=(p.length-g)*d+1>>>0,T=new Uint8Array(U);p[g];){var E=n[p.charCodeAt(g)];if(E===255)return;for(var N=0,P=U-1;(E!==0||N<A)&&P!==-1;P--,N++)E+=c*T[P]>>>0,T[P]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error("Non-zero carry");A=N,g++}if(p[g]!==" "){for(var I=U-A;I!==U&&T[I]===0;)I++;for(var M=new Uint8Array(B+(U-I)),ne=B;I!==U;)M[ne++]=T[I++];return M}}}function Vt(p){var g=re(p);if(g)return g;throw new Error(`Non-${e} character`)}return{encode:z,decodeUnsafe:re,decode:Vt}}var Wt=Xt,Jt=Wt,mt=Jt;var ve=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Ae=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){this.name=e,this.prefix=t;let o=t.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return pt(this,e)}},Ie=class{decoders;constructor(e){this.decoders=e}or(e){return pt(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function pt(r,e){return new Ie({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var Se=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new ve(e,t,n),this.decoder=new Ae(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function $({name:r,prefix:e,encode:t,decode:n}){return new Se(r,e,t,n)}function R({name:r,prefix:e,alphabet:t,caseInsensitive:n=!1}){let{encode:o,decode:s}=mt(t,r,n);return $({prefix:e,name:r,encode:o,decode:i=>L(s(i))})}function Kt(r,e,t,n){let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*t/8|0),i=0,a=0,u=0;for(let l=0;l<o;++l){let c=e[r[l]];if(c===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<t|c,i+=t,i>=8&&(i-=8,s[u++]=255&a>>i)}if(i>=t||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function Qt(r,e,t){let n=e[e.length-1]==="=",o=(1<<t)-1,s="",i=0,a=0;for(let u=0;u<r.length;++u)for(a=a<<8|r[u],i+=8;i>t;)i-=t,s+=e[o&a>>i];if(i!==0&&(s+=e[o&a<<t-i]),n)for(;(s.length*t&7)!==0;)s+="=";return s}function Yt(r,e){let t={};for(let n=0;n<r.length;++n)if(t[r[n]]=n,e){let o=r[n].toLowerCase(),s=r[n].toUpperCase();o!==r[n]&&(t[o]=n),s!==r[n]&&(t[s]=n)}return t}function b({name:r,prefix:e,bitsPerChar:t,alphabet:n,caseInsensitive:o=!1}){let s=Yt(n,o);return $({prefix:e,name:r,encode(i){return Qt(i,n,t)},decode(i){return Kt(i,s,t,r)}})}var Zt=R({prefix:"9",name:"base10",alphabet:"0123456789"});var Ue={};y(Ue,{base16:()=>er,base16upper:()=>tr});var er=b({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4,caseInsensitive:!0}),tr=b({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4,caseInsensitive:!0});var Te={};y(Te,{base2:()=>rr});var rr=b({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ne={};y(Ne,{base256emoji:()=>ar});var bt=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}"),nr=bt.reduce((r,e,t)=>(r[t]=e,r),[]),or=bt.reduce((r,e,t)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return r[n]=t,r},[]);function sr(r){return r.reduce((e,t)=>(e+=nr[t],e),"")}function ir(r){let e=[];for(let t of r){let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);let o=or[n];if(o==null)throw new Error(`Non-base256emoji character: ${t}`);e.push(o)}return new Uint8Array(e)}var ar=$({prefix:"\u{1F680}",name:"base256emoji",encode:sr,decode:ir});var Ce={};y(Ce,{base32:()=>G,base32hex:()=>fr,base32hexpad:()=>dr,base32hexpadupper:()=>mr,base32hexupper:()=>hr,base32pad:()=>ur,base32padupper:()=>lr,base32upper:()=>cr,base32z:()=>pr});var G=b({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5,caseInsensitive:!0}),cr=b({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5,caseInsensitive:!0}),ur=b({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5,caseInsensitive:!0}),lr=b({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5,caseInsensitive:!0}),fr=b({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5,caseInsensitive:!0}),hr=b({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5,caseInsensitive:!0}),dr=b({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5,caseInsensitive:!0}),mr=b({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5,caseInsensitive:!0}),pr=b({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Me={};y(Me,{base36:()=>J,base36upper:()=>br});var J=R({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz",caseInsensitive:!0}),br=R({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",caseInsensitive:!0});var Oe={};y(Oe,{base58btc:()=>C,base58flickr:()=>wr});var C=R({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),wr=R({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Fe={};y(Fe,{base64:()=>gr,base64pad:()=>yr,base64url:()=>xr,base64urlpad:()=>Er});var gr=b({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),yr=b({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),xr=b({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Er=b({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Pe={};y(Pe,{base8:()=>Lr});var Lr=b({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Re={};y(Re,{identity:()=>vr});var vr=$({prefix:"\0",name:"identity",encode:r=>ht(L(r)),decode:r=>L(ft(r))});var Qn=new TextEncoder,Yn=new TextDecoder;var _e={};y(_e,{identity:()=>qr});var Sr=yt,wt=128,Dr=127,Ur=~Dr,Tr=Math.pow(2,31);function yt(r,e,t){e=e||[],t=t||0;for(var n=t;r>=Tr;)e[t++]=r&255|wt,r/=128;for(;r&Ur;)e[t++]=r&255|wt,r>>>=7;return e[t]=r|0,yt.bytes=t-n+1,e}var Nr=Be,Cr=128,gt=127;function Be(r,n){var t=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw Be.bytes=0,new RangeError("Could not decode varint");i=r[s++],t+=o<28?(i&gt)<<o:(i&gt)*Math.pow(2,o),o+=7}while(i>=Cr);return Be.bytes=s-n,t}var Mr=Math.pow(2,7),Or=Math.pow(2,14),Fr=Math.pow(2,21),Pr=Math.pow(2,28),Rr=Math.pow(2,35),Br=Math.pow(2,42),_r=Math.pow(2,49),Vr=Math.pow(2,56),kr=Math.pow(2,63),zr=function(r){return r<Mr?1:r<Or?2:r<Fr?3:r<Pr?4:r<Rr?5:r<Br?6:r<_r?7:r<Vr?8:r<kr?9:10},$r={encode:Sr,decode:Nr,encodingLength:zr},Gr=$r,K=Gr;function Q(r,e=0){return[K.decode(r,e),K.decode.bytes]}function H(r,e,t=0){return K.encode(r,e,t),e}function j(r){return K.encodingLength(r)}function X(r,e){let t=e.byteLength,n=j(r),o=n+j(t),s=new Uint8Array(o+t);return H(r,s,0),H(t,s,n),s.set(e,o),new q(r,t,e,s)}function xt(r){let e=L(r),[t,n]=Q(e),[o,s]=Q(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new q(t,o,i,e)}function Et(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&lt(r.bytes,t.bytes)}}var q=class{code;size;digest;bytes;constructor(e,t,n,o){this.code=e,this.size=t,this.digest=_(n),this.bytes=_(o)}};var Lt=0,Hr="identity",vt=L;function jr(r,e){if(e?.truncate!=null&&e.truncate!==r.byteLength){if(e.truncate<0||e.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e.truncate)}return X(Lt,vt(r))}var qr={code:Lt,name:Hr,encode:vt,digest:jr};var ze={};y(ze,{sha256:()=>Wr,sha512:()=>Jr});var Xr=20;function ke({name:r,code:e,encode:t,minDigestLength:n,maxDigestLength:o}){return new Ve(r,e,t,n,o)}var Ve=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,t,n,o,s){this.name=e,this.code=t,this.encode=n,this.minDigestLength=o??Xr,this.maxDigestLength=s}digest(e,t){if(t?.truncate!=null){if(t.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&t.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?At(n,this.code,t?.truncate):n.then(o=>At(o,this.code,t?.truncate))}else throw Error("Unknown type, must be binary type")}};function At(r,e,t){if(t!=null&&t!==r.byteLength){if(t>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t)}return X(e,r)}function St(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var Wr=ke({name:"sha2-256",code:18,encode:St("SHA-256")}),Jr=ke({name:"sha2-512",code:19,encode:St("SHA-512")});function Dt(r,e){let{bytes:t,version:n}=r;return n===0?Qr(t,$e(r),e??C.encoder):Yr(t,$e(r),e??G.encoder)}var Ut=new WeakMap;function $e(r){let e=Ut.get(r);if(e==null){let t=new Map;return Ut.set(r,t),t}return e}var ue=class r{code;version;multihash;bytes;"/";constructor(e,t,n,o){this.code=t,this.version=e,this.multihash=n,this.bytes=_(o),this["/"]=this.bytes}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:t}=this;if(e!==Z)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==Zr)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}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:t}=this.multihash,n=X(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&&Et(e.multihash,n.multihash)}toString(e){return Dt(this,e)}toJSON(){return{"/":Dt(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 t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:s,bytes:i}=t;return new r(n,o,s,i??Tt(n,o,s.bytes))}else if(t[en]===!0){let{version:n,multihash:o,code:s}=t,i=xt(o);return r.create(n,s,i)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==Z)throw new Error(`Version 0 CID must use dag-pb (code: ${Z}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=Tt(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,Z,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=L(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let s=o.subarray(t.multihashSize-t.digestSize),i=new q(t.multihashCode,t.digestSize,s,o);return[t.version===0?r.createV0(i):r.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[f,d]=Q(e.subarray(t));return t+=d,f},o=n(),s=Z;if(o===18?(o=0,t=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=t,a=n(),u=n(),l=t+u,c=l-i;return{version:o,codec:s,multihashCode:a,digestSize:u,multihashSize:c,size:l}}static parse(e,t){let[n,o]=Kr(e,t),s=r.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return $e(s).set(n,e),s}};function Kr(r,e){switch(r[0]){case"Q":{let t=e??C;return[C.prefix,t.decode(`${C.prefix}${r}`)]}case C.prefix:{let t=e??C;return[C.prefix,t.decode(r)]}case G.prefix:{let t=e??G;return[G.prefix,t.decode(r)]}case J.prefix:{let t=e??J;return[J.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function Qr(r,e,t){let{prefix:n}=t;if(n!==C.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let s=t.encode(r).slice(1);return e.set(n,s),s}else return o}function Yr(r,e,t){let{prefix:n}=t,o=e.get(n);if(o==null){let s=t.encode(r);return e.set(n,s),s}else return o}var Z=112,Zr=18;function Tt(r,e,t){let n=j(r),o=n+j(e),s=new Uint8Array(o+t.byteLength);return H(r,s,0),H(e,s,n),s.set(t,o),s}var en=Symbol.for("@ipld/js-cid/CID");var Ge={...Re,...Te,...Pe,...De,...Ue,...Ce,...Me,...Oe,...Fe,...Ne},Eo={...ze,..._e};function Ct(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var Nt=Ct("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),He=Ct("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=D(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),tn={utf8:Nt,"utf-8":Nt,hex:Ge.base16,latin1:He,ascii:He,binary:He,...Ge},le=tn;function v(r,e="utf8"){let t=le[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.decoder.decode(`${t.prefix}${r}`)}var rn=Math.pow(2,7),nn=Math.pow(2,14),on=Math.pow(2,21),je=Math.pow(2,28),qe=Math.pow(2,35),Xe=Math.pow(2,42),We=Math.pow(2,49),h=128,w=127;function F(r){if(r<rn)return 1;if(r<nn)return 2;if(r<on)return 3;if(r<je)return 4;if(r<qe)return 5;if(r<Xe)return 6;if(r<We)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function sn(r,e,t=0){switch(F(r)){case 8:e[t++]=r&255|h,r/=128;case 7:e[t++]=r&255|h,r/=128;case 6:e[t++]=r&255|h,r/=128;case 5:e[t++]=r&255|h,r/=128;case 4:e[t++]=r&255|h,r>>>=7;case 3:e[t++]=r&255|h,r>>>=7;case 2:e[t++]=r&255|h,r>>>=7;case 1:{e[t++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return e}function an(r,e,t=0){switch(F(r)){case 8:e.set(t++,r&255|h),r/=128;case 7:e.set(t++,r&255|h),r/=128;case 6:e.set(t++,r&255|h),r/=128;case 5:e.set(t++,r&255|h),r/=128;case 4:e.set(t++,r&255|h),r>>>=7;case 3:e.set(t++,r&255|h),r>>>=7;case 2:e.set(t++,r&255|h),r>>>=7;case 1:{e.set(t++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return e}function cn(r,e){let t=r[e],n=0;if(n+=t&w,t<h||(t=r[e+1],n+=(t&w)<<7,t<h)||(t=r[e+2],n+=(t&w)<<14,t<h)||(t=r[e+3],n+=(t&w)<<21,t<h)||(t=r[e+4],n+=(t&w)*je,t<h)||(t=r[e+5],n+=(t&w)*qe,t<h)||(t=r[e+6],n+=(t&w)*Xe,t<h)||(t=r[e+7],n+=(t&w)*We,t<h))return n;throw new RangeError("Could not decode varint")}function un(r,e){let t=r.get(e),n=0;if(n+=t&w,t<h||(t=r.get(e+1),n+=(t&w)<<7,t<h)||(t=r.get(e+2),n+=(t&w)<<14,t<h)||(t=r.get(e+3),n+=(t&w)<<21,t<h)||(t=r.get(e+4),n+=(t&w)*je,t<h)||(t=r.get(e+5),n+=(t&w)*qe,t<h)||(t=r.get(e+6),n+=(t&w)*Xe,t<h)||(t=r.get(e+7),n+=(t&w)*We,t<h))return n;throw new RangeError("Could not decode varint")}function fe(r,e,t=0){return e==null&&(e=D(F(r))),e instanceof Uint8Array?sn(r,e,t):an(r,e,t)}function he(r,e=0){return r instanceof Uint8Array?cn(r,e):un(r,e)}function Mt(r,e="utf8"){let t=le[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.encoder.encode(r).substring(1)}var Ke=class r extends Error{name="TimeoutError";constructor(e,t){super(e,t),Error.captureStackTrace?.(this,r)}},Ot=r=>r.reason??new DOMException("This operation was aborted.","AbortError");function Qe(r,e){let{milliseconds:t,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout},signal:i}=e,a,u,c=new Promise((f,d)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(i?.aborted){d(Ot(i));return}if(i&&(u=()=>{d(Ot(i))},i.addEventListener("abort",u,{once:!0})),r.then(f,d),t===Number.POSITIVE_INFINITY)return;let m=new Ke;a=s.setTimeout.call(void 0,()=>{if(n){try{f(n())}catch(z){d(z)}return}typeof r.cancel=="function"&&r.cancel(),o===!1?f():o instanceof Error?d(o):(m.message=o??`Promise timed out after ${t} milliseconds`,d(m))},t)}).finally(()=>{c.clear(),u&&i&&i.removeEventListener("abort",u)});return c.clear=()=>{s.clearTimeout.call(void 0,a),a=void 0},c}var ln=r=>{let e=r.addEventListener||r.on||r.addListener,t=r.removeEventListener||r.off||r.removeListener;if(!e||!t)throw new TypeError("Emitter is not compatible");return{addListener:e.bind(r),removeListener:t.bind(r)}};function fn(r,e,t){let n,o=new Promise((s,i)=>{if(t={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...t},!(t.count>=0&&(t.count===Number.POSITIVE_INFINITY||Number.isInteger(t.count))))throw new TypeError("The `count` option should be at least 0 or more");t.signal?.throwIfAborted();let a=[e].flat(),u=[],{addListener:l,removeListener:c}=ln(r),f=async(...m)=>{let z=t.multiArgs?m:m[0];if(t.filter)try{if(!await t.filter(z))return}catch(re){n(),i(re);return}u.push(z),t.count===u.length&&(n(),s(u))},d=(...m)=>{n(),i(t.rejectionMultiArgs?m:m[0])};n=()=>{for(let m of a)c(m,f);for(let m of t.rejectionEvents)a.includes(m)||c(m,d)};for(let m of a)l(m,f);for(let m of t.rejectionEvents)a.includes(m)||l(m,d);t.signal&&t.signal.addEventListener("abort",()=>{d(t.signal.reason)},{once:!0}),t.resolveImmediately&&s(u)});if(o.cancel=n,typeof t.timeout=="number"){let s=Qe(o,{milliseconds:t.timeout});return s.cancel=()=>{n(),s.clear()},s}return o}function Ft(r,e,t){typeof t=="function"&&(t={filter:t}),t={...t,count:1,resolveImmediately:!1};let n=fn(r,e,t),o=n.then(s=>s[0]);return o.cancel=n.cancel,o}var V=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"};function hn(r){return r.reason}async function Ye(r,e,t){if(e==null)return r;let n=t?.translateError??hn;if(e.aborted)return r.catch(()=>{}),Promise.reject(n(e));let o;try{return await Promise.race([r,new Promise((s,i)=>{o=()=>{i(n(e))},e.addEventListener("abort",o)})])}finally{o!=null&&e.removeEventListener("abort",o)}}var mn=4194304,de=class extends Error{static name="UnwrappedError";name="UnwrappedError"},et=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},tt=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},rt=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function pn(r){return typeof r?.closeRead=="function"}function bn(r){return typeof r?.close=="function"}function Ze(r){return pn(r)?r.remoteWriteStatus!=="writable"&&r.readBufferLength===0:bn(r)?r.status!=="open":!1}function wn(r){return r?.addEventListener!=null&&r?.removeEventListener!=null&&r?.send!=null&&r?.push!=null&&r?.log!=null}function gn(r,e){let t=e?.maxBufferSize??mn,n=new x,o,s=!1;if(!wn(r))throw new oe("Argument should be a Stream or a Multiaddr");let i=c=>{if(n.append(c.data),n.byteLength>t){let f=n.byteLength;n.consume(n.byteLength),o?.reject(new Error(`Read buffer overflow - ${f} > ${t}`))}o?.resolve()};r.addEventListener("message",i);let a=c=>{c.error!=null?o?.reject(c.error):o?.resolve()};r.addEventListener("close",a);let u=()=>{o?.resolve()};r.addEventListener("remoteCloseWrite",u);let l={readBuffer:n,async read(c){if(s===!0)throw new de("Stream was unwrapped");if(Ze(r)){if(n.byteLength===0&&c?.bytes==null)return null;if(c?.bytes!=null&&n.byteLength<c.bytes)throw r.log.error("closed after reading %d/%d bytes",n.byteLength,c.bytes),new V(`Unexpected EOF - stream closed after reading ${n.byteLength}/${c.bytes} bytes`)}let f=c?.bytes??1;for(o=Promise.withResolvers();;){if(n.byteLength>=f){o.resolve();break}if(await Ye(o.promise,c?.signal),Ze(r)){if(n.byteLength===0&&c?.bytes==null)return null;break}o=Promise.withResolvers()}let d=c?.bytes??n.byteLength;if(n.byteLength<d){if(Ze(r))throw r.log.error("closed while reading %d/%d bytes",n.byteLength,d),new V(`Unexpected EOF - stream closed while reading ${n.byteLength}/${d} bytes`);return l.read(c)}let m=n.sublist(0,d);return n.consume(d),m},async write(c,f){if(s===!0)throw new de("Stream was unwrapped");r.send(c)||await Ft(r,"drain",{signal:f?.signal,rejectionEvents:["close"]})},unwrap(){return s||(s=!0,r.removeEventListener("message",i),r.removeEventListener("close",a),r.removeEventListener("remoteCloseWrite",u),n.byteLength>0&&(r.log("stream unwrapped with %d unread bytes",n.byteLength),r.unshift(n))),r}};return l}function me(r,e={}){let t=gn(r,e);e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=F(e.maxDataLength));let n=e?.lengthDecoder??he,o=e?.lengthEncoder??fe;return{async read(i){let a=-1,u=new x;for(;;){let c=await t.read({...i,bytes:1});if(c==null)break;u.append(c);try{a=n(u)}catch(f){if(f instanceof RangeError)continue;throw f}if(a<0)throw new et("Invalid message length");if(e?.maxLengthLength!=null&&u.byteLength>e.maxLengthLength)throw new rt(`Message length length too long - ${u.byteLength} > ${e.maxLengthLength}`);if(a>-1)break}if(e?.maxDataLength!=null&&a>e.maxDataLength)throw new tt(`Message length too long - ${a} > ${e.maxDataLength}`);let l=await t.read({...i,bytes:a});if(l==null)throw r.log.error("tried to read %d bytes but the stream closed",a),new V(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(l.byteLength!==a)throw r.log.error("read %d/%d bytes before the stream closed",l.byteLength,a),new V(`Unexpected EOF - read ${l.byteLength}/${a} bytes before the stream closed`);return l},async write(i,a){await t.write(new x(o(i.byteLength),i),a)},async writeV(i,a){let u=new x(...i.flatMap(l=>[o(l.byteLength),l]));await t.write(u,a)},unwrap(){return t.unwrap()}}}var pe=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},W=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},be=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"},ee=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};function we(r){return r[Symbol.asyncIterator]!=null}function Pt(r,e){if(r.byteLength>e)throw new W("Message length too long")}var ye=r=>{let e=F(r),t=D(e);return fe(r,t),ye.bytes=e,t};ye.bytes=0;function xe(r,e){e=e??{};let t=e.lengthEncoder??ye,n=e?.maxDataLength??4194304;function*o(s){Pt(s,n);let i=t(s.byteLength);i instanceof Uint8Array?yield i:yield*i,s instanceof Uint8Array?yield s:yield*s}return we(r)?(async function*(){for await(let s of r)yield*o(s)})():(function*(){for(let s of r)yield*o(s)})()}xe.single=(r,e)=>{e=e??{};let t=e.lengthEncoder??ye,n=e?.maxDataLength??4194304;return Pt(r,n),new x(t(r.byteLength),r)};var k;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(k||(k={}));var ot=r=>{let e=he(r);return ot.bytes=F(e),e};ot.bytes=0;function nt(r,e){let t=new x,n=k.LENGTH,o=-1,s=e?.lengthDecoder??ot,i=e?.maxLengthLength??8,a=e?.maxDataLength??4194304;function*u(){for(;t.byteLength>0;){if(n===k.LENGTH)try{if(o=s(t),o<0)throw new pe("Invalid message length");if(o>a)throw new W("Message length too long");let l=s.bytes;t.consume(l),e?.onLength!=null&&e.onLength(o),n=k.DATA}catch(l){if(l instanceof RangeError){if(t.byteLength>i)throw new be("Message length length too long");break}throw l}if(n===k.DATA){if(t.byteLength<o)break;let l=t.sublist(0,o);t.consume(o),e?.onData!=null&&e.onData(l),yield l,n=k.LENGTH}}}return we(r)?(async function*(){for await(let l of r)t.append(l),yield*u();if(t.byteLength>0)throw new ee("Unexpected end of input")})():(function*(){for(let l of r)t.append(l),yield*u();if(t.byteLength>0)throw new ee("Unexpected end of input")})()}nt.fromReader=(r,e)=>{let t=1,n=(async function*(){for(;;)try{let{done:s,value:i}=await r.next(t);if(s===!0)return;i!=null&&(yield i)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{t=1}})();return nt(n,{...e??{},onLength:s=>{t=s}})};var xn=v(`
3
+ `);async function te(r,e){let n=(await r.read(e)).subarray();if(n.byteLength===0||n[n.length-1]!==xn[0])throw new ie("Missing newline");return Mt(n).trimEnd()}async function Bt(r,e,t={}){if(e=Array.isArray(e)?[...e]:[e],e.length===0)throw new Error("At least one protocol must be specified");let n=r.log.newScope("mss:select"),o=me(r,{...t,maxDataLength:1024});for(let s=0;s<e.length;s++){let i=e[s],a;if(s===0){n.trace('write ["%s", "%s"]',S,i);let u=v(`${S}
4
+ `),l=v(`${i}
5
+ `);if(await o.writeV([u,l],t),n.trace("reading multistream-select header"),a=await te(o,t),n.trace('read "%s"',a),a!==S){n.error("did not read multistream-select header from response");break}}else n.trace('write "%s"',i),await o.write(v(`${i}
6
+ `),t);if(n.trace("reading protocol response"),a=await te(o,t),n.trace('read "%s"',a),a===i)return n.trace('selected "%s" after negotiation',a),o.unwrap(),i}throw new se(`Protocol selection failed - could not negotiate ${e}`)}async function _t(r,e,t={}){e=Array.isArray(e)?e:[e];let n=r.log.newScope("mss:handle"),o=me(r,{...t,maxDataLength:1024,maxLengthLength:2});for(;;){n.trace("reading incoming string");let s=await te(o,t);if(n.trace('read "%s"',s),s===S){n.trace('respond with "%s" for "%s"',S,s),await o.write(v(`${S}
7
+ `),t),n.trace('responded with "%s" for "%s"',S,s);continue}if(e.includes(s))return n.trace('respond with "%s" for "%s"',s,s),await o.write(v(`${s}
8
+ `),t),n.trace('responded with "%s" for "%s"',s,s),o.unwrap(),s;if(s==="ls"){let i=new x(...e.map(a=>xe.single(v(`${a}
9
+ `))),v(`
10
+ `));n.trace('respond with "%s" for %s',e,s),await o.write(i,t),n.trace('responded with "%s" for %s',e,s);continue}n.trace('respond with "na" for "%s"',s),await o.write(v(`na
11
+ `),t),n('responded with "na" for "%s"',s)}}return Ht(En);})();
12
12
  return Libp2PMultistreamSelect}));
13
13
  //# sourceMappingURL=index.min.js.map