@libp2p/fetch
Advanced tools
Comparing version
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PFetch = factory()}(typeof self !== 'undefined' ? self : this, function () { | ||
"use strict";var Libp2PFetch=(()=>{var Ut=Object.defineProperty;var ar=Object.getOwnPropertyDescriptor;var cr=Object.getOwnPropertyNames;var hr=Object.prototype.hasOwnProperty;var y=(r,t)=>{for(var e in t)Ut(r,e,{get:t[e],enumerable:!0})},ur=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of cr(t))!hr.call(r,i)&&i!==e&&Ut(r,i,{get:()=>t[i],enumerable:!(n=ar(t,i))||n.enumerable});return r};var fr=r=>ur(Ut({},"__esModule",{value:!0}),r);var Bn={};y(Bn,{fetch:()=>Tn});var at=class extends Error{static name="AbortError";constructor(t="The operation was aborted"){super(t),this.name="AbortError"}};var ct=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}};var ht=class extends Error{static name="InvalidMessageError";constructor(t="Invalid message"){super(t),this.name="InvalidMessageError"}},ut=class extends Error{static name="ProtocolError";constructor(t="Protocol error"){super(t),this.name="ProtocolError"}};function G(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var ft=class extends Error{type;code;constructor(t,e,n){super(t??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=e??"ABORT_ERR"}};async function ye(r,t,e){if(t==null)return r;if(t.aborted)return r.catch(()=>{}),Promise.reject(new ft(e?.errorMessage,e?.errorCode,e?.errorName));let n,i=new ft(e?.errorMessage,e?.errorCode,e?.errorName);try{return await Promise.race([r,new Promise((o,s)=>{n=()=>{s(i)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var Dt=class{readNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.readNext=G(),this.haveNext=G()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let t=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=G(),t}async throw(t){return this.ended=!0,t!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(t)),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),t}async push(t,e){await this._push(t,e)}async end(t,e){t!=null?await this.throw(t):await this._push(void 0,e)}async _push(t,e){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=G(),await ye(this.readNext.promise,e?.signal,e)}};function Ee(){return new Dt}function S(r=0){return new Uint8Array(r)}function b(r=0){return new Uint8Array(r)}function Ft(r,t){t==null&&(t=r.reduce((i,o)=>i+o.length,0));let e=b(t),n=0;for(let i of r)e.set(i,n),n+=i.length;return e}function Le(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var Ae=Symbol.for("@achingbrain/uint8arraylist");function Se(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let i=e+n.byteLength;if(t<i)return{buf:n,index:t-e};e=i}throw new RangeError("index is out of bounds")}function lt(r){return!!r?.[Ae]}var C=class r{bufs;length;[Ae]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(lt(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(lt(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=Se(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Se(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(lt(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:i}=this._subList(t,e);return Ft(n,i)}subarray(t,e){let{bufs:n,length:i}=this._subList(t,e);return n.length===1?n[0]:Ft(n,i)}sublist(t,e){let{bufs:n,length:i}=this._subList(t,e),o=new r;return o.length=i,o.bufs=[...n],o}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,t>=c)continue;let h=t>=a&&t<c,l=e>a&&e<=c;if(h&&l){if(t===a&&e===c){n.push(s);break}let f=t-a;n.push(s.subarray(f,f+(e-t)));break}if(h){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(l){if(e===c){n.push(s);break}n.push(s.subarray(0,e-a));break}n.push(s)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!lt(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let f=0;f<o;f++)s[f]=-1;for(let f=0;f<i;f++)s[n[f]]=f;let a=s,c=this.byteLength-n.byteLength,h=n.byteLength-1,l;for(let f=e;f<=c;f+=l){l=0;for(let w=h;w>=0;w--){let ot=this.get(f+w);if(n[w]!==ot){l=Math.max(1,w-a[ot]);break}}if(l===0)return f}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=b(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let i=S(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,e,n),this.write(i,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let i=S(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,e,n),this.write(i,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let i=S(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,e,n),this.write(i,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=b(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let i=S(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,e,n),this.write(i,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let i=S(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,e,n),this.write(i,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let i=S(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,e,n),this.write(i,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let i=S(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,e,n),this.write(i,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let i=S(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,e,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!Le(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((i,o)=>i+o.byteLength,0)),n.length=e,n}};var dt=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};var vt=class extends Error{code;constructor(t,e){super(t),this.code=e}},Rt=class extends vt{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted",this.name="AbortError"}};function Ne(r,t){let e=Ee();r.sink(e).catch(async s=>{await e.end(s)}),r.sink=async s=>{for await(let a of s)await e.push(a);await e.end()};let n=r.source;r.source[Symbol.iterator]!=null?n=r.source[Symbol.iterator]():r.source[Symbol.asyncIterator]!=null&&(n=r.source[Symbol.asyncIterator]());let i=new C;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,h=new Promise((l,f)=>{c=()=>{f(new Rt("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:f,value:w}=await Promise.race([n.next(),h]);return f===!0?new C:w}for(;i.byteLength<s;){let{value:f,done:w}=await Promise.race([n.next(),h]);if(w===!0)throw new dt("unexpected end of input");i.append(f)}let l=i.sublist(0,s);return i.consume(s),l}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(s,a)=>{a?.signal?.throwIfAborted(),s instanceof Uint8Array?await e.push(s,a):await e.push(s.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let s=r.source;r.source=async function*(){t?.yieldBytes===!1?yield i:yield*i,yield*s}()}return r}}}var lr=Math.pow(2,7),dr=Math.pow(2,14),pr=Math.pow(2,21),Ot=Math.pow(2,28),Ct=Math.pow(2,35),Tt=Math.pow(2,42),Bt=Math.pow(2,49),u=128,m=127;function T(r){if(r<lr)return 1;if(r<dr)return 2;if(r<pr)return 3;if(r<Ot)return 4;if(r<Ct)return 5;if(r<Tt)return 6;if(r<Bt)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Mt(r,t,e=0){switch(T(r)){case 8:t[e++]=r&255|u,r/=128;case 7:t[e++]=r&255|u,r/=128;case 6:t[e++]=r&255|u,r/=128;case 5:t[e++]=r&255|u,r/=128;case 4:t[e++]=r&255|u,r>>>=7;case 3:t[e++]=r&255|u,r>>>=7;case 2:t[e++]=r&255|u,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function mr(r,t,e=0){switch(T(r)){case 8:t.set(e++,r&255|u),r/=128;case 7:t.set(e++,r&255|u),r/=128;case 6:t.set(e++,r&255|u),r/=128;case 5:t.set(e++,r&255|u),r/=128;case 4:t.set(e++,r&255|u),r>>>=7;case 3:t.set(e++,r&255|u),r>>>=7;case 2:t.set(e++,r&255|u),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function kt(r,t){let e=r[t],n=0;if(n+=e&m,e<u||(e=r[t+1],n+=(e&m)<<7,e<u)||(e=r[t+2],n+=(e&m)<<14,e<u)||(e=r[t+3],n+=(e&m)<<21,e<u)||(e=r[t+4],n+=(e&m)*Ot,e<u)||(e=r[t+5],n+=(e&m)*Ct,e<u)||(e=r[t+6],n+=(e&m)*Tt,e<u)||(e=r[t+7],n+=(e&m)*Bt,e<u))return n;throw new RangeError("Could not decode varint")}function gr(r,t){let e=r.get(t),n=0;if(n+=e&m,e<u||(e=r.get(t+1),n+=(e&m)<<7,e<u)||(e=r.get(t+2),n+=(e&m)<<14,e<u)||(e=r.get(t+3),n+=(e&m)<<21,e<u)||(e=r.get(t+4),n+=(e&m)*Ot,e<u)||(e=r.get(t+5),n+=(e&m)*Ct,e<u)||(e=r.get(t+6),n+=(e&m)*Tt,e<u)||(e=r.get(t+7),n+=(e&m)*Bt,e<u))return n;throw new RangeError("Could not decode varint")}function Ie(r,t,e=0){return t==null&&(t=b(T(r))),t instanceof Uint8Array?Mt(r,t,e):mr(r,t,e)}function Ue(r,t=0){return r instanceof Uint8Array?kt(r,t):gr(r,t)}var pt=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},mt=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},gt=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function De(r,t={}){let e=Ne(r,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=T(t.maxDataLength));let n=t?.lengthDecoder??Ue,i=t?.lengthEncoder??Ie;return{read:async s=>{let a=-1,c=new C;for(;;){c.append(await e.read(1,s));try{a=n(c)}catch(h){if(h instanceof RangeError)continue;throw h}if(a<0)throw new pt("Invalid message length");if(t?.maxLengthLength!=null&&c.byteLength>t.maxLengthLength)throw new gt("message length length too long");if(a>-1)break}if(t?.maxDataLength!=null&&a>t.maxDataLength)throw new mt("message length too long");return e.read(a,s)},write:async(s,a)=>{await e.write(new C(i(s.byteLength),s),a)},writeV:async(s,a)=>{let c=new C(...s.flatMap(h=>[i(h.byteLength),h]));await e.write(c,a)},unwrap:()=>e.unwrap()}}function Vt(r,t){let e=De(r,t),n={read:async(i,o)=>{let s=await e.read(o);return i.decode(s)},write:async(i,o,s)=>{await e.write(o.encode(i),s)},writeV:async(i,o,s)=>{await e.writeV(i.map(a=>o.encode(a)),s)},pb:i=>({read:async o=>n.read(i,o),write:async(o,s)=>n.write(o,i,s),writeV:async(o,s)=>n.writeV(o,i,s),unwrap:()=>n}),unwrap:()=>e.unwrap()};return n}var Gt={};y(Gt,{base10:()=>Sr});var di=new Uint8Array(0);function Fe(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function B(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 ve(r){return new TextEncoder().encode(r)}function Re(r){return new TextDecoder().decode(r)}function xr(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var i=0;i<r.length;i++){var o=r.charAt(i),s=o.charCodeAt(0);if(e[s]!==255)throw new TypeError(o+" is ambiguous");e[s]=i}var a=r.length,c=r.charAt(0),h=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var x=0,_=0,N=0,D=d.length;N!==D&&d[N]===0;)N++,x++;for(var F=(D-N)*l+1>>>0,L=new Uint8Array(F);N!==D;){for(var v=d[N],M=0,I=F-1;(v!==0||M<_)&&I!==-1;I--,M++)v+=256*L[I]>>>0,L[I]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");_=M,N++}for(var O=F-_;O!==F&&L[O]===0;)O++;for(var st=c.repeat(x);O<F;++O)st+=r.charAt(L[O]);return st}function w(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var x=0;if(d[x]!==" "){for(var _=0,N=0;d[x]===c;)_++,x++;for(var D=(d.length-x)*h+1>>>0,F=new Uint8Array(D);d[x];){var L=e[d.charCodeAt(x)];if(L===255)return;for(var v=0,M=D-1;(L!==0||v<N)&&M!==-1;M--,v++)L+=a*F[M]>>>0,F[M]=L%256>>>0,L=L/256>>>0;if(L!==0)throw new Error("Non-zero carry");N=v,x++}if(d[x]!==" "){for(var I=D-N;I!==D&&F[I]===0;)I++;for(var O=new Uint8Array(_+(D-I)),st=_;I!==D;)O[st++]=F[I++];return O}}}function ot(d){var x=w(d);if(x)return x;throw new Error(`Non-${t} character`)}return{encode:f,decodeUnsafe:w,decode:ot}}var br=xr,yr=br,Ce=yr;var _t=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Pt=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let i=e.codePointAt(0);if(i===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=i,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Te(this,t)}},zt=class{decoders;constructor(t){this.decoders=t}or(t){return Te(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Te(r,t){return new zt({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var $t=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,i){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=i,this.encoder=new _t(t,e,n),this.decoder=new Pt(t,e,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function q({name:r,prefix:t,encode:e,decode:n}){return new $t(r,t,e,n)}function k({name:r,prefix:t,alphabet:e}){let{encode:n,decode:i}=Ce(e,r);return q({prefix:t,name:r,encode:n,decode:o=>B(i(o))})}function Er(r,t,e,n){let i={};for(let l=0;l<t.length;++l)i[t[l]]=l;let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*e/8|0),a=0,c=0,h=0;for(let l=0;l<o;++l){let f=i[r[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|f,a+=e,a>=8&&(a-=8,s[h++]=255&c>>a)}if(a>=e||(255&c<<8-a)!==0)throw new SyntaxError("Unexpected end of data");return s}function Lr(r,t,e){let n=t[t.length-1]==="=",i=(1<<e)-1,o="",s=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],s+=8;s>e;)s-=e,o+=t[i&a>>s];if(s!==0&&(o+=t[i&a<<e-s]),n)for(;(o.length*e&7)!==0;)o+="=";return o}function p({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return q({prefix:t,name:r,encode(i){return Lr(i,n,e)},decode(i){return Er(i,n,e,r)}})}var Sr=k({prefix:"9",name:"base10",alphabet:"0123456789"});var qt={};y(qt,{base16:()=>Ar,base16upper:()=>Nr});var Ar=p({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Nr=p({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Kt={};y(Kt,{base2:()=>Ir});var Ir=p({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Xt={};y(Xt,{base256emoji:()=>Rr});var Be=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}"),Ur=Be.reduce((r,t,e)=>(r[e]=t,r),[]),Dr=Be.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function Fr(r){return r.reduce((t,e)=>(t+=Ur[e],t),"")}function vr(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let i=Dr[n];if(i==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(i)}return new Uint8Array(t)}var Rr=q({prefix:"\u{1F680}",name:"base256emoji",encode:Fr,decode:vr});var jt={};y(jt,{base32:()=>K,base32hex:()=>Br,base32hexpad:()=>kr,base32hexpadupper:()=>Vr,base32hexupper:()=>Mr,base32pad:()=>Cr,base32padupper:()=>Tr,base32upper:()=>Or,base32z:()=>_r});var K=p({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Or=p({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Cr=p({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Tr=p({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Br=p({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Mr=p({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),kr=p({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Vr=p({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),_r=p({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Wt={};y(Wt,{base36:()=>Q,base36upper:()=>Pr});var Q=k({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Pr=k({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Jt={};y(Jt,{base58btc:()=>R,base58flickr:()=>zr});var R=k({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),zr=k({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ht={};y(Ht,{base64:()=>$r,base64pad:()=>Gr,base64url:()=>qr,base64urlpad:()=>Kr});var $r=p({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Gr=p({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),qr=p({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Kr=p({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Qt={};y(Qt,{base8:()=>Xr});var Xr=p({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Zt={};y(Zt,{identity:()=>jr});var jr=q({prefix:"\0",name:"identity",encode:r=>Re(r),decode:r=>ve(r)});var Fi=new TextEncoder,vi=new TextDecoder;var te={};y(te,{identity:()=>wn});var Hr=Ve,Me=128,Qr=127,Zr=~Qr,Yr=Math.pow(2,31);function Ve(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Yr;)t[e++]=r&255|Me,r/=128;for(;r&Zr;)t[e++]=r&255|Me,r>>>=7;return t[e]=r|0,Ve.bytes=e-n+1,t}var tn=Yt,en=128,ke=127;function Yt(r,n){var e=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a)throw Yt.bytes=0,new RangeError("Could not decode varint");s=r[o++],e+=i<28?(s&ke)<<i:(s&ke)*Math.pow(2,i),i+=7}while(s>=en);return Yt.bytes=o-n,e}var rn=Math.pow(2,7),nn=Math.pow(2,14),on=Math.pow(2,21),sn=Math.pow(2,28),an=Math.pow(2,35),cn=Math.pow(2,42),hn=Math.pow(2,49),un=Math.pow(2,56),fn=Math.pow(2,63),ln=function(r){return r<rn?1:r<nn?2:r<on?3:r<sn?4:r<an?5:r<cn?6:r<hn?7:r<un?8:r<fn?9:10},dn={encode:Hr,decode:tn,encodingLength:ln},pn=dn,Z=pn;function Y(r,t=0){return[Z.decode(r,t),Z.decode.bytes]}function X(r,t,e=0){return Z.encode(r,t,e),t}function j(r){return Z.encodingLength(r)}function P(r,t){let e=t.byteLength,n=j(r),i=n+j(e),o=new Uint8Array(i+e);return X(r,o,0),X(e,o,n),o.set(t,i),new W(r,e,t,o)}function _e(r){let t=B(r),[e,n]=Y(t),[i,o]=Y(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new W(e,i,s,t)}function Pe(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Fe(r.bytes,e.bytes)}}var W=class{code;size;digest;bytes;constructor(t,e,n,i){this.code=t,this.size=e,this.digest=n,this.bytes=i}};var ze=0,mn="identity",$e=B;function gn(r){return P(ze,$e(r))}var wn={code:ze,name:mn,encode:$e,digest:gn};var ne={};y(ne,{sha256:()=>xn,sha512:()=>bn});function re({name:r,code:t,encode:e}){return new ee(r,t,e)}var ee=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?P(this.code,e):e.then(n=>P(this.code,n))}else throw Error("Unknown type, must be binary type")}};function qe(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var xn=re({name:"sha2-256",code:18,encode:qe("SHA-256")}),bn=re({name:"sha2-512",code:19,encode:qe("SHA-512")});function Ke(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return En(e,ie(r),t??R.encoder);default:return Ln(e,ie(r),t??K.encoder)}}var Xe=new WeakMap;function ie(r){let t=Xe.get(r);if(t==null){let e=new Map;return Xe.set(r,e),e}return t}var xt=class r{code;version;multihash;bytes;"/";constructor(t,e,n,i){this.code=e,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==et)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Sn)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=P(t,e);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(t){return r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&Pe(t.multihash,n.multihash)}toString(t){return Ke(this,t)}toJSON(){return{"/":Ke(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:i,multihash:o,bytes:s}=e;return new r(n,i,o,s??je(n,i,o.bytes))}else if(e[An]===!0){let{version:n,multihash:i,code:o}=e,s=_e(i);return r.create(n,o,s)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==et)throw new Error(`Version 0 CID must use dag-pb (code: ${et}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let i=je(t,e,n.bytes);return new r(t,e,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,et,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,i=B(t.subarray(n,n+e.multihashSize));if(i.byteLength!==e.multihashSize)throw new Error("Incorrect length");let o=i.subarray(e.multihashSize-e.digestSize),s=new W(e.multihashCode,e.digestSize,o,i);return[e.version===0?r.createV0(s):r.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[f,w]=Y(t.subarray(e));return e+=w,f},i=n(),o=et;if(i===18?(i=0,e=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=e,a=n(),c=n(),h=e+c,l=h-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:l,size:h}}static parse(t,e){let[n,i]=yn(t,e),o=r.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return ie(o).set(n,t),o}};function yn(r,t){switch(r[0]){case"Q":{let e=t??R;return[R.prefix,e.decode(`${R.prefix}${r}`)]}case R.prefix:{let e=t??R;return[R.prefix,e.decode(r)]}case K.prefix:{let e=t??K;return[K.prefix,e.decode(r)]}case Q.prefix:{let e=t??Q;return[Q.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function En(r,t,e){let{prefix:n}=e;if(n!==R.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let i=t.get(n);if(i==null){let o=e.encode(r).slice(1);return t.set(n,o),o}else return i}function Ln(r,t,e){let{prefix:n}=e,i=t.get(n);if(i==null){let o=e.encode(r);return t.set(n,o),o}else return i}var et=112,Sn=18;function je(r,t,e){let n=j(r),i=n+j(t),o=new Uint8Array(i+e.byteLength);return X(r,o,0),X(t,o,n),o.set(e,i),o}var An=Symbol.for("@ipld/js-cid/CID");var oe={...Zt,...Kt,...Qt,...Gt,...qt,...jt,...Wt,...Jt,...Ht,...Xt},Zi={...ne,...te};function Je(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var We=Je("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),se=Je("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=b(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Nn={utf8:We,"utf-8":We,hex:oe.base16,latin1:se,ascii:se,binary:se,...oe},bt=Nn;function J(r,t="utf8"){let e=bt[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function ae(r,t="utf8"){let e=bt[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var He="0.0.1",Qe="fetch";var ce=new Float32Array([-0]),V=new Uint8Array(ce.buffer);function Ze(r,t,e){ce[0]=r,t[e]=V[0],t[e+1]=V[1],t[e+2]=V[2],t[e+3]=V[3]}function Ye(r,t){return V[0]=r[t],V[1]=r[t+1],V[2]=r[t+2],V[3]=r[t+3],ce[0]}var he=new Float64Array([-0]),g=new Uint8Array(he.buffer);function tr(r,t,e){he[0]=r,t[e]=g[0],t[e+1]=g[1],t[e+2]=g[2],t[e+3]=g[3],t[e+4]=g[4],t[e+5]=g[5],t[e+6]=g[6],t[e+7]=g[7]}function er(r,t){return g[0]=r[t],g[1]=r[t+1],g[2]=r[t+2],g[3]=r[t+3],g[4]=r[t+4],g[5]=r[t+5],g[6]=r[t+6],g[7]=r[t+7],he[0]}var In=BigInt(Number.MAX_SAFE_INTEGER),Un=BigInt(Number.MIN_SAFE_INTEGER),E=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return z;if(t<In&&t>Un)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,i=t-(n<<32n);return e&&(n=~n|0n,i=~i|0n,++i>rr&&(i=0n,++n>rr&&(n=0n))),new r(Number(i),Number(n))}static fromNumber(t){if(t===0)return z;let e=t<0;e&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return e&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new r(n,i)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):z}},z=new E(0,0);z.toBigInt=function(){return 0n};z.zzEncode=z.zzDecode=function(){return this};z.length=function(){return 1};var rr=4294967296n;function nr(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function ir(r,t,e){if(e-t<1)return"";let i,o=[],s=0,a;for(;t<e;)a=r[t++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function ue(r,t,e){let n=e,i,o;for(let s=0;s<r.length;++s)i=r.charCodeAt(s),i<128?t[e++]=i:i<2048?(t[e++]=i>>6|192,t[e++]=i&63|128):(i&64512)===55296&&((o=r.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,t[e++]=i>>18|240,t[e++]=i>>12&63|128,t[e++]=i>>6&63|128,t[e++]=i&63|128):(t[e++]=i>>12|224,t[e++]=i>>6&63|128,t[e++]=i&63|128);return e-n}function U(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function yt(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var fe=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,U(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw U(this,4);return yt(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw U(this,4);return yt(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw U(this,4);let t=Ye(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw U(this,4);let t=er(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw U(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return ir(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw U(this,t);this.pos+=t}else do if(this.pos>=this.len)throw U(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new E(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw U(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw U(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw U(this,8);let t=yt(this.buf,this.pos+=4),e=yt(this.buf,this.pos+=4);return new E(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=kt(this.buf,this.pos);return this.pos+=T(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function le(r){return new fe(r instanceof Uint8Array?r:r.subarray())}function Et(r,t,e){let n=le(r);return t.decode(n,void 0,e)}function de(r){let t=r??8192,e=t>>>1,n,i=t;return function(s){if(s<1||s>e)return b(s);i+s>t&&(n=b(t),i=0);let a=n.subarray(i,i+=s);return(i&7)!==0&&(i=(i|7)+1),a}}var $=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function pe(){}var ge=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Dn=de();function Fn(r){return globalThis.Buffer!=null?b(r):Dn(r)}var nt=class{len;head;tail;states;constructor(){this.len=0,this.head=new $(pe,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new $(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new we((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(Lt,10,E.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=E.fromBigInt(t);return this._push(Lt,e.length(),e)}uint64Number(t){return this._push(Mt,T(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=E.fromBigInt(t).zzEncode();return this._push(Lt,e.length(),e)}sint64Number(t){let e=E.fromNumber(t).zzEncode();return this._push(Lt,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(me,1,t?1:0)}fixed32(t){return this._push(rt,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=E.fromBigInt(t);return this._push(rt,4,e.lo)._push(rt,4,e.hi)}fixed64Number(t){let e=E.fromNumber(t);return this._push(rt,4,e.lo)._push(rt,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(Ze,4,t)}double(t){return this._push(tr,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(me,1,0):this.uint32(e)._push(Rn,e,t)}string(t){let e=nr(t);return e!==0?this.uint32(e)._push(ue,e,t):this._push(me,1,0)}fork(){return this.states=new ge(this),this.head=this.tail=new $(pe,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new $(pe,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=Fn(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function me(r,t,e){t[e]=r&255}function vn(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var we=class extends ${next;constructor(t,e){super(vn,t,e),this.next=void 0}};function Lt(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function rt(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function Rn(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(nt.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(On,t,r),this},nt.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Cn,t,r),this});function On(r,t,e){t.set(r,e)}function Cn(r,t,e){r.length<40?ue(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(J(r),e)}function xe(){return new nt}function St(r,t){let e=xe();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var H;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(H||(H={}));function At(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function be(r){function t(i){if(r[i.toString()]==null)throw new Error("Invalid enum value");return r[i]}let e=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return At("enum",H.VARINT,e,n)}function Nt(r,t){return At("message",H.LENGTH_DELIMITED,r,t)}var it;(function(r){let t;r.codec=()=>(t==null&&(t=Nt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.identifier!=null&&e.identifier.byteLength>0&&(n.uint32(10),n.bytes(e.identifier)),i.lengthDelimited!==!1&&n.ldelim()},(e,n,i={})=>{let o={identifier:S(0)},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let a=e.uint32();switch(a>>>3){case 1:{o.identifier=e.bytes();break}default:{e.skipType(a&7);break}}}return o})),t),r.encode=e=>St(e,r.codec()),r.decode=(e,n)=>Et(e,r.codec(),n)})(it||(it={}));var A;(function(r){let t;(function(i){i.OK="OK",i.NOT_FOUND="NOT_FOUND",i.ERROR="ERROR"})(t=r.StatusCode||(r.StatusCode={}));let e;(function(i){i[i.OK=0]="OK",i[i.NOT_FOUND=1]="NOT_FOUND",i[i.ERROR=2]="ERROR"})(e||(e={})),function(i){i.codec=()=>be(e)}(t=r.StatusCode||(r.StatusCode={}));let n;r.codec=()=>(n==null&&(n=Nt((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.status!=null&&e[i.status]!==0&&(o.uint32(8),r.StatusCode.codec().encode(i.status,o)),i.data!=null&&i.data.byteLength>0&&(o.uint32(18),o.bytes(i.data)),s.lengthDelimited!==!1&&o.ldelim()},(i,o,s={})=>{let a={status:t.OK,data:S(0)},c=o==null?i.len:i.pos+o;for(;i.pos<c;){let h=i.uint32();switch(h>>>3){case 1:{a.status=r.StatusCode.codec().decode(i);break}case 2:{a.data=i.bytes();break}default:{i.skipType(h&7);break}}}return a})),n),r.encode=i=>St(i,r.codec()),r.decode=(i,o)=>Et(i,r.codec(),o)})(A||(A={}));var sr=1e4,It=class{protocol;components;lookupFunctions;started;init;log;constructor(t,e={}){this.log=t.logger.forComponent("libp2p:fetch"),this.started=!1,this.components=t,this.protocol=`/${e.protocolPrefix??"libp2p"}/${Qe}/${He}`,this.lookupFunctions=new Map,this.handleMessage=this.handleMessage.bind(this),this.init=e}[Symbol.toStringTag]="@libp2p/fetch";async start(){await this.components.registrar.handle(this.protocol,t=>{this.handleMessage(t).then(async()=>{await t.stream.close()}).catch(e=>{this.log.error("error handling message - %e",e)})},{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}async fetch(t,e,n={}){typeof e=="string"&&(e=J(e)),this.log.trace("dialing %s to %p",this.protocol,t);let i=await this.components.connectionManager.openConnection(t,n),o=n.signal,s,a=()=>{};if(o==null){let c=this.init.timeout??sr;this.log.trace("using default timeout of %d ms",c),o=AbortSignal.timeout(c)}try{s=await i.newStream(this.protocol,{signal:o}),a=()=>{s?.abort(new at)},o.addEventListener("abort",a,{once:!0}),this.log.trace("fetch %m",e);let c=Vt(s);await c.write({identifier:e},it,n);let h=await c.read(A,n);switch(await c.unwrap().close(n),h.status){case A.StatusCode.OK:return this.log.trace("received status OK for %m",e),h.data;case A.StatusCode.NOT_FOUND:{this.log("received status NOT_FOUND for %m",e);return}case A.StatusCode.ERROR:{this.log("received status ERROR for %m",e);let l=ae(h.data);throw new ut("Error in fetch protocol response: "+l)}default:throw this.log("received status unknown for %m",e),new ht("Unknown response status")}}catch(c){throw s?.abort(c),c}finally{o.removeEventListener("abort",a),s!=null&&await s.close()}}async handleMessage(t){let{stream:e}=t,n=AbortSignal.timeout(this.init.timeout??sr);try{let i=Vt(e),o=await i.read(it,{signal:n}),s,a=ae(o.identifier),c=this._getLookupFunction(a);if(c==null){this.log.trace("sending status ERROR for %m",o.identifier);let h=J("No lookup function registered for key");s={status:A.StatusCode.ERROR,data:h}}else{this.log.trace("lookup data with identifier %s",c.prefix);try{let h=await c.fn(o.identifier);h==null?(this.log.trace("sending status NOT_FOUND for %m",o.identifier),s={status:A.StatusCode.NOT_FOUND,data:new Uint8Array(0)}):(this.log.trace("sending status OK for %m",o.identifier),s={status:A.StatusCode.OK,data:h})}catch(h){this.log.error("error during lookup of %m - %e",o.identifier,h);let l=J(h.message);s={status:A.StatusCode.ERROR,data:l}}}await i.write(s,A,{signal:n}),await i.unwrap().close({signal:n})}catch(i){this.log.error("error answering fetch request - %e",i),e.abort(i)}}_getLookupFunction(t){for(let e of this.lookupFunctions.keys())if(t.startsWith(e)){let n=this.lookupFunctions.get(e);if(n!=null)return{fn:n,prefix:e}}}registerLookupFunction(t,e){if(this.lookupFunctions.has(t))throw new ct(`Fetch protocol handler for key prefix '${t}' already registered`);this.lookupFunctions.set(t,e)}unregisterLookupFunction(t,e){e!=null&&this.lookupFunctions.get(t)!==e||this.lookupFunctions.delete(t)}};function Tn(r={}){return t=>new It(t,r)}return fr(Bn);})(); | ||
"use strict";var Libp2PFetch=(()=>{var Ut=Object.defineProperty;var ar=Object.getOwnPropertyDescriptor;var cr=Object.getOwnPropertyNames;var hr=Object.prototype.hasOwnProperty;var y=(r,t)=>{for(var e in t)Ut(r,e,{get:t[e],enumerable:!0})},ur=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of cr(t))!hr.call(r,i)&&i!==e&&Ut(r,i,{get:()=>t[i],enumerable:!(n=ar(t,i))||n.enumerable});return r};var fr=r=>ur(Ut({},"__esModule",{value:!0}),r);var Bn={};y(Bn,{fetch:()=>Tn});var at=class extends Error{static name="AbortError";constructor(t="The operation was aborted"){super(t),this.name="AbortError"}};var ct=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}};var ht=class extends Error{static name="InvalidMessageError";constructor(t="Invalid message"){super(t),this.name="InvalidMessageError"}},ut=class extends Error{static name="ProtocolError";constructor(t="Protocol error"){super(t),this.name="ProtocolError"}};function G(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var ft=class extends Error{type;code;constructor(t,e,n){super(t??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=e??"ABORT_ERR"}};async function ye(r,t,e){if(t==null)return r;if(t.aborted)return r.catch(()=>{}),Promise.reject(new ft(e?.errorMessage,e?.errorCode,e?.errorName));let n,i=new ft(e?.errorMessage,e?.errorCode,e?.errorName);try{return await Promise.race([r,new Promise((o,s)=>{n=()=>{s(i)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var Dt=class{readNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.readNext=G(),this.haveNext=G()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let t=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=G(),t}async throw(t){return this.ended=!0,t!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(t)),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return this.ended=!0,this.nextResult=t,this.haveNext.resolve(),t}async push(t,e){await this._push(t,e)}async end(t,e){t!=null?await this.throw(t):await this._push(void 0,e)}async _push(t,e){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=G(),await ye(this.readNext.promise,e?.signal,e)}};function Ee(){return new Dt}function S(r=0){return new Uint8Array(r)}function b(r=0){return new Uint8Array(r)}function Ft(r,t){t==null&&(t=r.reduce((i,o)=>i+o.length,0));let e=b(t),n=0;for(let i of r)e.set(i,n),n+=i.length;return e}function Le(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var Ae=Symbol.for("@achingbrain/uint8arraylist");function Se(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let i=e+n.byteLength;if(t<i)return{buf:n,index:t-e};e=i}throw new RangeError("index is out of bounds")}function lt(r){return!!r?.[Ae]}var C=class r{bufs;length;[Ae]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(lt(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(lt(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=Se(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Se(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(lt(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:i}=this._subList(t,e);return Ft(n,i)}subarray(t,e){let{bufs:n,length:i}=this._subList(t,e);return n.length===1?n[0]:Ft(n,i)}sublist(t,e){let{bufs:n,length:i}=this._subList(t,e),o=new r;return o.length=i,o.bufs=[...n],o}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,t>=c)continue;let h=t>=a&&t<c,l=e>a&&e<=c;if(h&&l){if(t===a&&e===c){n.push(s);break}let f=t-a;n.push(s.subarray(f,f+(e-t)));break}if(h){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(l){if(e===c){n.push(s);break}n.push(s.subarray(0,e-a));break}n.push(s)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!lt(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let f=0;f<o;f++)s[f]=-1;for(let f=0;f<i;f++)s[n[f]]=f;let a=s,c=this.byteLength-n.byteLength,h=n.byteLength-1,l;for(let f=e;f<=c;f+=l){l=0;for(let w=h;w>=0;w--){let ot=this.get(f+w);if(n[w]!==ot){l=Math.max(1,w-a[ot]);break}}if(l===0)return f}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=b(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let i=S(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,e,n),this.write(i,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let i=S(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,e,n),this.write(i,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let i=S(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,e,n),this.write(i,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=b(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let i=S(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,e,n),this.write(i,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let i=S(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,e,n),this.write(i,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let i=S(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,e,n),this.write(i,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let i=S(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,e,n),this.write(i,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let i=S(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,e,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!Le(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((i,o)=>i+o.byteLength,0)),n.length=e,n}};var dt=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};var vt=class extends Error{code;constructor(t,e){super(t),this.code=e}},Rt=class extends vt{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted",this.name="AbortError"}};function Ne(r,t){let e=Ee();r.sink(e).catch(async s=>{await e.end(s)}),r.sink=async s=>{for await(let a of s)await e.push(a);await e.end()};let n=r.source;r.source[Symbol.iterator]!=null?n=r.source[Symbol.iterator]():r.source[Symbol.asyncIterator]!=null&&(n=r.source[Symbol.asyncIterator]());let i=new C;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,h=new Promise((l,f)=>{c=()=>{f(new Rt("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:f,value:w}=await Promise.race([n.next(),h]);return f===!0?new C:w}for(;i.byteLength<s;){let{value:f,done:w}=await Promise.race([n.next(),h]);if(w===!0)throw new dt("unexpected end of input");i.append(f)}let l=i.sublist(0,s);return i.consume(s),l}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(s,a)=>{a?.signal?.throwIfAborted(),s instanceof Uint8Array?await e.push(s,a):await e.push(s.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let s=r.source;r.source=async function*(){t?.yieldBytes===!1?yield i:yield*i,yield*s}()}return r}}}var lr=Math.pow(2,7),dr=Math.pow(2,14),pr=Math.pow(2,21),Ot=Math.pow(2,28),Ct=Math.pow(2,35),Tt=Math.pow(2,42),Bt=Math.pow(2,49),u=128,m=127;function T(r){if(r<lr)return 1;if(r<dr)return 2;if(r<pr)return 3;if(r<Ot)return 4;if(r<Ct)return 5;if(r<Tt)return 6;if(r<Bt)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Mt(r,t,e=0){switch(T(r)){case 8:t[e++]=r&255|u,r/=128;case 7:t[e++]=r&255|u,r/=128;case 6:t[e++]=r&255|u,r/=128;case 5:t[e++]=r&255|u,r/=128;case 4:t[e++]=r&255|u,r>>>=7;case 3:t[e++]=r&255|u,r>>>=7;case 2:t[e++]=r&255|u,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function mr(r,t,e=0){switch(T(r)){case 8:t.set(e++,r&255|u),r/=128;case 7:t.set(e++,r&255|u),r/=128;case 6:t.set(e++,r&255|u),r/=128;case 5:t.set(e++,r&255|u),r/=128;case 4:t.set(e++,r&255|u),r>>>=7;case 3:t.set(e++,r&255|u),r>>>=7;case 2:t.set(e++,r&255|u),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function kt(r,t){let e=r[t],n=0;if(n+=e&m,e<u||(e=r[t+1],n+=(e&m)<<7,e<u)||(e=r[t+2],n+=(e&m)<<14,e<u)||(e=r[t+3],n+=(e&m)<<21,e<u)||(e=r[t+4],n+=(e&m)*Ot,e<u)||(e=r[t+5],n+=(e&m)*Ct,e<u)||(e=r[t+6],n+=(e&m)*Tt,e<u)||(e=r[t+7],n+=(e&m)*Bt,e<u))return n;throw new RangeError("Could not decode varint")}function gr(r,t){let e=r.get(t),n=0;if(n+=e&m,e<u||(e=r.get(t+1),n+=(e&m)<<7,e<u)||(e=r.get(t+2),n+=(e&m)<<14,e<u)||(e=r.get(t+3),n+=(e&m)<<21,e<u)||(e=r.get(t+4),n+=(e&m)*Ot,e<u)||(e=r.get(t+5),n+=(e&m)*Ct,e<u)||(e=r.get(t+6),n+=(e&m)*Tt,e<u)||(e=r.get(t+7),n+=(e&m)*Bt,e<u))return n;throw new RangeError("Could not decode varint")}function Ie(r,t,e=0){return t==null&&(t=b(T(r))),t instanceof Uint8Array?Mt(r,t,e):mr(r,t,e)}function Ue(r,t=0){return r instanceof Uint8Array?kt(r,t):gr(r,t)}var pt=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},mt=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},gt=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function De(r,t={}){let e=Ne(r,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=T(t.maxDataLength));let n=t?.lengthDecoder??Ue,i=t?.lengthEncoder??Ie;return{read:async s=>{let a=-1,c=new C;for(;;){c.append(await e.read(1,s));try{a=n(c)}catch(h){if(h instanceof RangeError)continue;throw h}if(a<0)throw new pt("Invalid message length");if(t?.maxLengthLength!=null&&c.byteLength>t.maxLengthLength)throw new gt("message length length too long");if(a>-1)break}if(t?.maxDataLength!=null&&a>t.maxDataLength)throw new mt("message length too long");return e.read(a,s)},write:async(s,a)=>{await e.write(new C(i(s.byteLength),s),a)},writeV:async(s,a)=>{let c=new C(...s.flatMap(h=>[i(h.byteLength),h]));await e.write(c,a)},unwrap:()=>e.unwrap()}}function Vt(r,t){let e=De(r,t),n={read:async(i,o)=>{let s=await e.read(o);return i.decode(s)},write:async(i,o,s)=>{await e.write(o.encode(i),s)},writeV:async(i,o,s)=>{await e.writeV(i.map(a=>o.encode(a)),s)},pb:i=>({read:async o=>n.read(i,o),write:async(o,s)=>n.write(o,i,s),writeV:async(o,s)=>n.writeV(o,i,s),unwrap:()=>n}),unwrap:()=>e.unwrap()};return n}var Gt={};y(Gt,{base10:()=>Sr});var di=new Uint8Array(0);function Fe(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function B(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 ve(r){return new TextEncoder().encode(r)}function Re(r){return new TextDecoder().decode(r)}function xr(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var i=0;i<r.length;i++){var o=r.charAt(i),s=o.charCodeAt(0);if(e[s]!==255)throw new TypeError(o+" is ambiguous");e[s]=i}var a=r.length,c=r.charAt(0),h=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var x=0,_=0,N=0,D=d.length;N!==D&&d[N]===0;)N++,x++;for(var F=(D-N)*l+1>>>0,L=new Uint8Array(F);N!==D;){for(var v=d[N],M=0,I=F-1;(v!==0||M<_)&&I!==-1;I--,M++)v+=256*L[I]>>>0,L[I]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");_=M,N++}for(var O=F-_;O!==F&&L[O]===0;)O++;for(var st=c.repeat(x);O<F;++O)st+=r.charAt(L[O]);return st}function w(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var x=0;if(d[x]!==" "){for(var _=0,N=0;d[x]===c;)_++,x++;for(var D=(d.length-x)*h+1>>>0,F=new Uint8Array(D);d[x];){var L=e[d.charCodeAt(x)];if(L===255)return;for(var v=0,M=D-1;(L!==0||v<N)&&M!==-1;M--,v++)L+=a*F[M]>>>0,F[M]=L%256>>>0,L=L/256>>>0;if(L!==0)throw new Error("Non-zero carry");N=v,x++}if(d[x]!==" "){for(var I=D-N;I!==D&&F[I]===0;)I++;for(var O=new Uint8Array(_+(D-I)),st=_;I!==D;)O[st++]=F[I++];return O}}}function ot(d){var x=w(d);if(x)return x;throw new Error(`Non-${t} character`)}return{encode:f,decodeUnsafe:w,decode:ot}}var br=xr,yr=br,Ce=yr;var _t=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Pt=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let i=e.codePointAt(0);if(i===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=i,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Te(this,t)}},zt=class{decoders;constructor(t){this.decoders=t}or(t){return Te(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Te(r,t){return new zt({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var $t=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,i){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=i,this.encoder=new _t(t,e,n),this.decoder=new Pt(t,e,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function q({name:r,prefix:t,encode:e,decode:n}){return new $t(r,t,e,n)}function k({name:r,prefix:t,alphabet:e}){let{encode:n,decode:i}=Ce(e,r);return q({prefix:t,name:r,encode:n,decode:o=>B(i(o))})}function Er(r,t,e,n){let i={};for(let l=0;l<t.length;++l)i[t[l]]=l;let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*e/8|0),a=0,c=0,h=0;for(let l=0;l<o;++l){let f=i[r[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|f,a+=e,a>=8&&(a-=8,s[h++]=255&c>>a)}if(a>=e||(255&c<<8-a)!==0)throw new SyntaxError("Unexpected end of data");return s}function Lr(r,t,e){let n=t[t.length-1]==="=",i=(1<<e)-1,o="",s=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],s+=8;s>e;)s-=e,o+=t[i&a>>s];if(s!==0&&(o+=t[i&a<<e-s]),n)for(;(o.length*e&7)!==0;)o+="=";return o}function p({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return q({prefix:t,name:r,encode(i){return Lr(i,n,e)},decode(i){return Er(i,n,e,r)}})}var Sr=k({prefix:"9",name:"base10",alphabet:"0123456789"});var qt={};y(qt,{base16:()=>Ar,base16upper:()=>Nr});var Ar=p({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Nr=p({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Kt={};y(Kt,{base2:()=>Ir});var Ir=p({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Xt={};y(Xt,{base256emoji:()=>Rr});var Be=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}"),Ur=Be.reduce((r,t,e)=>(r[e]=t,r),[]),Dr=Be.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function Fr(r){return r.reduce((t,e)=>(t+=Ur[e],t),"")}function vr(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let i=Dr[n];if(i==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(i)}return new Uint8Array(t)}var Rr=q({prefix:"\u{1F680}",name:"base256emoji",encode:Fr,decode:vr});var jt={};y(jt,{base32:()=>K,base32hex:()=>Br,base32hexpad:()=>kr,base32hexpadupper:()=>Vr,base32hexupper:()=>Mr,base32pad:()=>Cr,base32padupper:()=>Tr,base32upper:()=>Or,base32z:()=>_r});var K=p({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Or=p({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Cr=p({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Tr=p({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Br=p({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Mr=p({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),kr=p({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Vr=p({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),_r=p({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Wt={};y(Wt,{base36:()=>Q,base36upper:()=>Pr});var Q=k({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Pr=k({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Jt={};y(Jt,{base58btc:()=>R,base58flickr:()=>zr});var R=k({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),zr=k({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ht={};y(Ht,{base64:()=>$r,base64pad:()=>Gr,base64url:()=>qr,base64urlpad:()=>Kr});var $r=p({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Gr=p({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),qr=p({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Kr=p({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Qt={};y(Qt,{base8:()=>Xr});var Xr=p({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Zt={};y(Zt,{identity:()=>jr});var jr=q({prefix:"\0",name:"identity",encode:r=>Re(r),decode:r=>ve(r)});var Fi=new TextEncoder,vi=new TextDecoder;var te={};y(te,{identity:()=>wn});var Hr=Ve,Me=128,Qr=127,Zr=~Qr,Yr=Math.pow(2,31);function Ve(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Yr;)t[e++]=r&255|Me,r/=128;for(;r&Zr;)t[e++]=r&255|Me,r>>>=7;return t[e]=r|0,Ve.bytes=e-n+1,t}var tn=Yt,en=128,ke=127;function Yt(r,n){var e=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a)throw Yt.bytes=0,new RangeError("Could not decode varint");s=r[o++],e+=i<28?(s&ke)<<i:(s&ke)*Math.pow(2,i),i+=7}while(s>=en);return Yt.bytes=o-n,e}var rn=Math.pow(2,7),nn=Math.pow(2,14),on=Math.pow(2,21),sn=Math.pow(2,28),an=Math.pow(2,35),cn=Math.pow(2,42),hn=Math.pow(2,49),un=Math.pow(2,56),fn=Math.pow(2,63),ln=function(r){return r<rn?1:r<nn?2:r<on?3:r<sn?4:r<an?5:r<cn?6:r<hn?7:r<un?8:r<fn?9:10},dn={encode:Hr,decode:tn,encodingLength:ln},pn=dn,Z=pn;function Y(r,t=0){return[Z.decode(r,t),Z.decode.bytes]}function X(r,t,e=0){return Z.encode(r,t,e),t}function j(r){return Z.encodingLength(r)}function P(r,t){let e=t.byteLength,n=j(r),i=n+j(e),o=new Uint8Array(i+e);return X(r,o,0),X(e,o,n),o.set(t,i),new W(r,e,t,o)}function _e(r){let t=B(r),[e,n]=Y(t),[i,o]=Y(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new W(e,i,s,t)}function Pe(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Fe(r.bytes,e.bytes)}}var W=class{code;size;digest;bytes;constructor(t,e,n,i){this.code=t,this.size=e,this.digest=n,this.bytes=i}};var ze=0,mn="identity",$e=B;function gn(r){return P(ze,$e(r))}var wn={code:ze,name:mn,encode:$e,digest:gn};var ne={};y(ne,{sha256:()=>xn,sha512:()=>bn});function re({name:r,code:t,encode:e}){return new ee(r,t,e)}var ee=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?P(this.code,e):e.then(n=>P(this.code,n))}else throw Error("Unknown type, must be binary type")}};function qe(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var xn=re({name:"sha2-256",code:18,encode:qe("SHA-256")}),bn=re({name:"sha2-512",code:19,encode:qe("SHA-512")});function Ke(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return En(e,ie(r),t??R.encoder);default:return Ln(e,ie(r),t??K.encoder)}}var Xe=new WeakMap;function ie(r){let t=Xe.get(r);if(t==null){let e=new Map;return Xe.set(r,e),e}return t}var xt=class r{code;version;multihash;bytes;"/";constructor(t,e,n,i){this.code=e,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==et)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Sn)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=P(t,e);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(t){return r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&Pe(t.multihash,n.multihash)}toString(t){return Ke(this,t)}toJSON(){return{"/":Ke(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:i,multihash:o,bytes:s}=e;return new r(n,i,o,s??je(n,i,o.bytes))}else if(e[An]===!0){let{version:n,multihash:i,code:o}=e,s=_e(i);return r.create(n,o,s)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==et)throw new Error(`Version 0 CID must use dag-pb (code: ${et}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let i=je(t,e,n.bytes);return new r(t,e,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,et,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,i=B(t.subarray(n,n+e.multihashSize));if(i.byteLength!==e.multihashSize)throw new Error("Incorrect length");let o=i.subarray(e.multihashSize-e.digestSize),s=new W(e.multihashCode,e.digestSize,o,i);return[e.version===0?r.createV0(s):r.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[f,w]=Y(t.subarray(e));return e+=w,f},i=n(),o=et;if(i===18?(i=0,e=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=e,a=n(),c=n(),h=e+c,l=h-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:l,size:h}}static parse(t,e){let[n,i]=yn(t,e),o=r.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return ie(o).set(n,t),o}};function yn(r,t){switch(r[0]){case"Q":{let e=t??R;return[R.prefix,e.decode(`${R.prefix}${r}`)]}case R.prefix:{let e=t??R;return[R.prefix,e.decode(r)]}case K.prefix:{let e=t??K;return[K.prefix,e.decode(r)]}case Q.prefix:{let e=t??Q;return[Q.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function En(r,t,e){let{prefix:n}=e;if(n!==R.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let i=t.get(n);if(i==null){let o=e.encode(r).slice(1);return t.set(n,o),o}else return i}function Ln(r,t,e){let{prefix:n}=e,i=t.get(n);if(i==null){let o=e.encode(r);return t.set(n,o),o}else return i}var et=112,Sn=18;function je(r,t,e){let n=j(r),i=n+j(t),o=new Uint8Array(i+e.byteLength);return X(r,o,0),X(t,o,n),o.set(e,i),o}var An=Symbol.for("@ipld/js-cid/CID");var oe={...Zt,...Kt,...Qt,...Gt,...qt,...jt,...Wt,...Jt,...Ht,...Xt},Zi={...ne,...te};function Je(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var We=Je("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),se=Je("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=b(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Nn={utf8:We,"utf-8":We,hex:oe.base16,latin1:se,ascii:se,binary:se,...oe},bt=Nn;function J(r,t="utf8"){let e=bt[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function ae(r,t="utf8"){let e=bt[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var He="0.0.1",Qe="fetch";var ce=new Float32Array([-0]),V=new Uint8Array(ce.buffer);function Ze(r,t,e){ce[0]=r,t[e]=V[0],t[e+1]=V[1],t[e+2]=V[2],t[e+3]=V[3]}function Ye(r,t){return V[0]=r[t],V[1]=r[t+1],V[2]=r[t+2],V[3]=r[t+3],ce[0]}var he=new Float64Array([-0]),g=new Uint8Array(he.buffer);function tr(r,t,e){he[0]=r,t[e]=g[0],t[e+1]=g[1],t[e+2]=g[2],t[e+3]=g[3],t[e+4]=g[4],t[e+5]=g[5],t[e+6]=g[6],t[e+7]=g[7]}function er(r,t){return g[0]=r[t],g[1]=r[t+1],g[2]=r[t+2],g[3]=r[t+3],g[4]=r[t+4],g[5]=r[t+5],g[6]=r[t+6],g[7]=r[t+7],he[0]}var In=BigInt(Number.MAX_SAFE_INTEGER),Un=BigInt(Number.MIN_SAFE_INTEGER),E=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return z;if(t<In&&t>Un)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,i=t-(n<<32n);return e&&(n=~n|0n,i=~i|0n,++i>rr&&(i=0n,++n>rr&&(n=0n))),new r(Number(i),Number(n))}static fromNumber(t){if(t===0)return z;let e=t<0;e&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return e&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new r(n,i)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):z}},z=new E(0,0);z.toBigInt=function(){return 0n};z.zzEncode=z.zzDecode=function(){return this};z.length=function(){return 1};var rr=4294967296n;function nr(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function ir(r,t,e){if(e-t<1)return"";let i,o=[],s=0,a;for(;t<e;)a=r[t++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function ue(r,t,e){let n=e,i,o;for(let s=0;s<r.length;++s)i=r.charCodeAt(s),i<128?t[e++]=i:i<2048?(t[e++]=i>>6|192,t[e++]=i&63|128):(i&64512)===55296&&((o=r.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,t[e++]=i>>18|240,t[e++]=i>>12&63|128,t[e++]=i>>6&63|128,t[e++]=i&63|128):(t[e++]=i>>12|224,t[e++]=i>>6&63|128,t[e++]=i&63|128);return e-n}function U(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function yt(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var fe=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,U(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw U(this,4);return yt(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw U(this,4);return yt(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw U(this,4);let t=Ye(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw U(this,4);let t=er(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw U(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return ir(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw U(this,t);this.pos+=t}else do if(this.pos>=this.len)throw U(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new E(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw U(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw U(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw U(this,8);let t=yt(this.buf,this.pos+=4),e=yt(this.buf,this.pos+=4);return new E(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=kt(this.buf,this.pos);return this.pos+=T(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function le(r){return new fe(r instanceof Uint8Array?r:r.subarray())}function Et(r,t,e){let n=le(r);return t.decode(n,void 0,e)}function de(r){let t=r??8192,e=t>>>1,n,i=t;return function(s){if(s<1||s>e)return b(s);i+s>t&&(n=b(t),i=0);let a=n.subarray(i,i+=s);return(i&7)!==0&&(i=(i|7)+1),a}}var $=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function pe(){}var ge=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Dn=de();function Fn(r){return globalThis.Buffer!=null?b(r):Dn(r)}var nt=class{len;head;tail;states;constructor(){this.len=0,this.head=new $(pe,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new $(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new we((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(Lt,10,E.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=E.fromBigInt(t);return this._push(Lt,e.length(),e)}uint64Number(t){return this._push(Mt,T(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=E.fromBigInt(t).zzEncode();return this._push(Lt,e.length(),e)}sint64Number(t){let e=E.fromNumber(t).zzEncode();return this._push(Lt,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(me,1,t?1:0)}fixed32(t){return this._push(rt,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=E.fromBigInt(t);return this._push(rt,4,e.lo)._push(rt,4,e.hi)}fixed64Number(t){let e=E.fromNumber(t);return this._push(rt,4,e.lo)._push(rt,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(Ze,4,t)}double(t){return this._push(tr,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(me,1,0):this.uint32(e)._push(Rn,e,t)}string(t){let e=nr(t);return e!==0?this.uint32(e)._push(ue,e,t):this._push(me,1,0)}fork(){return this.states=new ge(this),this.head=this.tail=new $(pe,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new $(pe,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=Fn(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function me(r,t,e){t[e]=r&255}function vn(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var we=class extends ${next;constructor(t,e){super(vn,t,e),this.next=void 0}};function Lt(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function rt(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function Rn(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(nt.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(On,t,r),this},nt.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Cn,t,r),this});function On(r,t,e){t.set(r,e)}function Cn(r,t,e){r.length<40?ue(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(J(r),e)}function xe(){return new nt}function St(r,t){let e=xe();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var H;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(H||(H={}));function At(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function be(r){function t(i){if(r[i.toString()]==null)throw new Error("Invalid enum value");return r[i]}let e=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return At("enum",H.VARINT,e,n)}function Nt(r,t){return At("message",H.LENGTH_DELIMITED,r,t)}var it;(function(r){let t;r.codec=()=>(t==null&&(t=Nt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.identifier!=null&&e.identifier.byteLength>0&&(n.uint32(10),n.bytes(e.identifier)),i.lengthDelimited!==!1&&n.ldelim()},(e,n,i={})=>{let o={identifier:S(0)},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let a=e.uint32();switch(a>>>3){case 1:{o.identifier=e.bytes();break}default:{e.skipType(a&7);break}}}return o})),t),r.encode=e=>St(e,r.codec()),r.decode=(e,n)=>Et(e,r.codec(),n)})(it||(it={}));var A;(function(r){let t;(function(i){i.OK="OK",i.NOT_FOUND="NOT_FOUND",i.ERROR="ERROR"})(t=r.StatusCode||(r.StatusCode={}));let e;(function(i){i[i.OK=0]="OK",i[i.NOT_FOUND=1]="NOT_FOUND",i[i.ERROR=2]="ERROR"})(e||(e={})),function(i){i.codec=()=>be(e)}(t=r.StatusCode||(r.StatusCode={}));let n;r.codec=()=>(n==null&&(n=Nt((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.status!=null&&e[i.status]!==0&&(o.uint32(8),r.StatusCode.codec().encode(i.status,o)),i.data!=null&&i.data.byteLength>0&&(o.uint32(18),o.bytes(i.data)),s.lengthDelimited!==!1&&o.ldelim()},(i,o,s={})=>{let a={status:t.OK,data:S(0)},c=o==null?i.len:i.pos+o;for(;i.pos<c;){let h=i.uint32();switch(h>>>3){case 1:{a.status=r.StatusCode.codec().decode(i);break}case 2:{a.data=i.bytes();break}default:{i.skipType(h&7);break}}}return a})),n),r.encode=i=>St(i,r.codec()),r.decode=(i,o)=>Et(i,r.codec(),o)})(A||(A={}));var sr=1e4,It=class{protocol;components;lookupFunctions;started;init;log;constructor(t,e={}){this.log=t.logger.forComponent("libp2p:fetch"),this.started=!1,this.components=t,this.protocol=`/${e.protocolPrefix??"libp2p"}/${Qe}/${He}`,this.lookupFunctions=new Map,this.handleMessage=this.handleMessage.bind(this),this.init=e}[Symbol.toStringTag]="@libp2p/fetch";async start(){await this.components.registrar.handle(this.protocol,t=>{this.handleMessage(t).then(async()=>{await t.stream.close()}).catch(e=>{this.log.error("error handling message - %e",e)})},{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}async fetch(t,e,n={}){typeof e=="string"&&(e=J(e)),this.log.trace("dialing %s to %p",this.protocol,t);let i=await this.components.connectionManager.openConnection(t,n),o=n.signal,s,a=()=>{};if(o==null){let c=this.init.timeout??sr;this.log.trace("using default timeout of %d ms",c),o=AbortSignal.timeout(c)}try{s=await i.newStream(this.protocol,{signal:o}),a=()=>{s?.abort(new at)},o.addEventListener("abort",a,{once:!0}),this.log.trace("fetch %m",e);let c=Vt(s);await c.write({identifier:e},it,n);let h=await c.read(A,n);switch(await c.unwrap().close(n),h.status){case A.StatusCode.OK:return this.log.trace("received status OK for %m",e),h.data;case A.StatusCode.NOT_FOUND:{this.log("received status NOT_FOUND for %m",e);return}case A.StatusCode.ERROR:{this.log("received status ERROR for %m",e);let l=ae(h.data);throw new ut("Error in fetch protocol response: "+l)}default:throw this.log("received status unknown for %m",e),new ht("Unknown response status")}}catch(c){throw s?.abort(c),c}finally{o.removeEventListener("abort",a),s!=null&&await s.close()}}async handleMessage(t){let{stream:e}=t,n=AbortSignal.timeout(this.init.timeout??sr);try{let i=Vt(e),o=await i.read(it,{signal:n}),s,a=ae(o.identifier),c=this._getLookupFunction(a);if(c==null){this.log.trace("sending status ERROR for %m",o.identifier);let h=J("No lookup function registered for key");s={status:A.StatusCode.ERROR,data:h}}else{this.log.trace("lookup data with identifier %s",c.prefix);try{let h=await c.fn(o.identifier);h==null?(this.log.trace("sending status NOT_FOUND for %m",o.identifier),s={status:A.StatusCode.NOT_FOUND,data:new Uint8Array(0)}):(this.log.trace("sending status OK for %m",o.identifier),s={status:A.StatusCode.OK,data:h})}catch(h){this.log.error("error during lookup of %m - %e",o.identifier,h);let l=J(h.message);s={status:A.StatusCode.ERROR,data:l}}}await i.write(s,A,{signal:n}),await i.unwrap().close({signal:n})}catch(i){this.log.error("error answering fetch request - %e",i),e.abort(i)}}_getLookupFunction(t){for(let e of this.lookupFunctions.keys())if(t.startsWith(e)){let n=this.lookupFunctions.get(e);if(n!=null)return{fn:n,prefix:e}}}registerLookupFunction(t,e){if(this.lookupFunctions.has(t))throw new ct(`Fetch protocol handler for key prefix '${t}' already registered`);this.lookupFunctions.set(t,e)}unregisterLookupFunction(t,e){e!=null&&this.lookupFunctions.get(t)!==e||this.lookupFunctions.delete(t)}};function Tn(r={}){return t=>new It(t,r)}return fr(Bn);})(); | ||
return Libp2PFetch})); |
{ | ||
"name": "@libp2p/fetch", | ||
"version": "3.0.9", | ||
"version": "3.0.10-0699fb747", | ||
"description": "Implementation of the Fetch Protocol", | ||
@@ -55,4 +55,4 @@ "license": "Apache-2.0 OR MIT", | ||
"dependencies": { | ||
"@libp2p/interface": "^2.6.1", | ||
"@libp2p/interface-internal": "^2.3.6", | ||
"@libp2p/interface": "2.7.0-0699fb747", | ||
"@libp2p/interface-internal": "2.3.7-0699fb747", | ||
"it-protobuf-stream": "^1.1.5", | ||
@@ -64,5 +64,5 @@ "protons-runtime": "^5.5.0", | ||
"devDependencies": { | ||
"@libp2p/crypto": "^5.0.14", | ||
"@libp2p/logger": "^5.1.11", | ||
"@libp2p/peer-id": "^5.0.15", | ||
"@libp2p/crypto": "5.0.15-0699fb747", | ||
"@libp2p/logger": "5.1.12-0699fb747", | ||
"@libp2p/peer-id": "5.0.16-0699fb747", | ||
"aegir": "^45.1.1", | ||
@@ -69,0 +69,0 @@ "it-pair": "^2.0.6", |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
105652
-0.82%24
-4%1225
-0.89%1
Infinity%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed