@libp2p/fetch 4.1.5 → 4.1.6-a34745c01

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -1,4 +1,4 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PFetch = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PFetch=(()=>{var St=Object.defineProperty;var or=Object.getOwnPropertyDescriptor;var ar=Object.getOwnPropertyNames;var cr=Object.prototype.hasOwnProperty;var E=(r,t)=>{for(var e in t)St(r,e,{get:t[e],enumerable:!0})},ur=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ar(t))!cr.call(r,i)&&i!==e&&St(r,i,{get:()=>t[i],enumerable:!(n=or(t,i))||n.enumerable});return r};var hr=r=>ur(St({},"__esModule",{value:!0}),r);var Wn={};E(Wn,{fetch:()=>qn});var j=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}};var ct=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"}};var Ct={};E(Ct,{base58btc:()=>O,base58flickr:()=>br});var Xn=new Uint8Array(0);function ye(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 M(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 Ee(r){return new TextEncoder().encode(r)}function Le(r){return new TextDecoder().decode(r)}function lr(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 s=r.charAt(i),o=s.charCodeAt(0);if(e[o]!==255)throw new TypeError(s+" is ambiguous");e[o]=i}var a=r.length,c=r.charAt(0),h=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(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 b=0,_=0,N=0,C=d.length;N!==C&&d[N]===0;)N++,b++;for(var U=(C-N)*u+1>>>0,v=new Uint8Array(U);N!==C;){for(var T=d[N],k=0,A=U-1;(T!==0||k<_)&&A!==-1;A--,k++)T+=256*v[A]>>>0,v[A]=T%a>>>0,T=T/a>>>0;if(T!==0)throw new Error("Non-zero carry");_=k,N++}for(var F=U-_;F!==U&&v[F]===0;)F++;for(var at=c.repeat(b);F<U;++F)at+=r.charAt(v[F]);return at}function f(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var b=0;if(d[b]!==" "){for(var _=0,N=0;d[b]===c;)_++,b++;for(var C=(d.length-b)*h+1>>>0,U=new Uint8Array(C);d[b];){var v=e[d.charCodeAt(b)];if(v===255)return;for(var T=0,k=C-1;(v!==0||T<N)&&k!==-1;k--,T++)v+=a*U[k]>>>0,U[k]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");N=T,b++}if(d[b]!==" "){for(var A=C-N;A!==C&&U[A]===0;)A++;for(var F=new Uint8Array(_+(C-A)),at=_;A!==C;)F[at++]=U[A++];return F}}}function m(d){var b=f(d);if(b)return b;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:f,decode:m}}var fr=lr,dr=fr,Se=dr;var It=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")}},Nt=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 Ie(this,t)}},At=class{decoders;constructor(t){this.decoders=t}or(t){return Ie(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 Ie(r,t){return new At({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Dt=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 It(t,e,n),this.decoder=new Nt(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 Dt(r,t,e,n)}function B({name:r,prefix:t,alphabet:e}){let{encode:n,decode:i}=Se(e,r);return q({prefix:t,name:r,encode:n,decode:s=>M(i(s))})}function pr(r,t,e,n){let i=r.length;for(;r[i-1]==="=";)--i;let s=new Uint8Array(i*e/8|0),o=0,a=0,c=0;for(let h=0;h<i;++h){let u=t[r[h]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<e|u,o+=e,o>=8&&(o-=8,s[c++]=255&a>>o)}if(o>=e||(255&a<<8-o)!==0)throw new SyntaxError("Unexpected end of data");return s}function mr(r,t,e){let n=t[t.length-1]==="=",i=(1<<e)-1,s="",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>e;)o-=e,s+=t[i&a>>o];if(o!==0&&(s+=t[i&a<<e-o]),n)for(;(s.length*e&7)!==0;)s+="=";return s}function gr(r){let t={};for(let e=0;e<r.length;++e)t[r[e]]=e;return t}function g({name:r,prefix:t,bitsPerChar:e,alphabet:n}){let i=gr(n);return q({prefix:t,name:r,encode(s){return mr(s,n,e)},decode(s){return pr(s,i,e,r)}})}var O=B({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),br=B({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ut={};E(Ut,{base32:()=>W,base32hex:()=>Er,base32hexpad:()=>vr,base32hexpadupper:()=>Sr,base32hexupper:()=>Lr,base32pad:()=>xr,base32padupper:()=>yr,base32upper:()=>wr,base32z:()=>Ir});var W=g({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),wr=g({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),xr=g({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),yr=g({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Er=g({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Lr=g({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),vr=g({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Sr=g({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Ir=g({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Tt={};E(Tt,{base36:()=>Q,base36upper:()=>Nr});var Q=B({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Nr=B({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ar=De,Ne=128,Dr=127,Cr=~Dr,Ur=Math.pow(2,31);function De(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Ur;)t[e++]=r&255|Ne,r/=128;for(;r&Cr;)t[e++]=r&255|Ne,r>>>=7;return t[e]=r|0,De.bytes=e-n+1,t}var Tr=Ot,Or=128,Ae=127;function Ot(r,n){var e=0,n=n||0,i=0,s=n,o,a=r.length;do{if(s>=a)throw Ot.bytes=0,new RangeError("Could not decode varint");o=r[s++],e+=i<28?(o&Ae)<<i:(o&Ae)*Math.pow(2,i),i+=7}while(o>=Or);return Ot.bytes=s-n,e}var Fr=Math.pow(2,7),Mr=Math.pow(2,14),Rr=Math.pow(2,21),kr=Math.pow(2,28),Br=Math.pow(2,35),Pr=Math.pow(2,42),_r=Math.pow(2,49),Vr=Math.pow(2,56),zr=Math.pow(2,63),$r=function(r){return r<Fr?1:r<Mr?2:r<Rr?3:r<kr?4:r<Br?5:r<Pr?6:r<_r?7:r<Vr?8:r<zr?9:10},Gr={encode:Ar,decode:Tr,encodingLength:$r},jr=Gr,Z=jr;function tt(r,t=0){return[Z.decode(r,t),Z.decode.bytes]}function K(r,t,e=0){return Z.encode(r,t,e),t}function H(r){return Z.encodingLength(r)}function J(r,t){let e=t.byteLength,n=H(r),i=n+H(e),s=new Uint8Array(i+e);return K(r,s,0),K(e,s,n),s.set(t,i),new X(r,e,t,s)}function Ce(r){let t=M(r),[e,n]=tt(t),[i,s]=tt(t.subarray(n)),o=t.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new X(e,i,o,t)}function Ue(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&ye(r.bytes,e.bytes)}}var X=class{code;size;digest;bytes;constructor(t,e,n,i){this.code=t,this.size=e,this.digest=n,this.bytes=i}};function Te(r,t){let{bytes:e,version:n}=r;return n===0?Wr(e,Ft(r),t??O.encoder):Kr(e,Ft(r),t??W.encoder)}var Oe=new WeakMap;function Ft(r){let t=Oe.get(r);if(t==null){let e=new Map;return Oe.set(r,e),e}return t}var lt=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!==rt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Hr)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=J(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&&Ue(t.multihash,n.multihash)}toString(t){return Te(this,t)}toJSON(){return{"/":Te(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:s,bytes:o}=e;return new r(n,i,s,o??Fe(n,i,s.bytes))}else if(e[Xr]===!0){let{version:n,multihash:i,code:s}=e,o=Ce(i);return r.create(n,s,o)}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!==rt)throw new Error(`Version 0 CID must use dag-pb (code: ${rt}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let i=Fe(t,e,n.bytes);return new r(t,e,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,rt,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=M(t.subarray(n,n+e.multihashSize));if(i.byteLength!==e.multihashSize)throw new Error("Incorrect length");let s=i.subarray(e.multihashSize-e.digestSize),o=new X(e.multihashCode,e.digestSize,s,i);return[e.version===0?r.createV0(o):r.createV1(e.codec,o),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[l,f]=tt(t.subarray(e));return e+=f,l},i=n(),s=rt;if(i===18?(i=0,e=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=e,a=n(),c=n(),h=e+c,u=h-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:u,size:h}}static parse(t,e){let[n,i]=qr(t,e),s=r.decode(i);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ft(s).set(n,t),s}};function qr(r,t){switch(r[0]){case"Q":{let e=t??O;return[O.prefix,e.decode(`${O.prefix}${r}`)]}case O.prefix:{let e=t??O;return[O.prefix,e.decode(r)]}case W.prefix:{let e=t??W;return[W.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 Wr(r,t,e){let{prefix:n}=e;if(n!==O.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let i=t.get(n);if(i==null){let s=e.encode(r).slice(1);return t.set(n,s),s}else return i}function Kr(r,t,e){let{prefix:n}=e,i=t.get(n);if(i==null){let s=e.encode(r);return t.set(n,s),s}else return i}var rt=112,Hr=18;function Fe(r,t,e){let n=H(r),i=n+H(t),s=new Uint8Array(i+e.byteLength);return K(r,s,0),K(t,s,n),s.set(e,i),s}var Xr=Symbol.for("@ipld/js-cid/CID");var Mt={};E(Mt,{identity:()=>Qr});var Me=0,Jr="identity",Re=M;function Yr(r,t){if(t?.truncate!=null&&t.truncate!==r.byteLength){if(t.truncate<0||t.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t.truncate)}return J(Me,Re(r))}var Qr={code:Me,name:Jr,encode:Re,digest:Yr};function ke(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 S(r=0){return new Uint8Array(r)}function y(r=0){return new Uint8Array(r)}function Rt(r,t){t==null&&(t=r.reduce((i,s)=>i+s.length,0));let e=y(t),n=0;for(let i of r)e.set(i,n),n+=i.length;return e}var Pe=Symbol.for("@achingbrain/uint8arraylist");function Be(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 ft(r){return!!r?.[Pe]}var V=class r{bufs;length;[Pe]=!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(ft(n)){e+=n.byteLength;for(let i of n.bufs)this.bufs.push(i)}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(ft(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=Be(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Be(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(ft(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 Rt(n,i)}subarray(t,e){let{bufs:n,length:i}=this._subList(t,e);return n.length===1?n[0]:Rt(n,i)}sublist(t,e){let{bufs:n,length:i}=this._subList(t,e),s=new r;return s.length=i,s.bufs=n,s}_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 s=0;s<this.bufs.length;s++){let o=this.bufs[s],a=i,c=a+o.byteLength;if(i=c,t>=c)continue;let h=t>=a&&t<c,u=e>a&&e<=c;if(h&&u){if(t===a&&e===c){n.push(o);break}let l=t-a;n.push(o.subarray(l,l+(e-t)));break}if(h){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(u){if(e===c){n.push(o);break}n.push(o.subarray(0,e-a));break}n.push(o)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!ft(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 s=256,o=new Int32Array(s);for(let l=0;l<s;l++)o[l]=-1;for(let l=0;l<i;l++)o[n[l]]=l;let a=o,c=this.byteLength-n.byteLength,h=n.byteLength-1,u;for(let l=e;l<=c;l+=u){u=0;for(let f=h;f>=0;f--){let m=this.get(l+f);if(n[f]!==m){u=Math.max(1,f-a[m]);break}}if(u===0)return l}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=y(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=y(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(!ke(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,s)=>i+s.byteLength,0)),n.length=e,n}};var kt={};E(kt,{base10:()=>Zr});var Zr=B({prefix:"9",name:"base10",alphabet:"0123456789"});var Bt={};E(Bt,{base16:()=>tn,base16upper:()=>en});var tn=g({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),en=g({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Pt={};E(Pt,{base2:()=>rn});var rn=g({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var _t={};E(_t,{base256emoji:()=>cn});var _e=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}"),nn=_e.reduce((r,t,e)=>(r[e]=t,r),[]),sn=_e.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function on(r){return r.reduce((t,e)=>(t+=nn[e],t),"")}function an(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let i=sn[n];if(i==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(i)}return new Uint8Array(t)}var cn=q({prefix:"\u{1F680}",name:"base256emoji",encode:on,decode:an});var Vt={};E(Vt,{base64:()=>un,base64pad:()=>hn,base64url:()=>ln,base64urlpad:()=>fn});var un=g({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),hn=g({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),ln=g({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),fn=g({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var zt={};E(zt,{base8:()=>dn});var dn=g({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var $t={};E($t,{identity:()=>pn});var pn=q({prefix:"\0",name:"identity",encode:r=>Le(r),decode:r=>Ee(r)});var Oi=new TextEncoder,Fi=new TextDecoder;var qt={};E(qt,{sha256:()=>wn,sha512:()=>xn});var bn=20;function jt({name:r,code:t,encode:e,minDigestLength:n,maxDigestLength:i}){return new Gt(r,t,e,n,i)}var Gt=class{name;code;encode;minDigestLength;maxDigestLength;constructor(t,e,n,i,s){this.name=t,this.code=e,this.encode=n,this.minDigestLength=i??bn,this.maxDigestLength=s}digest(t,e){if(e?.truncate!=null){if(e.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&e.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(t instanceof Uint8Array){let n=this.encode(t);return n instanceof Uint8Array?Ve(n,this.code,e?.truncate):n.then(i=>Ve(i,this.code,e?.truncate))}else throw Error("Unknown type, must be binary type")}};function Ve(r,t,e){if(e!=null&&e!==r.byteLength){if(e>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e)}return J(t,r)}function $e(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var wn=jt({name:"sha2-256",code:18,encode:$e("SHA-256")}),xn=jt({name:"sha2-512",code:19,encode:$e("SHA-512")});var Wt={...$t,...Pt,...zt,...kt,...Bt,...Ut,...Tt,...Ct,...Vt,..._t},qi={...qt,...Mt};function je(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Ge=je("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Kt=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=y(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),yn={utf8:Ge,"utf-8":Ge,hex:Wt.base16,latin1:Kt,ascii:Kt,binary:Kt,...Wt},dt=yn;function Y(r,t="utf8"){let e=dt[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function Ht(r,t="utf8"){let e=dt[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var En=Math.pow(2,7),Ln=Math.pow(2,14),vn=Math.pow(2,21),Xt=Math.pow(2,28),Jt=Math.pow(2,35),Yt=Math.pow(2,42),Qt=Math.pow(2,49),p=128,w=127;function R(r){if(r<En)return 1;if(r<Ln)return 2;if(r<vn)return 3;if(r<Xt)return 4;if(r<Jt)return 5;if(r<Yt)return 6;if(r<Qt)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Zt(r,t,e=0){switch(R(r)){case 8:t[e++]=r&255|p,r/=128;case 7:t[e++]=r&255|p,r/=128;case 6:t[e++]=r&255|p,r/=128;case 5:t[e++]=r&255|p,r/=128;case 4:t[e++]=r&255|p,r>>>=7;case 3:t[e++]=r&255|p,r>>>=7;case 2:t[e++]=r&255|p,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function Sn(r,t,e=0){switch(R(r)){case 8:t.set(e++,r&255|p),r/=128;case 7:t.set(e++,r&255|p),r/=128;case 6:t.set(e++,r&255|p),r/=128;case 5:t.set(e++,r&255|p),r/=128;case 4:t.set(e++,r&255|p),r>>>=7;case 3:t.set(e++,r&255|p),r>>>=7;case 2:t.set(e++,r&255|p),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function te(r,t){let e=r[t],n=0;if(n+=e&w,e<p||(e=r[t+1],n+=(e&w)<<7,e<p)||(e=r[t+2],n+=(e&w)<<14,e<p)||(e=r[t+3],n+=(e&w)<<21,e<p)||(e=r[t+4],n+=(e&w)*Xt,e<p)||(e=r[t+5],n+=(e&w)*Jt,e<p)||(e=r[t+6],n+=(e&w)*Yt,e<p)||(e=r[t+7],n+=(e&w)*Qt,e<p))return n;throw new RangeError("Could not decode varint")}function In(r,t){let e=r.get(t),n=0;if(n+=e&w,e<p||(e=r.get(t+1),n+=(e&w)<<7,e<p)||(e=r.get(t+2),n+=(e&w)<<14,e<p)||(e=r.get(t+3),n+=(e&w)<<21,e<p)||(e=r.get(t+4),n+=(e&w)*Xt,e<p)||(e=r.get(t+5),n+=(e&w)*Jt,e<p)||(e=r.get(t+6),n+=(e&w)*Yt,e<p)||(e=r.get(t+7),n+=(e&w)*Qt,e<p))return n;throw new RangeError("Could not decode varint")}function qe(r,t,e=0){return t==null&&(t=y(R(r))),t instanceof Uint8Array?Zt(r,t,e):Sn(r,t,e)}function We(r,t=0){return r instanceof Uint8Array?te(r,t):In(r,t)}var ee=new Float32Array([-0]),P=new Uint8Array(ee.buffer);function Ke(r,t,e){ee[0]=r,t[e]=P[0],t[e+1]=P[1],t[e+2]=P[2],t[e+3]=P[3]}function He(r,t){return P[0]=r[t],P[1]=r[t+1],P[2]=r[t+2],P[3]=r[t+3],ee[0]}var re=new Float64Array([-0]),x=new Uint8Array(re.buffer);function Xe(r,t,e){re[0]=r,t[e]=x[0],t[e+1]=x[1],t[e+2]=x[2],t[e+3]=x[3],t[e+4]=x[4],t[e+5]=x[5],t[e+6]=x[6],t[e+7]=x[7]}function Je(r,t){return x[0]=r[t],x[1]=r[t+1],x[2]=r[t+2],x[3]=r[t+3],x[4]=r[t+4],x[5]=r[t+5],x[6]=r[t+6],x[7]=r[t+7],re[0]}var An=BigInt(Number.MAX_SAFE_INTEGER),Dn=BigInt(Number.MIN_SAFE_INTEGER),L=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<An&&t>Dn)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>Ye&&(i=0n,++n>Ye&&(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 L(0,0);z.toBigInt=function(){return 0n};z.zzEncode=z.zzDecode=function(){return this};z.length=function(){return 1};var Ye=4294967296n;function Qe(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 Ze(r,t,e){if(e-t<1)return"";let i,s=[],o=0,a;for(;t<e;)a=r[t++],a<128?s[o++]=a:a>191&&a<224?s[o++]=(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,s[o++]=55296+(a>>10),s[o++]=56320+(a&1023)):s[o++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,o>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,s)),o=0);return i!=null?(o>0&&i.push(String.fromCharCode.apply(String,s.slice(0,o))),i.join("")):String.fromCharCode.apply(String,s.slice(0,o))}function ne(r,t,e){let n=e,i,s;for(let o=0;o<r.length;++o)i=r.charCodeAt(o),i<128?t[e++]=i:i<2048?(t[e++]=i>>6|192,t[e++]=i&63|128):(i&64512)===55296&&((s=r.charCodeAt(o+1))&64512)===56320?(i=65536+((i&1023)<<10)+(s&1023),++o,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 D(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function pt(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var ie=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,D(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 D(this,4);return pt(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw D(this,4);return pt(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw D(this,4);let t=He(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw D(this,4);let t=Je(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 D(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Ze(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw D(this,t);this.pos+=t}else do if(this.pos>=this.len)throw D(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 L(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 D(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 D(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 D(this,8);let t=pt(this.buf,this.pos+=4),e=pt(this.buf,this.pos+=4);return new L(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=te(this.buf,this.pos);return this.pos+=R(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 nt(r){return new ie(r instanceof Uint8Array?r:r.subarray())}function mt(r,t,e){let n=nt(r);return t.decode(n,void 0,e)}function se(r){let t=r??8192,e=t>>>1,n,i=t;return function(o){if(o<1||o>e)return y(o);i+o>t&&(n=y(t),i=0);let a=n.subarray(i,i+=o);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 oe(){}var ce=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Cn=se();function Un(r){return globalThis.Buffer!=null?y(r):Cn(r)}var st=class{len;head;tail;states;constructor(){this.len=0,this.head=new $(oe,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 ue((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(gt,10,L.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=L.fromBigInt(t);return this._push(gt,e.length(),e)}uint64Number(t){return this._push(Zt,R(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=L.fromBigInt(t).zzEncode();return this._push(gt,e.length(),e)}sint64Number(t){let e=L.fromNumber(t).zzEncode();return this._push(gt,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(ae,1,t?1:0)}fixed32(t){return this._push(it,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=L.fromBigInt(t);return this._push(it,4,e.lo)._push(it,4,e.hi)}fixed64Number(t){let e=L.fromNumber(t);return this._push(it,4,e.lo)._push(it,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(Ke,4,t)}double(t){return this._push(Xe,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(ae,1,0):this.uint32(e)._push(On,e,t)}string(t){let e=Qe(t);return e!==0?this.uint32(e)._push(ne,e,t):this._push(ae,1,0)}fork(){return this.states=new ce(this),this.head=this.tail=new $(oe,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 $(oe,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=Un(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function ae(r,t,e){t[e]=r&255}function Tn(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var ue=class extends ${next;constructor(t,e){super(Tn,t,e),this.next=void 0}};function gt(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 it(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 On(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(st.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(Fn,t,r),this},st.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Mn,t,r),this});function Fn(r,t,e){t.set(r,e)}function Mn(r,t,e){r.length<40?ne(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(Y(r),e)}function he(){return new st}function bt(r,t){let e=he();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}function*wt(r,t,e){let n=nt(r);yield*t.stream(n,void 0,"$",e)}var xt={VARINT:0,BIT64:1,LENGTH_DELIMITED:2,START_GROUP:3,END_GROUP:4,BIT32:5};function yt(r,t,e,n,i){return{name:r,type:t,encode:e,decode:n,stream:i}}function le(r){function t(s){if(r[s.toString()]==null)throw new Error("Invalid enum value");return r[s]}let e=function(o,a){let c=t(o);a.int32(c)},n=function(o){let a=o.int32();return t(a)},i=function*(o){let a=o.int32();yield t(a)};return yt("enum",xt.VARINT,e,n,i)}function Et(r,t,e){return yt("message",xt.LENGTH_DELIMITED,r,t,e)}var fe=class r extends Error{name="TimeoutError";constructor(t,e){super(t,e),Error.captureStackTrace?.(this,r)}},er=r=>r.reason??new DOMException("This operation was aborted.","AbortError");function de(r,t){let{milliseconds:e,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout},signal:o}=t,a,c,u=new Promise((l,f)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(o?.aborted){f(er(o));return}if(o&&(c=()=>{f(er(o))},o.addEventListener("abort",c,{once:!0})),r.then(l,f),e===Number.POSITIVE_INFINITY)return;let m=new fe;a=s.setTimeout.call(void 0,()=>{if(n){try{l(n())}catch(d){f(d)}return}typeof r.cancel=="function"&&r.cancel(),i===!1?l():i instanceof Error?f(i):(m.message=i??`Promise timed out after ${e} milliseconds`,f(m))},e)}).finally(()=>{u.clear(),c&&o&&o.removeEventListener("abort",c)});return u.clear=()=>{s.clearTimeout.call(void 0,a),a=void 0},u}var Rn=r=>{let t=r.addEventListener||r.on||r.addListener,e=r.removeEventListener||r.off||r.removeListener;if(!t||!e)throw new TypeError("Emitter is not compatible");return{addListener:t.bind(r),removeListener:e.bind(r)}};function kn(r,t,e){let n,i=new Promise((s,o)=>{if(e={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...e},!(e.count>=0&&(e.count===Number.POSITIVE_INFINITY||Number.isInteger(e.count))))throw new TypeError("The `count` option should be at least 0 or more");e.signal?.throwIfAborted();let a=[t].flat(),c=[],{addListener:h,removeListener:u}=Rn(r),l=async(...m)=>{let d=e.multiArgs?m:m[0];if(e.filter)try{if(!await e.filter(d))return}catch(b){n(),o(b);return}c.push(d),e.count===c.length&&(n(),s(c))},f=(...m)=>{n(),o(e.rejectionMultiArgs?m:m[0])};n=()=>{for(let m of a)u(m,l);for(let m of e.rejectionEvents)a.includes(m)||u(m,f)};for(let m of a)h(m,l);for(let m of e.rejectionEvents)a.includes(m)||h(m,f);e.signal&&e.signal.addEventListener("abort",()=>{f(e.signal.reason)},{once:!0}),e.resolveImmediately&&s(c)});if(i.cancel=n,typeof e.timeout=="number"){let s=de(i,{milliseconds:e.timeout});return s.cancel=()=>{n(),s.clear()},s}return i}function rr(r,t,e){typeof e=="function"&&(e={filter:e}),e={...e,count:1,resolveImmediately:!1};let n=kn(r,t,e),i=n.then(s=>s[0]);return i.cancel=n.cancel,i}var G=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"};function Bn(r){return r.reason}async function pe(r,t,e){if(t==null)return r;let n=e?.translateError??Bn;if(t.aborted)return r.catch(()=>{}),Promise.reject(n(t));let i;try{return await Promise.race([r,new Promise((s,o)=>{i=()=>{o(n(t))},t.addEventListener("abort",i)})])}finally{i!=null&&t.removeEventListener("abort",i)}}var _n=4194304,Lt=class extends Error{static name="UnwrappedError";name="UnwrappedError"},ge=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},be=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},we=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function Vn(r){return typeof r?.closeRead=="function"}function zn(r){return typeof r?.close=="function"}function me(r){return Vn(r)?r.remoteWriteStatus!=="writable"&&r.readBufferLength===0:zn(r)?r.status!=="open":!1}function $n(r){return r?.addEventListener!=null&&r?.removeEventListener!=null&&r?.send!=null&&r?.push!=null&&r?.log!=null}function Gn(r,t){let e=t?.maxBufferSize??_n,n=new V,i,s=!1;if(!$n(r))throw new j("Argument should be a Stream or a Multiaddr");let o=u=>{if(n.append(u.data),n.byteLength>e){let l=n.byteLength;n.consume(n.byteLength),i?.reject(new Error(`Read buffer overflow - ${l} > ${e}`))}i?.resolve()};r.addEventListener("message",o);let a=u=>{u.error!=null?i?.reject(u.error):i?.resolve()};r.addEventListener("close",a);let c=()=>{i?.resolve()};r.addEventListener("remoteCloseWrite",c);let h={readBuffer:n,async read(u){if(s===!0)throw new Lt("Stream was unwrapped");if(me(r)){if(n.byteLength===0&&u?.bytes==null)return null;if(u?.bytes!=null&&n.byteLength<u.bytes)throw r.log.error("closed after reading %d/%d bytes",n.byteLength,u.bytes),new G(`Unexpected EOF - stream closed after reading ${n.byteLength}/${u.bytes} bytes`)}let l=u?.bytes??1;for(i=Promise.withResolvers();;){if(n.byteLength>=l){i.resolve();break}if(await pe(i.promise,u?.signal),me(r)){if(n.byteLength===0&&u?.bytes==null)return null;break}i=Promise.withResolvers()}let f=u?.bytes??n.byteLength;if(n.byteLength<f){if(me(r))throw r.log.error("closed while reading %d/%d bytes",n.byteLength,f),new G(`Unexpected EOF - stream closed while reading ${n.byteLength}/${f} bytes`);return h.read(u)}let m=n.sublist(0,f);return n.consume(f),m},async write(u,l){if(s===!0)throw new Lt("Stream was unwrapped");r.send(u)||await rr(r,"drain",{signal:l?.signal,rejectionEvents:["close"]})},unwrap(){return s||(s=!0,r.removeEventListener("message",o),r.removeEventListener("close",a),r.removeEventListener("remoteCloseWrite",c),n.byteLength>0&&(r.log("stream unwrapped with %d unread bytes",n.byteLength),r.unshift(n))),r}};return h}function jn(r,t={}){let e=Gn(r,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=R(t.maxDataLength));let n=t?.lengthDecoder??We,i=t?.lengthEncoder??qe;return{async read(o){let a=-1,c=new V;for(;;){let u=await e.read({...o,bytes:1});if(u==null)break;c.append(u);try{a=n(c)}catch(l){if(l instanceof RangeError)continue;throw l}if(a<0)throw new ge("Invalid message length");if(t?.maxLengthLength!=null&&c.byteLength>t.maxLengthLength)throw new we(`Message length length too long - ${c.byteLength} > ${t.maxLengthLength}`);if(a>-1)break}if(t?.maxDataLength!=null&&a>t.maxDataLength)throw new be(`Message length too long - ${a} > ${t.maxDataLength}`);let h=await e.read({...o,bytes:a});if(h==null)throw r.log.error("tried to read %d bytes but the stream closed",a),new G(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(h.byteLength!==a)throw r.log.error("read %d/%d bytes before the stream closed",h.byteLength,a),new G(`Unexpected EOF - read ${h.byteLength}/${a} bytes before the stream closed`);return h},async write(o,a){await e.write(new V(i(o.byteLength),o),a)},async writeV(o,a){let c=new V(...o.flatMap(h=>[i(h.byteLength),h]));await e.write(c,a)},unwrap(){return e.unwrap()}}}function xe(r,t){let e=jn(r,t),n={read:async(i,s)=>{let o=await e.read(s);return i.decode(o)},write:async(i,s,o)=>{await e.write(s.encode(i),o)},writeV:async(i,s,o)=>{await e.writeV(i.map(a=>s.encode(a)),o)},pb:i=>({read:async s=>n.read(i,s),write:async(s,o)=>n.write(s,i,o),writeV:async(s,o)=>n.writeV(s,i,o),unwrap:()=>n}),unwrap:()=>e.unwrap()};return n}var nr="0.0.1",ir="fetch";var ot;(function(r){let t;r.codec=()=>(t==null&&(t=Et((s,o,a={})=>{a.lengthDelimited!==!1&&o.fork(),s.identifier!=null&&s.identifier.byteLength>0&&(o.uint32(10),o.bytes(s.identifier)),a.lengthDelimited!==!1&&o.ldelim()},(s,o,a={})=>{let c={identifier:S(0)},h=o==null?s.len:s.pos+o;for(;s.pos<h;){let u=s.uint32();u>>>3===1?c.identifier=s.bytes():s.skipType(u&7)}return c},function*(s,o,a,c={}){let h=o==null?s.len:s.pos+o;for(;s.pos<h;){let u=s.uint32();u>>>3===1?yield{field:`${a}.identifier`,value:s.bytes()}:s.skipType(u&7)}})),t);function e(s){return bt(s,r.codec())}r.encode=e;function n(s,o){return mt(s,r.codec(),o)}r.decode=n;function i(s,o){return wt(s,r.codec(),o)}r.stream=i})(ot||(ot={}));var I;(function(r){let t;(function(a){a.OK="OK",a.NOT_FOUND="NOT_FOUND",a.ERROR="ERROR"})(t=r.StatusCode||(r.StatusCode={}));let e;(function(a){a[a.OK=0]="OK",a[a.NOT_FOUND=1]="NOT_FOUND",a[a.ERROR=2]="ERROR"})(e||(e={})),(function(a){a.codec=()=>le(e)})(t=r.StatusCode||(r.StatusCode={}));let n;r.codec=()=>(n==null&&(n=Et((a,c,h={})=>{h.lengthDelimited!==!1&&c.fork(),a.status!=null&&e[a.status]!==0&&(c.uint32(8),r.StatusCode.codec().encode(a.status,c)),a.data!=null&&a.data.byteLength>0&&(c.uint32(18),c.bytes(a.data)),h.lengthDelimited!==!1&&c.ldelim()},(a,c,h={})=>{let u={status:t.OK,data:S(0)},l=c==null?a.len:a.pos+c;for(;a.pos<l;){let f=a.uint32();switch(f>>>3){case 1:{u.status=r.StatusCode.codec().decode(a);break}case 2:{u.data=a.bytes();break}default:{a.skipType(f&7);break}}}return u},function*(a,c,h,u={}){let l=c==null?a.len:a.pos+c;for(;a.pos<l;){let f=a.uint32();switch(f>>>3){case 1:{yield{field:`${h}.status`,value:r.StatusCode.codec().decode(a)};break}case 2:{yield{field:`${h}.data`,value:a.bytes()};break}default:{a.skipType(f&7);break}}}})),n);function i(a){return bt(a,r.codec())}r.encode=i;function s(a,c){return mt(a,r.codec(),c)}r.decode=s;function o(a,c){return wt(a,r.codec(),c)}r.stream=o})(I||(I={}));var sr=1e4,vt=class{protocol;components;lookupFunctions;started;init;constructor(t,e={}){this.started=!1,this.components=t,this.protocol=`/${e.protocolPrefix??"libp2p"}/${ir}/${nr}`,this.lookupFunctions=new Map,this.init=e,this.handleMessage=this.handleMessage.bind(this)}[Symbol.toStringTag]="@libp2p/fetch";async start(){await this.components.registrar.handle(this.protocol,this.handleMessage,{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={}){if(typeof e=="string"&&(e=Y(e)),n.signal==null){let s=this.init.timeout??sr,o=AbortSignal.timeout(s);n={...n,signal:o}}let i;try{i=await(await this.components.connectionManager.openConnection(t,n)).newStream(this.protocol,n);let o=i.log.newScope("fetch");o.trace("fetch %m",e);let a=xe(i);await a.write({identifier:e},ot,n);let c=await a.read(I,n);switch(await i.close(n),c.status){case I.StatusCode.OK:return o.trace("received status OK for %m",e),c.data;case I.StatusCode.NOT_FOUND:{o("received status NOT_FOUND for %m",e);return}case I.StatusCode.ERROR:{o("received status ERROR for %m",e);let h=Ht(c.data);throw new ut("Error in fetch protocol response: "+h)}default:throw o("received status unknown for %m",e),new ct("Unknown response status")}}catch(s){throw i?.abort(s),s}}async handleMessage(t){let e=t.log.newScope("fetch"),n=AbortSignal.timeout(this.init.timeout??sr),i=xe(t),s=await i.read(ot,{signal:n}),o,a=Ht(s.identifier),c=this._getLookupFunction(a);if(c==null){e.trace("sending status ERROR for %m",s.identifier);let h=Y("No lookup function registered for key");o={status:I.StatusCode.ERROR,data:h}}else{e.trace("lookup data with identifier %s",c.prefix);try{let h=await c.fn(s.identifier);h==null?(e.trace("sending status NOT_FOUND for %m",s.identifier),o={status:I.StatusCode.NOT_FOUND,data:new Uint8Array(0)}):(e.trace("sending status OK for %m",s.identifier),o={status:I.StatusCode.OK,data:h})}catch(h){e.error("error during lookup of %m - %e",s.identifier,h);let u=Y(h.message);o={status:I.StatusCode.ERROR,data:u}}}await i.write(o,I,{signal:n}),await t.close({signal:n})}_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 j(`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 qn(r={}){return t=>new vt(t,r)}return hr(Wn);})();
2
+ "use strict";var Libp2PFetch=(()=>{var qe=Object.defineProperty;var En=Object.getOwnPropertyDescriptor;var vn=Object.getOwnPropertyNames;var Ln=Object.prototype.hasOwnProperty;var g=(r,e)=>{for(var t in e)qe(r,t,{get:e[t],enumerable:!0})},Sn=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of vn(e))!Ln.call(r,o)&&o!==t&&qe(r,o,{get:()=>e[o],enumerable:!(n=En(e,o))||n.enumerable});return r};var An=r=>Sn(qe({},"__esModule",{value:!0}),r);var xs={};g(xs,{fetch:()=>bs});var H=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}};var Se=class extends Error{static name="InvalidMessageError";constructor(e="Invalid message"){super(e),this.name="InvalidMessageError"}},Ae=class extends Error{static name="ProtocolError";constructor(e="Protocol error"){super(e),this.name="ProtocolError"}};var We={};g(We,{base58btc:()=>M,base58flickr:()=>Fn});var ys=new Uint8Array(0);function cr(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function k(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return j(r);if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return j(new Uint8Array(r.buffer,r.byteOffset,r.byteLength));throw new Error("Unknown type, must be binary type")}function ur(r){return new TextEncoder().encode(r)}function hr(r){return new TextDecoder().decode(r)}function In(r){return r?.buffer instanceof ArrayBuffer}function j(r){return In(r)?r:r.slice()}function Cn(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var o=0;o<r.length;o++){var i=r.charAt(o),s=i.charCodeAt(0);if(t[s]!==255)throw new TypeError(i+" is ambiguous");t[s]=o}var a=r.length,c=r.charAt(0),h=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(f){if(f instanceof Uint8Array||(ArrayBuffer.isView(f)?f=new Uint8Array(f.buffer,f.byteOffset,f.byteLength):Array.isArray(f)&&(f=Uint8Array.from(f))),!(f instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(f.length===0)return"";for(var p=0,U=0,w=0,L=f.length;w!==L&&f[w]===0;)w++,p++;for(var S=(L-w)*u+1>>>0,x=new Uint8Array(S);w!==L;){for(var A=f[w],C=0,y=S-1;(A!==0||C<U)&&y!==-1;y--,C++)A+=256*x[y]>>>0,x[y]=A%a>>>0,A=A/a>>>0;if(A!==0)throw new Error("Non-zero carry");U=C,w++}for(var I=S-U;I!==S&&x[I]===0;)I++;for(var R=c.repeat(p);I<S;++I)R+=r.charAt(x[I]);return R}function d(f){if(typeof f!="string")throw new TypeError("Expected String");if(f.length===0)return new Uint8Array;var p=0;if(f[p]!==" "){for(var U=0,w=0;f[p]===c;)U++,p++;for(var L=(f.length-p)*h+1>>>0,S=new Uint8Array(L);f[p];){var x=t[f.charCodeAt(p)];if(x===255)return;for(var A=0,C=L-1;(x!==0||A<w)&&C!==-1;C--,A++)x+=a*S[C]>>>0,S[C]=x%256>>>0,x=x/256>>>0;if(x!==0)throw new Error("Non-zero carry");w=A,p++}if(f[p]!==" "){for(var y=L-w;y!==L&&S[y]===0;)y++;for(var I=new Uint8Array(U+(L-y)),R=U;y!==L;)I[R++]=S[y++];return I}}}function b(f){var p=d(f);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:d,decode:b}}var Dn=Cn,Nn=Dn,lr=Nn;var je=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Ge=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){this.name=e,this.prefix=t;let o=t.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return dr(this,e)}},Je=class{decoders;constructor(e){this.decoders=e}or(e){return dr(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function dr(r,e){return new Je({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var Ke=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new je(e,t,n),this.decoder=new Ge(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function Q({name:r,prefix:e,encode:t,decode:n}){return new Ke(r,e,t,n)}function $({name:r,prefix:e,alphabet:t}){let{encode:n,decode:o}=lr(t,r);return Q({prefix:e,name:r,encode:n,decode:i=>k(o(i))})}function Un(r,e,t,n){let o=r.length;for(;r[o-1]==="=";)--o;let i=new Uint8Array(o*t/8|0),s=0,a=0,c=0;for(let h=0;h<o;++h){let u=e[r[h]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<t|u,s+=t,s>=8&&(s-=8,i[c++]=255&a>>s)}if(s>=t||(255&a<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return i}function Tn(r,e,t){let n=e[e.length-1]==="=",o=(1<<t)-1,i="",s=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],s+=8;s>t;)s-=t,i+=e[o&a>>s];if(s!==0&&(i+=e[o&a<<t-s]),n)for(;(i.length*t&7)!==0;)i+="=";return i}function On(r){let e={};for(let t=0;t<r.length;++t)e[r[t]]=t;return e}function E({name:r,prefix:e,bitsPerChar:t,alphabet:n}){let o=On(n);return Q({prefix:e,name:r,encode(i){return Tn(i,n,t)},decode(i){return Un(i,o,t,r)}})}var M=$({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Fn=$({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Xe={};g(Xe,{base32:()=>Y,base32hex:()=>kn,base32hexpad:()=>zn,base32hexpadupper:()=>Vn,base32hexupper:()=>Pn,base32pad:()=>Bn,base32padupper:()=>Rn,base32upper:()=>Mn,base32z:()=>$n});var Y=E({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Mn=E({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Bn=E({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Rn=E({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),kn=E({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Pn=E({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),zn=E({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Vn=E({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),$n=E({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var He={};g(He,{base36:()=>ue,base36upper:()=>_n});var ue=$({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),_n=$({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var qn=br,pr=128,jn=127,Gn=~jn,Jn=Math.pow(2,31);function br(r,e,t){e=e||[],t=t||0;for(var n=t;r>=Jn;)e[t++]=r&255|pr,r/=128;for(;r&Gn;)e[t++]=r&255|pr,r>>>=7;return e[t]=r|0,br.bytes=t-n+1,e}var Kn=Qe,Wn=128,mr=127;function Qe(r,n){var t=0,n=n||0,o=0,i=n,s,a=r.length;do{if(i>=a)throw Qe.bytes=0,new RangeError("Could not decode varint");s=r[i++],t+=o<28?(s&mr)<<o:(s&mr)*Math.pow(2,o),o+=7}while(s>=Wn);return Qe.bytes=i-n,t}var Xn=Math.pow(2,7),Hn=Math.pow(2,14),Qn=Math.pow(2,21),Yn=Math.pow(2,28),Zn=Math.pow(2,35),eo=Math.pow(2,42),to=Math.pow(2,49),ro=Math.pow(2,56),no=Math.pow(2,63),oo=function(r){return r<Xn?1:r<Hn?2:r<Qn?3:r<Yn?4:r<Zn?5:r<eo?6:r<to?7:r<ro?8:r<no?9:10},io={encode:qn,decode:Kn,encodingLength:oo},so=io,he=so;function fe(r,e=0){return[he.decode(r,e),he.decode.bytes]}function Z(r,e,t=0){return he.encode(r,e,t),e}function ee(r){return he.encodingLength(r)}function re(r,e){let t=e.byteLength,n=ee(r),o=n+ee(t),i=new Uint8Array(o+t);return Z(r,i,0),Z(t,i,n),i.set(e,o),new te(r,t,e,i)}function xr(r){let e=k(r),[t,n]=fe(e),[o,i]=fe(e.subarray(n)),s=e.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new te(t,o,s,e)}function gr(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&cr(r.bytes,t.bytes)}}var te=class{code;size;digest;bytes;constructor(e,t,n,o){this.code=e,this.size=t,this.digest=j(n),this.bytes=j(o)}};function wr(r,e){let{bytes:t,version:n}=r;return n===0?co(t,Ye(r),e??M.encoder):uo(t,Ye(r),e??Y.encoder)}var yr=new WeakMap;function Ye(r){let e=yr.get(r);if(e==null){let t=new Map;return yr.set(r,t),t}return e}var Ce=class r{code;version;multihash;bytes;"/";constructor(e,t,n,o){this.code=t,this.version=e,this.multihash=n,this.bytes=j(o),this["/"]=this.bytes}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:t}=this;if(e!==de)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==ho)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=re(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&&gr(e.multihash,n.multihash)}toString(e){return wr(this,e)}toJSON(){return{"/":wr(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:i,bytes:s}=t;return new r(n,o,i,s??Er(n,o,i.bytes))}else if(t[fo]===!0){let{version:n,multihash:o,code:i}=t,s=xr(o);return r.create(n,i,s)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==de)throw new Error(`Version 0 CID must use dag-pb (code: ${de}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=Er(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,de,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=k(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let i=o.subarray(t.multihashSize-t.digestSize),s=new te(t.multihashCode,t.digestSize,i,o);return[t.version===0?r.createV0(s):r.createV1(t.codec,s),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[l,d]=fe(e.subarray(t));return t+=d,l},o=n(),i=de;if(o===18?(o=0,t=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=t,a=n(),c=n(),h=t+c,u=h-s;return{version:o,codec:i,multihashCode:a,digestSize:c,multihashSize:u,size:h}}static parse(e,t){let[n,o]=ao(e,t),i=r.decode(o);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ye(i).set(n,e),i}};function ao(r,e){switch(r[0]){case"Q":{let t=e??M;return[M.prefix,t.decode(`${M.prefix}${r}`)]}case M.prefix:{let t=e??M;return[M.prefix,t.decode(r)]}case Y.prefix:{let t=e??Y;return[Y.prefix,t.decode(r)]}case ue.prefix:{let t=e??ue;return[ue.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function co(r,e,t){let{prefix:n}=t;if(n!==M.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let i=t.encode(r).slice(1);return e.set(n,i),i}else return o}function uo(r,e,t){let{prefix:n}=t,o=e.get(n);if(o==null){let i=t.encode(r);return e.set(n,i),i}else return o}var de=112,ho=18;function Er(r,e,t){let n=ee(r),o=n+ee(e),i=new Uint8Array(o+t.byteLength);return Z(r,i,0),Z(e,i,n),i.set(t,o),i}var fo=Symbol.for("@ipld/js-cid/CID");var Ze={};g(Ze,{identity:()=>mo});var vr=0,lo="identity",Lr=k;function po(r,e){if(e?.truncate!=null&&e.truncate!==r.byteLength){if(e.truncate<0||e.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e.truncate)}return re(vr,Lr(r))}var mo={code:vr,name:lo,encode:Lr,digest:po};function P(r=0){return new Uint8Array(r)}function pe(r=0){return new Uint8Array(r)}function et(r,e){e==null&&(e=r.reduce((o,i)=>o+i.length,0));let t=pe(e),n=0;for(let o of r)t.set(o,n),n+=o.length;return t}function Sr(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}var Ir=Symbol.for("@achingbrain/uint8arraylist");function Ar(r,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let t=0;for(let n of r){let o=t+n.byteLength;if(e<o)return{buf:n,index:e-t};t=o}throw new RangeError("index is out of bounds")}function De(r){return!!r?.[Ir]}var G=class r{bufs;length;[Ir]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let t=0;for(let n of e)if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.push(n);else if(De(n)){t+=n.byteLength;for(let o of n.bufs)this.bufs.push(o)}else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}prepend(...e){this.prependAll(e)}prependAll(e){let t=0;for(let n of e.reverse())if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.unshift(n);else if(De(n))t+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}get(e){let t=Ar(this.bufs,e);return t.buf[t.index]}set(e,t){let n=Ar(this.bufs,e);n.buf[n.index]=t}write(e,t=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(t+n,e[n]);else if(De(e))for(let n=0;n<e.length;n++)this.set(t+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,t){let{bufs:n,length:o}=this._subList(e,t);return et(n,o)}subarray(e,t){let{bufs:n,length:o}=this._subList(e,t);return n.length===1?n[0]:et(n,o)}sublist(e,t){let{bufs:n,length:o}=this._subList(e,t),i=new r;return i.length=o,i.bufs=n,i}_subList(e,t){if(e=e??0,t=t??this.length,e<0&&(e=this.length+e),t<0&&(t=this.length+t),e<0||t>this.length)throw new RangeError("index is out of bounds");if(e===t)return{bufs:[],length:0};if(e===0&&t===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],o=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],a=o,c=a+s.byteLength;if(o=c,e>=c)continue;let h=e>=a&&e<c,u=t>a&&t<=c;if(h&&u){if(e===a&&t===c){n.push(s);break}let l=e-a;n.push(s.subarray(l,l+(t-e)));break}if(h){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(u){if(t===c){n.push(s);break}n.push(s.subarray(0,t-a));break}n.push(s)}return{bufs:n,length:t-e}}indexOf(e,t=0){if(!De(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(t=Number(t??0),isNaN(t)&&(t=0),t<0&&(t=this.length+t),t<0&&(t=0),e.length===0)return t>this.length?this.length:t;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let l=0;l<i;l++)s[l]=-1;for(let l=0;l<o;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,h=n.byteLength-1,u;for(let l=t;l<=c;l+=u){u=0;for(let d=h;d>=0;d--){let b=this.get(l+d);if(n[d]!==b){u=Math.max(1,d-a[b]);break}}if(u===0)return l}return-1}getInt8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getInt8(0)}setInt8(e,t){let n=pe(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,t),this.write(n,e)}getInt16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,t)}setInt16(e,t,n){let o=P(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,t,n),this.write(o,e)}getInt32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,t)}setInt32(e,t,n){let o=P(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,t,n),this.write(o,e)}getBigInt64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,t)}setBigInt64(e,t,n){let o=P(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,t,n),this.write(o,e)}getUint8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getUint8(0)}setUint8(e,t){let n=pe(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,t),this.write(n,e)}getUint16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,t)}setUint16(e,t,n){let o=P(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,t,n),this.write(o,e)}getUint32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,t)}setUint32(e,t,n){let o=P(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,t,n),this.write(o,e)}getBigUint64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,t)}setBigUint64(e,t,n){let o=P(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,t,n),this.write(o,e)}getFloat32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,t)}setFloat32(e,t,n){let o=P(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,t,n),this.write(o,e)}getFloat64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,t)}setFloat64(e,t,n){let o=P(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,t,n),this.write(o,e)}equals(e){if(e==null||!(e instanceof r)||e.bufs.length!==this.bufs.length)return!1;for(let t=0;t<this.bufs.length;t++)if(!Sr(this.bufs[t],e.bufs[t]))return!1;return!0}static fromUint8Arrays(e,t){let n=new r;return n.bufs=e,t==null&&(t=e.reduce((o,i)=>o+i.byteLength,0)),n.length=t,n}};var tt={};g(tt,{base10:()=>bo});var bo=$({prefix:"9",name:"base10",alphabet:"0123456789"});var rt={};g(rt,{base16:()=>xo,base16upper:()=>go});var xo=E({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),go=E({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var nt={};g(nt,{base2:()=>wo});var wo=E({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ot={};g(ot,{base256emoji:()=>So});var Cr=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}"),yo=Cr.reduce((r,e,t)=>(r[t]=e,r),[]),Eo=Cr.reduce((r,e,t)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return r[n]=t,r},[]);function vo(r){return r.reduce((e,t)=>(e+=yo[t],e),"")}function Lo(r){let e=[];for(let t of r){let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);let o=Eo[n];if(o==null)throw new Error(`Non-base256emoji character: ${t}`);e.push(o)}return new Uint8Array(e)}var So=Q({prefix:"\u{1F680}",name:"base256emoji",encode:vo,decode:Lo});var it={};g(it,{base64:()=>Ao,base64pad:()=>Io,base64url:()=>Co,base64urlpad:()=>Do});var Ao=E({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Io=E({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Co=E({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Do=E({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var st={};g(st,{base8:()=>No});var No=E({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var at={};g(at,{identity:()=>Uo});var Uo=Q({prefix:"\0",name:"identity",encode:r=>hr(r),decode:r=>ur(r)});var na=new TextEncoder,oa=new TextDecoder;var ht={};g(ht,{sha256:()=>Mo,sha512:()=>Bo});var Fo=20;function ut({name:r,code:e,encode:t,minDigestLength:n,maxDigestLength:o}){return new ct(r,e,t,n,o)}var ct=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,t,n,o,i){this.name=e,this.code=t,this.encode=n,this.minDigestLength=o??Fo,this.maxDigestLength=i}digest(e,t){if(t?.truncate!=null){if(t.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&t.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?Dr(n,this.code,t?.truncate):n.then(o=>Dr(o,this.code,t?.truncate))}else throw Error("Unknown type, must be binary type")}};function Dr(r,e,t){if(t!=null&&t!==r.byteLength){if(t>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t)}return re(e,r)}function Ur(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var Mo=ut({name:"sha2-256",code:18,encode:Ur("SHA-256")}),Bo=ut({name:"sha2-512",code:19,encode:Ur("SHA-512")});var ft={...at,...nt,...st,...tt,...rt,...Xe,...He,...We,...it,...ot},ba={...ht,...Ze};function lt(r=0){return new Uint8Array(r)}function Tr(r=0){return new Uint8Array(r)}function Fr(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var Or=Fr("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),dt=Fr("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=Tr(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Ro={utf8:Or,"utf-8":Or,hex:ft.base16,latin1:dt,ascii:dt,binary:dt,...ft},Ne=Ro;function Ue(r,e="utf8"){let t=Ne[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.decoder.decode(`${t.prefix}${r}`)}function pt(r,e="utf8"){let t=Ne[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.encoder.encode(r).substring(1)}function Mr(r=0){return new Uint8Array(r)}var ko=Math.pow(2,7),Po=Math.pow(2,14),zo=Math.pow(2,21),mt=Math.pow(2,28),bt=Math.pow(2,35),xt=Math.pow(2,42),gt=Math.pow(2,49),m=128,D=127;function z(r){if(r<ko)return 1;if(r<Po)return 2;if(r<zo)return 3;if(r<mt)return 4;if(r<bt)return 5;if(r<xt)return 6;if(r<gt)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function wt(r,e,t=0){switch(z(r)){case 8:e[t++]=r&255|m,r/=128;case 7:e[t++]=r&255|m,r/=128;case 6:e[t++]=r&255|m,r/=128;case 5:e[t++]=r&255|m,r/=128;case 4:e[t++]=r&255|m,r>>>=7;case 3:e[t++]=r&255|m,r>>>=7;case 2:e[t++]=r&255|m,r>>>=7;case 1:{e[t++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return e}function Vo(r,e,t=0){switch(z(r)){case 8:e.set(t++,r&255|m),r/=128;case 7:e.set(t++,r&255|m),r/=128;case 6:e.set(t++,r&255|m),r/=128;case 5:e.set(t++,r&255|m),r/=128;case 4:e.set(t++,r&255|m),r>>>=7;case 3:e.set(t++,r&255|m),r>>>=7;case 2:e.set(t++,r&255|m),r>>>=7;case 1:{e.set(t++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return e}function yt(r,e){let t=r[e],n=0;if(n+=t&D,t<m||(t=r[e+1],n+=(t&D)<<7,t<m)||(t=r[e+2],n+=(t&D)<<14,t<m)||(t=r[e+3],n+=(t&D)<<21,t<m)||(t=r[e+4],n+=(t&D)*mt,t<m)||(t=r[e+5],n+=(t&D)*bt,t<m)||(t=r[e+6],n+=(t&D)*xt,t<m)||(t=r[e+7],n+=(t&D)*gt,t<m))return n;throw new RangeError("Could not decode varint")}function $o(r,e){let t=r.get(e),n=0;if(n+=t&D,t<m||(t=r.get(e+1),n+=(t&D)<<7,t<m)||(t=r.get(e+2),n+=(t&D)<<14,t<m)||(t=r.get(e+3),n+=(t&D)<<21,t<m)||(t=r.get(e+4),n+=(t&D)*mt,t<m)||(t=r.get(e+5),n+=(t&D)*bt,t<m)||(t=r.get(e+6),n+=(t&D)*xt,t<m)||(t=r.get(e+7),n+=(t&D)*gt,t<m))return n;throw new RangeError("Could not decode varint")}function Br(r,e,t=0){return e==null&&(e=Mr(z(r))),e instanceof Uint8Array?wt(r,e,t):Vo(r,e,t)}function Rr(r,e=0){return r instanceof Uint8Array?yt(r,e):$o(r,e)}var Et=new Float32Array([-0]),_=new Uint8Array(Et.buffer);function kr(r,e,t){Et[0]=r,e[t]=_[0],e[t+1]=_[1],e[t+2]=_[2],e[t+3]=_[3]}function Pr(r,e){return _[0]=r[e],_[1]=r[e+1],_[2]=r[e+2],_[3]=r[e+3],Et[0]}var vt=new Float64Array([-0]),N=new Uint8Array(vt.buffer);function zr(r,e,t){vt[0]=r,e[t]=N[0],e[t+1]=N[1],e[t+2]=N[2],e[t+3]=N[3],e[t+4]=N[4],e[t+5]=N[5],e[t+6]=N[6],e[t+7]=N[7]}function Vr(r,e){return N[0]=r[e],N[1]=r[e+1],N[2]=r[e+2],N[3]=r[e+3],N[4]=r[e+4],N[5]=r[e+5],N[6]=r[e+6],N[7]=r[e+7],vt[0]}var qo=BigInt(Number.MAX_SAFE_INTEGER),jo=BigInt(Number.MIN_SAFE_INTEGER),T=class r{lo;hi;constructor(e,t){this.lo=e|0,this.hi=t|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(t+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(BigInt(t)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?t===0?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return J;if(e<qo&&e>jo)return this.fromNumber(Number(e));let t=e<0n;t&&(e=-e);let n=e>>32n,o=e-(n<<32n);return t&&(n=~n|0n,o=~o|0n,++o>$r&&(o=0n,++n>$r&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(e){if(e===0)return J;let t=e<0;t&&(e=-e);let n=e>>>0,o=(e-n)/4294967296>>>0;return t&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(e){return typeof e=="number"?r.fromNumber(e):typeof e=="bigint"?r.fromBigInt(e):typeof e=="string"?r.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new r(e.low>>>0,e.high>>>0):J}},J=new T(0,0);J.toBigInt=function(){return 0n};J.zzEncode=J.zzDecode=function(){return this};J.length=function(){return 1};var $r=4294967296n;function _r(r){let e=0,t=0;for(let n=0;n<r.length;++n)t=r.charCodeAt(n),t<128?e+=1:t<2048?e+=2:(t&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function qr(r,e,t){if(t-e<1)return"";let o,i=[],s=0,a;for(;e<t;)a=r[e++],a<128?i[s++]=a:a>191&&a<224?i[s++]=(a&31)<<6|r[e++]&63:a>239&&a<365?(a=((a&7)<<18|(r[e++]&63)<<12|(r[e++]&63)<<6|r[e++]&63)-65536,i[s++]=55296+(a>>10),i[s++]=56320+(a&1023)):i[s++]=(a&15)<<12|(r[e++]&63)<<6|r[e++]&63,s>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,i)),s=0);return o!=null?(s>0&&o.push(String.fromCharCode.apply(String,i.slice(0,s))),o.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function Lt(r,e,t){let n=t,o,i;for(let s=0;s<r.length;++s)o=r.charCodeAt(s),o<128?e[t++]=o:o<2048?(e[t++]=o>>6|192,e[t++]=o&63|128):(o&64512)===55296&&((i=r.charCodeAt(s+1))&64512)===56320?(o=65536+((o&1023)<<10)+(i&1023),++s,e[t++]=o>>18|240,e[t++]=o>>12&63|128,e[t++]=o>>6&63|128,e[t++]=o&63|128):(e[t++]=o>>12|224,e[t++]=o>>6&63|128,e[t++]=o&63|128);return t-n}function F(r,e){return RangeError(`index out of range: ${r.pos} + ${e??1} > ${r.len}`)}function Te(r,e){return(r[e-4]|r[e-3]<<8|r[e-2]<<16|r[e-1]<<24)>>>0}var St=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,F(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw F(this,4);return Te(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw F(this,4);return Te(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw F(this,4);let e=Pr(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw F(this,4);let e=Vr(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw F(this,e);return this.pos+=e,t===n?new Uint8Array(0):this.buf.subarray(t,n)}string(){let e=this.bytes();return qr(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw F(this,e);this.pos+=e}else do if(this.pos>=this.len)throw F(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new T(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw F(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw F(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw F(this,8);let e=Te(this.buf,this.pos+=4),t=Te(this.buf,this.pos+=4);return new T(e,t)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let e=yt(this.buf,this.pos);return this.pos+=z(e),e}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 me(r){return new St(r instanceof Uint8Array?r:r.subarray())}function Oe(r,e,t){let n=me(r);return e.decode(n,void 0,t)}function K(r=0){return new Uint8Array(r)}var Nt={};g(Nt,{base10:()=>Qo});var ka=new Uint8Array(0);function Gr(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function V(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 Jr(r){return new TextEncoder().encode(r)}function Kr(r){return new TextDecoder().decode(r)}function Go(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var o=0;o<r.length;o++){var i=r.charAt(o),s=i.charCodeAt(0);if(t[s]!==255)throw new TypeError(i+" is ambiguous");t[s]=o}var a=r.length,c=r.charAt(0),h=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(f){if(f instanceof Uint8Array||(ArrayBuffer.isView(f)?f=new Uint8Array(f.buffer,f.byteOffset,f.byteLength):Array.isArray(f)&&(f=Uint8Array.from(f))),!(f instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(f.length===0)return"";for(var p=0,U=0,w=0,L=f.length;w!==L&&f[w]===0;)w++,p++;for(var S=(L-w)*u+1>>>0,x=new Uint8Array(S);w!==L;){for(var A=f[w],C=0,y=S-1;(A!==0||C<U)&&y!==-1;y--,C++)A+=256*x[y]>>>0,x[y]=A%a>>>0,A=A/a>>>0;if(A!==0)throw new Error("Non-zero carry");U=C,w++}for(var I=S-U;I!==S&&x[I]===0;)I++;for(var R=c.repeat(p);I<S;++I)R+=r.charAt(x[I]);return R}function d(f){if(typeof f!="string")throw new TypeError("Expected String");if(f.length===0)return new Uint8Array;var p=0;if(f[p]!==" "){for(var U=0,w=0;f[p]===c;)U++,p++;for(var L=(f.length-p)*h+1>>>0,S=new Uint8Array(L);f[p];){var x=t[f.charCodeAt(p)];if(x===255)return;for(var A=0,C=L-1;(x!==0||A<w)&&C!==-1;C--,A++)x+=a*S[C]>>>0,S[C]=x%256>>>0,x=x/256>>>0;if(x!==0)throw new Error("Non-zero carry");w=A,p++}if(f[p]!==" "){for(var y=L-w;y!==L&&S[y]===0;)y++;for(var I=new Uint8Array(U+(L-y)),R=U;y!==L;)I[R++]=S[y++];return I}}}function b(f){var p=d(f);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:d,decode:b}}var Jo=Go,Ko=Jo,Xr=Ko;var At=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},It=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){this.name=e,this.prefix=t;let o=t.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Hr(this,e)}},Ct=class{decoders;constructor(e){this.decoders=e}or(e){return Hr(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Hr(r,e){return new Ct({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var Dt=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new At(e,t,n),this.decoder=new It(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function ne({name:r,prefix:e,encode:t,decode:n}){return new Dt(r,e,t,n)}function q({name:r,prefix:e,alphabet:t}){let{encode:n,decode:o}=Xr(t,r);return ne({prefix:e,name:r,encode:n,decode:i=>V(o(i))})}function Wo(r,e,t,n){let o=r.length;for(;r[o-1]==="=";)--o;let i=new Uint8Array(o*t/8|0),s=0,a=0,c=0;for(let h=0;h<o;++h){let u=e[r[h]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<t|u,s+=t,s>=8&&(s-=8,i[c++]=255&a>>s)}if(s>=t||(255&a<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return i}function Xo(r,e,t){let n=e[e.length-1]==="=",o=(1<<t)-1,i="",s=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],s+=8;s>t;)s-=t,i+=e[o&a>>s];if(s!==0&&(i+=e[o&a<<t-s]),n)for(;(i.length*t&7)!==0;)i+="=";return i}function Ho(r){let e={};for(let t=0;t<r.length;++t)e[r[t]]=t;return e}function v({name:r,prefix:e,bitsPerChar:t,alphabet:n}){let o=Ho(n);return ne({prefix:e,name:r,encode(i){return Xo(i,n,t)},decode(i){return Wo(i,o,t,r)}})}var Qo=q({prefix:"9",name:"base10",alphabet:"0123456789"});var Ut={};g(Ut,{base16:()=>Yo,base16upper:()=>Zo});var Yo=v({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Zo=v({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Tt={};g(Tt,{base2:()=>ei});var ei=v({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ot={};g(Ot,{base256emoji:()=>ii});var Qr=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}"),ti=Qr.reduce((r,e,t)=>(r[t]=e,r),[]),ri=Qr.reduce((r,e,t)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return r[n]=t,r},[]);function ni(r){return r.reduce((e,t)=>(e+=ti[t],e),"")}function oi(r){let e=[];for(let t of r){let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);let o=ri[n];if(o==null)throw new Error(`Non-base256emoji character: ${t}`);e.push(o)}return new Uint8Array(e)}var ii=ne({prefix:"\u{1F680}",name:"base256emoji",encode:ni,decode:oi});var Ft={};g(Ft,{base32:()=>oe,base32hex:()=>ui,base32hexpad:()=>fi,base32hexpadupper:()=>li,base32hexupper:()=>hi,base32pad:()=>ai,base32padupper:()=>ci,base32upper:()=>si,base32z:()=>di});var oe=v({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),si=v({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),ai=v({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ci=v({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ui=v({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),hi=v({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),fi=v({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),li=v({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),di=v({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Mt={};g(Mt,{base36:()=>be,base36upper:()=>pi});var be=q({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),pi=q({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Bt={};g(Bt,{base58btc:()=>B,base58flickr:()=>mi});var B=q({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),mi=q({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Rt={};g(Rt,{base64:()=>bi,base64pad:()=>xi,base64url:()=>gi,base64urlpad:()=>wi});var bi=v({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),xi=v({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),gi=v({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),wi=v({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var kt={};g(kt,{base8:()=>yi});var yi=v({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Pt={};g(Pt,{identity:()=>Ei});var Ei=ne({prefix:"\0",name:"identity",encode:r=>Kr(r),decode:r=>Jr(r)});var Za=new TextEncoder,ec=new TextDecoder;var Vt={};g(Vt,{identity:()=>ji});var Si=en,Yr=128,Ai=127,Ii=~Ai,Ci=Math.pow(2,31);function en(r,e,t){e=e||[],t=t||0;for(var n=t;r>=Ci;)e[t++]=r&255|Yr,r/=128;for(;r&Ii;)e[t++]=r&255|Yr,r>>>=7;return e[t]=r|0,en.bytes=t-n+1,e}var Di=zt,Ni=128,Zr=127;function zt(r,n){var t=0,n=n||0,o=0,i=n,s,a=r.length;do{if(i>=a)throw zt.bytes=0,new RangeError("Could not decode varint");s=r[i++],t+=o<28?(s&Zr)<<o:(s&Zr)*Math.pow(2,o),o+=7}while(s>=Ni);return zt.bytes=i-n,t}var Ui=Math.pow(2,7),Ti=Math.pow(2,14),Oi=Math.pow(2,21),Fi=Math.pow(2,28),Mi=Math.pow(2,35),Bi=Math.pow(2,42),Ri=Math.pow(2,49),ki=Math.pow(2,56),Pi=Math.pow(2,63),zi=function(r){return r<Ui?1:r<Ti?2:r<Oi?3:r<Fi?4:r<Mi?5:r<Bi?6:r<Ri?7:r<ki?8:r<Pi?9:10},Vi={encode:Si,decode:Di,encodingLength:zi},$i=Vi,xe=$i;function ge(r,e=0){return[xe.decode(r,e),xe.decode.bytes]}function ie(r,e,t=0){return xe.encode(r,e,t),e}function se(r){return xe.encodingLength(r)}function ce(r,e){let t=e.byteLength,n=se(r),o=n+se(t),i=new Uint8Array(o+t);return ie(r,i,0),ie(t,i,n),i.set(e,o),new ae(r,t,e,i)}function tn(r){let e=V(r),[t,n]=ge(e),[o,i]=ge(e.subarray(n)),s=e.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new ae(t,o,s,e)}function rn(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&Gr(r.bytes,t.bytes)}}var ae=class{code;size;digest;bytes;constructor(e,t,n,o){this.code=e,this.size=t,this.digest=n,this.bytes=o}};var nn=0,_i="identity",on=V;function qi(r,e){if(e?.truncate!=null&&e.truncate!==r.byteLength){if(e.truncate<0||e.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e.truncate)}return ce(nn,on(r))}var ji={code:nn,name:_i,encode:on,digest:qi};var qt={};g(qt,{sha256:()=>Ji,sha512:()=>Ki});var Gi=20;function _t({name:r,code:e,encode:t,minDigestLength:n,maxDigestLength:o}){return new $t(r,e,t,n,o)}var $t=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,t,n,o,i){this.name=e,this.code=t,this.encode=n,this.minDigestLength=o??Gi,this.maxDigestLength=i}digest(e,t){if(t?.truncate!=null){if(t.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&t.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?sn(n,this.code,t?.truncate):n.then(o=>sn(o,this.code,t?.truncate))}else throw Error("Unknown type, must be binary type")}};function sn(r,e,t){if(t!=null&&t!==r.byteLength){if(t>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t)}return ce(e,r)}function cn(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var Ji=_t({name:"sha2-256",code:18,encode:cn("SHA-256")}),Ki=_t({name:"sha2-512",code:19,encode:cn("SHA-512")});function un(r,e){let{bytes:t,version:n}=r;return n===0?Xi(t,jt(r),e??B.encoder):Hi(t,jt(r),e??oe.encoder)}var hn=new WeakMap;function jt(r){let e=hn.get(r);if(e==null){let t=new Map;return hn.set(r,t),t}return e}var Me=class r{code;version;multihash;bytes;"/";constructor(e,t,n,o){this.code=t,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:t}=this;if(e!==ye)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==Qi)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=ce(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&&rn(e.multihash,n.multihash)}toString(e){return un(this,e)}toJSON(){return{"/":un(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:i,bytes:s}=t;return new r(n,o,i,s??fn(n,o,i.bytes))}else if(t[Yi]===!0){let{version:n,multihash:o,code:i}=t,s=tn(o);return r.create(n,i,s)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==ye)throw new Error(`Version 0 CID must use dag-pb (code: ${ye}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=fn(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,ye,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=V(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let i=o.subarray(t.multihashSize-t.digestSize),s=new ae(t.multihashCode,t.digestSize,i,o);return[t.version===0?r.createV0(s):r.createV1(t.codec,s),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[l,d]=ge(e.subarray(t));return t+=d,l},o=n(),i=ye;if(o===18?(o=0,t=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=t,a=n(),c=n(),h=t+c,u=h-s;return{version:o,codec:i,multihashCode:a,digestSize:c,multihashSize:u,size:h}}static parse(e,t){let[n,o]=Wi(e,t),i=r.decode(o);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return jt(i).set(n,e),i}};function Wi(r,e){switch(r[0]){case"Q":{let t=e??B;return[B.prefix,t.decode(`${B.prefix}${r}`)]}case B.prefix:{let t=e??B;return[B.prefix,t.decode(r)]}case oe.prefix:{let t=e??oe;return[oe.prefix,t.decode(r)]}case be.prefix:{let t=e??be;return[be.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function Xi(r,e,t){let{prefix:n}=t;if(n!==B.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let i=t.encode(r).slice(1);return e.set(n,i),i}else return o}function Hi(r,e,t){let{prefix:n}=t,o=e.get(n);if(o==null){let i=t.encode(r);return e.set(n,i),i}else return o}var ye=112,Qi=18;function fn(r,e,t){let n=se(r),o=n+se(e),i=new Uint8Array(o+t.byteLength);return ie(r,i,0),ie(e,i,n),i.set(t,o),i}var Yi=Symbol.for("@ipld/js-cid/CID");var Gt={...Pt,...Tt,...kt,...Nt,...Ut,...Ft,...Mt,...Bt,...Rt,...Ot},vc={...qt,...Vt};function dn(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var ln=dn("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Jt=dn("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=K(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Zi={utf8:ln,"utf-8":ln,hex:Gt.base16,latin1:Jt,ascii:Jt,binary:Jt,...Gt},pn=Zi;function mn(r,e="utf8"){let t=pn[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.decoder.decode(`${t.prefix}${r}`)}function Kt(r){let e=r??8192,t=e>>>1,n,o=e;return function(s){if(s<1||s>t)return K(s);o+s>e&&(n=K(e),o=0);let a=n.subarray(o,o+=s);return(o&7)!==0&&(o=(o|7)+1),a}}var W=class{fn;len;next;val;constructor(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}};function Wt(){}var Ht=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},es=Kt();function ts(r){return globalThis.Buffer!=null?K(r):es(r)}var ve=class{len;head;tail;states;constructor(){this.len=0,this.head=new W(Wt,0,0),this.tail=this.head,this.states=null}_push(e,t,n){return this.tail=this.tail.next=new W(e,t,n),this.len+=t,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Qt((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(Be,10,T.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let t=T.fromBigInt(e);return this._push(Be,t.length(),t)}uint64Number(e){return this._push(wt,z(e),e)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let t=T.fromBigInt(e).zzEncode();return this._push(Be,t.length(),t)}sint64Number(e){let t=T.fromNumber(e).zzEncode();return this._push(Be,t.length(),t)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(Xt,1,e?1:0)}fixed32(e){return this._push(Ee,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let t=T.fromBigInt(e);return this._push(Ee,4,t.lo)._push(Ee,4,t.hi)}fixed64Number(e){let t=T.fromNumber(e);return this._push(Ee,4,t.lo)._push(Ee,4,t.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(kr,4,e)}double(e){return this._push(zr,8,e)}bytes(e){let t=e.length>>>0;return t===0?this._push(Xt,1,0):this.uint32(t)._push(ns,t,e)}string(e){let t=_r(e);return t!==0?this.uint32(t)._push(Lt,t,e):this._push(Xt,1,0)}fork(){return this.states=new Ht(this),this.head=this.tail=new W(Wt,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 W(Wt,0,0),this.len=0),this}ldelim(){let e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=t,this.len+=n),this}finish(){let e=this.head.next,t=ts(this.len),n=0;for(;e!=null;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t}};function Xt(r,e,t){e[t]=r&255}function rs(r,e,t){for(;r>127;)e[t++]=r&127|128,r>>>=7;e[t]=r}var Qt=class extends W{next;constructor(e,t){super(rs,e,t),this.next=void 0}};function Be(r,e,t){for(;r.hi!==0;)e[t++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)e[t++]=r.lo&127|128,r.lo=r.lo>>>7;e[t++]=r.lo}function Ee(r,e,t){e[t]=r&255,e[t+1]=r>>>8&255,e[t+2]=r>>>16&255,e[t+3]=r>>>24}function ns(r,e,t){e.set(r,t)}globalThis.Buffer!=null&&(ve.prototype.bytes=function(r){let e=r.length>>>0;return this.uint32(e),e>0&&this._push(os,e,r),this},ve.prototype.string=function(r){let e=globalThis.Buffer.byteLength(r);return this.uint32(e),e>0&&this._push(is,e,r),this});function os(r,e,t){e.set(r,t)}function is(r,e,t){r.length<40?Lt(r,e,t):e.utf8Write!=null?e.utf8Write(r,t):e.set(mn(r),t)}function Yt(){return new ve}function Re(r,e){let t=Yt();return e.encode(r,t,{lengthDelimited:!1}),t.finish()}function*ke(r,e,t){let n=me(r);yield*e.stream(n,void 0,"$",t)}var Pe={VARINT:0,BIT64:1,LENGTH_DELIMITED:2,START_GROUP:3,END_GROUP:4,BIT32:5};function ze(r,e,t,n,o){return{name:r,type:e,encode:t,decode:n,stream:o}}function Zt(r){function e(i){if(r[i.toString()]==null)throw new Error("Invalid enum value");return r[i]}let t=function(s,a){let c=e(s);a.int32(c)},n=function(s){let a=s.int32();return e(a)},o=function*(s){let a=s.int32();yield e(a)};return ze("enum",Pe.VARINT,t,n,o)}function Ve(r,e,t){return ze("message",Pe.LENGTH_DELIMITED,r,e,t)}var er=class r extends Error{name="TimeoutError";constructor(e,t){super(e,t),Error.captureStackTrace?.(this,r)}},bn=r=>r.reason??new DOMException("This operation was aborted.","AbortError");function tr(r,e){let{milliseconds:t,fallback:n,message:o,customTimers:i={setTimeout,clearTimeout},signal:s}=e,a,c,u=new Promise((l,d)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(s?.aborted){d(bn(s));return}if(s&&(c=()=>{d(bn(s))},s.addEventListener("abort",c,{once:!0})),r.then(l,d),t===Number.POSITIVE_INFINITY)return;let b=new er;a=i.setTimeout.call(void 0,()=>{if(n){try{l(n())}catch(f){d(f)}return}typeof r.cancel=="function"&&r.cancel(),o===!1?l():o instanceof Error?d(o):(b.message=o??`Promise timed out after ${t} milliseconds`,d(b))},t)}).finally(()=>{u.clear(),c&&s&&s.removeEventListener("abort",c)});return u.clear=()=>{i.clearTimeout.call(void 0,a),a=void 0},u}var ss=r=>{let e=r.addEventListener||r.on||r.addListener,t=r.removeEventListener||r.off||r.removeListener;if(!e||!t)throw new TypeError("Emitter is not compatible");return{addListener:e.bind(r),removeListener:t.bind(r)}};function as(r,e,t){let n,o=new Promise((i,s)=>{if(t={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...t},!(t.count>=0&&(t.count===Number.POSITIVE_INFINITY||Number.isInteger(t.count))))throw new TypeError("The `count` option should be at least 0 or more");t.signal?.throwIfAborted();let a=[e].flat(),c=[],{addListener:h,removeListener:u}=ss(r),l=async(...b)=>{let f=t.multiArgs?b:b[0];if(t.filter)try{if(!await t.filter(f))return}catch(p){n(),s(p);return}c.push(f),t.count===c.length&&(n(),i(c))},d=(...b)=>{n(),s(t.rejectionMultiArgs?b:b[0])};n=()=>{for(let b of a)u(b,l);for(let b of t.rejectionEvents)a.includes(b)||u(b,d)};for(let b of a)h(b,l);for(let b of t.rejectionEvents)a.includes(b)||h(b,d);t.signal&&t.signal.addEventListener("abort",()=>{d(t.signal.reason)},{once:!0}),t.resolveImmediately&&i(c)});if(o.cancel=n,typeof t.timeout=="number"){let i=tr(o,{milliseconds:t.timeout});return i.cancel=()=>{n(),i.clear()},i}return o}function xn(r,e,t){typeof t=="function"&&(t={filter:t}),t={...t,count:1,resolveImmediately:!1};let n=as(r,e,t),o=n.then(i=>i[0]);return o.cancel=n.cancel,o}var X=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"};function cs(r){return r.reason}async function rr(r,e,t){if(e==null)return r;let n=t?.translateError??cs;if(e.aborted)return r.catch(()=>{}),Promise.reject(n(e));let o;try{return await Promise.race([r,new Promise((i,s)=>{o=()=>{s(n(e))},e.addEventListener("abort",o)})])}finally{o!=null&&e.removeEventListener("abort",o)}}var hs=4194304,$e=class extends Error{static name="UnwrappedError";name="UnwrappedError"},or=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},ir=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},sr=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function fs(r){return typeof r?.closeRead=="function"}function ls(r){return typeof r?.close=="function"}function nr(r){return fs(r)?r.remoteWriteStatus!=="writable"&&r.readBufferLength===0:ls(r)?r.status!=="open":!1}function ds(r){return r?.addEventListener!=null&&r?.removeEventListener!=null&&r?.send!=null&&r?.push!=null&&r?.log!=null}function ps(r,e){let t=e?.maxBufferSize??hs,n=new G,o,i=!1;if(!ds(r))throw new H("Argument should be a Stream or a Multiaddr");let s=u=>{if(n.append(u.data),n.byteLength>t){let l=n.byteLength;n.consume(n.byteLength),o?.reject(new Error(`Read buffer overflow - ${l} > ${t}`))}o?.resolve()};r.addEventListener("message",s);let a=u=>{u.error!=null?o?.reject(u.error):o?.resolve()};r.addEventListener("close",a);let c=()=>{o?.resolve()};r.addEventListener("remoteCloseWrite",c);let h={readBuffer:n,async read(u){if(i===!0)throw new $e("Stream was unwrapped");if(nr(r)){if(n.byteLength===0&&u?.bytes==null)return null;if(u?.bytes!=null&&n.byteLength<u.bytes)throw r.log.error("closed after reading %d/%d bytes",n.byteLength,u.bytes),new X(`Unexpected EOF - stream closed after reading ${n.byteLength}/${u.bytes} bytes`)}let l=u?.bytes??1;for(o=Promise.withResolvers();;){if(n.byteLength>=l){o.resolve();break}if(await rr(o.promise,u?.signal),nr(r)){if(n.byteLength===0&&u?.bytes==null)return null;break}o=Promise.withResolvers()}let d=u?.bytes??n.byteLength;if(n.byteLength<d){if(nr(r))throw r.log.error("closed while reading %d/%d bytes",n.byteLength,d),new X(`Unexpected EOF - stream closed while reading ${n.byteLength}/${d} bytes`);return h.read(u)}let b=n.sublist(0,d);return n.consume(d),b},async write(u,l){if(i===!0)throw new $e("Stream was unwrapped");r.send(u)||await xn(r,"drain",{signal:l?.signal,rejectionEvents:["close"]})},unwrap(){return i||(i=!0,r.removeEventListener("message",s),r.removeEventListener("close",a),r.removeEventListener("remoteCloseWrite",c),n.byteLength>0&&(r.log("stream unwrapped with %d unread bytes",n.byteLength),r.unshift(n))),r}};return h}function ms(r,e={}){let t=ps(r,e);e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=z(e.maxDataLength));let n=e?.lengthDecoder??Rr,o=e?.lengthEncoder??Br;return{async read(s){let a=-1,c=new G;for(;;){let u=await t.read({...s,bytes:1});if(u==null)break;c.append(u);try{a=n(c)}catch(l){if(l instanceof RangeError)continue;throw l}if(a<0)throw new or("Invalid message length");if(e?.maxLengthLength!=null&&c.byteLength>e.maxLengthLength)throw new sr(`Message length length too long - ${c.byteLength} > ${e.maxLengthLength}`);if(a>-1)break}if(e?.maxDataLength!=null&&a>e.maxDataLength)throw new ir(`Message length too long - ${a} > ${e.maxDataLength}`);let h=await t.read({...s,bytes:a});if(h==null)throw r.log.error("tried to read %d bytes but the stream closed",a),new X(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(h.byteLength!==a)throw r.log.error("read %d/%d bytes before the stream closed",h.byteLength,a),new X(`Unexpected EOF - read ${h.byteLength}/${a} bytes before the stream closed`);return h},async write(s,a){await t.write(new G(o(s.byteLength),s),a)},async writeV(s,a){let c=new G(...s.flatMap(h=>[o(h.byteLength),h]));await t.write(c,a)},unwrap(){return t.unwrap()}}}function ar(r,e){let t=ms(r,e),n={read:async(o,i)=>{let s=await t.read(i);return o.decode(s)},write:async(o,i,s)=>{await t.write(i.encode(o),s)},writeV:async(o,i,s)=>{await t.writeV(o.map(a=>i.encode(a)),s)},pb:o=>({read:async i=>n.read(o,i),write:async(i,s)=>n.write(i,o,s),writeV:async(i,s)=>n.writeV(i,o,s),unwrap:()=>n}),unwrap:()=>t.unwrap()};return n}var gn="0.0.1",wn="fetch";var Le;(function(r){let e;r.codec=()=>(e==null&&(e=Ve((i,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),i.identifier!=null&&i.identifier.byteLength>0&&(s.uint32(10),s.bytes(i.identifier)),a.lengthDelimited!==!1&&s.ldelim()},(i,s,a={})=>{let c={identifier:lt(0)},h=s==null?i.len:i.pos+s;for(;i.pos<h;){let u=i.uint32();u>>>3===1?c.identifier=i.bytes():i.skipType(u&7)}return c},function*(i,s,a,c={}){let h=s==null?i.len:i.pos+s;for(;i.pos<h;){let u=i.uint32();u>>>3===1?yield{field:`${a}.identifier`,value:i.bytes()}:i.skipType(u&7)}})),e);function t(i){return Re(i,r.codec())}r.encode=t;function n(i,s){return Oe(i,r.codec(),s)}r.decode=n;function o(i,s){return ke(i,r.codec(),s)}r.stream=o})(Le||(Le={}));var O;(function(r){let e;(function(a){a.OK="OK",a.NOT_FOUND="NOT_FOUND",a.ERROR="ERROR"})(e=r.StatusCode||(r.StatusCode={}));let t;(function(a){a[a.OK=0]="OK",a[a.NOT_FOUND=1]="NOT_FOUND",a[a.ERROR=2]="ERROR"})(t||(t={})),(function(a){a.codec=()=>Zt(t)})(e=r.StatusCode||(r.StatusCode={}));let n;r.codec=()=>(n==null&&(n=Ve((a,c,h={})=>{h.lengthDelimited!==!1&&c.fork(),a.status!=null&&t[a.status]!==0&&(c.uint32(8),r.StatusCode.codec().encode(a.status,c)),a.data!=null&&a.data.byteLength>0&&(c.uint32(18),c.bytes(a.data)),h.lengthDelimited!==!1&&c.ldelim()},(a,c,h={})=>{let u={status:e.OK,data:lt(0)},l=c==null?a.len:a.pos+c;for(;a.pos<l;){let d=a.uint32();switch(d>>>3){case 1:{u.status=r.StatusCode.codec().decode(a);break}case 2:{u.data=a.bytes();break}default:{a.skipType(d&7);break}}}return u},function*(a,c,h,u={}){let l=c==null?a.len:a.pos+c;for(;a.pos<l;){let d=a.uint32();switch(d>>>3){case 1:{yield{field:`${h}.status`,value:r.StatusCode.codec().decode(a)};break}case 2:{yield{field:`${h}.data`,value:a.bytes()};break}default:{a.skipType(d&7);break}}}})),n);function o(a){return Re(a,r.codec())}r.encode=o;function i(a,c){return Oe(a,r.codec(),c)}r.decode=i;function s(a,c){return ke(a,r.codec(),c)}r.stream=s})(O||(O={}));var yn=1e4,_e=class{protocol;components;lookupFunctions;started;init;constructor(e,t={}){this.started=!1,this.components=e,this.protocol=`/${t.protocolPrefix??"libp2p"}/${wn}/${gn}`,this.lookupFunctions=new Map,this.init=t,this.handleMessage=this.handleMessage.bind(this)}[Symbol.toStringTag]="@libp2p/fetch";async start(){await this.components.registrar.handle(this.protocol,this.handleMessage,{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(e,t,n={}){if(typeof t=="string"&&(t=Ue(t)),n.signal==null){let i=this.init.timeout??yn,s=AbortSignal.timeout(i);n={...n,signal:s}}let o;try{o=await(await this.components.connectionManager.openConnection(e,n)).newStream(this.protocol,n);let s=o.log.newScope("fetch");s.trace("fetch %m",t);let a=ar(o);await a.write({identifier:t},Le,n);let c=await a.read(O,n);switch(await o.close(n),c.status){case O.StatusCode.OK:return s.trace("received status OK for %m",t),c.data;case O.StatusCode.NOT_FOUND:{s("received status NOT_FOUND for %m",t);return}case O.StatusCode.ERROR:{s("received status ERROR for %m",t);let h=pt(c.data);throw new Ae("Error in fetch protocol response: "+h)}default:throw s("received status unknown for %m",t),new Se("Unknown response status")}}catch(i){throw o?.abort(i),i}}async handleMessage(e){let t=e.log.newScope("fetch"),n=AbortSignal.timeout(this.init.timeout??yn),o=ar(e),i=await o.read(Le,{signal:n}),s,a=pt(i.identifier),c=this._getLookupFunction(a);if(c==null){t.trace("sending status ERROR for %m",i.identifier);let h=Ue("No lookup function registered for key");s={status:O.StatusCode.ERROR,data:h}}else{t.trace("lookup data with identifier %s",c.prefix);try{let h=await c.fn(i.identifier);h==null?(t.trace("sending status NOT_FOUND for %m",i.identifier),s={status:O.StatusCode.NOT_FOUND,data:new Uint8Array(0)}):(t.trace("sending status OK for %m",i.identifier),s={status:O.StatusCode.OK,data:h})}catch(h){t.error("error during lookup of %m - %e",i.identifier,h);let u=Ue(h.message);s={status:O.StatusCode.ERROR,data:u}}}await o.write(s,O,{signal:n}),await e.close({signal:n})}_getLookupFunction(e){for(let t of this.lookupFunctions.keys())if(e.startsWith(t)){let n=this.lookupFunctions.get(t);if(n!=null)return{fn:n,prefix:t}}}registerLookupFunction(e,t){if(this.lookupFunctions.has(e))throw new H(`Fetch protocol handler for key prefix '${e}' already registered`);this.lookupFunctions.set(e,t)}unregisterLookupFunction(e,t){t!=null&&this.lookupFunctions.get(e)!==t||this.lookupFunctions.delete(e)}};function bs(r={}){return e=>new _e(e,r)}return An(xs);})();
3
3
  return Libp2PFetch}));
4
4
  //# sourceMappingURL=index.min.js.map