@helia/mfs 5.0.4 → 5.1.0

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.HeliaMfs = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var HeliaMfs=(()=>{var Oc=Object.create;var Sr=Object.defineProperty;var Rc=Object.getOwnPropertyDescriptor;var $c=Object.getOwnPropertyNames;var Mc=Object.getPrototypeOf,Hc=Object.prototype.hasOwnProperty;var kr=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),q=(r,e)=>{for(var t in e)Sr(r,t,{get:e[t],enumerable:!0})},ro=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of $c(e))!Hc.call(r,i)&&i!==t&&Sr(r,i,{get:()=>e[i],enumerable:!(n=Rc(e,i))||n.enumerable});return r};var Ot=(r,e,t)=>(t=r!=null?Oc(Mc(r)):{},ro(e||!r||!r.__esModule?Sr(t,"default",{value:r,enumerable:!0}):t,r)),Vc=r=>ro(Sr({},"__esModule",{value:!0}),r);var cs=kr((nr,Or)=>{(function(r,e){"use strict";var t={version:"3.0.0",x86:{},x64:{},inputValidation:!0};function n(c){if(!Array.isArray(c)&&!ArrayBuffer.isView(c))return!1;for(var d=0;d<c.length;d++)if(!Number.isInteger(c[d])||c[d]<0||c[d]>255)return!1;return!0}function i(c,d){return(c&65535)*d+(((c>>>16)*d&65535)<<16)}function o(c,d){return c<<d|c>>>32-d}function s(c){return c^=c>>>16,c=i(c,2246822507),c^=c>>>13,c=i(c,3266489909),c^=c>>>16,c}function a(c,d){c=[c[0]>>>16,c[0]&65535,c[1]>>>16,c[1]&65535],d=[d[0]>>>16,d[0]&65535,d[1]>>>16,d[1]&65535];var m=[0,0,0,0];return m[3]+=c[3]+d[3],m[2]+=m[3]>>>16,m[3]&=65535,m[2]+=c[2]+d[2],m[1]+=m[2]>>>16,m[2]&=65535,m[1]+=c[1]+d[1],m[0]+=m[1]>>>16,m[1]&=65535,m[0]+=c[0]+d[0],m[0]&=65535,[m[0]<<16|m[1],m[2]<<16|m[3]]}function u(c,d){c=[c[0]>>>16,c[0]&65535,c[1]>>>16,c[1]&65535],d=[d[0]>>>16,d[0]&65535,d[1]>>>16,d[1]&65535];var m=[0,0,0,0];return m[3]+=c[3]*d[3],m[2]+=m[3]>>>16,m[3]&=65535,m[2]+=c[2]*d[3],m[1]+=m[2]>>>16,m[2]&=65535,m[2]+=c[3]*d[2],m[1]+=m[2]>>>16,m[2]&=65535,m[1]+=c[1]*d[3],m[0]+=m[1]>>>16,m[1]&=65535,m[1]+=c[2]*d[2],m[0]+=m[1]>>>16,m[1]&=65535,m[1]+=c[3]*d[1],m[0]+=m[1]>>>16,m[1]&=65535,m[0]+=c[0]*d[3]+c[1]*d[2]+c[2]*d[1]+c[3]*d[0],m[0]&=65535,[m[0]<<16|m[1],m[2]<<16|m[3]]}function h(c,d){return d%=64,d===32?[c[1],c[0]]:d<32?[c[0]<<d|c[1]>>>32-d,c[1]<<d|c[0]>>>32-d]:(d-=32,[c[1]<<d|c[0]>>>32-d,c[0]<<d|c[1]>>>32-d])}function f(c,d){return d%=64,d===0?c:d<32?[c[0]<<d|c[1]>>>32-d,c[1]<<d]:[c[1]<<d-32,0]}function l(c,d){return[c[0]^d[0],c[1]^d[1]]}function y(c){return c=l(c,[0,c[0]>>>1]),c=u(c,[4283543511,3981806797]),c=l(c,[0,c[0]>>>1]),c=u(c,[3301882366,444984403]),c=l(c,[0,c[0]>>>1]),c}t.x86.hash32=function(c,d){if(t.inputValidation&&!n(c))return e;d=d||0;for(var m=c.length%4,x=c.length-m,g=d,w=0,b=3432918353,S=461845907,I=0;I<x;I=I+4)w=c[I]|c[I+1]<<8|c[I+2]<<16|c[I+3]<<24,w=i(w,b),w=o(w,15),w=i(w,S),g^=w,g=o(g,13),g=i(g,5)+3864292196;switch(w=0,m){case 3:w^=c[I+2]<<16;case 2:w^=c[I+1]<<8;case 1:w^=c[I],w=i(w,b),w=o(w,15),w=i(w,S),g^=w}return g^=c.length,g=s(g),g>>>0},t.x86.hash128=function(c,d){if(t.inputValidation&&!n(c))return e;d=d||0;for(var m=c.length%16,x=c.length-m,g=d,w=d,b=d,S=d,I=0,C=0,E=0,D=0,ye=597399067,xr=2869860233,br=951274213,_r=2716044179,N=0;N<x;N=N+16)I=c[N]|c[N+1]<<8|c[N+2]<<16|c[N+3]<<24,C=c[N+4]|c[N+5]<<8|c[N+6]<<16|c[N+7]<<24,E=c[N+8]|c[N+9]<<8|c[N+10]<<16|c[N+11]<<24,D=c[N+12]|c[N+13]<<8|c[N+14]<<16|c[N+15]<<24,I=i(I,ye),I=o(I,15),I=i(I,xr),g^=I,g=o(g,19),g+=w,g=i(g,5)+1444728091,C=i(C,xr),C=o(C,16),C=i(C,br),w^=C,w=o(w,17),w+=b,w=i(w,5)+197830471,E=i(E,br),E=o(E,17),E=i(E,_r),b^=E,b=o(b,15),b+=S,b=i(b,5)+2530024501,D=i(D,_r),D=o(D,18),D=i(D,ye),S^=D,S=o(S,13),S+=g,S=i(S,5)+850148119;switch(I=0,C=0,E=0,D=0,m){case 15:D^=c[N+14]<<16;case 14:D^=c[N+13]<<8;case 13:D^=c[N+12],D=i(D,_r),D=o(D,18),D=i(D,ye),S^=D;case 12:E^=c[N+11]<<24;case 11:E^=c[N+10]<<16;case 10:E^=c[N+9]<<8;case 9:E^=c[N+8],E=i(E,br),E=o(E,17),E=i(E,_r),b^=E;case 8:C^=c[N+7]<<24;case 7:C^=c[N+6]<<16;case 6:C^=c[N+5]<<8;case 5:C^=c[N+4],C=i(C,xr),C=o(C,16),C=i(C,br),w^=C;case 4:I^=c[N+3]<<24;case 3:I^=c[N+2]<<16;case 2:I^=c[N+1]<<8;case 1:I^=c[N],I=i(I,ye),I=o(I,15),I=i(I,xr),g^=I}return g^=c.length,w^=c.length,b^=c.length,S^=c.length,g+=w,g+=b,g+=S,w+=g,b+=g,S+=g,g=s(g),w=s(w),b=s(b),S=s(S),g+=w,g+=b,g+=S,w+=g,b+=g,S+=g,("00000000"+(g>>>0).toString(16)).slice(-8)+("00000000"+(w>>>0).toString(16)).slice(-8)+("00000000"+(b>>>0).toString(16)).slice(-8)+("00000000"+(S>>>0).toString(16)).slice(-8)},t.x64.hash128=function(c,d){if(t.inputValidation&&!n(c))return e;d=d||0;for(var m=c.length%16,x=c.length-m,g=[0,d],w=[0,d],b=[0,0],S=[0,0],I=[2277735313,289559509],C=[1291169091,658871167],E=0;E<x;E=E+16)b=[c[E+4]|c[E+5]<<8|c[E+6]<<16|c[E+7]<<24,c[E]|c[E+1]<<8|c[E+2]<<16|c[E+3]<<24],S=[c[E+12]|c[E+13]<<8|c[E+14]<<16|c[E+15]<<24,c[E+8]|c[E+9]<<8|c[E+10]<<16|c[E+11]<<24],b=u(b,I),b=h(b,31),b=u(b,C),g=l(g,b),g=h(g,27),g=a(g,w),g=a(u(g,[0,5]),[0,1390208809]),S=u(S,C),S=h(S,33),S=u(S,I),w=l(w,S),w=h(w,31),w=a(w,g),w=a(u(w,[0,5]),[0,944331445]);switch(b=[0,0],S=[0,0],m){case 15:S=l(S,f([0,c[E+14]],48));case 14:S=l(S,f([0,c[E+13]],40));case 13:S=l(S,f([0,c[E+12]],32));case 12:S=l(S,f([0,c[E+11]],24));case 11:S=l(S,f([0,c[E+10]],16));case 10:S=l(S,f([0,c[E+9]],8));case 9:S=l(S,[0,c[E+8]]),S=u(S,C),S=h(S,33),S=u(S,I),w=l(w,S);case 8:b=l(b,f([0,c[E+7]],56));case 7:b=l(b,f([0,c[E+6]],48));case 6:b=l(b,f([0,c[E+5]],40));case 5:b=l(b,f([0,c[E+4]],32));case 4:b=l(b,f([0,c[E+3]],24));case 3:b=l(b,f([0,c[E+2]],16));case 2:b=l(b,f([0,c[E+1]],8));case 1:b=l(b,[0,c[E]]),b=u(b,I),b=h(b,31),b=u(b,C),g=l(g,b)}return g=l(g,[0,c.length]),w=l(w,[0,c.length]),g=a(g,w),w=a(w,g),g=y(g),w=y(w),g=a(g,w),w=a(w,g),("00000000"+(g[0]>>>0).toString(16)).slice(-8)+("00000000"+(g[1]>>>0).toString(16)).slice(-8)+("00000000"+(w[0]>>>0).toString(16)).slice(-8)+("00000000"+(w[1]>>>0).toString(16)).slice(-8)},typeof nr<"u"?(typeof Or<"u"&&Or.exports&&(nr=Or.exports=t),nr.murmurHash3=t):typeof define=="function"&&define.amd?define([],function(){return t}):(t._murmurHash3=r.murmurHash3,t.noConflict=function(){return r.murmurHash3=t._murmurHash3,t._murmurHash3=e,t.noConflict=e,t},r.murmurHash3=t)})(nr)});var fs=kr((_0,us)=>{us.exports=cs()});var $r=kr((A0,hs)=>{"use strict";hs.exports=class{constructor(){this._bitArrays=[],this._data=[],this._length=0,this._changedLength=!1,this._changedData=!1}set(e,t){let n=this._internalPositionFor(e,!1);if(t===void 0)n!==-1&&(this._unsetInternalPos(n),this._unsetBit(e),this._changedLength=!0,this._changedData=!0);else{let i=!1;n===-1?(n=this._data.length,this._setBit(e),this._changedData=!0):i=!0,this._setInternalPos(n,e,t,i),this._changedLength=!0}}unset(e){this.set(e,void 0)}get(e){this._sortData();let t=this._internalPositionFor(e,!0);if(t!==-1)return this._data[t][1]}push(e){return this.set(this.length,e),this.length}get length(){if(this._sortData(),this._changedLength){let e=this._data[this._data.length-1];this._length=e?e[0]+1:0,this._changedLength=!1}return this._length}forEach(e){let t=0;for(;t<this.length;)e(this.get(t),t,this),t++}map(e){let t=0,n=new Array(this.length);for(;t<this.length;)n[t]=e(this.get(t),t,this),t++;return n}reduce(e,t){let n=0,i=t;for(;n<this.length;){let o=this.get(n);i=e(i,o,n),n++}return i}find(e){let t=0,n,i;for(;t<this.length&&!n;)i=this.get(t),n=e(i),t++;return n?i:void 0}_internalPositionFor(e,t){let n=this._bytePosFor(e,t);if(n>=this._bitArrays.length)return-1;let i=this._bitArrays[n],o=e-n*7;if(!((i&1<<o)>0))return-1;let a=this._bitArrays.slice(0,n).reduce(Rf,0),u=~(4294967295<<o+1),h=ls(i&u);return a+h-1}_bytePosFor(e,t){let n=Math.floor(e/7),i=n+1;for(;!t&&this._bitArrays.length<i;)this._bitArrays.push(0);return n}_setBit(e){let t=this._bytePosFor(e,!1);this._bitArrays[t]|=1<<e-t*7}_unsetBit(e){let t=this._bytePosFor(e,!1);this._bitArrays[t]&=~(1<<e-t*7)}_setInternalPos(e,t,n,i){let o=this._data,s=[t,n];if(i)this._sortData(),o[e]=s;else{if(o.length)if(o[o.length-1][0]>=t)o.push(s);else if(o[0][0]<=t)o.unshift(s);else{let a=Math.round(o.length/2);this._data=o.slice(0,a).concat(s).concat(o.slice(a))}else this._data.push(s);this._changedData=!0,this._changedLength=!0}}_unsetInternalPos(e){this._data.splice(e,1)}_sortData(){this._changedData&&this._data.sort($f),this._changedData=!1}bitField(){let e=[],t=8,n=0,i=0,o,s=this._bitArrays.slice();for(;s.length||n;){n===0&&(o=s.shift(),n=7);let u=Math.min(n,t),h=~(255<<u),f=o&h;i|=f<<8-t,o=o>>>u,n-=u,t-=u,(!t||!n&&!s.length)&&(e.push(i),i=0,t=8)}for(var a=e.length-1;a>0&&e[a]===0;a--)e.pop();return e}compactArray(){return this._sortData(),this._data.map(Mf)}};function Rf(r,e){return r+ls(e)}function ls(r){let e=r;return e=e-(e>>1&1431655765),e=(e&858993459)+(e>>2&858993459),(e+(e>>4)&252645135)*16843009>>24}function $f(r,e){return r[0]-e[0]}function Mf(r){return r[1]}});var ic=kr((Jw,Mi)=>{"use strict";var ph=Object.prototype.hasOwnProperty,Y="~";function fr(){}Object.create&&(fr.prototype=Object.create(null),new fr().__proto__||(Y=!1));function mh(r,e,t){this.fn=r,this.context=e,this.once=t||!1}function nc(r,e,t,n,i){if(typeof t!="function")throw new TypeError("The listener must be a function");var o=new mh(t,n||r,i),s=Y?Y+e:e;return r._events[s]?r._events[s].fn?r._events[s]=[r._events[s],o]:r._events[s].push(o):(r._events[s]=o,r._eventsCount++),r}function wn(r,e){--r._eventsCount===0?r._events=new fr:delete r._events[e]}function X(){this._events=new fr,this._eventsCount=0}X.prototype.eventNames=function(){var e=[],t,n;if(this._eventsCount===0)return e;for(n in t=this._events)ph.call(t,n)&&e.push(Y?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};X.prototype.listeners=function(e){var t=Y?Y+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s};X.prototype.listenerCount=function(e){var t=Y?Y+e:e,n=this._events[t];return n?n.fn?1:n.length:0};X.prototype.emit=function(e,t,n,i,o,s){var a=Y?Y+e:e;if(!this._events[a])return!1;var u=this._events[a],h=arguments.length,f,l;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),h){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,n),!0;case 4:return u.fn.call(u.context,t,n,i),!0;case 5:return u.fn.call(u.context,t,n,i,o),!0;case 6:return u.fn.call(u.context,t,n,i,o,s),!0}for(l=1,f=new Array(h-1);l<h;l++)f[l-1]=arguments[l];u.fn.apply(u.context,f)}else{var y=u.length,c;for(l=0;l<y;l++)switch(u[l].once&&this.removeListener(e,u[l].fn,void 0,!0),h){case 1:u[l].fn.call(u[l].context);break;case 2:u[l].fn.call(u[l].context,t);break;case 3:u[l].fn.call(u[l].context,t,n);break;case 4:u[l].fn.call(u[l].context,t,n,i);break;default:if(!f)for(c=1,f=new Array(h-1);c<h;c++)f[c-1]=arguments[c];u[l].fn.apply(u[l].context,f)}}return!0};X.prototype.on=function(e,t,n){return nc(this,e,t,n,!1)};X.prototype.once=function(e,t,n){return nc(this,e,t,n,!0)};X.prototype.removeListener=function(e,t,n,i){var o=Y?Y+e:e;if(!this._events[o])return this;if(!t)return wn(this,o),this;var s=this._events[o];if(s.fn)s.fn===t&&(!i||s.once)&&(!n||s.context===n)&&wn(this,o);else{for(var a=0,u=[],h=s.length;a<h;a++)(s[a].fn!==t||i&&!s[a].once||n&&s[a].context!==n)&&u.push(s[a]);u.length?this._events[o]=u.length===1?u[0]:u:wn(this,o)}return this};X.prototype.removeAllListeners=function(e){var t;return e?(t=Y?Y+e:e,this._events[t]&&wn(this,t)):(this._events=new fr,this._eventsCount=0),this};X.prototype.off=X.prototype.removeListener;X.prototype.addListener=X.prototype.on;X.prefixed=Y;X.EventEmitter=X;typeof Mi<"u"&&(Mi.exports=X)});var zd={};q(zd,{mfs:()=>Dd});function jc(r){return r[Symbol.asyncIterator]!=null}function Gc(r){if(jc(r))return(async()=>{for await(let e of r)return e})();for(let e of r)return e}var Er=Gc;function qc(r){return r[Symbol.asyncIterator]!=null}function Wc(r,e=1){return e=Number(e),qc(r)?async function*(){let t=[];if(e<1&&(e=1),e!==Math.round(e))throw new Error("Batch size must be an integer");for await(let n of r)for(t.push(n);t.length>=e;)yield t.slice(0,e),t=t.slice(e);for(;t.length>0;)yield t.slice(0,e),t=t.slice(e)}():function*(){let t=[];if(e<1&&(e=1),e!==Math.round(e))throw new Error("Batch size must be an integer");for(let n of r)for(t.push(n);t.length>=e;)yield t.slice(0,e),t=t.slice(e);for(;t.length>0;)yield t.slice(0,e),t=t.slice(e)}()}var Br=Wc;async function*Rt(r,e=1){for await(let t of Br(r,e)){let n=t.map(async i=>i().then(o=>({ok:!0,value:o}),o=>({ok:!1,err:o})));for(let i=0;i<n.length;i++){let o=await n[i];if(o.ok)yield o.value;else throw o.err}}}function ge(r=0){return new Uint8Array(r)}function ne(r=0){return new Uint8Array(r)}function qe(r,e){e==null&&(e=r.reduce((i,o)=>i+o.length,0));let t=ne(e),n=0;for(let i of r)t.set(i,n),n+=i.length;return t}function vr(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 io=Symbol.for("@achingbrain/uint8arraylist");function no(r,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let t=0;for(let n of r){let i=t+n.byteLength;if(e<i)return{buf:n,index:e-t};t=i}throw new RangeError("index is out of bounds")}function Ir(r){return!!r?.[io]}var ct=class r{bufs;length;[io]=!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(Ir(n))t+=n.byteLength,this.bufs.push(...n.bufs);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(Ir(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=no(this.bufs,e);return t.buf[t.index]}set(e,t){let n=no(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(Ir(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:i}=this._subList(e,t);return qe(n,i)}subarray(e,t){let{bufs:n,length:i}=this._subList(e,t);return n.length===1?n[0]:qe(n,i)}sublist(e,t){let{bufs:n,length:i}=this._subList(e,t),o=new r;return o.length=i,o.bufs=[...n],o}_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=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,u=a+s.byteLength;if(i=u,e>=u)continue;let h=e>=a&&e<u,f=t>a&&t<=u;if(h&&f){if(e===a&&t===u){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(f){if(t===u){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(!Ir(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 i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,u=this.byteLength-n.byteLength,h=n.byteLength-1,f;for(let l=t;l<=u;l+=f){f=0;for(let y=h;y>=0;y--){let c=this.get(l+y);if(n[y]!==c){f=Math.max(1,y-a[c]);break}}if(f===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=ne(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 i=ge(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,t,n),this.write(i,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 i=ge(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,t,n),this.write(i,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 i=ge(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,t,n),this.write(i,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=ne(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 i=ge(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,t,n),this.write(i,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 i=ge(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,t,n),this.write(i,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 i=ge(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,t,n),this.write(i,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 i=ge(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,t,n),this.write(i,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 i=ge(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,t,n),this.write(i,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(!vr(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((i,o)=>i+o.byteLength,0)),n.length=t,n}};var Kc=262144,$t=(r={})=>{let e=r.chunkSize??Kc;return async function*(n){let i=new ct,o=0,s=!1;for await(let a of n)for(i.append(a),o+=a.length;o>=e;)if(yield i.slice(0,e),s=!0,e===i.length)i=new ct,o=0;else{let u=new ct;u.append(i.sublist(e)),i=u,o-=e}(!s||o>0)&&(yield i.subarray(0,o))}};var M={};q(M,{code:()=>j,createLink:()=>Bo,createNode:()=>Eo,decode:()=>$,encode:()=>T,name:()=>Wu,prepare:()=>P,validate:()=>Zn});var Gn={};q(Gn,{base32:()=>Oe,base32hex:()=>au,base32hexpad:()=>uu,base32hexpadupper:()=>fu,base32hexupper:()=>cu,base32pad:()=>ou,base32padupper:()=>su,base32upper:()=>iu,base32z:()=>lu});var ut={};q(ut,{coerce:()=>le,empty:()=>oo,equals:()=>On,fromHex:()=>Jc,fromString:()=>Rn,isBinary:()=>Yc,toHex:()=>Xc,toString:()=>$n});var oo=new Uint8Array(0);function Xc(r){return r.reduce((e,t)=>e+t.toString(16).padStart(2,"0"),"")}function Jc(r){let e=r.match(/../g);return e!=null?new Uint8Array(e.map(t=>parseInt(t,16))):oo}function On(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 le(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 Yc(r){return r instanceof ArrayBuffer||ArrayBuffer.isView(r)}function Rn(r){return new TextEncoder().encode(r)}function $n(r){return new TextDecoder().decode(r)}function Zc(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 i=0;i<r.length;i++){var o=r.charAt(i),s=o.charCodeAt(0);if(t[s]!==255)throw new TypeError(o+" is ambiguous");t[s]=i}var a=r.length,u=r.charAt(0),h=Math.log(a)/Math.log(256),f=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 m=0,x=0,g=0,w=d.length;g!==w&&d[g]===0;)g++,m++;for(var b=(w-g)*f+1>>>0,S=new Uint8Array(b);g!==w;){for(var I=d[g],C=0,E=b-1;(I!==0||C<x)&&E!==-1;E--,C++)I+=256*S[E]>>>0,S[E]=I%a>>>0,I=I/a>>>0;if(I!==0)throw new Error("Non-zero carry");x=C,g++}for(var D=b-x;D!==b&&S[D]===0;)D++;for(var ye=u.repeat(m);D<b;++D)ye+=r.charAt(S[D]);return ye}function y(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var m=0;if(d[m]!==" "){for(var x=0,g=0;d[m]===u;)x++,m++;for(var w=(d.length-m)*h+1>>>0,b=new Uint8Array(w);d[m];){var S=t[d.charCodeAt(m)];if(S===255)return;for(var I=0,C=w-1;(S!==0||I<g)&&C!==-1;C--,I++)S+=a*b[C]>>>0,b[C]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");g=I,m++}if(d[m]!==" "){for(var E=w-g;E!==w&&b[E]===0;)E++;for(var D=new Uint8Array(x+(w-E)),ye=x;E!==w;)D[ye++]=b[E++];return D}}}function c(d){var m=y(d);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:y,decode:c}}var Qc=Zc,eu=Qc,so=eu;var Mn=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")}},Hn=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){this.name=e,this.prefix=t;let i=t.codePointAt(0);if(i===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=i,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 ao(this,e)}},Vn=class{decoders;constructor(e){this.decoders=e}or(e){return ao(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 ao(r,e){return new Vn({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var jn=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,i){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=i,this.encoder=new Mn(e,t,n),this.decoder=new Hn(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function ft({name:r,prefix:e,encode:t,decode:n}){return new jn(r,e,t,n)}function Ue({name:r,prefix:e,alphabet:t}){let{encode:n,decode:i}=so(t,r);return ft({prefix:e,name:r,encode:n,decode:o=>le(i(o))})}function tu(r,e,t,n){let i=r.length;for(;r[i-1]==="=";)--i;let o=new Uint8Array(i*t/8|0),s=0,a=0,u=0;for(let h=0;h<i;++h){let f=e[r[h]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<t|f,s+=t,s>=8&&(s-=8,o[u++]=255&a>>s)}if(s>=t||(255&a<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return o}function ru(r,e,t){let n=e[e.length-1]==="=",i=(1<<t)-1,o="",s=0,a=0;for(let u=0;u<r.length;++u)for(a=a<<8|r[u],s+=8;s>t;)s-=t,o+=e[i&a>>s];if(s!==0&&(o+=e[i&a<<t-s]),n)for(;(o.length*t&7)!==0;)o+="=";return o}function nu(r){let e={};for(let t=0;t<r.length;++t)e[r[t]]=t;return e}function L({name:r,prefix:e,bitsPerChar:t,alphabet:n}){let i=nu(n);return ft({prefix:e,name:r,encode(o){return ru(o,n,t)},decode(o){return tu(o,i,t,r)}})}var Oe=L({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),iu=L({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),ou=L({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),su=L({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),au=L({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),cu=L({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),uu=L({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),fu=L({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),lu=L({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var qn={};q(qn,{base36:()=>Mt,base36upper:()=>hu});var Mt=Ue({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),hu=Ue({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Wn={};q(Wn,{base58btc:()=>he,base58flickr:()=>du});var he=Ue({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),du=Ue({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var pu=fo,co=128,mu=127,yu=~mu,gu=Math.pow(2,31);function fo(r,e,t){e=e||[],t=t||0;for(var n=t;r>=gu;)e[t++]=r&255|co,r/=128;for(;r&yu;)e[t++]=r&255|co,r>>>=7;return e[t]=r|0,fo.bytes=t-n+1,e}var wu=Kn,xu=128,uo=127;function Kn(r,n){var t=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a)throw Kn.bytes=0,new RangeError("Could not decode varint");s=r[o++],t+=i<28?(s&uo)<<i:(s&uo)*Math.pow(2,i),i+=7}while(s>=xu);return Kn.bytes=o-n,t}var bu=Math.pow(2,7),_u=Math.pow(2,14),Su=Math.pow(2,21),ku=Math.pow(2,28),Eu=Math.pow(2,35),Bu=Math.pow(2,42),vu=Math.pow(2,49),Iu=Math.pow(2,56),Au=Math.pow(2,63),Cu=function(r){return r<bu?1:r<_u?2:r<Su?3:r<ku?4:r<Eu?5:r<Bu?6:r<vu?7:r<Iu?8:r<Au?9:10},Nu={encode:pu,decode:wu,encodingLength:Cu},Tu=Nu,Ht=Tu;function Vt(r,e=0){return[Ht.decode(r,e),Ht.decode.bytes]}function lt(r,e,t=0){return Ht.encode(r,e,t),e}function ht(r){return Ht.encodingLength(r)}function We(r,e){let t=e.byteLength,n=ht(r),i=n+ht(t),o=new Uint8Array(i+t);return lt(r,o,0),lt(t,o,n),o.set(e,i),new dt(r,t,e,o)}function Cr(r){let e=le(r),[t,n]=Vt(e),[i,o]=Vt(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new dt(t,i,s,e)}function lo(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&On(r.bytes,t.bytes)}}var dt=class{code;size;digest;bytes;constructor(e,t,n,i){this.code=e,this.size=t,this.digest=n,this.bytes=i}};function ho(r,e){let{bytes:t,version:n}=r;switch(n){case 0:return zu(t,Xn(r),e??he.encoder);default:return Fu(t,Xn(r),e??Oe.encoder)}}var po=new WeakMap;function Xn(r){let e=po.get(r);if(e==null){let t=new Map;return po.set(r,t),t}return e}var A=class r{code;version;multihash;bytes;"/";constructor(e,t,n,i){this.code=t,this.version=e,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:e,multihash:t}=this;if(e!==jt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==Lu)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=We(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&&lo(e.multihash,n.multihash)}toString(e){return ho(this,e)}toJSON(){return{"/":ho(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:i,multihash:o,bytes:s}=t;return new r(n,i,o,s??mo(n,i,o.bytes))}else if(t[Pu]===!0){let{version:n,multihash:i,code:o}=t,s=Cr(i);return r.create(n,o,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!==jt)throw new Error(`Version 0 CID must use dag-pb (code: ${jt}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let i=mo(e,t,n.bytes);return new r(e,t,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,jt,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,i=le(e.subarray(n,n+t.multihashSize));if(i.byteLength!==t.multihashSize)throw new Error("Incorrect length");let o=i.subarray(t.multihashSize-t.digestSize),s=new dt(t.multihashCode,t.digestSize,o,i);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,y]=Vt(e.subarray(t));return t+=y,l},i=n(),o=jt;if(i===18?(i=0,t=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=t,a=n(),u=n(),h=t+u,f=h-s;return{version:i,codec:o,multihashCode:a,digestSize:u,multihashSize:f,size:h}}static parse(e,t){let[n,i]=Du(e,t),o=r.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Xn(o).set(n,e),o}};function Du(r,e){switch(r[0]){case"Q":{let t=e??he;return[he.prefix,t.decode(`${he.prefix}${r}`)]}case he.prefix:{let t=e??he;return[he.prefix,t.decode(r)]}case Oe.prefix:{let t=e??Oe;return[Oe.prefix,t.decode(r)]}case Mt.prefix:{let t=e??Mt;return[Mt.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 zu(r,e,t){let{prefix:n}=t;if(n!==he.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let i=e.get(n);if(i==null){let o=t.encode(r).slice(1);return e.set(n,o),o}else return i}function Fu(r,e,t){let{prefix:n}=t,i=e.get(n);if(i==null){let o=t.encode(r);return e.set(n,o),o}else return i}var jt=112,Lu=18;function mo(r,e,t){let n=ht(r),i=n+ht(e),o=new Uint8Array(i+t.byteLength);return lt(r,o,0),lt(e,o,n),o.set(t,i),o}var Pu=Symbol.for("@ipld/js-cid/CID");var Uu=new TextDecoder;function Jn(r,e){let t=0;for(let n=0;;n+=7){if(n>=64)throw new Error("protobuf: varint overflow");if(e>=r.length)throw new Error("protobuf: unexpected end of data");let i=r[e++];if(t+=n<28?(i&127)<<n:(i&127)*2**n,i<128)break}return[t,e]}function Nr(r,e){let t;[t,e]=Jn(r,e);let n=e+t;if(t<0||n<0)throw new Error("protobuf: invalid length");if(n>r.length)throw new Error("protobuf: unexpected end of data");return[r.subarray(e,n),n]}function yo(r,e){let t;return[t,e]=Jn(r,e),[t&7,t>>3,e]}function Ou(r){let e={},t=r.length,n=0;for(;n<t;){let i,o;if([i,o,n]=yo(r,n),o===1){if(e.Hash)throw new Error("protobuf: (PBLink) duplicate Hash section");if(i!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${i}) for Hash`);if(e.Name!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Name before Hash");if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Hash");[e.Hash,n]=Nr(r,n)}else if(o===2){if(e.Name!==void 0)throw new Error("protobuf: (PBLink) duplicate Name section");if(i!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${i}) for Name`);if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Name");let s;[s,n]=Nr(r,n),e.Name=Uu.decode(s)}else if(o===3){if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) duplicate Tsize section");if(i!==0)throw new Error(`protobuf: (PBLink) wrong wireType (${i}) for Tsize`);[e.Tsize,n]=Jn(r,n)}else throw new Error(`protobuf: (PBLink) invalid fieldNumber, expected 1, 2 or 3, got ${o}`)}if(n>t)throw new Error("protobuf: (PBLink) unexpected end of data");return e}function go(r){let e=r.length,t=0,n,i=!1,o;for(;t<e;){let a,u;if([a,u,t]=yo(r,t),a!==2)throw new Error(`protobuf: (PBNode) invalid wireType, expected 2, got ${a}`);if(u===1){if(o)throw new Error("protobuf: (PBNode) duplicate Data section");[o,t]=Nr(r,t),n&&(i=!0)}else if(u===2){if(i)throw new Error("protobuf: (PBNode) duplicate Links section");n||(n=[]);let h;[h,t]=Nr(r,t),n.push(Ou(h))}else throw new Error(`protobuf: (PBNode) invalid fieldNumber, expected 1 or 2, got ${u}`)}if(t>e)throw new Error("protobuf: (PBNode) unexpected end of data");let s={};return o&&(s.Data=o),s.Links=n||[],s}var xo=new TextEncoder,wo=2**32,Ru=2**31;function $u(r,e){let t=e.length;if(typeof r.Tsize=="number"){if(r.Tsize<0)throw new Error("Tsize cannot be negative");if(!Number.isSafeInteger(r.Tsize))throw new Error("Tsize too large for encoding");t=Gt(e,t,r.Tsize)-1,e[t]=24}if(typeof r.Name=="string"){let n=xo.encode(r.Name);t-=n.length,e.set(n,t),t=Gt(e,t,n.length)-1,e[t]=18}return r.Hash&&(t-=r.Hash.length,e.set(r.Hash,t),t=Gt(e,t,r.Hash.length)-1,e[t]=10),e.length-t}function bo(r){let e=Hu(r),t=new Uint8Array(e),n=e;if(r.Data&&(n-=r.Data.length,t.set(r.Data,n),n=Gt(t,n,r.Data.length)-1,t[n]=10),r.Links)for(let i=r.Links.length-1;i>=0;i--){let o=$u(r.Links[i],t.subarray(0,n));n-=o,n=Gt(t,n,o)-1,t[n]=18}return t}function Mu(r){let e=0;if(r.Hash){let t=r.Hash.length;e+=1+t+mt(t)}if(typeof r.Name=="string"){let t=xo.encode(r.Name).length;e+=1+t+mt(t)}return typeof r.Tsize=="number"&&(e+=1+mt(r.Tsize)),e}function Hu(r){let e=0;if(r.Data){let t=r.Data.length;e+=1+t+mt(t)}if(r.Links)for(let t of r.Links){let n=Mu(t);e+=1+n+mt(n)}return e}function Gt(r,e,t){e-=mt(t);let n=e;for(;t>=Ru;)r[e++]=t&127|128,t/=128;for(;t>=128;)r[e++]=t&127|128,t>>>=7;return r[e]=t,n}function mt(r){return r%2===0&&r++,Math.floor((Vu(r)+6)/7)}function Vu(r){let e=0;return r>=wo&&(r=Math.floor(r/wo),e=32),r>=65536&&(r>>>=16,e+=16),r>=256&&(r>>>=8,e+=8),e+ju[r]}var ju=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8];var Gu=["Data","Links"],qu=["Hash","Name","Tsize"],Yn=new TextEncoder;function So(r,e){if(r===e)return 0;let t=r.Name?Yn.encode(r.Name):[],n=e.Name?Yn.encode(e.Name):[],i=t.length,o=n.length;for(let s=0,a=Math.min(i,o);s<a;++s)if(t[s]!==n[s]){i=t[s],o=n[s];break}return i<o?-1:o<i?1:0}function _o(r,e){return!Object.keys(r).some(t=>!e.includes(t))}function ko(r){if(typeof r.asCID=="object"){let t=A.asCID(r);if(!t)throw new TypeError("Invalid DAG-PB form");return{Hash:t}}if(typeof r!="object"||Array.isArray(r))throw new TypeError("Invalid DAG-PB form");let e={};if(r.Hash){let t=A.asCID(r.Hash);try{t||(typeof r.Hash=="string"?t=A.parse(r.Hash):r.Hash instanceof Uint8Array&&(t=A.decode(r.Hash)))}catch(n){throw new TypeError(`Invalid DAG-PB form: ${n.message}`)}t&&(e.Hash=t)}if(!e.Hash)throw new TypeError("Invalid DAG-PB form");return typeof r.Name=="string"&&(e.Name=r.Name),typeof r.Tsize=="number"&&(e.Tsize=r.Tsize),e}function P(r){if((r instanceof Uint8Array||typeof r=="string")&&(r={Data:r}),typeof r!="object"||Array.isArray(r))throw new TypeError("Invalid DAG-PB form");let e={};if(r.Data!==void 0)if(typeof r.Data=="string")e.Data=Yn.encode(r.Data);else if(r.Data instanceof Uint8Array)e.Data=r.Data;else throw new TypeError("Invalid DAG-PB form");if(r.Links!==void 0)if(Array.isArray(r.Links))e.Links=r.Links.map(ko),e.Links.sort(So);else throw new TypeError("Invalid DAG-PB form");else e.Links=[];return e}function Zn(r){if(!r||typeof r!="object"||Array.isArray(r)||r instanceof Uint8Array||r["/"]&&r["/"]===r.bytes)throw new TypeError("Invalid DAG-PB form");if(!_o(r,Gu))throw new TypeError("Invalid DAG-PB form (extraneous properties)");if(r.Data!==void 0&&!(r.Data instanceof Uint8Array))throw new TypeError("Invalid DAG-PB form (Data must be bytes)");if(!Array.isArray(r.Links))throw new TypeError("Invalid DAG-PB form (Links must be a list)");for(let e=0;e<r.Links.length;e++){let t=r.Links[e];if(!t||typeof t!="object"||Array.isArray(t)||t instanceof Uint8Array||t["/"]&&t["/"]===t.bytes)throw new TypeError("Invalid DAG-PB form (bad link)");if(!_o(t,qu))throw new TypeError("Invalid DAG-PB form (extraneous properties on link)");if(t.Hash===void 0)throw new TypeError("Invalid DAG-PB form (link must have a Hash)");if(t.Hash==null||!t.Hash["/"]||t.Hash["/"]!==t.Hash.bytes)throw new TypeError("Invalid DAG-PB form (link Hash must be a CID)");if(t.Name!==void 0&&typeof t.Name!="string")throw new TypeError("Invalid DAG-PB form (link Name must be a string)");if(t.Tsize!==void 0){if(typeof t.Tsize!="number"||t.Tsize%1!==0)throw new TypeError("Invalid DAG-PB form (link Tsize must be an integer)");if(t.Tsize<0)throw new TypeError("Invalid DAG-PB form (link Tsize cannot be negative)")}if(e>0&&So(t,r.Links[e-1])===-1)throw new TypeError("Invalid DAG-PB form (links must be sorted by Name bytes)")}}function Eo(r,e=[]){return P({Data:r,Links:e})}function Bo(r,e,t){return ko({Hash:t,Name:r,Tsize:e})}function vo(r){return r instanceof ArrayBuffer?new Uint8Array(r,0,r.byteLength):r}var Wu="dag-pb",j=112;function T(r){Zn(r);let e={};return r.Links&&(e.Links=r.Links.map(t=>{let n={};return t.Hash&&(n.Hash=t.Hash.bytes),t.Name!==void 0&&(n.Name=t.Name),t.Tsize!==void 0&&(n.Tsize=t.Tsize),n})),r.Data&&(e.Data=r.Data),bo(e)}function $(r){let e=vo(r),t=go(e),n={};return t.Data&&(n.Data=t.Data),t.Links&&(n.Links=t.Links.map(i=>{let o={};try{o.Hash=A.decode(i.Hash)}catch{}if(!o.Hash)throw new Error("Invalid Hash field found in link, expected CID");return i.Name!==void 0&&(o.Name=i.Name),i.Tsize!==void 0&&(o.Tsize=i.Tsize),o})),n}var qt=class r extends Error{static name="InvalidTypeError";static code="ERR_INVALID_TYPE";name=r.name;code=r.code;constructor(e="Invalid type"){super(e)}},Tr=class r extends Error{static name="InvalidUnixFSMessageError";static code="ERR_INVALID_MESSAGE";name=r.name;code=r.code;constructor(e="Invalid message"){super(e)}};var Ku=Math.pow(2,7),Xu=Math.pow(2,14),Ju=Math.pow(2,21),Io=Math.pow(2,28),Ao=Math.pow(2,35),Co=Math.pow(2,42),No=Math.pow(2,49),J=128,Re=127;function Wt(r){if(r<Ku)return 1;if(r<Xu)return 2;if(r<Ju)return 3;if(r<Io)return 4;if(r<Ao)return 5;if(r<Co)return 6;if(r<No)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function To(r,e,t=0){switch(Wt(r)){case 8:e[t++]=r&255|J,r/=128;case 7:e[t++]=r&255|J,r/=128;case 6:e[t++]=r&255|J,r/=128;case 5:e[t++]=r&255|J,r/=128;case 4:e[t++]=r&255|J,r>>>=7;case 3:e[t++]=r&255|J,r>>>=7;case 2:e[t++]=r&255|J,r>>>=7;case 1:{e[t++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return e}function Do(r,e){let t=r[e],n=0;if(n+=t&Re,t<J||(t=r[e+1],n+=(t&Re)<<7,t<J)||(t=r[e+2],n+=(t&Re)<<14,t<J)||(t=r[e+3],n+=(t&Re)<<21,t<J)||(t=r[e+4],n+=(t&Re)*Io,t<J)||(t=r[e+5],n+=(t&Re)*Ao,t<J)||(t=r[e+6],n+=(t&Re)*Co,t<J)||(t=r[e+7],n+=(t&Re)*No,t<J))return n;throw new RangeError("Could not decode varint")}var Qn=new Float32Array([-0]),$e=new Uint8Array(Qn.buffer);function zo(r,e,t){Qn[0]=r,e[t]=$e[0],e[t+1]=$e[1],e[t+2]=$e[2],e[t+3]=$e[3]}function Fo(r,e){return $e[0]=r[e],$e[1]=r[e+1],$e[2]=r[e+2],$e[3]=r[e+3],Qn[0]}var ei=new Float64Array([-0]),W=new Uint8Array(ei.buffer);function Lo(r,e,t){ei[0]=r,e[t]=W[0],e[t+1]=W[1],e[t+2]=W[2],e[t+3]=W[3],e[t+4]=W[4],e[t+5]=W[5],e[t+6]=W[6],e[t+7]=W[7]}function Po(r,e){return W[0]=r[e],W[1]=r[e+1],W[2]=r[e+2],W[3]=r[e+3],W[4]=r[e+4],W[5]=r[e+5],W[6]=r[e+6],W[7]=r[e+7],ei[0]}var Yu=BigInt(Number.MAX_SAFE_INTEGER),Zu=BigInt(Number.MIN_SAFE_INTEGER),ie=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 Ke;if(e<Yu&&e>Zu)return this.fromNumber(Number(e));let t=e<0n;t&&(e=-e);let n=e>>32n,i=e-(n<<32n);return t&&(n=~n|0n,i=~i|0n,++i>Uo&&(i=0n,++n>Uo&&(n=0n))),new r(Number(i),Number(n))}static fromNumber(e){if(e===0)return Ke;let t=e<0;t&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return t&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new r(n,i)}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):Ke}},Ke=new ie(0,0);Ke.toBigInt=function(){return 0n};Ke.zzEncode=Ke.zzDecode=function(){return this};Ke.length=function(){return 1};var Uo=4294967296n;function Oo(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 Ro(r,e,t){if(t-e<1)return"";let i,o=[],s=0,a;for(;e<t;)a=r[e++],a<128?o[s++]=a:a>191&&a<224?o[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,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(r[e++]&63)<<6|r[e++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function ti(r,e,t){let n=t,i,o;for(let s=0;s<r.length;++s)i=r.charCodeAt(s),i<128?e[t++]=i:i<2048?(e[t++]=i>>6|192,e[t++]=i&63|128):(i&64512)===55296&&((o=r.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,e[t++]=i>>18|240,e[t++]=i>>12&63|128,e[t++]=i>>6&63|128,e[t++]=i&63|128):(e[t++]=i>>12|224,e[t++]=i>>6&63|128,e[t++]=i&63|128);return t-n}function we(r,e){return RangeError(`index out of range: ${r.pos} + ${e??1} > ${r.len}`)}function Dr(r,e){return(r[e-4]|r[e-3]<<8|r[e-2]<<16|r[e-1]<<24)>>>0}var ri=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,we(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 we(this,4);return Dr(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw we(this,4);return Dr(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw we(this,4);let e=Fo(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw we(this,4);let e=Po(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 we(this,e);return this.pos+=e,t===n?new Uint8Array(0):this.buf.subarray(t,n)}string(){let e=this.bytes();return Ro(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw we(this,e);this.pos+=e}else do if(this.pos>=this.len)throw we(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 ie(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 we(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 we(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 we(this,8);let e=Dr(this.buf,this.pos+=4),t=Dr(this.buf,this.pos+=4);return new ie(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=Do(this.buf,this.pos);return this.pos+=Wt(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 ni(r){return new ri(r instanceof Uint8Array?r:r.subarray())}function Kt(r,e,t){let n=ni(r);return e.decode(n,void 0,t)}var ii={};q(ii,{base10:()=>Qu});var Qu=Ue({prefix:"9",name:"base10",alphabet:"0123456789"});var oi={};q(oi,{base16:()=>ef,base16upper:()=>tf});var ef=L({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),tf=L({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var si={};q(si,{base2:()=>rf});var rf=L({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ai={};q(ai,{base256emoji:()=>cf});var Mo=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}"),nf=Mo.reduce((r,e,t)=>(r[t]=e,r),[]),of=Mo.reduce((r,e,t)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return r[n]=t,r},[]);function sf(r){return r.reduce((e,t)=>(e+=nf[t],e),"")}function af(r){let e=[];for(let t of r){let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);let i=of[n];if(i==null)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}var cf=ft({prefix:"\u{1F680}",name:"base256emoji",encode:sf,decode:af});var ci={};q(ci,{base64:()=>Xt,base64pad:()=>uf,base64url:()=>ff,base64urlpad:()=>lf});var Xt=L({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),uf=L({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),ff=L({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),lf=L({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ui={};q(ui,{base8:()=>hf});var hf=L({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var fi={};q(fi,{identity:()=>df});var df=ft({prefix:"\0",name:"identity",encode:r=>$n(r),decode:r=>Rn(r)});var Mp=new TextEncoder,pf=new TextDecoder;var Ho=512;function Vo(r){return JSON.parse(pf.decode(r))}var Ie={};q(Ie,{code:()=>Q,decode:()=>gf,encode:()=>yf,name:()=>mf});var mf="raw",Q=85;function yf(r){return le(r)}function gf(r){return le(r)}var di={};q(di,{identity:()=>hi});var jo=0,wf="identity",Go=le;function xf(r){return We(jo,Go(r))}var hi={code:jo,name:wf,encode:Go,digest:xf};var mi={};q(mi,{sha256:()=>oe,sha512:()=>bf});function Xe({name:r,code:e,encode:t}){return new pi(r,e,t)}var pi=class{name;code;encode;constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?We(this.code,t):t.then(n=>We(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Wo(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var oe=Xe({name:"sha2-256",code:18,encode:Wo("SHA-256")}),bf=Xe({name:"sha2-512",code:19,encode:Wo("SHA-512")});var yi={...fi,...si,...ui,...ii,...oi,...Gn,...qn,...Wn,...ci,...ai},em={...mi,...di};function Xo(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var Ko=Xo("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),gi=Xo("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=ne(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),_f={utf8:Ko,"utf-8":Ko,hex:yi.base16,latin1:gi,ascii:gi,binary:gi,...yi},zr=_f;function U(r,e="utf8"){let t=zr[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.decoder.decode(`${t.prefix}${r}`)}function wi(r){let e=r??8192,t=e>>>1,n,i=e;return function(s){if(s<1||s>t)return ne(s);i+s>e&&(n=ne(e),i=0);let a=n.subarray(i,i+=s);return(i&7)!==0&&(i=(i|7)+1),a}}var Je=class{fn;len;next;val;constructor(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}};function xi(){}var _i=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},Sf=wi();function kf(r){return globalThis.Buffer!=null?ne(r):Sf(r)}var Yt=class{len;head;tail;states;constructor(){this.len=0,this.head=new Je(xi,0,0),this.tail=this.head,this.states=null}_push(e,t,n){return this.tail=this.tail.next=new Je(e,t,n),this.len+=t,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Si((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(Fr,10,ie.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let t=ie.fromBigInt(e);return this._push(Fr,t.length(),t)}uint64Number(e){return this._push(To,Wt(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=ie.fromBigInt(e).zzEncode();return this._push(Fr,t.length(),t)}sint64Number(e){let t=ie.fromNumber(e).zzEncode();return this._push(Fr,t.length(),t)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(bi,1,e?1:0)}fixed32(e){return this._push(Jt,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let t=ie.fromBigInt(e);return this._push(Jt,4,t.lo)._push(Jt,4,t.hi)}fixed64Number(e){let t=ie.fromNumber(e);return this._push(Jt,4,t.lo)._push(Jt,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(zo,4,e)}double(e){return this._push(Lo,8,e)}bytes(e){let t=e.length>>>0;return t===0?this._push(bi,1,0):this.uint32(t)._push(Bf,t,e)}string(e){let t=Oo(e);return t!==0?this.uint32(t)._push(ti,t,e):this._push(bi,1,0)}fork(){return this.states=new _i(this),this.head=this.tail=new Je(xi,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 Je(xi,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=kf(this.len),n=0;for(;e!=null;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t}};function bi(r,e,t){e[t]=r&255}function Ef(r,e,t){for(;r>127;)e[t++]=r&127|128,r>>>=7;e[t]=r}var Si=class extends Je{next;constructor(e,t){super(Ef,e,t),this.next=void 0}};function Fr(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 Jt(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 Bf(r,e,t){e.set(r,t)}globalThis.Buffer!=null&&(Yt.prototype.bytes=function(r){let e=r.length>>>0;return this.uint32(e),e>0&&this._push(vf,e,r),this},Yt.prototype.string=function(r){let e=globalThis.Buffer.byteLength(r);return this.uint32(e),e>0&&this._push(If,e,r),this});function vf(r,e,t){e.set(r,t)}function If(r,e,t){r.length<40?ti(r,e,t):e.utf8Write!=null?e.utf8Write(r,t):e.set(U(r),t)}function ki(){return new Yt}function Zt(r,e){let t=ki();return e.encode(r,t,{lengthDelimited:!1}),t.finish()}var yt;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(yt||(yt={}));function Lr(r,e,t,n){return{name:r,type:e,encode:t,decode:n}}function Ei(r){function e(i){if(r[i.toString()]==null)throw new Error("Invalid enum value");return r[i]}let t=function(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return Lr("enum",yt.VARINT,t,n)}function Qt(r,e){return Lr("message",yt.LENGTH_DELIMITED,r,e)}var xe;(function(r){let e;(function(i){i.Raw="Raw",i.Directory="Directory",i.File="File",i.Metadata="Metadata",i.Symlink="Symlink",i.HAMTShard="HAMTShard"})(e=r.DataType||(r.DataType={}));let t;(function(i){i[i.Raw=0]="Raw",i[i.Directory=1]="Directory",i[i.File=2]="File",i[i.Metadata=3]="Metadata",i[i.Symlink=4]="Symlink",i[i.HAMTShard=5]="HAMTShard"})(t||(t={})),function(i){i.codec=()=>Ei(t)}(e=r.DataType||(r.DataType={}));let n;r.codec=()=>(n==null&&(n=Qt((i,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),i.Type!=null&&(o.uint32(8),r.DataType.codec().encode(i.Type,o)),i.Data!=null&&(o.uint32(18),o.bytes(i.Data)),i.filesize!=null&&(o.uint32(24),o.uint64(i.filesize)),i.blocksizes!=null)for(let a of i.blocksizes)o.uint32(32),o.uint64(a);i.hashType!=null&&(o.uint32(40),o.uint64(i.hashType)),i.fanout!=null&&(o.uint32(48),o.uint64(i.fanout)),i.mode!=null&&(o.uint32(56),o.uint32(i.mode)),i.mtime!=null&&(o.uint32(66),Pr.codec().encode(i.mtime,o)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={blocksizes:[]},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let u=i.uint32();switch(u>>>3){case 1:s.Type=r.DataType.codec().decode(i);break;case 2:s.Data=i.bytes();break;case 3:s.filesize=i.uint64();break;case 4:s.blocksizes.push(i.uint64());break;case 5:s.hashType=i.uint64();break;case 6:s.fanout=i.uint64();break;case 7:s.mode=i.uint32();break;case 8:s.mtime=Pr.codec().decode(i,i.uint32());break;default:i.skipType(u&7);break}}return s})),n),r.encode=i=>Zt(i,r.codec()),r.decode=i=>Kt(i,r.codec())})(xe||(xe={}));var Pr;(function(r){let e;r.codec=()=>(e==null&&(e=Qt((t,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),t.Seconds!=null&&(n.uint32(8),n.int64(t.Seconds)),t.FractionalNanoseconds!=null&&(n.uint32(21),n.fixed32(t.FractionalNanoseconds)),i.lengthDelimited!==!1&&n.ldelim()},(t,n)=>{let i={},o=n==null?t.len:t.pos+n;for(;t.pos<o;){let s=t.uint32();switch(s>>>3){case 1:i.Seconds=t.int64();break;case 2:i.FractionalNanoseconds=t.fixed32();break;default:t.skipType(s&7);break}}return i})),e),r.encode=t=>Zt(t,r.codec()),r.decode=t=>Kt(t,r.codec())})(Pr||(Pr={}));var Jo;(function(r){let e;r.codec=()=>(e==null&&(e=Qt((t,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),t.MimeType!=null&&(n.uint32(10),n.string(t.MimeType)),i.lengthDelimited!==!1&&n.ldelim()},(t,n)=>{let i={},o=n==null?t.len:t.pos+n;for(;t.pos<o;){let s=t.uint32();switch(s>>>3){case 1:i.MimeType=t.string();break;default:t.skipType(s&7);break}}return i})),e),r.encode=t=>Zt(t,r.codec()),r.decode=t=>Kt(t,r.codec())})(Jo||(Jo={}));var Yo={Raw:"raw",Directory:"directory",File:"file",Metadata:"metadata",Symlink:"symlink",HAMTShard:"hamt-sharded-directory"},Af=["directory","hamt-sharded-directory"],Zo=parseInt("0644",8),Qo=parseInt("0755",8),es=BigInt(1024),v=class r{static unmarshal(e){let t=xe.decode(e);if(t.fanout!=null&&t.fanout>es)throw new Tr(`Fanout size was too large - ${t.fanout} > ${es}`);let n=new r({type:Yo[t.Type!=null?t.Type.toString():"File"],data:t.Data,blockSizes:t.blocksizes,mode:t.mode,mtime:t.mtime!=null?{secs:t.mtime.Seconds??0n,nsecs:t.mtime.FractionalNanoseconds}:void 0,fanout:t.fanout});return n._originalMode=t.mode??0,n}type;data;blockSizes;hashType;fanout;mtime;_mode;_originalMode;constructor(e={type:"file"}){let{type:t,data:n,blockSizes:i,hashType:o,fanout:s,mtime:a,mode:u}=e;if(t!=null&&!Object.values(Yo).includes(t))throw new qt("Type: "+t+" is not valid");this.type=t??"file",this.data=n,this.hashType=o,this.fanout=s,this.blockSizes=i??[],this._originalMode=0,this.mode=u,this.mtime=a}set mode(e){e==null?this._mode=this.isDirectory()?Qo:Zo:this._mode=e&4095}get mode(){return this._mode}isDirectory(){return Af.includes(this.type)}addBlockSize(e){this.blockSizes.push(e)}removeBlockSize(e){this.blockSizes.splice(e,1)}fileSize(){if(this.isDirectory())return 0n;let e=0n;return this.blockSizes.forEach(t=>{e+=t}),this.data!=null&&(e+=BigInt(this.data.length)),e}marshal(){let e;switch(this.type){case"raw":e=xe.DataType.Raw;break;case"directory":e=xe.DataType.Directory;break;case"file":e=xe.DataType.File;break;case"metadata":e=xe.DataType.Metadata;break;case"symlink":e=xe.DataType.Symlink;break;case"hamt-sharded-directory":e=xe.DataType.HAMTShard;break;default:throw new qt(`Type: ${e} is not valid`)}let t=this.data;(this.data==null||this.data.length===0)&&(t=void 0);let n;this.mode!=null&&(n=this._originalMode&4294963200|(this.mode??0),n===Zo&&!this.isDirectory()&&(n=void 0),n===Qo&&this.isDirectory()&&(n=void 0));let i;return this.mtime!=null&&(i={Seconds:this.mtime.secs,FractionalNanoseconds:this.mtime.nsecs}),xe.encode({Type:e,Data:t,filesize:this.isDirectory()?void 0:this.fileSize(),blocksizes:this.blockSizes,hashType:this.hashType,fanout:this.fanout,mode:n,mtime:i})}};var O=class extends Event{type;detail;constructor(e,t){super(e),this.type=e,this.detail=t}};var be=async(r,e,t)=>{t.codec==null&&(t.codec=M);let n=await oe.digest(r),i=A.create(t.cidVersion,t.codec.code,n);return await e.put(i,r,t),i};function ts(r){return async function*(t,n){let i=0n;for await(let o of t.content)yield async()=>{let s,a={codec:M,cidVersion:r.cidVersion,onProgress:r.onProgress};r.rawLeaves?(a.codec=Ie,a.cidVersion=1):(s=new v({type:r.leafType,data:o}),o=T({Data:s.marshal(),Links:[]}));let u=await be(o,n,a);return i+=BigInt(o.byteLength),r.onProgress?.(new O("unixfs:importer:progress:file:write",{bytesWritten:i,cid:u,path:t.path})),{cid:u,unixfs:s,size:BigInt(o.length),block:o}}}}var Ur=class r extends Error{static name="InvalidParametersError";static code="ERR_INVALID_PARAMS";name=r.name;code=r.code;constructor(e="Invalid parameters"){super(e)}};var Me=class r extends Error{static name="InvalidContentError";static code="ERR_INVALID_CONTENT";name=r.name;code=r.code;constructor(e="Invalid content"){super(e)}};var rs=async(r,e,t)=>{let n=new v({type:"directory",mtime:r.mtime,mode:r.mode}),i=T(P({Data:n.marshal()})),o=await be(i,e,t),s=r.path;return{cid:o,path:s,unixfs:n,size:BigInt(i.length),originalPath:r.originalPath,block:i}};async function*Cf(r,e,t){let n=-1,i;for await(let o of Rt(t.bufferImporter(r,e),t.blockWriteConcurrency)){if(n++,n===0){i={...o,single:!0};continue}else n===1&&i!=null&&(yield{...i,block:void 0,single:void 0},i=void 0);yield{...o,block:void 0}}i!=null&&(yield i)}function ns(r){return r.single===!0}var Nf=(r,e,t)=>async function(i){if(i.length===1&&ns(i[0])&&t.reduceSingleLeafToSelf){let f=i[0],l=f.block;return ns(f)&&(r.mtime!==void 0||r.mode!==void 0)&&(f.unixfs=new v({type:"file",mtime:r.mtime,mode:r.mode,data:f.block}),l={Data:f.unixfs.marshal(),Links:[]},f.block=T(P(l)),f.cid=await be(f.block,e,{...t,cidVersion:t.cidVersion}),f.size=BigInt(f.block.length)),t.onProgress?.(new O("unixfs:importer:progress:file:layout",{cid:f.cid,path:f.originalPath})),{cid:f.cid,path:r.path,unixfs:f.unixfs,size:f.size,originalPath:f.originalPath}}let o=new v({type:"file",mtime:r.mtime,mode:r.mode}),s=i.filter(f=>f.cid.code===Q&&f.size>0||f.unixfs!=null&&f.unixfs.data==null&&f.unixfs.fileSize()>0n?!0:!!f.unixfs?.data?.length).map(f=>f.cid.code===Q?(o.addBlockSize(f.size),{Name:"",Tsize:Number(f.size),Hash:f.cid}):(f.unixfs?.data==null?o.addBlockSize(f.unixfs?.fileSize()??0n):o.addBlockSize(BigInt(f.unixfs.data.length)),{Name:"",Tsize:Number(f.size),Hash:f.cid})),a={Data:o.marshal(),Links:s},u=T(P(a)),h=await be(u,e,t);return t.onProgress?.(new O("unixfs:importer:progress:file:layout",{cid:h,path:r.originalPath})),{cid:h,path:r.path,unixfs:o,size:BigInt(u.length+a.Links.reduce((f,l)=>f+(l.Tsize??0),0)),originalPath:r.originalPath,block:u}},is=async(r,e,t)=>t.layout(Cf(r,e,t),Nf(r,e,t));function Tf(r){return Symbol.iterator in r}function Df(r){return Symbol.asyncIterator in r}function zf(r){try{if(r instanceof Uint8Array)return async function*(){yield r}();if(Tf(r))return async function*(){yield*r}();if(Df(r))return r}catch{throw new Me("Content was invalid")}throw new Me("Content was invalid")}function os(r){return async function*(t,n){for await(let i of t){let o;if(i.path!=null&&(o=i.path,i.path=i.path.split("/").filter(s=>s!=null&&s!==".").join("/")),Ff(i)){let s={path:i.path,mtime:i.mtime,mode:i.mode,content:async function*(){let u=0n;for await(let h of r.chunker(r.chunkValidator(zf(i.content)))){let f=BigInt(h.byteLength);u+=f,r.onProgress?.(new O("unixfs:importer:progress:file:read",{bytesRead:u,chunkSize:f,path:i.path})),yield h}}(),originalPath:o},a=r.fileBuilder??is;yield async()=>a(s,n,r)}else if(i.path!=null){let s={path:i.path,mtime:i.mtime,mode:i.mode,originalPath:o},a=r.dirBuilder??rs;yield async()=>a(s,n,r)}else throw new Error("Import candidate must have content or path or both")}}}function Ff(r){return r.content!=null}var ss=()=>async function*(e){for await(let t of e){if(t.length===void 0)throw new Me("Content was invalid");if(typeof t=="string"||t instanceof String)yield U(t.toString());else if(Array.isArray(t))yield Uint8Array.from(t);else if(t instanceof Uint8Array)yield t;else throw new Me("Content was invalid")}};var Lf=174;function er(r){let e=r?.maxChildrenPerNode??Lf;return async function t(n,i){let o=[];for await(let s of Br(n,e))o.push(await i(s));return o.length>1?t(o,i):o[0]}}function Pf(r){return r[Symbol.asyncIterator]!=null}function Uf(r){if(Pf(r))return(async()=>{let t=[];for await(let n of r)t.push(n);return t})();let e=[];for(let t of r)e.push(t);return e}var as=Uf;var Ae=class{options;root;dir;path;dirty;flat;parent;parentKey;unixfs;mode;mtime;cid;size;nodeSize;constructor(e,t){this.options=t??{},this.root=e.root,this.dir=e.dir,this.path=e.path,this.dirty=e.dirty,this.flat=e.flat,this.parent=e.parent,this.parentKey=e.parentKey,this.unixfs=e.unixfs,this.mode=e.mode,this.mtime=e.mtime}},tr=A.parse("QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn"),rr=A.parse("zdj7WbTaiJT1fgatdet9Ei9iDB5hdCxkbVyhyh8YTUnXMiwYi");var Ye=class extends Ae{_children;constructor(e,t){super(e,t),this._children=new Map}async put(e,t){this.cid=void 0,this.size=void 0,this.nodeSize=void 0,this._children.set(e,t)}async get(e){return Promise.resolve(this._children.get(e))}childCount(){return this._children.size}directChildrenCount(){return this.childCount()}onlyChild(){return this._children.values().next().value}*eachChildSeries(){for(let[e,t]of this._children.entries())yield{key:e,child:t}}estimateNodeSize(){if(this.nodeSize!==void 0)return this.nodeSize;this.nodeSize=0;for(let[e,t]of this._children.entries())t.size!=null&&t.cid!=null&&(this.nodeSize+=e.length+(this.options.cidVersion===1?rr.bytes.byteLength:tr.bytes.byteLength));return this.nodeSize}async*flush(e){let t=[];for(let[u,h]of this._children.entries()){let f=h;if(h instanceof Ae)for await(let l of h.flush(e))f=l,yield l;f.size!=null&&f.cid!=null&&t.push({Name:u,Tsize:Number(f.size),Hash:f.cid})}let n=new v({type:"directory",mtime:this.mtime,mode:this.mode}),i={Data:n.marshal(),Links:t},o=T(P(i)),s=await be(o,e,this.options),a=o.length+i.Links.reduce((u,h)=>u+(h.Tsize??0),0);this.cid=s,this.size=a,yield{cid:s,unixfs:n,path:this.path,size:BigInt(a)}}};var Rr=Ot(fs(),1);function Of(r){let e=new Array(4);for(let t=0;t<4;t++)e[t]=r&255,r=r>>8;return new Uint8Array(e)}var E0=Xe({name:"murmur3-32",code:35,encode:r=>Of(Rr.default.x86.hash32(r))}),Ze=Xe({name:"murmur3-128",code:34,encode:r=>ut.fromHex(Rr.default.x64.hash128(r))}),B0=Xe({name:"murmur3-x64-64",code:34,encode:r=>ut.fromHex(Rr.default.x64.hash128(r)).subarray(0,8)});var ds=Ot($r(),1);var se=class r{_options;_popCount;_parent;_posAtParent;_children;key;constructor(e,t,n=0){this._options=e,this._popCount=0,this._parent=t,this._posAtParent=n,this._children=new ds.default,this.key=null}async put(e,t){let n=await this._findNewBucketAndPos(e);n.bucket._putAt(n,e,t)}async get(e){let t=await this._findChild(e);if(t!=null)return t.value}async del(e){let t=await this._findPlace(e),n=t.bucket._at(t.pos);n!=null&&n.key===e&&t.bucket._delAt(t.pos)}leafCount(){return this._children.compactArray().reduce((t,n)=>n instanceof r?t+n.leafCount():t+1,0)}childrenCount(){return this._children.length}onlyChild(){return this._children.get(0)}*eachLeafSeries(){let e=this._children.compactArray();for(let t of e)t instanceof r?yield*t.eachLeafSeries():yield t}serialize(e,t){let n=[];return t(this._children.reduce((i,o,s)=>(o!=null&&(o instanceof r?i.push(o.serialize(e,t)):i.push(e(o,s))),i),n))}async asyncTransform(e,t){return ps(this,e,t)}toJSON(){return this.serialize(Vf,jf)}prettyPrint(){return JSON.stringify(this.toJSON(),null," ")}tableSize(){return Math.pow(2,this._options.bits)}async _findChild(e){let t=await this._findPlace(e),n=t.bucket._at(t.pos);if(!(n instanceof r)&&n!=null&&n.key===e)return n}async _findPlace(e){let t=this._options.hash(typeof e=="string"?U(e):e),n=await t.take(this._options.bits),i=this._children.get(n);return i instanceof r?i._findPlace(t):{bucket:this,pos:n,hash:t,existingChild:i}}async _findNewBucketAndPos(e){let t=await this._findPlace(e);if(t.existingChild!=null&&t.existingChild.key!==e){let n=new r(this._options,t.bucket,t.pos);t.bucket._putObjectAt(t.pos,n);let i=await n._findPlace(t.existingChild.hash);return i.bucket._putAt(i,t.existingChild.key,t.existingChild.value),n._findNewBucketAndPos(t.hash)}return t}_putAt(e,t,n){this._putObjectAt(e.pos,{key:t,value:n,hash:e.hash})}_putObjectAt(e,t){this._children.get(e)==null&&this._popCount++,this._children.set(e,t)}_delAt(e){if(e===-1)throw new Error("Invalid position");this._children.get(e)!=null&&this._popCount--,this._children.unset(e),this._level()}_level(){if(this._parent!=null&&this._popCount<=1)if(this._popCount===1){let e=this._children.find(Hf);if(e!=null&&!(e instanceof r)){let t=e.hash;t.untake(this._options.bits);let n={pos:this._posAtParent,hash:t,bucket:this._parent};this._parent._putAt(n,e.key,e.value)}}else this._parent._delAt(this._posAtParent)}_at(e){return this._children.get(e)}};function Hf(r){return!!r}function Vf(r,e){return r.key}function jf(r){return r}async function ps(r,e,t){let n=[];for(let i of r._children.compactArray())if(i instanceof se)await ps(i,e,t);else{let o=await e(i);n.push({bitField:r._children.bitField(),children:o})}return t(n)}var Gf=[255,254,252,248,240,224,192,128],qf=[1,3,7,15,31,63,127,255],Mr=class{_value;_currentBytePos;_currentBitPos;constructor(e){this._value=e,this._currentBytePos=e.length-1,this._currentBitPos=7}availableBits(){return this._currentBitPos+1+this._currentBytePos*8}totalBits(){return this._value.length*8}take(e){let t=e,n=0;for(;t>0&&this._haveBits();){let i=this._value[this._currentBytePos],o=this._currentBitPos+1,s=Math.min(o,t),a=Wf(i,o-s,s);n=(n<<s)+a,t-=s,this._currentBitPos-=s,this._currentBitPos<0&&(this._currentBitPos=7,this._currentBytePos--)}return n}untake(e){for(this._currentBitPos+=e;this._currentBitPos>7;)this._currentBitPos-=8,this._currentBytePos+=1}_haveBits(){return this._currentBytePos>=0}};function Wf(r,e,t){let n=Kf(e,t);return(r&n)>>>e}function Kf(r,e){return Gf[r]&qf[Math.min(e+r-1,7)]}function ms(r){function e(t){return t instanceof Hr?t:new Hr(t,r)}return e}var Hr=class{_value;_hashFn;_depth;_availableBits;_currentBufferIndex;_buffers;constructor(e,t){if(!(e instanceof Uint8Array))throw new Error("can only hash Uint8Arrays");this._value=e,this._hashFn=t,this._depth=-1,this._availableBits=0,this._currentBufferIndex=0,this._buffers=[]}async take(e){let t=e;for(;this._availableBits<t;)await this._produceMoreBits();let n=0;for(;t>0;){let i=this._buffers[this._currentBufferIndex],o=Math.min(i.availableBits(),t),s=i.take(o);n=(n<<o)+s,t-=o,this._availableBits-=o,i.availableBits()===0&&this._currentBufferIndex++}return n}untake(e){let t=e;for(;t>0;){let n=this._buffers[this._currentBufferIndex],i=Math.min(n.totalBits()-n.availableBits(),t);n.untake(i),t-=i,this._availableBits+=i,this._currentBufferIndex>0&&n.totalBits()===n.availableBits()&&(this._depth--,this._currentBufferIndex--)}}async _produceMoreBits(){this._depth++;let e=this._depth>0?qe([this._value,Uint8Array.from([this._depth])]):this._value,t=await this._hashFn(e),n=new Mr(t);this._buffers.push(n),this._availableBits+=n.availableBits()}};function gt(r){if(r==null||r.hashFn==null)throw new Error("please define an options.hashFn");let e={bits:r.bits??8,hash:ms(r.hashFn)};return new se(e)}async function Xf(r){return(await Ze.encode(r)).slice(0,8).reverse()}var ys=BigInt(34),Jf=8,Bi=class extends Ae{_bucket;constructor(e,t){super(e,t),this._bucket=gt({hashFn:Xf,bits:t.shardFanoutBits??Jf})}async put(e,t){this.cid=void 0,this.size=void 0,this.nodeSize=void 0,await this._bucket.put(e,t)}async get(e){return this._bucket.get(e)}childCount(){return this._bucket.leafCount()}directChildrenCount(){return this._bucket.childrenCount()}onlyChild(){return this._bucket.onlyChild()}*eachChildSeries(){for(let{key:e,value:t}of this._bucket.eachLeafSeries())yield{key:e,child:t}}estimateNodeSize(){return this.nodeSize!==void 0?this.nodeSize:(this.nodeSize=xs(this._bucket,this,this.options),this.nodeSize)}async*flush(e){for await(let t of ws(this._bucket,e,this,this.options))yield{...t,path:this.path}}},gs=Bi;async function*ws(r,e,t,n){let i=r._children,o=(r.tableSize()-1).toString(16).length,s=[],a=0n;for(let d=0;d<i.length;d++){let m=i.get(d);if(m==null)continue;let x=d.toString(16).toUpperCase().padStart(o,"0");if(m instanceof se){let g;for await(let w of ws(m,e,null,n))g=w;if(g==null)throw new Error("Could not flush sharded directory, no subshard found");s.push({Name:x,Tsize:Number(g.size),Hash:g.cid}),a+=g.size}else if(Yf(m.value)){let g=m.value,w;for await(let S of g.flush(e))w=S,yield w;if(w==null)throw new Error("Did not flush dir");let b=x+m.key;s.push({Name:b,Tsize:Number(w.size),Hash:w.cid}),a+=w.size}else{let g=m.value;if(g.cid==null)continue;let w=x+m.key,b=g.size;s.push({Name:w,Tsize:Number(b),Hash:g.cid}),a+=BigInt(b??0)}}let u=Uint8Array.from(i.bitField().reverse()),h=new v({type:"hamt-sharded-directory",data:u,fanout:BigInt(r.tableSize()),hashType:ys,mtime:t?.mtime,mode:t?.mode}),f={Data:h.marshal(),Links:s},l=T(P(f)),y=await be(l,e,n),c=BigInt(l.byteLength)+a;yield{cid:y,unixfs:h,size:c}}function Yf(r){return typeof r.flush=="function"}function xs(r,e,t){let n=r._children,i=(r.tableSize()-1).toString(16).length,o=[];for(let h=0;h<n.length;h++){let f=n.get(h);if(f==null)continue;let l=h.toString(16).toUpperCase().padStart(i,"0");if(f instanceof se){let y=xs(f,null,t);o.push({Name:l,Tsize:Number(y),Hash:t.cidVersion===0?tr:rr})}else if(typeof f.value.flush=="function"){let c=f.value.nodeSize();o.push({Name:l+f.key,Tsize:Number(c),Hash:t.cidVersion===0?tr:rr})}else{let y=f.value;if(y.cid==null)continue;let c=l+f.key,d=y.size;o.push({Name:c,Tsize:Number(d),Hash:y.cid})}}let s=Uint8Array.from(n.bitField().reverse()),a=new v({type:"hamt-sharded-directory",data:s,fanout:BigInt(r.tableSize()),hashType:ys,mtime:e?.mtime,mode:e?.mode});return T(P({Data:a.marshal(),Links:o})).length}async function vi(r,e,t,n){let i=e;e instanceof Ye&&e.estimateNodeSize()>t&&(i=await Zf(e,n));let o=i.parent;if(o!=null){if(i!==e){if(r!=null&&(r.parent=i),i.parentKey==null)throw new Error("No parent key found");await o.put(i.parentKey,i)}return vi(i,o,t,n)}return i}async function Zf(r,e){let t=new gs({root:r.root,dir:!0,parent:r.parent,parentKey:r.parentKey,path:r.path,dirty:r.dirty,flat:!1,mtime:r.mtime,mode:r.mode},e);for(let{key:n,child:i}of r.eachChildSeries())await t.put(n,i);return t}var bs=(r="")=>r.split(/(?<!\\)\//).filter(Boolean);async function Qf(r,e,t){let n=bs(r.path??""),i=n.length-1,o=e,s="";for(let a=0;a<n.length;a++){let u=n[a];s+=`${s!==""?"/":""}${u}`;let h=a===i;if(o.dirty=!0,o.cid=void 0,o.size=void 0,h)await o.put(u,r),e=await vi(null,o,t.shardSplitThresholdBytes,t);else{let f=await o.get(u);(f==null||!(f instanceof Ae))&&(f=new Ye({root:!1,dir:!0,parent:o,parentKey:u,path:s,dirty:!0,flat:!0,mtime:f?.unixfs?.mtime,mode:f?.unixfs?.mode},t)),await o.put(u,f),o=f}}return e}async function*_s(r,e){if(!(r instanceof Ae)){r.unixfs?.isDirectory()===!0&&(yield r);return}yield*r.flush(e)}function Ss(r){return async function*(t,n){let i=new Ye({root:!0,dir:!0,path:"",dirty:!0,flat:!0},r),o,s=!1;for await(let a of t){if(a==null)continue;let u=`${a.originalPath??""}`.split("/")[0];u!=null&&u!==""&&(o==null?(o=u,s=!0):o!==u&&(s=!1)),i=await Qf(a,i,r),a.unixfs?.isDirectory()!==!0&&(yield a)}if(r.wrapWithDirectory||s&&i.childCount()>1)yield*_s(i,n);else for(let a of i.eachChildSeries())a!=null&&(yield*_s(a.child,n))}}async function*Qe(r,e,t={}){let n;Symbol.asyncIterator in r||Symbol.iterator in r?n=r:n=[r];let i=t.wrapWithDirectory??!1,o=t.shardSplitThresholdBytes??262144,s=t.shardFanoutBits??8,a=t.cidVersion??1,u=t.rawLeaves??!0,h=t.leafType??"file",f=t.fileImportConcurrency??50,l=t.blockWriteConcurrency??10,y=t.reduceSingleLeafToSelf??!0,c=t.chunker??$t(),d=t.chunkValidator??ss(),m=t.dagBuilder??os({chunker:c,chunkValidator:d,wrapWithDirectory:i,layout:t.layout??er(),bufferImporter:t.bufferImporter??ts({cidVersion:a,rawLeaves:u,leafType:h,onProgress:t.onProgress}),blockWriteConcurrency:l,reduceSingleLeafToSelf:y,cidVersion:a,onProgress:t.onProgress,dirBuilder:t.dirBuilder,fileBuilder:t.fileBuilder}),x=t.treeBuilder??Ss({wrapWithDirectory:i,shardSplitThresholdBytes:o,shardFanoutBits:s,cidVersion:a,onProgress:t.onProgress});for await(let g of x(Rt(m(n,e),f),e))yield{cid:g.cid,path:g.path,unixfs:g.unixfs,size:g.size}}async function ks(r,e,t={}){let n=await Er(Qe([r],e,t));if(n==null)throw new Ur("Nothing imported");return n}async function Es(r,e,t={}){return ks({content:r},e,t)}async function Bs(r,e,t={}){return ks({content:r},e,t)}function el(r){return r[Symbol.asyncIterator]!=null}function tl(r){if(el(r))return(async()=>{let t;for await(let n of r)t=n;return t})();let e;for(let t of r)e=t;return e}var _e=tl;var Se=class extends Error{name;code;constructor(e,t,n){super(e),this.name=t,this.code=n}},Ce=class extends Se{constructor(e="not a Unixfs node"){super(e,"NotUnixFSError","ERR_NOT_UNIXFS")}},ee=class extends Se{constructor(e="invalid PBNode"){super(e,"InvalidPBNodeError","ERR_INVALID_PB_NODE")}},He=class extends Se{constructor(e="unknown error"){super(e,"InvalidPBNodeError","ERR_UNKNOWN_ERROR")}},et=class extends Se{constructor(e="path already exists"){super(e,"AlreadyExistsError","ERR_ALREADY_EXISTS")}},Fe=class extends Se{constructor(e="path does not exist"){super(e,"DoesNotExistError","ERR_DOES_NOT_EXIST")}},wt=class extends Se{constructor(e="no content"){super(e,"NoContentError","ERR_NO_CONTENT")}},Vr=class extends Se{constructor(e="not a file"){super(e,"NotAFileError","ERR_NOT_A_FILE")}},Ne=class extends Se{constructor(e="not a directory"){super(e,"NotADirectoryError","ERR_NOT_A_DIRECTORY")}},F=class extends Se{constructor(e="invalid parameters"){super(e,"InvalidParametersError","ERR_INVALID_PARAMETERS")}};var ir={cidVersion:1,rawLeaves:!0,layout:er({maxChildrenPerNode:1024}),chunker:$t({chunkSize:1048576})};async function*jr(r,e,t={}){yield*Qe(r,e,{...ir,...t})}async function vs(r,e,t={}){let{cid:n}=await Es(r,e,{...ir,...t});return n}async function Is(r,e,t={}){let{cid:n}=await Bs(r,e,{...ir,...t});return n}async function As(r,e,t={}){if(r.path==null)throw new F("path is required");if(r.content==null)throw new F("content is required");let n=await _e(jr([r],e,{...ir,...t,wrapWithDirectory:!0}));if(n==null)throw new F("Nothing imported");return n.cid}async function Cs(r,e,t={}){if(r.content!=null)throw new F("Directories cannot have content, use addFile instead");let i=await(r.path==null?Er:_e)(jr([{...r,path:r.path??"-"}],e,{...ir,...t,wrapWithDirectory:r.path!=null}));if(i==null)throw new F("Nothing imported");return i.cid}function xt(r){if(typeof r!="object"||r===null)return!1;let e=Object.getPrototypeOf(r);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in r)&&!(Symbol.iterator in r)}var{hasOwnProperty:Ts}=Object.prototype,{propertyIsEnumerable:rl}=Object,bt=(r,e,t)=>{Object.defineProperty(r,e,{value:t,writable:!0,enumerable:!0,configurable:!0})},nl=void 0,Ns={concatArrays:!1,ignoreUndefined:!1},Gr=r=>{let e=[];for(let t in r)Ts.call(r,t)&&e.push(t);if(Object.getOwnPropertySymbols){let t=Object.getOwnPropertySymbols(r);for(let n of t)rl.call(r,n)&&e.push(n)}return e};function _t(r){return Array.isArray(r)?il(r):xt(r)?ol(r):r}function il(r){let e=r.slice(0,0);return Gr(r).forEach(t=>{bt(e,t,_t(r[t]))}),e}function ol(r){let e=Object.getPrototypeOf(r)===null?Object.create(null):{};return Gr(r).forEach(t=>{bt(e,t,_t(r[t]))}),e}var Ds=(r,e,t,n)=>(t.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in r&&r[i]!==Object.getPrototypeOf(r)?bt(r,i,Ii(r[i],e[i],n)):bt(r,i,_t(e[i])))}),r),sl=(r,e,t)=>{let n=r.slice(0,0),i=0;return[r,e].forEach(o=>{let s=[];for(let a=0;a<o.length;a++)Ts.call(o,a)&&(s.push(String(a)),o===r?bt(n,i++,o[a]):bt(n,i++,_t(o[a])));n=Ds(n,o,Gr(o).filter(a=>!s.includes(a)),t)}),n};function Ii(r,e,t){return t.concatArrays&&Array.isArray(r)&&Array.isArray(e)?sl(r,e,t):!xt(e)||!xt(r)?_t(e):Ds(r,e,Gr(e),t)}function K(...r){let e=Ii(_t(Ns),this!==nl&&this||{},Ns),t={_:{}};for(let n of r)if(n!==void 0){if(!xt(n))throw new TypeError("`"+n+"` is not an Option Object");t=Ii(t,{_:n},e)}return t._}var qr=class r extends Error{static name="BadPathError";static code="ERR_BAD_PATH";name=r.name;code=r.code;constructor(e="Bad path"){super(e)}},de=class r extends Error{static name="NotFoundError";static code="ERR_NOT_FOUND";name=r.name;code=r.code;constructor(e="Not found"){super(e)}},Wr=class r extends Error{static name="NoResolverError";static code="ERR_NO_RESOLVER";name=r.name;code=r.code;constructor(e="No resolver"){super(e)}},H=class r extends Error{static name="NotUnixFSError";static code="ERR_NOT_UNIXFS";name=r.name;code=r.code;constructor(e="Not UnixFS"){super(e)}},Kr=class r extends Error{static name="OverReadError";static code="ERR_OVER_READ";name=r.name;code=r.code;constructor(e="Over read"){super(e)}},Xr=class r extends Error{static name="UnderReadError";static code="ERR_UNDER_READ";name=r.name;code=r.code;constructor(e="Under read"){super(e)}},Jr=class r extends Error{static name="NoPropError";static code="ERR_NO_PROP";name=r.name;code=r.code;constructor(e="No Property found"){super(e)}},tt=class r extends Error{static name="InvalidParametersError";static code="ERR_INVALID_PARAMS";name=r.name;code=r.code;constructor(e="Invalid parameters"){super(e)}};var al=["string","number","bigint","symbol"],cl=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function zs(r){if(r===null)return"null";if(r===void 0)return"undefined";if(r===!0||r===!1)return"boolean";let e=typeof r;if(al.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(r))return"Array";if(ul(r))return"Buffer";let t=fl(r);return t||"Object"}function ul(r){return r&&r.constructor&&r.constructor.isBuffer&&r.constructor.isBuffer.call(null,r)}function fl(r){let e=Object.prototype.toString.call(r).slice(8,-1);if(cl.includes(e))return e}var p=class{constructor(e,t,n){this.major=e,this.majorEncoded=e<<5,this.name=t,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};p.uint=new p(0,"uint",!0);p.negint=new p(1,"negint",!0);p.bytes=new p(2,"bytes",!0);p.string=new p(3,"string",!0);p.array=new p(4,"array",!1);p.map=new p(5,"map",!1);p.tag=new p(6,"tag",!1);p.float=new p(7,"float",!0);p.false=new p(7,"false",!0);p.true=new p(7,"true",!0);p.null=new p(7,"null",!0);p.undefined=new p(7,"undefined",!0);p.break=new p(7,"break",!0);var _=class{constructor(e,t,n){this.type=e,this.value=t,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var St=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",ll=new TextDecoder,hl=new TextEncoder;function Yr(r){return St&&globalThis.Buffer.isBuffer(r)}function Zr(r){return r instanceof Uint8Array?Yr(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r:Uint8Array.from(r)}var Us=St?(r,e,t)=>t-e>64?globalThis.Buffer.from(r.subarray(e,t)).toString("utf8"):Ls(r,e,t):(r,e,t)=>t-e>64?ll.decode(r.subarray(e,t)):Ls(r,e,t),Qr=St?r=>r.length>64?globalThis.Buffer.from(r):Fs(r):r=>r.length>64?hl.encode(r):Fs(r);var kt=St?(r,e,t)=>Yr(r)?new Uint8Array(r.subarray(e,t)):r.slice(e,t):(r,e,t)=>r.slice(e,t),Os=St?(r,e)=>(r=r.map(t=>t instanceof Uint8Array?t:globalThis.Buffer.from(t)),Zr(globalThis.Buffer.concat(r,e))):(r,e)=>{let t=new Uint8Array(e),n=0;for(let i of r)n+i.length>t.length&&(i=i.subarray(0,t.length-n)),t.set(i,n),n+=i.length;return t},Rs=St?r=>globalThis.Buffer.allocUnsafe(r):r=>new Uint8Array(r);function $s(r,e){if(Yr(r)&&Yr(e))return r.compare(e);for(let t=0;t<r.length;t++)if(r[t]!==e[t])return r[t]<e[t]?-1:1;return 0}function Fs(r){let e=[],t=0;for(let n=0;n<r.length;n++){let i=r.charCodeAt(n);i<128?e[t++]=i:i<2048?(e[t++]=i>>6|192,e[t++]=i&63|128):(i&64512)===55296&&n+1<r.length&&(r.charCodeAt(n+1)&64512)===56320?(i=65536+((i&1023)<<10)+(r.charCodeAt(++n)&1023),e[t++]=i>>18|240,e[t++]=i>>12&63|128,e[t++]=i>>6&63|128,e[t++]=i&63|128):(e[t++]=i>>12|224,e[t++]=i>>6&63|128,e[t++]=i&63|128)}return e}function Ls(r,e,t){let n=[];for(;e<t;){let i=r[e],o=null,s=i>239?4:i>223?3:i>191?2:1;if(e+s<=t){let a,u,h,f;switch(s){case 1:i<128&&(o=i);break;case 2:a=r[e+1],(a&192)===128&&(f=(i&31)<<6|a&63,f>127&&(o=f));break;case 3:a=r[e+1],u=r[e+2],(a&192)===128&&(u&192)===128&&(f=(i&15)<<12|(a&63)<<6|u&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:a=r[e+1],u=r[e+2],h=r[e+3],(a&192)===128&&(u&192)===128&&(h&192)===128&&(f=(i&15)<<18|(a&63)<<12|(u&63)<<6|h&63,f>65535&&f<1114112&&(o=f))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),e+=s}return Ai(n)}var Ps=4096;function Ai(r){let e=r.length;if(e<=Ps)return String.fromCharCode.apply(String,r);let t="",n=0;for(;n<e;)t+=String.fromCharCode.apply(String,r.slice(n,n+=Ps));return t}var dl=256,en=class{constructor(e=dl){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(e){let t=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let i=t.length-(this.maxCursor-this.cursor)-1;t.set(e,i)}else{if(t){let i=t.length-(this.maxCursor-this.cursor)-1;i<t.length&&(this.chunks[this.chunks.length-1]=t.subarray(0,i),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(t=Rs(this.chunkSize),this.chunks.push(t),this.maxCursor+=t.length,this._initReuseChunk===null&&(this._initReuseChunk=t),t.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let t;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(t=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):t=kt(n,0,this.cursor)}else t=Os(this.chunks,this.cursor);return e&&this.reset(),t}};var B="CBOR decode error:",Et="CBOR encode error:",or=[];or[23]=1;or[24]=2;or[25]=3;or[26]=5;or[27]=9;function Le(r,e,t){if(r.length-e<t)throw new Error(`${B} not enough data for type`)}var V=[24,256,65536,4294967296,BigInt("18446744073709551616")];function ae(r,e,t){Le(r,e,1);let n=r[e];if(t.strict===!0&&n<V[0])throw new Error(`${B} integer encoded in more bytes than necessary (strict decode)`);return n}function ce(r,e,t){Le(r,e,2);let n=r[e]<<8|r[e+1];if(t.strict===!0&&n<V[1])throw new Error(`${B} integer encoded in more bytes than necessary (strict decode)`);return n}function ue(r,e,t){Le(r,e,4);let n=r[e]*16777216+(r[e+1]<<16)+(r[e+2]<<8)+r[e+3];if(t.strict===!0&&n<V[2])throw new Error(`${B} integer encoded in more bytes than necessary (strict decode)`);return n}function fe(r,e,t){Le(r,e,8);let n=r[e]*16777216+(r[e+1]<<16)+(r[e+2]<<8)+r[e+3],i=r[e+4]*16777216+(r[e+5]<<16)+(r[e+6]<<8)+r[e+7],o=(BigInt(n)<<BigInt(32))+BigInt(i);if(t.strict===!0&&o<V[3])throw new Error(`${B} integer encoded in more bytes than necessary (strict decode)`);if(o<=Number.MAX_SAFE_INTEGER)return Number(o);if(t.allowBigInt===!0)return o;throw new Error(`${B} integers outside of the safe integer range are not supported`)}function Ms(r,e,t,n){return new _(p.uint,ae(r,e+1,n),2)}function Hs(r,e,t,n){return new _(p.uint,ce(r,e+1,n),3)}function Vs(r,e,t,n){return new _(p.uint,ue(r,e+1,n),5)}function js(r,e,t,n){return new _(p.uint,fe(r,e+1,n),9)}function pe(r,e){return G(r,0,e.value)}function G(r,e,t){if(t<V[0]){let n=Number(t);r.push([e|n])}else if(t<V[1]){let n=Number(t);r.push([e|24,n])}else if(t<V[2]){let n=Number(t);r.push([e|25,n>>>8,n&255])}else if(t<V[3]){let n=Number(t);r.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(t);if(n<V[4]){let i=[e|27,0,0,0,0,0,0,0],o=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));i[8]=o&255,o=o>>8,i[7]=o&255,o=o>>8,i[6]=o&255,o=o>>8,i[5]=o&255,i[4]=s&255,s=s>>8,i[3]=s&255,s=s>>8,i[2]=s&255,s=s>>8,i[1]=s&255,r.push(i)}else throw new Error(`${B} encountered BigInt larger than allowable range`)}}pe.encodedSize=function(e){return G.encodedSize(e.value)};G.encodedSize=function(e){return e<V[0]?1:e<V[1]?2:e<V[2]?3:e<V[3]?5:9};pe.compareTokens=function(e,t){return e.value<t.value?-1:e.value>t.value?1:0};function Gs(r,e,t,n){return new _(p.negint,-1-ae(r,e+1,n),2)}function qs(r,e,t,n){return new _(p.negint,-1-ce(r,e+1,n),3)}function Ws(r,e,t,n){return new _(p.negint,-1-ue(r,e+1,n),5)}var Ci=BigInt(-1),Ks=BigInt(1);function Xs(r,e,t,n){let i=fe(r,e+1,n);if(typeof i!="bigint"){let o=-1-i;if(o>=Number.MIN_SAFE_INTEGER)return new _(p.negint,o,9)}if(n.allowBigInt!==!0)throw new Error(`${B} integers outside of the safe integer range are not supported`);return new _(p.negint,Ci-BigInt(i),9)}function tn(r,e){let t=e.value,n=typeof t=="bigint"?t*Ci-Ks:t*-1-1;G(r,e.type.majorEncoded,n)}tn.encodedSize=function(e){let t=e.value,n=typeof t=="bigint"?t*Ci-Ks:t*-1-1;return n<V[0]?1:n<V[1]?2:n<V[2]?3:n<V[3]?5:9};tn.compareTokens=function(e,t){return e.value<t.value?1:e.value>t.value?-1:0};function sr(r,e,t,n){Le(r,e,t+n);let i=kt(r,e+t,e+t+n);return new _(p.bytes,i,t+n)}function Js(r,e,t,n){return sr(r,e,1,t)}function Ys(r,e,t,n){return sr(r,e,2,ae(r,e+1,n))}function Zs(r,e,t,n){return sr(r,e,3,ce(r,e+1,n))}function Qs(r,e,t,n){return sr(r,e,5,ue(r,e+1,n))}function ea(r,e,t,n){let i=fe(r,e+1,n);if(typeof i=="bigint")throw new Error(`${B} 64-bit integer bytes lengths not supported`);return sr(r,e,9,i)}function rn(r){return r.encodedBytes===void 0&&(r.encodedBytes=r.type===p.string?Qr(r.value):r.value),r.encodedBytes}function Bt(r,e){let t=rn(e);G(r,e.type.majorEncoded,t.length),r.push(t)}Bt.encodedSize=function(e){let t=rn(e);return G.encodedSize(t.length)+t.length};Bt.compareTokens=function(e,t){return ml(rn(e),rn(t))};function ml(r,e){return r.length<e.length?-1:r.length>e.length?1:$s(r,e)}function ar(r,e,t,n,i){let o=t+n;Le(r,e,o);let s=new _(p.string,Us(r,e+t,e+o),o);return i.retainStringBytes===!0&&(s.byteValue=kt(r,e+t,e+o)),s}function ta(r,e,t,n){return ar(r,e,1,t,n)}function ra(r,e,t,n){return ar(r,e,2,ae(r,e+1,n),n)}function na(r,e,t,n){return ar(r,e,3,ce(r,e+1,n),n)}function ia(r,e,t,n){return ar(r,e,5,ue(r,e+1,n),n)}function oa(r,e,t,n){let i=fe(r,e+1,n);if(typeof i=="bigint")throw new Error(`${B} 64-bit integer string lengths not supported`);return ar(r,e,9,i,n)}var sa=Bt;function vt(r,e,t,n){return new _(p.array,n,t)}function aa(r,e,t,n){return vt(r,e,1,t)}function ca(r,e,t,n){return vt(r,e,2,ae(r,e+1,n))}function ua(r,e,t,n){return vt(r,e,3,ce(r,e+1,n))}function fa(r,e,t,n){return vt(r,e,5,ue(r,e+1,n))}function la(r,e,t,n){let i=fe(r,e+1,n);if(typeof i=="bigint")throw new Error(`${B} 64-bit integer array lengths not supported`);return vt(r,e,9,i)}function ha(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${B} indefinite length items not allowed`);return vt(r,e,1,1/0)}function nn(r,e){G(r,p.array.majorEncoded,e.value)}nn.compareTokens=pe.compareTokens;nn.encodedSize=function(e){return G.encodedSize(e.value)};function It(r,e,t,n){return new _(p.map,n,t)}function da(r,e,t,n){return It(r,e,1,t)}function pa(r,e,t,n){return It(r,e,2,ae(r,e+1,n))}function ma(r,e,t,n){return It(r,e,3,ce(r,e+1,n))}function ya(r,e,t,n){return It(r,e,5,ue(r,e+1,n))}function ga(r,e,t,n){let i=fe(r,e+1,n);if(typeof i=="bigint")throw new Error(`${B} 64-bit integer map lengths not supported`);return It(r,e,9,i)}function wa(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${B} indefinite length items not allowed`);return It(r,e,1,1/0)}function on(r,e){G(r,p.map.majorEncoded,e.value)}on.compareTokens=pe.compareTokens;on.encodedSize=function(e){return G.encodedSize(e.value)};function xa(r,e,t,n){return new _(p.tag,t,1)}function ba(r,e,t,n){return new _(p.tag,ae(r,e+1,n),2)}function _a(r,e,t,n){return new _(p.tag,ce(r,e+1,n),3)}function Sa(r,e,t,n){return new _(p.tag,ue(r,e+1,n),5)}function ka(r,e,t,n){return new _(p.tag,fe(r,e+1,n),9)}function sn(r,e){G(r,p.tag.majorEncoded,e.value)}sn.compareTokens=pe.compareTokens;sn.encodedSize=function(e){return G.encodedSize(e.value)};var _l=20,Sl=21,kl=22,El=23;function Ea(r,e,t,n){if(n.allowUndefined===!1)throw new Error(`${B} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new _(p.null,null,1):new _(p.undefined,void 0,1)}function Ba(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${B} indefinite length items not allowed`);return new _(p.break,void 0,1)}function Ni(r,e,t){if(t){if(t.allowNaN===!1&&Number.isNaN(r))throw new Error(`${B} NaN values are not supported`);if(t.allowInfinity===!1&&(r===1/0||r===-1/0))throw new Error(`${B} Infinity values are not supported`)}return new _(p.float,r,e)}function va(r,e,t,n){return Ni(Ti(r,e+1),3,n)}function Ia(r,e,t,n){return Ni(Di(r,e+1),5,n)}function Aa(r,e,t,n){return Ni(Da(r,e+1),9,n)}function an(r,e,t){let n=e.value;if(n===!1)r.push([p.float.majorEncoded|_l]);else if(n===!0)r.push([p.float.majorEncoded|Sl]);else if(n===null)r.push([p.float.majorEncoded|kl]);else if(n===void 0)r.push([p.float.majorEncoded|El]);else{let i,o=!1;(!t||t.float64!==!0)&&(Na(n),i=Ti(ke,1),n===i||Number.isNaN(n)?(ke[0]=249,r.push(ke.slice(0,3)),o=!0):(Ta(n),i=Di(ke,1),n===i&&(ke[0]=250,r.push(ke.slice(0,5)),o=!0))),o||(Bl(n),i=Da(ke,1),ke[0]=251,r.push(ke.slice(0,9)))}}an.encodedSize=function(e,t){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!t||t.float64!==!0){Na(n);let i=Ti(ke,1);if(n===i||Number.isNaN(n))return 3;if(Ta(n),i=Di(ke,1),n===i)return 5}return 9};var Ca=new ArrayBuffer(9),me=new DataView(Ca,1),ke=new Uint8Array(Ca,0);function Na(r){if(r===1/0)me.setUint16(0,31744,!1);else if(r===-1/0)me.setUint16(0,64512,!1);else if(Number.isNaN(r))me.setUint16(0,32256,!1);else{me.setFloat32(0,r);let e=me.getUint32(0),t=(e&2139095040)>>23,n=e&8388607;if(t===255)me.setUint16(0,31744,!1);else if(t===0)me.setUint16(0,(r&2147483648)>>16|n>>13,!1);else{let i=t-127;i<-24?me.setUint16(0,0):i<-14?me.setUint16(0,(e&2147483648)>>16|1<<24+i,!1):me.setUint16(0,(e&2147483648)>>16|i+15<<10|n>>13,!1)}}}function Ti(r,e){if(r.length-e<2)throw new Error(`${B} not enough data for float16`);let t=(r[e]<<8)+r[e+1];if(t===31744)return 1/0;if(t===64512)return-1/0;if(t===32256)return NaN;let n=t>>10&31,i=t&1023,o;return n===0?o=i*2**-24:n!==31?o=(i+1024)*2**(n-25):o=i===0?1/0:NaN,t&32768?-o:o}function Ta(r){me.setFloat32(0,r,!1)}function Di(r,e){if(r.length-e<4)throw new Error(`${B} not enough data for float32`);let t=(r.byteOffset||0)+e;return new DataView(r.buffer,t,4).getFloat32(0,!1)}function Bl(r){me.setFloat64(0,r,!1)}function Da(r,e){if(r.length-e<8)throw new Error(`${B} not enough data for float64`);let t=(r.byteOffset||0)+e;return new DataView(r.buffer,t,8).getFloat64(0,!1)}an.compareTokens=pe.compareTokens;function z(r,e,t){throw new Error(`${B} encountered invalid minor (${t}) for major ${r[e]>>>5}`)}function cn(r){return()=>{throw new Error(`${B} ${r}`)}}var k=[];for(let r=0;r<=23;r++)k[r]=z;k[24]=Ms;k[25]=Hs;k[26]=Vs;k[27]=js;k[28]=z;k[29]=z;k[30]=z;k[31]=z;for(let r=32;r<=55;r++)k[r]=z;k[56]=Gs;k[57]=qs;k[58]=Ws;k[59]=Xs;k[60]=z;k[61]=z;k[62]=z;k[63]=z;for(let r=64;r<=87;r++)k[r]=Js;k[88]=Ys;k[89]=Zs;k[90]=Qs;k[91]=ea;k[92]=z;k[93]=z;k[94]=z;k[95]=cn("indefinite length bytes/strings are not supported");for(let r=96;r<=119;r++)k[r]=ta;k[120]=ra;k[121]=na;k[122]=ia;k[123]=oa;k[124]=z;k[125]=z;k[126]=z;k[127]=cn("indefinite length bytes/strings are not supported");for(let r=128;r<=151;r++)k[r]=aa;k[152]=ca;k[153]=ua;k[154]=fa;k[155]=la;k[156]=z;k[157]=z;k[158]=z;k[159]=ha;for(let r=160;r<=183;r++)k[r]=da;k[184]=pa;k[185]=ma;k[186]=ya;k[187]=ga;k[188]=z;k[189]=z;k[190]=z;k[191]=wa;for(let r=192;r<=215;r++)k[r]=xa;k[216]=ba;k[217]=_a;k[218]=Sa;k[219]=ka;k[220]=z;k[221]=z;k[222]=z;k[223]=z;for(let r=224;r<=243;r++)k[r]=cn("simple values are not supported");k[244]=z;k[245]=z;k[246]=z;k[247]=Ea;k[248]=cn("simple values are not supported");k[249]=va;k[250]=Ia;k[251]=Aa;k[252]=z;k[253]=z;k[254]=z;k[255]=Ba;var Ee=[];for(let r=0;r<24;r++)Ee[r]=new _(p.uint,r,1);for(let r=-1;r>=-24;r--)Ee[31-r]=new _(p.negint,r,1);Ee[64]=new _(p.bytes,new Uint8Array(0),1);Ee[96]=new _(p.string,"",1);Ee[128]=new _(p.array,0,1);Ee[160]=new _(p.map,0,1);Ee[244]=new _(p.false,!1,1);Ee[245]=new _(p.true,!0,1);Ee[246]=new _(p.null,null,1);function Il(){let r=[];return r[p.uint.major]=pe,r[p.negint.major]=tn,r[p.bytes.major]=Bt,r[p.string.major]=sa,r[p.array.major]=nn,r[p.map.major]=on,r[p.tag.major]=sn,r[p.float.major]=an,r}var gg=Il(),wg=new en,un=class r{constructor(e,t){this.obj=e,this.parent=t}includes(e){let t=this;do if(t.obj===e)return!0;while(t=t.parent);return!1}static createCheck(e,t){if(e&&e.includes(t))throw new Error(`${Et} object contains circular references`);return new r(t,e)}},Ve={null:new _(p.null,null),undefined:new _(p.undefined,void 0),true:new _(p.true,!0),false:new _(p.false,!1),emptyArray:new _(p.array,0),emptyMap:new _(p.map,0)},je={number(r,e,t,n){return!Number.isInteger(r)||!Number.isSafeInteger(r)?new _(p.float,r):r>=0?new _(p.uint,r):new _(p.negint,r)},bigint(r,e,t,n){return r>=BigInt(0)?new _(p.uint,r):new _(p.negint,r)},Uint8Array(r,e,t,n){return new _(p.bytes,r)},string(r,e,t,n){return new _(p.string,r)},boolean(r,e,t,n){return r?Ve.true:Ve.false},null(r,e,t,n){return Ve.null},undefined(r,e,t,n){return Ve.undefined},ArrayBuffer(r,e,t,n){return new _(p.bytes,new Uint8Array(r))},DataView(r,e,t,n){return new _(p.bytes,new Uint8Array(r.buffer,r.byteOffset,r.byteLength))},Array(r,e,t,n){if(!r.length)return t.addBreakTokens===!0?[Ve.emptyArray,new _(p.break)]:Ve.emptyArray;n=un.createCheck(n,r);let i=[],o=0;for(let s of r)i[o++]=zi(s,t,n);return t.addBreakTokens?[new _(p.array,r.length),i,new _(p.break)]:[new _(p.array,r.length),i]},Object(r,e,t,n){let i=e!=="Object",o=i?r.keys():Object.keys(r),s=i?r.size:o.length;if(!s)return t.addBreakTokens===!0?[Ve.emptyMap,new _(p.break)]:Ve.emptyMap;n=un.createCheck(n,r);let a=[],u=0;for(let h of o)a[u++]=[zi(h,t,n),zi(i?r.get(h):r[h],t,n)];return Al(a,t),t.addBreakTokens?[new _(p.map,s),a,new _(p.break)]:[new _(p.map,s),a]}};je.Map=je.Object;je.Buffer=je.Uint8Array;for(let r of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))je[`${r}Array`]=je.DataView;function zi(r,e={},t){let n=zs(r),i=e&&e.typeEncoders&&e.typeEncoders[n]||je[n];if(typeof i=="function"){let s=i(r,n,e,t);if(s!=null)return s}let o=je[n];if(!o)throw new Error(`${Et} unsupported type: ${n}`);return o(r,n,e,t)}function Al(r,e){e.mapSorter&&r.sort(e.mapSorter)}var Cl={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},fn=class{constructor(e,t={}){this._pos=0,this.data=e,this.options=t}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let e=this.data[this._pos],t=Ee[e];if(t===void 0){let n=k[e];if(!n)throw new Error(`${B} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let i=e&31;t=n(this.data,this._pos,i,this.options)}return this._pos+=t.encodedLength,t}},cr=Symbol.for("DONE"),ln=Symbol.for("BREAK");function Nl(r,e,t){let n=[];for(let i=0;i<r.value;i++){let o=At(e,t);if(o===ln){if(r.value===1/0)break;throw new Error(`${B} got unexpected break to lengthed array`)}if(o===cr)throw new Error(`${B} found array but not enough entries (got ${i}, expected ${r.value})`);n[i]=o}return n}function Tl(r,e,t){let n=t.useMaps===!0,i=n?void 0:{},o=n?new Map:void 0;for(let s=0;s<r.value;s++){let a=At(e,t);if(a===ln){if(r.value===1/0)break;throw new Error(`${B} got unexpected break to lengthed map`)}if(a===cr)throw new Error(`${B} found map but not enough entries (got ${s} [no key], expected ${r.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${B} non-string keys not supported (got ${typeof a})`);if(t.rejectDuplicateMapKeys===!0&&(n&&o.has(a)||!n&&a in i))throw new Error(`${B} found repeat map key "${a}"`);let u=At(e,t);if(u===cr)throw new Error(`${B} found map but not enough entries (got ${s} [no value], expected ${r.value})`);n?o.set(a,u):i[a]=u}return n?o:i}function At(r,e){if(r.done())return cr;let t=r.next();if(t.type===p.break)return ln;if(t.type.terminal)return t.value;if(t.type===p.array)return Nl(t,r,e);if(t.type===p.map)return Tl(t,r,e);if(t.type===p.tag){if(e.tags&&typeof e.tags[t.value]=="function"){let n=At(r,e);return e.tags[t.value](n)}throw new Error(`${B} tag not supported (${t.value})`)}throw new Error("unsupported")}function Fi(r,e){if(!(r instanceof Uint8Array))throw new Error(`${B} data to decode must be a Uint8Array`);e=Object.assign({},Cl,e);let t=e.tokenizer||new fn(r,e),n=At(t,e);if(n===cr)throw new Error(`${B} did not find any content to decode`);if(n===ln)throw new Error(`${B} got unexpected break`);return[n,r.subarray(t.pos())]}function ur(r,e){let[t,n]=Fi(r,e);if(n.length>0)throw new Error(`${B} too many terminals, data makes no sense`);return t}var Fa=42;function Fl(r){return r instanceof ArrayBuffer?new Uint8Array(r,0,r.byteLength):r}function Ll(r){if(r.asCID!==r&&r["/"]!==r.bytes)return null;let e=A.asCID(r);if(!e)return null;let t=new Uint8Array(e.bytes.byteLength+1);return t.set(e.bytes,1),[new _(p.tag,Fa),new _(p.bytes,t)]}function Pl(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function Ul(r){if(Number.isNaN(r))throw new Error("`NaN` is not supported by the IPLD Data Model and cannot be encoded");if(r===1/0||r===-1/0)throw new Error("`Infinity` and `-Infinity` is not supported by the IPLD Data Model and cannot be encoded");return null}var za={float64:!0,typeEncoders:{Object:Ll,undefined:Pl,number:Ul}},Ag={...za,typeEncoders:{...za.typeEncoders}};function Ol(r){if(r[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");return A.decode(r.subarray(1))}var hn={allowIndefinite:!1,coerceUndefinedToNull:!0,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};hn.tags[Fa]=Ol;var Cg={...hn,tags:hn.tags.slice()};var La=113;var Pa=r=>ur(Fl(r),hn);var Oa=class extends Array{constructor(){super(),this.inRecursive=[]}prefix(e){let t=this.inRecursive[this.inRecursive.length-1];t&&(t.type===p.array&&(t.elements++,t.elements!==1&&e.push([44])),t.type===p.map&&(t.elements++,t.elements!==1&&(t.elements%2===1?e.push([44]):e.push([58]))))}[p.uint.major](e,t){this.prefix(e);let n=String(t.value),i=[];for(let o=0;o<n.length;o++)i[o]=n.charCodeAt(o);e.push(i)}[p.negint.major](e,t){this[p.uint.major](e,t)}[p.bytes.major](e,t){throw new Error(`${Et} unsupported type: Uint8Array`)}[p.string.major](e,t){this.prefix(e);let n=Qr(JSON.stringify(t.value));e.push(n.length>32?Zr(n):n)}[p.array.major](e,t){this.prefix(e),this.inRecursive.push({type:p.array,elements:0}),e.push([91])}[p.map.major](e,t){this.prefix(e),this.inRecursive.push({type:p.map,elements:0}),e.push([123])}[p.tag.major](e,t){}[p.float.major](e,t){if(t.type.name==="break"){let s=this.inRecursive.pop();if(s){if(s.type===p.array)e.push([93]);else if(s.type===p.map)e.push([125]);else throw new Error("Unexpected recursive type; this should not happen!");return}throw new Error("Unexpected break; this should not happen!")}if(t.value===void 0)throw new Error(`${Et} unsupported type: undefined`);if(this.prefix(e),t.type.name==="true"){e.push([116,114,117,101]);return}else if(t.type.name==="false"){e.push([102,97,108,115,101]);return}else if(t.type.name==="null"){e.push([110,117,108,108]);return}let n=String(t.value),i=[],o=!1;for(let s=0;s<n.length;s++)i[s]=n.charCodeAt(s),!o&&(i[s]===46||i[s]===101||i[s]===69)&&(o=!0);o||(i.push(46),i.push(48)),e.push(i)}};var Ct=class{constructor(e,t={}){this._pos=0,this.data=e,this.options=t,this.modeStack=["value"],this.lastToken=""}pos(){return this._pos}done(){return this._pos>=this.data.length}ch(){return this.data[this._pos]}currentMode(){return this.modeStack[this.modeStack.length-1]}skipWhitespace(){let e=this.ch();for(;e===32||e===9||e===13||e===10;)e=this.data[++this._pos]}expect(e){if(this.data.length-this._pos<e.length)throw new Error(`${B} unexpected end of input at position ${this._pos}`);for(let t=0;t<e.length;t++)if(this.data[this._pos++]!==e[t])throw new Error(`${B} unexpected token at position ${this._pos}, expected to find '${String.fromCharCode(...e)}'`)}parseNumber(){let e=this._pos,t=!1,n=!1,i=a=>{for(;!this.done();){let u=this.ch();if(a.includes(u))this._pos++;else break}};if(this.ch()===45&&(t=!0,this._pos++),this.ch()===48)if(this._pos++,this.ch()===46)this._pos++,n=!0;else return new _(p.uint,0,this._pos-e);if(i([48,49,50,51,52,53,54,55,56,57]),t&&this._pos===e+1)throw new Error(`${B} unexpected token at position ${this._pos}`);if(!this.done()&&this.ch()===46){if(n)throw new Error(`${B} unexpected token at position ${this._pos}`);n=!0,this._pos++,i([48,49,50,51,52,53,54,55,56,57])}!this.done()&&(this.ch()===101||this.ch()===69)&&(n=!0,this._pos++,!this.done()&&(this.ch()===43||this.ch()===45)&&this._pos++,i([48,49,50,51,52,53,54,55,56,57]));let o=String.fromCharCode.apply(null,this.data.subarray(e,this._pos)),s=parseFloat(o);return n?new _(p.float,s,this._pos-e):this.options.allowBigInt!==!0||Number.isSafeInteger(s)?new _(s>=0?p.uint:p.negint,s,this._pos-e):new _(s>=0?p.uint:p.negint,BigInt(o),this._pos-e)}parseString(){if(this.ch()!==34)throw new Error(`${B} unexpected character at position ${this._pos}; this shouldn't happen`);this._pos++;for(let o=this._pos,s=0;o<this.data.length&&s<65536;o++,s++){let a=this.data[o];if(a===92||a<32||a>=128)break;if(a===34){let u=String.fromCharCode.apply(null,this.data.subarray(this._pos,o));return this._pos=o+1,new _(p.string,u,s)}}let e=this._pos,t=[],n=()=>{if(this._pos+4>=this.data.length)throw new Error(`${B} unexpected end of unicode escape sequence at position ${this._pos}`);let o=0;for(let s=0;s<4;s++){let a=this.ch();if(a>=48&&a<=57)a-=48;else if(a>=97&&a<=102)a=a-97+10;else if(a>=65&&a<=70)a=a-65+10;else throw new Error(`${B} unexpected unicode escape character at position ${this._pos}`);o=o*16+a,this._pos++}return o},i=()=>{let o=this.ch(),s=null,a=o>239?4:o>223?3:o>191?2:1;if(this._pos+a>this.data.length)throw new Error(`${B} unexpected unicode sequence at position ${this._pos}`);let u,h,f,l;switch(a){case 1:o<128&&(s=o);break;case 2:u=this.data[this._pos+1],(u&192)===128&&(l=(o&31)<<6|u&63,l>127&&(s=l));break;case 3:u=this.data[this._pos+1],h=this.data[this._pos+2],(u&192)===128&&(h&192)===128&&(l=(o&15)<<12|(u&63)<<6|h&63,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:u=this.data[this._pos+1],h=this.data[this._pos+2],f=this.data[this._pos+3],(u&192)===128&&(h&192)===128&&(f&192)===128&&(l=(o&15)<<18|(u&63)<<12|(h&63)<<6|f&63,l>65535&&l<1114112&&(s=l))}s===null?(s=65533,a=1):s>65535&&(s-=65536,t.push(s>>>10&1023|55296),s=56320|s&1023),t.push(s),this._pos+=a};for(;!this.done();){let o=this.ch(),s;switch(o){case 92:if(this._pos++,this.done())throw new Error(`${B} unexpected string termination at position ${this._pos}`);switch(s=this.ch(),this._pos++,s){case 34:case 39:case 92:case 47:t.push(s);break;case 98:t.push(8);break;case 116:t.push(9);break;case 110:t.push(10);break;case 102:t.push(12);break;case 114:t.push(13);break;case 117:t.push(n());break;default:throw new Error(`${B} unexpected string escape character at position ${this._pos}`)}break;case 34:return this._pos++,new _(p.string,Ai(t),this._pos-e);default:if(o<32)throw new Error(`${B} invalid control character at position ${this._pos}`);o<128?(t.push(o),this._pos++):i()}}throw new Error(`${B} unexpected end of string at position ${this._pos}`)}parseValue(){switch(this.ch()){case 123:return this.modeStack.push("obj-start"),this._pos++,new _(p.map,1/0,1);case 91:return this.modeStack.push("array-start"),this._pos++,new _(p.array,1/0,1);case 34:return this.parseString();case 110:return this.expect([110,117,108,108]),new _(p.null,null,4);case 102:return this.expect([102,97,108,115,101]),new _(p.false,!1,5);case 116:return this.expect([116,114,117,101]),new _(p.true,!0,4);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.parseNumber();default:throw new Error(`${B} unexpected character at position ${this._pos}`)}}next(){switch(this.skipWhitespace(),this.currentMode()){case"value":return this.modeStack.pop(),this.parseValue();case"array-value":{if(this.modeStack.pop(),this.ch()===93)return this._pos++,this.skipWhitespace(),new _(p.break,void 0,1);if(this.ch()!==44)throw new Error(`${B} unexpected character at position ${this._pos}, was expecting array delimiter but found '${String.fromCharCode(this.ch())}'`);return this._pos++,this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue()}case"array-start":return this.modeStack.pop(),this.ch()===93?(this._pos++,this.skipWhitespace(),new _(p.break,void 0,1)):(this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue());case"obj-key":if(this.ch()===125)return this.modeStack.pop(),this._pos++,this.skipWhitespace(),new _(p.break,void 0,1);if(this.ch()!==44)throw new Error(`${B} unexpected character at position ${this._pos}, was expecting object delimiter but found '${String.fromCharCode(this.ch())}'`);this._pos++,this.skipWhitespace();case"obj-start":{if(this.modeStack.pop(),this.ch()===125)return this._pos++,this.skipWhitespace(),new _(p.break,void 0,1);let e=this.parseString();if(this.skipWhitespace(),this.ch()!==58)throw new Error(`${B} unexpected character at position ${this._pos}, was expecting key/value delimiter ':' but found '${String.fromCharCode(this.ch())}'`);return this._pos++,this.modeStack.push("obj-value"),e}case"obj-value":return this.modeStack.pop(),this.modeStack.push("obj-key"),this.skipWhitespace(),this.parseValue();default:throw new Error(`${B} unexpected parse state at position ${this._pos}; this shouldn't happen`)}}};function Li(r,e){return e=Object.assign({tokenizer:new Ct(r,e)},e),ur(r,e)}function Ml(r){return r instanceof ArrayBuffer?new Uint8Array(r,0,r.byteLength):r}var Pi=class extends Ct{constructor(e,t){super(e,t),this.tokenBuffer=[]}done(){return this.tokenBuffer.length===0&&super.done()}_next(){return this.tokenBuffer.length>0?this.tokenBuffer.pop():super.next()}next(){let e=this._next();if(e.type===p.map){let t=this._next();if(t.type===p.string&&t.value==="/"){let n=this._next();if(n.type===p.string){if(this._next().type!==p.break)throw new Error("Invalid encoded CID form");return this.tokenBuffer.push(n),new _(p.tag,42,0)}if(n.type===p.map){let i=this._next();if(i.type===p.string&&i.value==="bytes"){let o=this._next();if(o.type===p.string){for(let a=0;a<2;a++)if(this._next().type!==p.break)throw new Error("Invalid encoded Bytes form");let s=Xt.decode(`m${o.value}`);return new _(p.bytes,s,o.value.length)}this.tokenBuffer.push(o)}this.tokenBuffer.push(i)}this.tokenBuffer.push(n)}this.tokenBuffer.push(t)}return e}},Ui={allowIndefinite:!1,allowUndefined:!1,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};Ui.tags[42]=A.parse;var Ra=297;var $a=r=>{let e=Ml(r),t=Object.assign(Ui,{tokenizer:new Pi(e,Ui)});return Li(e,t)};var Wg=new TextDecoder;var Kg=new TextEncoder;function Nt(r,e,t,n,i,o,s){let a=r,u=i;for(;o.length>0;){let h=o[0];if(h in a){o.shift(),u=`${u}/${h}`;let f=A.asCID(a[h]);if(f!=null)return{entry:{type:"object",name:n,path:i,cid:t,node:e,depth:s,size:BigInt(e.length),content:async function*(){yield r}},next:{cid:f,name:h,path:u,toResolve:o}};a=a[h]}else throw new Jr(`No property named ${h} found in node ${t}`)}return{entry:{type:"object",name:n,path:i,cid:t,node:e,depth:s,size:BigInt(e.length),content:async function*(){yield r}}}}var Hl=async(r,e,t,n,i,o,s,a)=>{let u=await s.get(r,a),h=Pa(u);return Nt(h,u,r,e,t,n,o)},Ha=Hl;var Vl=async(r,e,t,n,i,o,s,a)=>{let u=await s.get(r,a),h=$a(u);return Nt(h,u,r,e,t,n,o)},Va=Vl;function jl(r,e,t,n){let i=BigInt(r.length),o=BigInt(e+i);return t>=o||n<e?new Uint8Array(0):(n>=e&&n<o&&(r=r.subarray(0,Number(n-e))),t>=e&&t<o&&(r=r.subarray(Number(t-e))),r)}var nt=jl;var Gl=(r,e=0,t=r)=>{let n=BigInt(r),i=BigInt(e??0),o=BigInt(t);if(o!==n&&(o=i+o),o>n&&(o=n),i<0n)throw new tt("Offset must be greater than or equal to 0");if(i>n)throw new tt("Offset must be less than the file size");if(o<0n)throw new tt("Length must be greater than or equal to 0");if(o>n)throw new tt("Length must be less than the file size");return{start:i,end:o}},Tt=Gl;var ql=r=>{async function*e(t={}){let{start:n,end:i}=Tt(r.length,t.offset,t.length),o=nt(r,0n,n,i);t.onProgress?.(new O("unixfs:exporter:progress:identity",{bytesRead:BigInt(o.byteLength),totalBytes:i-n,fileSize:BigInt(r.byteLength)})),yield o}return e},Wl=async(r,e,t,n,i,o,s,a)=>{if(n.length>0)throw new de(`No link named ${t} found in raw node ${r}`);let u=Cr(r.multihash.bytes);return{entry:{type:"identity",name:e,path:t,cid:r,content:ql(u.digest),depth:o,size:BigInt(u.digest.length),node:u.digest}}},ja=Wl;var Kl=async(r,e,t,n,i,o,s,a)=>{let u=await s.get(r,a),h=Vo(u);return Nt(h,u,r,e,t,n,o)},Ga=Kl;var Xl=r=>{async function*e(t={}){let{start:n,end:i}=Tt(r.length,t.offset,t.length),o=nt(r,0n,n,i);t.onProgress?.(new O("unixfs:exporter:progress:raw",{bytesRead:BigInt(o.byteLength),totalBytes:i-n,fileSize:BigInt(r.byteLength)})),yield o}return e},Jl=async(r,e,t,n,i,o,s,a)=>{if(n.length>0)throw new de(`No link named ${t} found in raw node ${r}`);let u=await s.get(r,a);return{entry:{type:"raw",name:e,path:t,cid:r,content:Xl(u),depth:o,size:BigInt(u.length),node:u}}},qa=Jl;var Yl=async function(r){return(await Ze.encode(r)).slice(0,8).reverse()},Zl=async(r,e,t)=>{let n=(e.tableSize()-1).toString(16).length;await Promise.all(r.map(async i=>{if(i.Name==null)throw new Error("Unexpected Link without a Name");if(i.Name.length===n){let o=parseInt(i.Name,16);e._putObjectAt(o,new se({hash:t._options.hash,bits:t._options.bits},e,o));return}await t.put(i.Name.substring(2),!0)}))},Wa=(r,e)=>r.toString(16).toUpperCase().padStart(e,"0").substring(0,e),Ql=r=>{let e=r.bucket,t=[];for(;e._parent!=null;)t.push(e),e=e._parent;return t.push(e),t.reverse()},Ka=async(r,e,t,n,i)=>{if(n==null){if(r.Data==null)throw new H("no data in PBNode");let l;try{l=v.unmarshal(r.Data)}catch(c){throw new H(c.message)}if(l.type!=="hamt-sharded-directory")throw new H("not a HAMT");if(l.fanout==null)throw new H("missing fanout");let y=gt({hashFn:Yl,bits:Math.log2(Number(l.fanout))});n={rootBucket:y,hamtDepth:1,lastBucket:y}}let o=(n.lastBucket.tableSize()-1).toString(16).length;await Zl(r.Links,n.lastBucket,n.rootBucket);let s=await n.rootBucket._findNewBucketAndPos(e),a=Wa(s.pos,o),u=Ql(s);u.length>n.hamtDepth&&(n.lastBucket=u[n.hamtDepth],a=Wa(n.lastBucket._posAtParent,o));let h=r.Links.find(l=>{if(l.Name==null)return!1;let y=l.Name.substring(0,o),c=l.Name.substring(o);return!(y!==a||c!==""&&c!==e)});if(h==null)return;if(h.Name!=null&&h.Name.substring(o)===e)return h.Hash;n.hamtDepth++;let f=await t.get(h.Hash,i);return r=$(f),Ka(r,e,t,n,i)},Xa=Ka;function eh(r){let[e,t]=r[Symbol.asyncIterator]!=null?[r[Symbol.asyncIterator](),Symbol.asyncIterator]:[r[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[t](){return this}}}var dn=eh;function th(r){return r[Symbol.asyncIterator]!=null}function rh(r,e){let t=0;if(th(r))return async function*(){for await(let u of r)await e(u,t++)&&(yield u)}();let n=dn(r),{value:i,done:o}=n.next();if(o===!0)return function*(){}();let s=e(i,t++);if(typeof s.then=="function")return async function*(){await s&&(yield i);for(let u of n)await e(u,t++)&&(yield u)}();let a=e;return function*(){s===!0&&(yield i);for(let u of n)a(u,t++)&&(yield u)}()}var Ja=rh;function nh(r){return r[Symbol.asyncIterator]!=null}function ih(r,e){let t=0;if(nh(r))return async function*(){for await(let u of r)yield e(u,t++)}();let n=dn(r),{value:i,done:o}=n.next();if(o===!0)return function*(){}();let s=e(i,t++);if(typeof s.then=="function")return async function*(){yield await s;for(let u of n)yield e(u,t++)}();let a=e;return function*(){yield s;for(let u of n)yield a(u,t++)}()}var Dt=ih;function te(){let r={};return r.promise=new Promise((e,t)=>{r.resolve=e,r.reject=t}),r}var pn=globalThis.CustomEvent??Event;async function*it(r,e={}){let t=e.concurrency??1/0;t<1&&(t=1/0);let n=e.ordered??!1,i=new EventTarget,o=[],s=te(),a=te(),u=!1,h,f=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let d of r){if(o.length===t&&(s=te(),await s.promise),f)break;let m={done:!1};o.push(m),d().then(x=>{m.done=!0,m.ok=!0,m.value=x,i.dispatchEvent(new pn("task-complete"))},x=>{m.done=!0,m.err=x,i.dispatchEvent(new pn("task-complete"))})}u=!0,i.dispatchEvent(new pn("task-complete"))}catch(d){h=d,i.dispatchEvent(new pn("task-complete"))}});function l(){return n?o[0]?.done:!!o.find(d=>d.done)}function*y(){for(;o.length>0&&o[0].done;){let d=o[0];if(o.shift(),d.ok)yield d.value;else throw f=!0,s.resolve(),d.err;s.resolve()}}function*c(){for(;l();)for(let d=0;d<o.length;d++)if(o[d].done){let m=o[d];if(o.splice(d,1),d--,m.ok)yield m.value;else throw f=!0,s.resolve(),m.err;s.resolve()}}for(;;){if(l()||(a=te(),await a.promise),h!=null||(n?yield*y():yield*c(),h!=null))throw h;if(u&&o.length===0)break}}var mn=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||(e-1&e)!==0)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},zt=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new mn(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let t=this.head;this.head=t.next=new mn(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let t=this.tail.next;this.tail.next=null,this.tail=t,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var Oi=class extends Error{type;code;constructor(e,t){super(e??"The operation was aborted"),this.type="aborted",this.code=t??"ABORT_ERR"}};function yn(r={}){return oh(t=>{let n=t.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function oh(r,e){e=e??{};let t=e.onEnd,n=new zt,i,o,s,a=te(),u=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((x,g)=>{o=w=>{o=null,n.push(w);try{x(r(n))}catch(b){g(b)}return i}}):r(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=te()})}},h=x=>o!=null?o(x):(n.push(x),i),f=x=>(n=new zt,o!=null?o({error:x}):(n.push({error:x}),i)),l=x=>{if(s)return i;if(e?.objectMode!==!0&&x?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return h({done:!1,value:x})},y=x=>s?i:(s=!0,x!=null?f(x):h({done:!0})),c=()=>(n=new zt,y(),{done:!0}),d=x=>(y(x),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:u,return:c,throw:d,push:l,end:y,get readableLength(){return n.size},onEmpty:async x=>{let g=x?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let w,b;g!=null&&(w=new Promise((S,I)=>{b=()=>{I(new Oi)},g.addEventListener("abort",b)}));try{await Promise.race([a.promise,w])}finally{b!=null&&g!=null&&g?.removeEventListener("abort",b)}}},t==null)return i;let m=i;return i={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(x){return m.throw(x),t!=null&&(t(x),t=void 0),{done:!0}},return(){return m.return(),t!=null&&(t(),t=void 0),{done:!0}},push:l,end(x){return m.end(x),t!=null&&(t(x),t=void 0),i},get readableLength(){return m.readableLength},onEmpty:x=>m.onEmpty(x)},i}var gn=class extends Error{type;code;constructor(e,t,n){super(e??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=t??"ABORT_ERR"}};async function Ya(r,e,t){if(e==null)return r;if(e.aborted)return r.catch(()=>{}),Promise.reject(new gn(t?.errorMessage,t?.errorCode,t?.errorName));let n,i=new gn(t?.errorMessage,t?.errorCode,t?.errorName);try{return await Promise.race([r,new Promise((o,s)=>{n=()=>{s(i)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var Ri=class{readNext;haveNext;ended;nextResult;error;constructor(){this.ended=!1,this.readNext=te(),this.haveNext=te()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let e=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=te(),e}async throw(e){return this.ended=!0,this.error=e,e!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(e)),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return this.ended=!0,this.nextResult=e,this.haveNext.resolve(),e}async push(e,t){await this._push(e,t)}async end(e,t){e!=null?await this.throw(e):await this._push(void 0,t)}async _push(e,t){if(e!=null&&this.ended)throw this.error??new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=te(),await Ya(this.readNext.promise,t?.signal,t)}};function Za(){return new Ri}function sh(r){return r[Symbol.asyncIterator]!=null}async function ah(r,e,t){try{await Promise.all(r.map(async n=>{for await(let i of n)await e.push(i,{signal:t}),t.throwIfAborted()})),await e.end(void 0,{signal:t})}catch(n){await e.end(n,{signal:t}).catch(()=>{})}}async function*ch(r){let e=new AbortController,t=Za();ah(r,t,e.signal).catch(()=>{});try{yield*t}finally{e.abort()}}function*uh(r){for(let e of r)yield*e}function fh(...r){let e=[];for(let t of r)sh(t)||e.push(t);return e.length===r.length?uh(e):ch(r)}var Qa=fh;function Te(r,...e){if(r==null)throw new Error("Empty pipeline");if($i(r)){let n=r;r=()=>n.source}else if(tc(r)||ec(r)){let n=r;r=()=>n}let t=[r,...e];if(t.length>1&&$i(t[t.length-1])&&(t[t.length-1]=t[t.length-1].sink),t.length>2)for(let n=1;n<t.length-1;n++)$i(t[n])&&(t[n]=hh(t[n]));return lh(...t)}var lh=(...r)=>{let e;for(;r.length>0;)e=r.shift()(e);return e},ec=r=>r?.[Symbol.asyncIterator]!=null,tc=r=>r?.[Symbol.iterator]!=null,$i=r=>r==null?!1:r.sink!=null&&r.source!=null,hh=r=>e=>{let t=r.sink(e);if(t?.then!=null){let n=yn({objectMode:!0});t.then(()=>{n.end()},s=>{n.end(s)});let i,o=r.source;if(ec(o))i=async function*(){yield*o,n.end()};else if(tc(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Qa(n,i())}return r.source};var dh=(r,e,t,n,i,o,s)=>{async function*a(u={}){let h=u.offset??0,f=u.length??e.Links.length,l=e.Links.slice(h,f);u.onProgress?.(new O("unixfs:exporter:walk:directory",{cid:r})),yield*Te(l,y=>Dt(y,c=>async()=>{let d=c.Name??"",m=`${n}/${d}`;return(await i(c.Hash,d,m,[],o+1,s,u)).entry}),y=>it(y,{ordered:!0,concurrency:u.blockReadConcurrency}),y=>Ja(y,c=>c!=null))}return a},rc=dh;var Hi=Ot(ic(),1);var lr=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Vi=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},oc=r=>globalThis.DOMException===void 0?new Vi(r):new DOMException(r),sc=r=>{let e=r.reason===void 0?oc("This operation was aborted."):r.reason;return e instanceof Error?e:oc(e)};function ji(r,e){let{milliseconds:t,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=e,s,a,h=new Promise((f,l)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(e.signal){let{signal:c}=e;c.aborted&&l(sc(c)),a=()=>{l(sc(c))},c.addEventListener("abort",a,{once:!0})}if(t===Number.POSITIVE_INFINITY){r.then(f,l);return}let y=new lr;s=o.setTimeout.call(void 0,()=>{if(n){try{f(n())}catch(c){l(c)}return}typeof r.cancel=="function"&&r.cancel(),i===!1?f():i instanceof Error?l(i):(y.message=i??`Promise timed out after ${t} milliseconds`,l(y))},t),(async()=>{try{f(await r)}catch(c){l(c)}})()}).finally(()=>{h.clear(),a&&e.signal&&e.signal.removeEventListener("abort",a)});return h.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},h}function Gi(r,e,t){let n=0,i=r.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;t(r[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var hr=class{#e=[];enqueue(e,t){t={priority:0,...t};let n={priority:t.priority,id:t.id,run:e};if(this.size===0||this.#e[this.size-1].priority>=t.priority){this.#e.push(n);return}let i=Gi(this.#e,n,(o,s)=>s.priority-o.priority);this.#e.splice(i,0,n)}setPriority(e,t){let n=this.#e.findIndex(o=>o.id===e);if(n===-1)throw new ReferenceError(`No promise function with the id "${e}" exists in the queue.`);let[i]=this.#e.splice(n,1);this.enqueue(i.run,{priority:t,id:e})}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(t=>t.priority===e.priority).map(t=>t.run)}get size(){return this.#e.length}};var dr=class extends Hi.default{#e;#r;#n=0;#u;#s;#c=0;#i;#f;#t;#m;#o=0;#l;#a;#y;#x=1n;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:hr,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#r=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#u=e.intervalCap,this.#s=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#y=e.throwOnTimeout===!0,this.#a=e.autoStart===!1}get#b(){return this.#r||this.#n<this.#u}get#_(){return this.#o<this.#l}#S(){this.#o--,this.#h(),this.emit("next")}#k(){this.#w(),this.#g(),this.#f=void 0}get#E(){let e=Date.now();if(this.#i===void 0){let t=this.#c-e;if(t<0)this.#n=this.#e?this.#o:0;else return this.#f===void 0&&(this.#f=setTimeout(()=>{this.#k()},t)),!0}return!1}#h(){if(this.#t.size===0)return this.#i&&clearInterval(this.#i),this.#i=void 0,this.emit("empty"),this.#o===0&&this.emit("idle"),!1;if(!this.#a){let e=!this.#E;if(this.#b&&this.#_){let t=this.#t.dequeue();return t?(this.emit("active"),t(),e&&this.#g(),!0):!1}}return!1}#g(){this.#r||this.#i!==void 0||(this.#i=setInterval(()=>{this.#w()},this.#s),this.#c=Date.now()+this.#s)}#w(){this.#n===0&&this.#o===0&&this.#i&&(clearInterval(this.#i),this.#i=void 0),this.#n=this.#e?this.#o:0,this.#d()}#d(){for(;this.#h(););}get concurrency(){return this.#l}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#l=e,this.#d()}async#B(e){return new Promise((t,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}setPriority(e,t){this.#t.setPriority(e,t)}async add(e,t={}){return t.id??=(this.#x++).toString(),t={timeout:this.timeout,throwOnTimeout:this.#y,...t},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#o++,this.#n++;try{t.signal?.throwIfAborted();let o=e({signal:t.signal});t.timeout&&(o=ji(Promise.resolve(o),{milliseconds:t.timeout})),t.signal&&(o=Promise.race([o,this.#B(t.signal)]));let s=await o;n(s),this.emit("completed",s)}catch(o){if(o instanceof lr&&!t.throwOnTimeout){n();return}i(o),this.emit("error",o)}finally{this.#S()}},t),this.emit("add"),this.#h()})}async addAll(e,t){return Promise.all(e.map(async n=>this.add(n,t)))}start(){return this.#a?(this.#a=!1,this.#d(),this):this}pause(){this.#a=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#p("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#p("next",()=>this.#t.size<e)}async onIdle(){this.#o===0&&this.#t.size===0||await this.#p("idle")}async#p(e,t){return new Promise(n=>{let i=()=>{t&&!t()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#o}get isPaused(){return this.#a}};async function ac(r,e,t,n,i,o,s){if(e instanceof Uint8Array){let h=nt(e,n,i,o);t.push(h);return}if(e.Data==null)throw new H("no data in PBNode");let a;try{a=v.unmarshal(e.Data)}catch(h){throw new H(h.message)}if(a.data!=null){let h=a.data,f=nt(h,n,i,o);t.push(f),n+=BigInt(f.byteLength)}let u=[];if(e.Links.length!==a.blockSizes.length)throw new H("Inconsistent block sizes and dag links");for(let h=0;h<e.Links.length;h++){let f=e.Links[h],l=n,y=l+a.blockSizes[h];if((i>=l&&i<y||o>=l&&o<=y||i<l&&o>y)&&u.push({link:f,blockStart:n}),n=y,n>o)break}await Te(u,h=>Dt(h,f=>async()=>{let l=await r.get(f.link.Hash,s);return{...f,block:l}}),h=>it(h,{ordered:!0,concurrency:s.blockReadConcurrency}),async h=>{for await(let{link:f,block:l,blockStart:y}of h){let c;switch(f.Hash.code){case j:c=$(l);break;case Q:c=l;break;default:t.end(new H(`Unsupported codec: ${f.Hash.code}`));return}let d=new dr({concurrency:1});d.on("error",m=>{t.end(m)}),d.add(async()=>{s.onProgress?.(new O("unixfs:exporter:walk:file",{cid:f.Hash})),await ac(r,c,t,y,i,o,s)}),await d.onIdle()}}),n>=o&&t.end()}var yh=(r,e,t,n,i,o,s)=>{async function*a(u={}){let h=t.fileSize();if(h===void 0)throw new Error("File was a directory");let{start:f,end:l}=Tt(h,u.offset,u.length);if(l===0n)return;let y=0n,c=l-f,d=yn();u.onProgress?.(new O("unixfs:exporter:walk:file",{cid:r})),ac(s,e,d,0n,f,l,u).catch(m=>{d.end(m)});for await(let m of d)if(m!=null){if(y+=BigInt(m.byteLength),y>c)throw d.end(),new Kr("Read too many bytes - the file size reported by the UnixFS data in the root node may be incorrect");y===c&&d.end(),u.onProgress?.(new O("unixfs:exporter:progress:unixfs:file",{bytesRead:y,totalBytes:c,fileSize:h})),yield m}if(y<c)throw new Xr("Traversed entire DAG but did not read enough bytes")}return a},qi=yh;var gh=(r,e,t,n,i,o,s)=>{function a(u={}){return u.onProgress?.(new O("unixfs:exporter:walk:hamt-sharded-directory",{cid:r})),cc(e,n,i,o,s,u)}return a};async function*cc(r,e,t,n,i,o){let s=r.Links;if(r.Data==null)throw new H("no data in PBNode");let a;try{a=v.unmarshal(r.Data)}catch(f){throw new H(f.message)}if(a.fanout==null)throw new H("missing fanout");let u=(a.fanout-1n).toString(16).length,h=Te(s,f=>Dt(f,l=>async()=>{let y=l.Name!=null?l.Name.substring(u):null;if(y!=null&&y!==""){let c=await t(l.Hash,y,`${e}/${y}`,[],n+1,i,o);return{entries:c.entry==null?[]:[c.entry]}}else{let c=await i.get(l.Hash,o);return r=$(c),o.onProgress?.(new O("unixfs:exporter:walk:hamt-sharded-directory",{cid:l.Hash})),{entries:cc(r,e,t,n,i,o)}}}),f=>it(f,{ordered:!0,concurrency:o.blockReadConcurrency}));for await(let{entries:f}of h)yield*f}var uc=gh;var wh=(r,e)=>r.Links.find(n=>n.Name===e)?.Hash,xh={raw:qi,file:qi,directory:rc,"hamt-sharded-directory":uc,metadata:(r,e,t,n,i,o,s)=>()=>[],symlink:(r,e,t,n,i,o,s)=>()=>[]},bh=async(r,e,t,n,i,o,s,a)=>{let u=await s.get(r,a),h=$(u),f,l;if(e==null&&(e=r.toString()),h.Data==null)throw new H("no data in PBNode");try{f=v.unmarshal(h.Data)}catch(c){throw new H(c.message)}if(t==null&&(t=e),n.length>0){let c;if(f?.type==="hamt-sharded-directory"?c=await Xa(h,n[0],s):c=wh(h,n[0]),c==null)throw new de("file does not exist");let d=n.shift(),m=`${t}/${d}`;l={cid:c,toResolve:n,name:d??"",path:m}}let y=xh[f.type](r,h,f,t,i,o,s);if(y==null)throw new de("could not find content exporter");return f.isDirectory()?{entry:{type:"directory",name:e,path:t,cid:r,content:y,unixfs:f,depth:o,node:h,size:f.fileSize()},next:l}:{entry:{type:"file",name:e,path:t,cid:r,content:y,unixfs:f,depth:o,node:h,size:f.fileSize()},next:l}},fc=bh;var _h={[j]:fc,[Q]:qa,[La]:Ha,[Ra]:Va,[hi.code]:ja,[Ho]:Ga},lc=async(r,e,t,n,i,o,s)=>{let a=_h[r.code];if(a==null)throw new Wr(`No resolver for code ${r.code}`);return a(r,e,t,n,lc,i,o,s)},hc=lc;var Sh=(r="")=>(r.trim().match(/([^\\^/]|\\\/)+/g)??[]).filter(Boolean),kh=r=>{if(r instanceof Uint8Array)return{cid:A.decode(r),toResolve:[]};let e=A.asCID(r);if(e!=null)return{cid:e,toResolve:[]};if(typeof r=="string"){r.indexOf("/ipfs/")===0&&(r=r.substring(6));let t=Sh(r);return{cid:A.parse(t[0]),toResolve:t.slice(1)}}throw new qr(`Unknown path type ${r}`)};async function*Wi(r,e,t={}){let{cid:n,toResolve:i}=kh(r),o=n.toString(),s=o,a=i.length;for(;;){let u=await hc(n,o,s,i,a,e,t);if(u.entry==null&&u.next==null)throw new de(`Could not resolve ${r}`);if(u.entry!=null&&(yield u.entry),u.next==null)return;i=u.next.toResolve,n=u.next.cid,o=u.next.name,s=u.next.path}}async function Z(r,e,t={}){let n=await _e(Wi(r,e,t));if(n==null)throw new de(`Could not resolve ${r}`);return n}async function*xn(r,e,t={}){let n=await Z(r,e,t);if(n==null)return;if(yield n,n.type==="directory")for await(let o of i(n,t))yield o;async function*i(o,s){for await(let a of o.content(s))yield a,!(a instanceof Uint8Array)&&a.type==="directory"&&(yield*i(a,s))}}function Eh(r,e){try{if(typeof r=="string"&&r.length>0)return Bh(r);if(typeof r=="number"&&isFinite(r))return e?.long?Ih(r):vh(r);throw new Error("Value is not a string or number.")}catch(t){let n=Ah(t)?`${t.message}. value=${JSON.stringify(r)}`:"An unknown error has occured.";throw new Error(n)}}function Bh(r){if(r=String(r),r.length>100)throw new Error("Value exceeds the maximum length of 100 characters.");let e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(!e)return NaN;let t=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return t*315576e5;case"weeks":case"week":case"w":return t*6048e5;case"days":case"day":case"d":return t*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return t*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return t*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return t*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:throw new Error(`The unit ${n} was matched, but no matching case exists.`)}}var _n=Eh;function vh(r){let e=Math.abs(r);return e>=864e5?`${Math.round(r/864e5)}d`:e>=36e5?`${Math.round(r/36e5)}h`:e>=6e4?`${Math.round(r/6e4)}m`:e>=1e3?`${Math.round(r/1e3)}s`:`${r}ms`}function Ih(r){let e=Math.abs(r);return e>=864e5?bn(r,e,864e5,"day"):e>=36e5?bn(r,e,36e5,"hour"):e>=6e4?bn(r,e,6e4,"minute"):e>=1e3?bn(r,e,1e3,"second"):`${r} ms`}function bn(r,e,t,n){let i=e>=t*1.5;return`${Math.round(r/t)} ${n}${i?"s":""}`}function Ah(r){return typeof r=="object"&&r!==null&&"message"in r}function Ki(r){t.debug=t,t.default=t,t.coerce=u,t.disable=o,t.enable=i,t.enabled=s,t.humanize=_n,t.destroy=h,Object.keys(r).forEach(f=>{t[f]=r[f]}),t.names=[],t.skips=[],t.formatters={};function e(f){let l=0;for(let y=0;y<f.length;y++)l=(l<<5)-l+f.charCodeAt(y),l|=0;return t.colors[Math.abs(l)%t.colors.length]}t.selectColor=e;function t(f){let l,y=null,c,d;function m(...x){if(!m.enabled)return;let g=m,w=Number(new Date),b=w-(l||w);g.diff=b,g.prev=l,g.curr=w,l=w,x[0]=t.coerce(x[0]),typeof x[0]!="string"&&x.unshift("%O");let S=0;x[0]=x[0].replace(/%([a-zA-Z%])/g,(C,E)=>{if(C==="%%")return"%";S++;let D=t.formatters[E];if(typeof D=="function"){let ye=x[S];C=D.call(g,ye),x.splice(S,1),S--}return C}),t.formatArgs.call(g,x),(g.log||t.log).apply(g,x)}return m.namespace=f,m.useColors=t.useColors(),m.color=t.selectColor(f),m.extend=n,m.destroy=t.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>y!==null?y:(c!==t.namespaces&&(c=t.namespaces,d=t.enabled(f)),d),set:x=>{y=x}}),typeof t.init=="function"&&t.init(m),m}function n(f,l){let y=t(this.namespace+(typeof l>"u"?":":l)+f);return y.log=this.log,y}function i(f){t.save(f),t.namespaces=f,t.names=[],t.skips=[];let l,y=(typeof f=="string"?f:"").split(/[\s,]+/),c=y.length;for(l=0;l<c;l++)y[l]&&(f=y[l].replace(/\*/g,".*?"),f[0]==="-"?t.skips.push(new RegExp("^"+f.substr(1)+"$")):t.names.push(new RegExp("^"+f+"$")))}function o(){let f=[...t.names.map(a),...t.skips.map(a).map(l=>"-"+l)].join(",");return t.enable(""),f}function s(f){if(f[f.length-1]==="*")return!0;let l,y;for(l=0,y=t.skips.length;l<y;l++)if(t.skips[l].test(f))return!1;for(l=0,y=t.names.length;l<y;l++)if(t.names[l].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function u(f){return f instanceof Error?f.stack??f.message:f}function h(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.setupFormatters(t.formatters),t.enable(t.load()),t}var Sn=Lh(),Ch=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Nh(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/(edge|trident)\/(\d+)/)!=null?!1:typeof document<"u"&&document.documentElement?.style?.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/firefox\/(\d+)/)!=null&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/applewebkit\/(\d+)/)}function Th(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+_n(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,n=0;r[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(t++,i==="%c"&&(n=t))}),r.splice(n,0,e)}var Dh=console.debug??console.log??(()=>{});function zh(r){try{r?Sn?.setItem("debug",r):Sn?.removeItem("debug")}catch{}}function Fh(){let r;try{r=Sn?.getItem("debug")}catch{}return!r&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(r=globalThis.process.env.DEBUG),r}function Lh(){try{return localStorage}catch{}}function Ph(r){r.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}}var dc=Ki({formatArgs:Th,save:zh,load:Fh,useColors:Nh,setupFormatters:Ph,colors:Ch,storage:Sn,log:Dh});var re=dc;re.formatters.b=r=>r==null?"undefined":he.baseEncode(r);re.formatters.t=r=>r==null?"undefined":Oe.baseEncode(r);re.formatters.m=r=>r==null?"undefined":Xt.baseEncode(r);re.formatters.p=r=>r==null?"undefined":r.toString();re.formatters.c=r=>r==null?"undefined":r.toString();re.formatters.k=r=>r==null?"undefined":r.toString();re.formatters.a=r=>r==null?"undefined":r.toString();re.formatters.e=r=>r==null?"undefined":pc(r.stack)??pc(r.message)??r.toString();function Uh(r){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=r,e.destroy=()=>!0,e.extend=()=>e,e}function R(r){let e=Uh(`${r}:trace`);return re.enabled(`${r}:trace`)&&re.names.map(t=>t.toString()).find(t=>t.includes(":trace"))!=null&&(e=re(`${r}:trace`)),Object.assign(re(r),{error:re(`${r}:error`),trace:e})}function pc(r){if(r!=null&&(r=r.trim(),r.length!==0))return r}var Zi=Ot($r(),1);function En(r){function e(t){return t instanceof kn?t:new kn(t,r)}return e}var kn=class{_value;_hashFn;_depth;_availableBits;_currentBufferIndex;_buffers;constructor(e,t){if(!(e instanceof Uint8Array))throw new Error("can only hash Uint8Arrays");this._value=e,this._hashFn=t,this._depth=-1,this._availableBits=0,this._currentBufferIndex=0,this._buffers=[]}async take(e){let t=e;for(;this._availableBits<t;)await this._produceMoreBits();let n=0;for(;t>0;){let i=this._buffers[this._currentBufferIndex],o=Math.min(i.availableBits(),t),s=i.take(o);n=(n<<o)+s,t-=o,this._availableBits-=o,i.availableBits()===0&&this._currentBufferIndex++}return n}untake(e){let t=e;for(;t>0;){let n=this._buffers[this._currentBufferIndex],i=Math.min(n.totalBits()-n.availableBits(),t);n.untake(i),t-=i,this._availableBits+=i,this._currentBufferIndex>0&&n.totalBits()===n.availableBits()&&(this._depth--,this._currentBufferIndex--)}}async _produceMoreBits(){this._depth++;let e=this._depth>0?qe([this._value,Uint8Array.from([this._depth])]):this._value,t=await this._hashFn(e),n=new Xi(t);this._buffers.push(n),this._availableBits+=n.availableBits()}},Oh=[255,254,252,248,240,224,192,128],Rh=[1,3,7,15,31,63,127,255],Xi=class{_value;_currentBytePos;_currentBitPos;constructor(e){this._value=e,this._currentBytePos=e.length-1,this._currentBitPos=7}availableBits(){return this._currentBitPos+1+this._currentBytePos*8}totalBits(){return this._value.length*8}take(e){let t=e,n=0;for(;t>0&&this._haveBits();){let i=this._value[this._currentBytePos],o=this._currentBitPos+1,s=Math.min(o,t),a=$h(i,o-s,s);n=(n<<s)+a,t-=s,this._currentBitPos-=s,this._currentBitPos<0&&(this._currentBitPos=7,this._currentBytePos--)}return n}untake(e){for(this._currentBitPos+=e;this._currentBitPos>7;)this._currentBitPos-=8,this._currentBytePos+=1}_haveBits(){return this._currentBytePos>=0}};function $h(r,e,t){let n=Mh(e,t);return(r&n)>>>e}function Mh(r,e){return Oh[r]&Rh[Math.min(e+r-1,7)]}var pr=BigInt(Ze.code),ot=8;async function Ft(r){return(await Ze.encode(r)).subarray(0,8).reverse()}var gc=Ot($r(),1);var Be=async(r,e,t)=>{t.codec==null&&(t.codec=M);let n=await oe.digest(r),i=A.create(t.cidVersion,t.codec.code,n);return await e.put(i,r,{...t,signal:t.signal}),i};var Ji=class{options;root;dir;path;dirty;flat;parent;parentKey;unixfs;mode;mtime;cid;size;nodeSize;constructor(e,t){this.options=t??{},this.root=e.root,this.dir=e.dir,this.path=e.path,this.dirty=e.dirty,this.flat=e.flat,this.parent=e.parent,this.parentKey=e.parentKey,this.unixfs=e.unixfs,this.mode=e.mode,this.mtime=e.mtime}},Bn=class extends Ji{_bucket;constructor(e,t){super(e,t),this._bucket=gt({hashFn:Ft,bits:8})}async put(e,t){this.cid=void 0,this.size=void 0,this.nodeSize=void 0,await this._bucket.put(e,t)}async get(e){return this._bucket.get(e)}childCount(){return this._bucket.leafCount()}directChildrenCount(){return this._bucket.childrenCount()}onlyChild(){return this._bucket.onlyChild()}async*eachChildSeries(){for(let{key:e,value:t}of this._bucket.eachLeafSeries())yield{key:e,child:t}}estimateNodeSize(){return this.nodeSize!==void 0?this.nodeSize:(this.nodeSize=yc(this._bucket,this,this.options),this.nodeSize)}async*flush(e){for await(let t of mc(this._bucket,e,this,this.options))yield{...t,path:this.path}}};async function*mc(r,e,t,n){let i=r._children,o=[],s=0n;for(let c=0;c<i.length;c++){let d=i.get(c);if(d==null)continue;let m=c.toString(16).toUpperCase().padStart(2,"0");if(d instanceof se){let x;for await(let g of mc(d,e,null,n))x=g;if(x==null)throw new Error("Could not flush sharded directory, no sub-shard found");o.push({Name:m,Tsize:Number(x.size),Hash:x.cid}),s+=x.size}else if(Hh(d.value)){let x=d.value,g;for await(let b of x.flush(e))g=b,yield g;if(g==null)throw new Error("Did not flush dir");let w=m+d.key;o.push({Name:w,Tsize:Number(g.size),Hash:g.cid}),s+=g.size}else{let x=d.value;if(x.cid==null)continue;let g=m+d.key,w=x.size;o.push({Name:g,Tsize:Number(w),Hash:x.cid}),s+=BigInt(w??0)}}let a=Uint8Array.from(i.bitField().reverse()),u=new v({type:"hamt-sharded-directory",data:a,fanout:BigInt(r.tableSize()),hashType:pr,mtime:t?.mtime,mode:t?.mode}),h={Data:u.marshal(),Links:o},f=T(P(h)),l=await Be(f,e,n),y=BigInt(f.byteLength)+s;yield{cid:l,unixfs:u,size:y}}function Hh(r){return typeof r.flush=="function"}function yc(r,e,t){let n=r._children,i=[];for(let u=0;u<n.length;u++){let h=n.get(u);if(h==null)continue;let f=u.toString(16).toUpperCase().padStart(2,"0");if(h instanceof se){let l=yc(h,null,t);i.push({Name:f,Tsize:Number(l),Hash:t.cidVersion===0?vn:In})}else if(typeof h.value.flush=="function"){let y=h.value.nodeSize();i.push({Name:f+h.key,Tsize:Number(y),Hash:t.cidVersion===0?vn:In})}else{let l=h.value;if(l.cid==null)continue;let y=f+h.key,c=l.size;i.push({Name:y,Tsize:Number(c),Hash:l.cid})}}let o=Uint8Array.from(n.bitField().reverse()),s=new v({type:"hamt-sharded-directory",data:o,fanout:BigInt(r.tableSize()),hashType:pr,mtime:e?.mtime,mode:e?.mode});return T(P({Data:s.marshal(),Links:i})).length}var vn=A.parse("QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn"),In=A.parse("zdj7WbTaiJT1fgatdet9Ei9iDB5hdCxkbVyhyh8YTUnXMiwYi");var Yi=R("helia:unixfs:commands:utils:hamt-utils"),An=r=>r.toString(16).toUpperCase().padStart(2,"0").substring(0,2),wc=async(r,e,t)=>{let n=new Bn({root:!0,dir:!0,parent:void 0,parentKey:void 0,path:"",dirty:!0,flat:!1,mtime:t.mtime,mode:t.mode},t);for(let o=0;o<e.length;o++)await n._bucket.put(e[o].name,{size:e[o].size,cid:e[o].cid});let i=await _e(n.flush(r));if(i==null)throw new Error("Flushing shard yielded no result");return i},Cn=async(r,e,t)=>{let n=v.unmarshal(r[0].node.Data??new Uint8Array(0)),i=BigInt(Math.pow(2,ot));r.reverse();let o,s;for(let a=0;a<r.length;a++){let u=a===r.length-1,h=r[a],f=Uint8Array.from(h.children.bitField().reverse()),l=new v({type:"hamt-sharded-directory",data:f,fanout:i,hashType:pr});u&&(l.mtime=n.mtime,l.mode=n.mode),s={Data:l.marshal(),Links:h.node.Links};let y=T(P(s));if(o=await Be(y,e,t),!u){let c=r[a+1];if(c==null)throw new Error("Was not operating on shard root but also had no parent?");Yi("updating link in parent sub-shard with prefix %s",c.prefix),c.node.Links=c.node.Links.filter(d=>d.Name!==c.prefix),c.node.Links.push({Name:c.prefix,Hash:o,Tsize:h.node.Links.reduce((d,m)=>d+(m.Tsize??0),y.byteLength)})}}if(o==null||s==null)throw new Error("Noting persisted");return{cid:o,node:s}},Nn=async(r,e,t,n)=>{let o=En(Ft)(U(e)),s=[];for(;;){let a=await t.get(r,n),u=$(a),h=new gc.default,f=await o.take(ot),l=An(f);s.push({prefix:l,children:h,node:u});let y;for(let d of u.Links){let m=d.Name??"";if(m.length<2)throw new Error("Invalid HAMT - link name was too short");let x=parseInt(m.substring(0,2),16);h.set(x,!0),m.startsWith(l)&&(y=d)}if(y==null){Yi("no link found with prefix %s for %s",l,e);break}let c=y.Name??"";if(c.length<2)throw new Error("Invalid HAMT - link name was too short");if(c.length===2){r=y.Hash,Yi("descend into sub-shard with prefix %s",c);continue}break}return{path:s,hash:o}};async function Tn(r,e,t,n){if(r.Data==null)throw new Error("DagPB node had no data");let i=v.unmarshal(r.Data),o;if(i.type==="directory")o=Vh(r);else if(i.type==="hamt-sharded-directory")o=await xc(r,0,t,e,n);else throw new Error("Can only estimate the size of directories or shards");return o>t}function Vh(r){let e=0;for(let t of r.Links)e+=(t.Name??"").length,e+=t.Hash.version===1?In.bytes.byteLength:vn.bytes.byteLength;return e}async function xc(r,e,t,n,i){if(e>t)return t;if(r.Data==null||!v.unmarshal(r.Data).isDirectory())return e;for(let s of r.Links){let a=s.Name??"";if(a=a.substring(2),e+=a.length,e+=s.Hash.bytes.byteLength,s.Hash.code===j){let u=await n.get(s.Hash,i),h=$(u);e+=await xc(h,e,t,n,i)}}return e}var De=R("helia:unixfs:components:utils:add-link");async function Lt(r,e,t,n){if(r.node.Data==null)throw new F("Invalid parent passed to addLink");if(v.unmarshal(r.node.Data).type==="hamt-sharded-directory")return De("adding link to sharded directory"),qh(r,e,t,n);De(`adding ${e.Name} (${e.Hash}) to regular directory`);let o=await Gh(r,e,t,n);if(await Tn(o.node,t,n.shardSplitThresholdBytes,n)){De("converting directory to sharded directory");let s=await jh(o,t);o.cid=s.cid,o.node=$(await t.get(s.cid,n))}return o}var jh=async(r,e)=>{if(r.node.Data==null)throw new F("Invalid parent passed to convertToShardedDirectory");let t=v.unmarshal(r.node.Data),n=await wc(e,r.node.Links.map(i=>({name:i.Name??"",size:BigInt(i.Tsize??0),cid:i.Hash})),{mode:t.mode,mtime:t.mtime,cidVersion:r.cid.version});return De(`converted directory to sharded directory ${n.cid}`),n},Gh=async(r,e,t,n)=>{let i=r.node.Links.filter(f=>{let l=f.Name===e.Name;if(l&&!n.allowOverwriting)throw new et;return!l});if(i.push(e),r.node.Data==null)throw new ee("Parent node with no data passed to addToDirectory");let o=v.unmarshal(r.node.Data),s;if(o.mtime!=null){let f=Date.now(),l=Math.floor(f/1e3);o.mtime={secs:BigInt(l),nsecs:(f-l*1e3)*1e3},s=o.marshal()}else s=r.node.Data;r.node=P({Data:s,Links:i});let a=T(r.node),u=await oe.digest(a),h=A.create(r.cid.version,j,u);return await t.put(h,a),{node:r.node,cid:h}},qh=async(r,e,t,n)=>{let{path:i,hash:o}=await Nn(r.cid,e.Name,t,n),s=i[i.length-1];if(s==null)throw new Error("Invalid HAMT, could not generate path");let a=s.prefix,u=parseInt(a,16);De("next prefix for %s is %s",e.Name,a);let h=`${a}${e.Name}`,f=s.node.Links.find(l=>(l.Name??"").startsWith(a));if(f!=null)if(De("link %s was present in shard",h),f.Name===h){if(!n.allowOverwriting)throw new et;De("overwriting %s in sub-shard",e.Name),s.node.Links=s.node.Links.filter(l=>l.Name!==h),s.node.Links.push({Name:h,Hash:e.Hash,Tsize:e.Tsize})}else{if(f.Name?.length===2)throw new Error("Existing link was sub-shard?!");{De("prefix %s already exists, creating new sub-shard",a);let l=s.node.Links.findIndex(x=>x.Name?.startsWith(a)),y=s.node.Links.splice(l,1)[0],c=(y.Name??"").substring(2),m=En(Ft)(U(c));for(let x=0;x<i.length;x++)await m.take(ot);for(;;){let x=await m.take(ot),g=An(x);y.Name=`${g}${c}`;let w=await o.take(ot),b=An(w);if(g===b){let I=new Zi.default;I.set(w,!0),i.push({prefix:b,children:I,node:{Links:[]}});continue}let S=new Zi.default;S.set(w,!0),S.set(x,!0),i.push({prefix:a,children:S,node:{Links:[y,{Name:`${b}${e.Name}`,Hash:e.Hash,Tsize:e.Tsize}]}});break}}}else De("link %s was not present in sub-shard",h),e.Name=h,s.node.Links.push(e),s.children.set(u,!0),De("adding %s to existing sub-shard",h);return Cn(i,t,n)};async function Ge(r,e,t={}){let n=await Z(r,e,t);if(n.type!=="directory")throw new Ne(`${r.toString()} was not a UnixFS directory`);return{cid:r,node:n.node}}async function Pt(r,e,t,n){let i=await Z(r,t,n);if(i.type!=="directory"&&i.type!=="file"&&i.type!=="raw")throw new Ce(`${r.toString()} was not a UnixFS node`);return{Name:e,Tsize:i.node instanceof Uint8Array?i.node.byteLength:Wh(i.node),Hash:r}}function Wh(r){let e=r.Links.reduce((t,n)=>t+(n.Tsize??0),0);return T(r).byteLength+e}var Kh=R("helia:unixfs:components:utils:resolve");async function ze(r,e,t,n){if(e==null||e==="")return{cid:r};let i=`/ipfs/${r}${e==null?"":`/${e}`}`,o=await as(Wi(i,t,n));if(o.length===0)throw new Fe("Could not find path in directory");return Kh("resolved %s to %c",e,r),{cid:o[o.length-1].cid,path:e,segments:o}}async function Ut(r,e,t,n){if(e.segments==null||e.segments.length===0)return r;let i=e.segments.pop();if(i==null)throw new Error("Insufficient segments");i.cid=r,e.segments.reverse();for(let o of e.segments){let[s,a]=await Promise.all([Ge(o.cid,t,n),Pt(i.cid,i.name,t,n)]);r=(await Lt(s,a,t,{...n,allowOverwriting:!0,cidVersion:r.version})).cid,o.cid=r,i=o}return r}var Xh=K.bind({ignoreUndefined:!0}),Jh={};async function*bc(r,e,t={}){let n=Xh(Jh,t),i=await ze(r,n.path,e,n),o=await Z(i.cid,e,n);if(o.type!=="file"&&o.type!=="raw")throw new Vr;if(o.content==null)throw new wt;yield*o.content(n)}var Yh=K.bind({ignoreUndefined:!0}),Zh=R("helia:unixfs:chmod"),Qh={recursive:!1,shardSplitThresholdBytes:262144};async function _c(r,e,t,n={}){let i=Yh(Qh,n),o=await ze(r,i.path,t,n);if(Zh("chmod %c %d",o.cid,e),i.recursive){let y=await Te(async function*(){for await(let c of xn(o.cid,t,n)){let d,m=[];if(c.type==="raw")d=new v({type:"file",data:c.node});else if(c.type==="file"||c.type==="directory")d=c.unixfs,m=c.node.Links;else throw new Ce;d.mode=e;let x={Data:d.marshal(),Links:m};yield{path:c.path,content:x}}},c=>Qe(c,t,{...i,dagBuilder:async function*(d,m){for await(let x of d)yield async function(){let g=x.content,w=T(g),b=await Be(w,m,{...i,cidVersion:r.version});if(g.Data==null)throw new ee(`${b} had no data`);let S=v.unmarshal(g.Data);return{cid:b,size:BigInt(w.length),path:x.path,unixfs:S}}}}),async c=>_e(c));if(y==null)throw new He(`Could not chmod ${o.cid.toString()}`);return Ut(y.cid,o,t,i)}let s=await t.get(o.cid,n),a,u=[];if(o.cid.code===Q)a=new v({type:"file",data:s});else{let y=$(s);if(y.Data==null)throw new ee(`${o.cid.toString()} had no data`);u=y.Links,a=v.unmarshal(y.Data)}a.mode=e;let h=T({Data:a.marshal(),Links:u}),f=await oe.digest(h),l=A.create(o.cid.version,j,f);return await t.put(l,h),Ut(l,o,t,i)}var ed=K.bind({ignoreUndefined:!0}),td=R("helia:unixfs:cp"),rd={force:!1,shardSplitThresholdBytes:262144};async function Sc(r,e,t,n,i={}){let o=ed(rd,i);if(t.includes("/"))throw new F("Name must not have slashes");let[s,a]=await Promise.all([Ge(e,n,o),Pt(r,t,n,o)]);return td('Adding %c as "%s" to %c',r,t,e),(await Lt(s,a,n,{allowOverwriting:o.force,cidVersion:e.version,...o})).cid}var nd=K.bind({ignoreUndefined:!0}),id={};async function*kc(r,e,t={}){let n=nd(id,t),i=await ze(r,n.path,e,n),o=await Z(i.cid,e);if(o.type==="file"||o.type==="raw"){yield o;return}if(o.content==null)throw new wt;if(o.type!=="directory")throw new Ne;yield*o.content({offset:t.offset,length:t.length})}var od=K.bind({ignoreUndefined:!0}),Ec=R("helia:unixfs:mkdir"),sd={cidVersion:1,force:!1,shardSplitThresholdBytes:262144};async function Bc(r,e,t,n={}){let i=od(sd,n);if(e.includes("/"))throw new F("Path must not have slashes");if((await Z(r,t,n)).type!=="directory")throw new Ne(`${r.toString()} was not a UnixFS directory`);Ec("creating %s",e);let a={Data:new v({type:"directory",mode:i.mode,mtime:i.mtime}).marshal(),Links:[]},u=T(a),h=await oe.digest(u),f=A.create(i.cidVersion,j,h);await t.put(f,u);let[l,y]=await Promise.all([Ge(r,t,i),Pt(f,e,t,i)]);return Ec("adding empty dir called %s to %c",e,r),(await Lt(l,y,t,{...i,allowOverwriting:i.force})).cid}var zn=R("helia:unixfs:utils:remove-link");async function vc(r,e,t,n){if(r.node.Data==null)throw new ee("Parent node had no data");if(v.unmarshal(r.node.Data).type==="hamt-sharded-directory"){zn(`removing ${e} from sharded directory`);let o=await cd(r,e,t,n);return await Tn(o.node,t,n.shardSplitThresholdBytes,n)?o:(zn("converting shard to flat directory %c",r.cid),ud(o,t,n))}return zn(`removing link ${e} regular directory`),ad(r,e,t,n)}var ad=async(r,e,t,n)=>{r.node.Links=r.node.Links.filter(s=>s.Name!==e);let i=T(r.node),o=await Be(i,t,{...n,cidVersion:r.cid.version});return zn(`Updated regular directory ${o}`),{node:r.node,cid:o}},cd=async(r,e,t,n)=>{let{path:i}=await Nn(r.cid,e,t,n),o=i[i.length-1];if(o==null)throw new Error("Invalid HAMT, could not generate path");let s=o.node.Links.filter(h=>(h.Name??"").substring(2)===e).map(h=>h.Name).pop();if(s==null)throw new Error("File not found");let a=s.substring(0,2),u=parseInt(a,16);if(o.node.Links=o.node.Links.filter(h=>h.Name!==s),o.children.unset(u),o.node.Links.length===1)for(;i.length!==1;){let h=i[i.length-1];if(h==null||h.node.Links.length>1)break;i.pop();let f=i[i.length-1];if(f==null)break;let l=h.node.Links[0];f.node.Links=f.node.Links.filter(y=>!(y.Name??"").startsWith(f.prefix)),f.node.Links.push({Hash:l.Hash,Name:`${f.prefix}${(l.Name??"").substring(2)}`,Tsize:l.Tsize})}return Cn(i,t,n)},ud=async(r,e,t)=>{if(r.node.Data==null)throw new F("Invalid parent passed to convertToFlatDirectory");let n={Links:[]},i=await Z(r.cid,e);if(i.type!=="directory")throw new Error("Unexpected node type");for await(let u of i.content()){let h=0;u.node instanceof Uint8Array?h=u.node.byteLength:h=T(u.node).length,n.Links.push({Hash:u.cid,Name:u.name,Tsize:h})}let o=v.unmarshal(r.node.Data);n.Data=new v({type:"directory",mode:o.mode,mtime:o.mtime}).marshal();let s=T(P(n));return{cid:await Be(s,e,{codec:M,cidVersion:r.cid.version,signal:t.signal}),node:n}};var fd=K.bind({ignoreUndefined:!0}),ld=R("helia:unixfs:rm"),hd={shardSplitThresholdBytes:262144};async function Ic(r,e,t,n={}){let i=fd(hd,n);if(e.includes("/"))throw new F("Name must not have slashes");let o=await Ge(r,t,i);return ld("Removing %s from %c",e,r),(await vc(o,e,t,{...i,cidVersion:r.version})).cid}function Ac(r,e="utf8"){let t=zr[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.encoder.encode(r).substring(1)}var Qi={32:16777619n,64:1099511628211n,128:309485009821345068724781371n,256:374144419156711147060143317175368453031918731002211n,512:35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852759n,1024:5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082573n},Cc={32:2166136261n,64:14695981039346656037n,128:144066263297769815596495629667062367629n,256:100029257958052580907070968620625704837092796014241193945225284501741471925557n,512:9659303129496669498009435400716310466090418745672637896108374329434462657994582932197716438449813051892206539805784495328239340083876191928701583869517785n,1024:14197795064947621068722070641403218320880622795441933960878474914617582723252296732303717722150864096521202355549365628174669108571814760471015076148029755969804077320157692458563003215304957150157403644460363550505412711285966361610267868082893823963790439336411086884584107735010676915n},Nc=new globalThis.TextEncoder;function dd(r,e){let t=Qi[e],n=Cc[e];for(let i=0;i<r.length;i++)n^=BigInt(r[i]),n=BigInt.asUintN(e,n*t);return n}function pd(r,e,t){if(t.length===0)throw new Error("The `utf8Buffer` option must have a length greater than zero");let n=Qi[e],i=Cc[e],o=r;for(;o.length>0;){let s=Nc.encodeInto(o,t);o=o.slice(s.read);for(let a=0;a<s.written;a++)i^=BigInt(t[a]),i=BigInt.asUintN(e,i*n)}return i}function eo(r,{size:e=32,utf8Buffer:t}={}){if(!Qi[e])throw new Error("The `size` option must be one of 32, 64, 128, 256, 512, or 1024");if(typeof r=="string"){if(t)return pd(r,e,t);r=Nc.encode(r)}return dd(r,e)}var mr={hash:r=>Number(eo(r,{size:32})),hashV:(r,e)=>md(mr.hash(r,e))};function md(r){let e=r.toString(16);return e.length%2===1&&(e=`0${e}`),U(e,"base16")}var Tc=64,ve=class{fp;h;seed;constructor(e,t,n,i=2){if(i>Tc)throw new TypeError("Invalid Fingerprint Size");let o=t.hashV(e,n),s=ge(i);for(let a=0;a<s.length;a++)s[a]=o[a];s.length===0&&(s[0]=7),this.fp=s,this.h=t,this.seed=n}hash(){return this.h.hash(this.fp,this.seed)}equals(e){return e?.fp instanceof Uint8Array?vr(this.fp,e.fp):!1}};function st(r,e){return Math.floor(Math.random()*(e-r))+r}var at=class{contents;constructor(e){this.contents=new Array(e).fill(null)}has(e){if(!(e instanceof ve))throw new TypeError("Invalid Fingerprint");return this.contents.some(t=>e.equals(t))}add(e){if(!(e instanceof ve))throw new TypeError("Invalid Fingerprint");for(let t=0;t<this.contents.length;t++)if(this.contents[t]==null)return this.contents[t]=e,!0;return!0}swap(e){if(!(e instanceof ve))throw new TypeError("Invalid Fingerprint");let t=st(0,this.contents.length-1),n=this.contents[t];return this.contents[t]=e,n}remove(e){if(!(e instanceof ve))throw new TypeError("Invalid Fingerprint");let t=this.contents.findIndex(n=>e.equals(n));return t>-1?(this.contents[t]=null,!0):!1}};var yd=500,yr=class{bucketSize;filterSize;fingerprintSize;buckets;count;hash;seed;constructor(e){this.filterSize=e.filterSize,this.bucketSize=e.bucketSize??4,this.fingerprintSize=e.fingerprintSize??2,this.count=0,this.buckets=[],this.hash=e.hash??mr,this.seed=e.seed??st(0,Math.pow(2,10))}add(e){typeof e=="string"&&(e=U(e));let t=new ve(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,i=(n^t.hash())%this.filterSize;if(this.buckets[n]==null&&(this.buckets[n]=new at(this.bucketSize)),this.buckets[i]==null&&(this.buckets[i]=new at(this.bucketSize)),this.buckets[n].add(t)||this.buckets[i].add(t))return this.count++,!0;let o=[n,i],s=o[st(0,o.length-1)];this.buckets[s]==null&&(this.buckets[s]=new at(this.bucketSize));for(let a=0;a<yd;a++){let u=this.buckets[s].swap(t);if(u!=null&&(s=(s^u.hash())%this.filterSize,this.buckets[s]==null&&(this.buckets[s]=new at(this.bucketSize)),this.buckets[s].add(u)))return this.count++,!0}return!1}has(e){typeof e=="string"&&(e=U(e));let t=new ve(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,i=this.buckets[n]?.has(t)??!1;if(i)return i;let o=(n^t.hash())%this.filterSize;return this.buckets[o]?.has(t)??!1}remove(e){typeof e=="string"&&(e=U(e));let t=new ve(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,i=this.buckets[n]?.remove(t)??!1;if(i)return this.count--,i;let o=(n^t.hash())%this.filterSize,s=this.buckets[o]?.remove(t)??!1;return s&&this.count--,s}get reliable(){return Math.floor(100*(this.count/this.filterSize))<=90}};var gr=class{filterSize;bucketSize;fingerprintSize;scale;filterSeries;hash;seed;constructor(e){this.bucketSize=e.bucketSize??4,this.filterSize=e.filterSize??(1<<18)/this.bucketSize,this.fingerprintSize=e.fingerprintSize??2,this.scale=e.scale??2,this.hash=e.hash??mr,this.seed=e.seed??st(0,Math.pow(2,10)),this.filterSeries=[new yr({filterSize:this.filterSize,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed})]}add(e){if(typeof e=="string"&&(e=U(e)),this.has(e))return!0;let t=this.filterSeries.find(n=>n.reliable);if(t==null){let n=this.filterSize*Math.pow(this.scale,this.filterSeries.length);t=new yr({filterSize:n,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed}),this.filterSeries.push(t)}return t.add(e)}has(e){typeof e=="string"&&(e=U(e));for(let t=0;t<this.filterSeries.length;t++)if(this.filterSeries[t].has(e))return!0;return!1}remove(e){typeof e=="string"&&(e=U(e));for(let t=0;t<this.filterSeries.length;t++)if(this.filterSeries[t].remove(e))return!0;return!1}get count(){return this.filterSeries.reduce((e,t)=>e+t.count,0)}};var Dc=1877,Fn=1604,gd=K.bind({ignoreUndefined:!0}),wd=R("helia:unixfs:stat"),xd={};async function zc(r,e,t={}){let n=gd(xd,t),i=await ze(r,t.path,e,n);wd("stat %c",i.cid);let o=await Z(i.cid,e,n);if(o.type==="raw")return t.extended===!0?kd(o):Sd(o);if(o.type==="file"||o.type==="directory")return t.extended===!0?_d(o,e,t.filter??new gr({filterSize:1024}),t):bd(o);throw new Ce}function bd(r){return{type:r.type,cid:r.cid,unixfs:r.unixfs,mode:r.unixfs.mode??(r.unixfs.isDirectory()?Dc:Fn),mtime:r.unixfs.mtime,size:r.unixfs.fileSize()}}async function _d(r,e,t,n){let i=await Fc(r.cid,e,!1,t,n);return{type:r.type,cid:r.cid,unixfs:r.unixfs,size:r.unixfs.isDirectory()?i.dirSize:r.unixfs.fileSize(),mode:r.unixfs.mode??(r.unixfs.isDirectory()?Dc:Fn),mtime:r.unixfs.mtime,localSize:i.localSize,dagSize:i.dagSize,deduplicatedDagSize:i.deduplicatedDagSize,blocks:i.blocks,uniqueBlocks:i.uniqueBlocks}}function Sd(r){return{type:r.type,cid:r.cid,unixfs:void 0,mode:Fn,mtime:void 0,size:BigInt(r.node.byteLength)}}function kd(r){return{type:r.type,cid:r.cid,unixfs:void 0,mode:Fn,mtime:void 0,size:BigInt(r.node.byteLength),localSize:BigInt(r.node.byteLength),dagSize:BigInt(r.node.byteLength),deduplicatedDagSize:BigInt(r.node.byteLength),blocks:1n,uniqueBlocks:1n}}async function Fc(r,e,t,n,i){let o={dirSize:0n,localSize:0n,dagSize:0n,deduplicatedDagSize:0n,blocks:0n,uniqueBlocks:0n};try{let s=n.has(r.bytes);n.add(r.bytes);let a=await e.get(r,i);if(o.blocks++,o.dagSize+=BigInt(a.byteLength),s||(o.uniqueBlocks++,o.deduplicatedDagSize+=BigInt(a.byteLength)),r.code===Q)o.localSize+=BigInt(a.byteLength),t&&(o.dirSize+=BigInt(a.byteLength));else if(r.code===j){let u=$(a),h;if(u.Data!=null&&(h=v.unmarshal(u.Data)),u.Links.length>0){for(let f of u.Links){let l=await Fc(f.Hash,e,Ed(f,h),n,i);o.localSize+=l.localSize,o.dagSize+=l.dagSize,o.deduplicatedDagSize+=l.deduplicatedDagSize,o.blocks+=l.blocks,o.uniqueBlocks+=l.uniqueBlocks,o.dirSize+=l.dirSize}t&&h!=null&&(o.dirSize+=h.fileSize())}else{if(h==null)throw new ee(`PBNode ${r.toString()} had no data`);h.data!=null&&(o.localSize+=BigInt(h.data.byteLength??0)),t&&(o.dirSize+=h.fileSize())}}else throw new He(`${r.toString()} was neither DAG_PB nor RAW`)}catch(s){if(s.name!=="NotFoundError"||i.offline!==!0)throw s}return o}function Ed(r,e){if(e==null)return!1;let t=r.Name;return t==null?!1:e.type==="directory"?!0:e.type==="hamt-sharded-directory"&&t.length>2}var Bd=K.bind({ignoreUndefined:!0}),vd=R("helia:unixfs:touch"),Id={recursive:!1,shardSplitThresholdBytes:262144};async function Lc(r,e,t={}){let n=Bd(Id,t),i=await ze(r,n.path,e,n),o=n.mtime??{secs:BigInt(Math.round(Date.now()/1e3)),nsecs:0};if(vd("touch %c %o",i.cid,o),n.recursive){let y=await Te(async function*(){for await(let c of xn(i.cid,e)){let d,m;if(c.type==="raw")d=new v({data:c.node}),m=[];else if(c.type==="file"||c.type==="directory")d=c.unixfs,m=c.node.Links;else throw new Ce;d.mtime=o;let x={Data:d.marshal(),Links:m};yield{path:c.path,content:x}}},c=>Qe(c,e,{...n,dagBuilder:async function*(d,m){for await(let x of d)yield async function(){let g=x.content,w=T(g),b=await Be(w,m,{...n,cidVersion:r.version});if(g.Data==null)throw new ee(`${b} had no data`);let S=v.unmarshal(g.Data);return{cid:b,size:BigInt(w.length),path:x.path,unixfs:S}}}}),async c=>_e(c));if(y==null)throw new He(`Could not chmod ${i.cid.toString()}`);return Ut(y.cid,i,e,n)}let s=await e.get(i.cid,t),a,u=[];if(i.cid.code===Q)a=new v({data:s});else{let y=$(s);if(u=y.Links,y.Data==null)throw new ee(`${i.cid.toString()} had no data`);a=v.unmarshal(y.Data)}a.mtime=o;let h=T({Data:a.marshal(),Links:u}),f=await oe.digest(h),l=A.create(i.cid.version,j,f);return await e.put(l,h),Ut(l,i,e,n)}var Ln=class{components;constructor(e){this.components=e}async*addAll(e,t={}){yield*jr(e,this.components.blockstore,t)}async addBytes(e,t={}){return vs(e,this.components.blockstore,t)}async addByteStream(e,t={}){return Is(e,this.components.blockstore,t)}async addFile(e,t={}){return As(e,this.components.blockstore,t)}async addDirectory(e={},t={}){return Cs(e,this.components.blockstore,t)}async*cat(e,t={}){yield*bc(e,this.components.blockstore,t)}async chmod(e,t,n={}){return _c(e,t,this.components.blockstore,n)}async cp(e,t,n,i={}){return Sc(e,t,n,this.components.blockstore,i)}async*ls(e,t={}){yield*kc(e,this.components.blockstore,t)}async mkdir(e,t,n={}){return Bc(e,t,this.components.blockstore,n)}async rm(e,t,n={}){return Ic(e,t,this.components.blockstore,n)}async stat(e,t={}){return zc(e,this.components.blockstore,t)}async touch(e,t={}){return Lc(e,this.components.blockstore,t)}};function Pc(r){return new Ln(r)}var Pe="/",Uc=new TextEncoder().encode(Pe),Pn=Uc[0],wr=class r{_buf;constructor(e,t){if(typeof e=="string")this._buf=U(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(t==null&&(t=!0),t&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Pn)throw new Error("Invalid key")}toString(e="utf8"){return Ac(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new r(e.join(Pe))}static random(){return new r(Math.random().toString().substring(2))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new r(e):typeof e.uint8Array=="function"?new r(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Uc),this._buf[0]!==Pn){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Pn,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Pn;)this._buf=this._buf.subarray(0,-1)}less(e){let t=this.list(),n=e.list();for(let i=0;i<t.length;i++){if(n.length<i+1)return!1;let o=t[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return t.length<n.length}reverse(){return r.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(Pe).slice(1)}type(){return Ad(this.baseNamespace())}name(){return Cd(this.baseNamespace())}instance(e){return new r(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(Pe)||(e+=Pe),e+=this.type(),new r(e)}parent(){let e=this.list();return e.length===1?new r(Pe):new r(e.slice(0,-1).join(Pe))}child(e){return this.toString()===Pe?e:e.toString()===Pe?this:new r(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return r.withNamespaces([...this.namespaces(),...Nd(e.map(t=>t.namespaces()))])}};function Ad(r){let e=r.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function Cd(r){let e=r.split(":");return e[e.length-1]}function Nd(r){return[].concat(...r)}function Un(r){return r.split("/").pop()??""}var Td=R("helia:mfs"),to=class{components;unixfs;root;key;constructor(e,t={}){this.components=e,this.key=new wr(t.key??"/locals/filesroot"),this.unixfs=Pc(e)}async#e(){if(this.root==null)try{let e=await this.components.datastore.get(this.key);this.root=A.decode(e)}catch(e){if(e.name!=="NotFoundError")throw e;this.root=await this.unixfs.addDirectory()}return this.root}async writeBytes(e,t,n){let i=await this.unixfs.addBytes(e,n);await this.cp(i,t,n),n?.mode!=null&&await this.chmod(t,n.mode,n),n?.mtime!=null&&await this.touch(t,n)}async writeByteStream(e,t,n){let i=await this.unixfs.addByteStream(e,n);await this.cp(i,t,n),n?.mode!=null&&await this.chmod(t,n.mode,n),n?.mtime!=null&&await this.touch(t,n)}async*cat(e,t={}){let n=await this.#e(),i=await this.#r(n,e,{...t,createMissingDirectories:!1,finalSegmentMustBeDirectory:!1});yield*this.unixfs.cat(i[i.length-1].cid,t)}async chmod(e,t,n={}){let i=await this.#e();this.root=await this.unixfs.chmod(i,t,{...n,path:e})}async cp(e,t,n){let i=await this.#e(),o=n?.force??!1;typeof e=="string"&&(e=(await this.stat(e,n)).cid),o||await this.#s(t,n);let s=Un(t),a=t.substring(0,t.length-`/${s}`.length),u=[{cid:i,name:""}];a!==""&&(u=await this.#r(i,a,{...n,createMissingDirectories:n?.force??!1,finalSegmentMustBeDirectory:!0})),u.push({cid:e,name:s}),this.root=await this.#n(u,n)}async*ls(e,t){let n=await this.#e();t?.path!=null&&(e=`${e}/${t.path}`),yield*this.unixfs.ls(n,{...t,path:e})}async mkdir(e,t){let n=t?.force??!1;n||await this.#s(e,t);let i=Un(e),o=e.substring(0,e.length-`/${i}`.length),s=await this.#e(),a=[{cid:s,name:""}];o!==""&&(a=await this.#r(s,o,{...t,createMissingDirectories:n,finalSegmentMustBeDirectory:!0})),a.push({cid:await this.unixfs.addDirectory({mode:t?.mode,mtime:t?.mtime},t),name:Un(e)}),this.root=await this.#n(a,t)}async rm(e,t){(t?.force??!1)||await this.#u(e,t);let i=await this.#e(),o=await this.#r(i,e,{...t,createMissingDirectories:!1,finalSegmentMustBeDirectory:!1}),s=o.pop();if(s==null)throw new F("path was too short");let a=o[o.length-1];a.cid=await this.unixfs.rm(a.cid,s.name,t),this.root=await this.#n(o,t)}async stat(e,t){let n=await this.#e(),o=(await this.#r(n,e,{...t,createMissingDirectories:!1,finalSegmentMustBeDirectory:!1})).pop();if(o==null)throw new Fe;return this.unixfs.stat(o.cid,t)}async touch(e,t){let n=await this.#e(),i=await this.#r(n,e,{...t,createMissingDirectories:!1,finalSegmentMustBeDirectory:!1}),o=i[i.length-1];if(o==null)throw new Fe;o.cid=await this.unixfs.touch(o.cid,t),this.root=await this.#n(i,t)}async#r(e,t,n){if(!t.startsWith("/"))throw new F("path must be absolute");let i=await this.unixfs.stat(e,{...n,offline:!0}),o=[{cid:e,name:"",unixfs:i.unixfs}],s=e,a=t.split("/").filter(Boolean);for(let h=0;h<a.length;h++){let f=a[h];try{let l=await this.unixfs.stat(s,{...n,offline:!0,path:f});o.push({cid:l.cid,name:f,unixfs:l.unixfs}),s=l.cid}catch{if(Td.error("could not resolve path segment %s of %s under %c",f,t,e),n.createMissingDirectories){let y=await this.unixfs.addDirectory();o.push({cid:y,name:f,unixfs:new v({type:"directory"})})}else throw new Fe(`${t} does not exist`)}}let u=o[o.length-1];if(n.finalSegmentMustBeDirectory&&u.unixfs?.isDirectory()!==!0)throw new Ne(`${t} was not a directory`);return o}async#n(e,t={}){let n=e.pop();if(n==null)throw new F("path was too short");let i=n.cid;for(let o=e.length-1;o>-1;o--){let s=e[o];s.cid=await this.unixfs.cp(n.cid,s.cid,n.name,{...t,force:!0}),n=s,i=s.cid}return await this.components.datastore.put(this.key,i.bytes,t),i}async#u(e,t={}){if(!await this.#c(e,t))throw new Fe}async#s(e,t={}){if(await this.#c(e,t))throw new et}async#c(e,t={}){try{return await this.stat(e,{...t,offline:!0}),!0}catch{return!1}}};function Dd(r,e={}){return new to(r,e)}return Vc(zd);})();
2
+ "use strict";var HeliaMfs=(()=>{var Rc=Object.create;var kr=Object.defineProperty;var $c=Object.getOwnPropertyDescriptor;var Mc=Object.getOwnPropertyNames;var Hc=Object.getPrototypeOf,Vc=Object.prototype.hasOwnProperty;var Er=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),q=(r,e)=>{for(var t in e)kr(r,t,{get:e[t],enumerable:!0})},no=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Mc(e))!Vc.call(r,i)&&i!==t&&kr(r,i,{get:()=>e[i],enumerable:!(n=$c(e,i))||n.enumerable});return r};var Rt=(r,e,t)=>(t=r!=null?Rc(Hc(r)):{},no(e||!r||!r.__esModule?kr(t,"default",{value:r,enumerable:!0}):t,r)),jc=r=>no(kr({},"__esModule",{value:!0}),r);var us=Er((ir,Rr)=>{(function(r,e){"use strict";var t={version:"3.0.0",x86:{},x64:{},inputValidation:!0};function n(c){if(!Array.isArray(c)&&!ArrayBuffer.isView(c))return!1;for(var d=0;d<c.length;d++)if(!Number.isInteger(c[d])||c[d]<0||c[d]>255)return!1;return!0}function i(c,d){return(c&65535)*d+(((c>>>16)*d&65535)<<16)}function o(c,d){return c<<d|c>>>32-d}function s(c){return c^=c>>>16,c=i(c,2246822507),c^=c>>>13,c=i(c,3266489909),c^=c>>>16,c}function a(c,d){c=[c[0]>>>16,c[0]&65535,c[1]>>>16,c[1]&65535],d=[d[0]>>>16,d[0]&65535,d[1]>>>16,d[1]&65535];var m=[0,0,0,0];return m[3]+=c[3]+d[3],m[2]+=m[3]>>>16,m[3]&=65535,m[2]+=c[2]+d[2],m[1]+=m[2]>>>16,m[2]&=65535,m[1]+=c[1]+d[1],m[0]+=m[1]>>>16,m[1]&=65535,m[0]+=c[0]+d[0],m[0]&=65535,[m[0]<<16|m[1],m[2]<<16|m[3]]}function u(c,d){c=[c[0]>>>16,c[0]&65535,c[1]>>>16,c[1]&65535],d=[d[0]>>>16,d[0]&65535,d[1]>>>16,d[1]&65535];var m=[0,0,0,0];return m[3]+=c[3]*d[3],m[2]+=m[3]>>>16,m[3]&=65535,m[2]+=c[2]*d[3],m[1]+=m[2]>>>16,m[2]&=65535,m[2]+=c[3]*d[2],m[1]+=m[2]>>>16,m[2]&=65535,m[1]+=c[1]*d[3],m[0]+=m[1]>>>16,m[1]&=65535,m[1]+=c[2]*d[2],m[0]+=m[1]>>>16,m[1]&=65535,m[1]+=c[3]*d[1],m[0]+=m[1]>>>16,m[1]&=65535,m[0]+=c[0]*d[3]+c[1]*d[2]+c[2]*d[1]+c[3]*d[0],m[0]&=65535,[m[0]<<16|m[1],m[2]<<16|m[3]]}function h(c,d){return d%=64,d===32?[c[1],c[0]]:d<32?[c[0]<<d|c[1]>>>32-d,c[1]<<d|c[0]>>>32-d]:(d-=32,[c[1]<<d|c[0]>>>32-d,c[0]<<d|c[1]>>>32-d])}function f(c,d){return d%=64,d===0?c:d<32?[c[0]<<d|c[1]>>>32-d,c[1]<<d]:[c[1]<<d-32,0]}function l(c,d){return[c[0]^d[0],c[1]^d[1]]}function y(c){return c=l(c,[0,c[0]>>>1]),c=u(c,[4283543511,3981806797]),c=l(c,[0,c[0]>>>1]),c=u(c,[3301882366,444984403]),c=l(c,[0,c[0]>>>1]),c}t.x86.hash32=function(c,d){if(t.inputValidation&&!n(c))return e;d=d||0;for(var m=c.length%4,x=c.length-m,g=d,w=0,b=3432918353,S=461845907,I=0;I<x;I=I+4)w=c[I]|c[I+1]<<8|c[I+2]<<16|c[I+3]<<24,w=i(w,b),w=o(w,15),w=i(w,S),g^=w,g=o(g,13),g=i(g,5)+3864292196;switch(w=0,m){case 3:w^=c[I+2]<<16;case 2:w^=c[I+1]<<8;case 1:w^=c[I],w=i(w,b),w=o(w,15),w=i(w,S),g^=w}return g^=c.length,g=s(g),g>>>0},t.x86.hash128=function(c,d){if(t.inputValidation&&!n(c))return e;d=d||0;for(var m=c.length%16,x=c.length-m,g=d,w=d,b=d,S=d,I=0,C=0,E=0,D=0,ye=597399067,br=2869860233,_r=951274213,Sr=2716044179,N=0;N<x;N=N+16)I=c[N]|c[N+1]<<8|c[N+2]<<16|c[N+3]<<24,C=c[N+4]|c[N+5]<<8|c[N+6]<<16|c[N+7]<<24,E=c[N+8]|c[N+9]<<8|c[N+10]<<16|c[N+11]<<24,D=c[N+12]|c[N+13]<<8|c[N+14]<<16|c[N+15]<<24,I=i(I,ye),I=o(I,15),I=i(I,br),g^=I,g=o(g,19),g+=w,g=i(g,5)+1444728091,C=i(C,br),C=o(C,16),C=i(C,_r),w^=C,w=o(w,17),w+=b,w=i(w,5)+197830471,E=i(E,_r),E=o(E,17),E=i(E,Sr),b^=E,b=o(b,15),b+=S,b=i(b,5)+2530024501,D=i(D,Sr),D=o(D,18),D=i(D,ye),S^=D,S=o(S,13),S+=g,S=i(S,5)+850148119;switch(I=0,C=0,E=0,D=0,m){case 15:D^=c[N+14]<<16;case 14:D^=c[N+13]<<8;case 13:D^=c[N+12],D=i(D,Sr),D=o(D,18),D=i(D,ye),S^=D;case 12:E^=c[N+11]<<24;case 11:E^=c[N+10]<<16;case 10:E^=c[N+9]<<8;case 9:E^=c[N+8],E=i(E,_r),E=o(E,17),E=i(E,Sr),b^=E;case 8:C^=c[N+7]<<24;case 7:C^=c[N+6]<<16;case 6:C^=c[N+5]<<8;case 5:C^=c[N+4],C=i(C,br),C=o(C,16),C=i(C,_r),w^=C;case 4:I^=c[N+3]<<24;case 3:I^=c[N+2]<<16;case 2:I^=c[N+1]<<8;case 1:I^=c[N],I=i(I,ye),I=o(I,15),I=i(I,br),g^=I}return g^=c.length,w^=c.length,b^=c.length,S^=c.length,g+=w,g+=b,g+=S,w+=g,b+=g,S+=g,g=s(g),w=s(w),b=s(b),S=s(S),g+=w,g+=b,g+=S,w+=g,b+=g,S+=g,("00000000"+(g>>>0).toString(16)).slice(-8)+("00000000"+(w>>>0).toString(16)).slice(-8)+("00000000"+(b>>>0).toString(16)).slice(-8)+("00000000"+(S>>>0).toString(16)).slice(-8)},t.x64.hash128=function(c,d){if(t.inputValidation&&!n(c))return e;d=d||0;for(var m=c.length%16,x=c.length-m,g=[0,d],w=[0,d],b=[0,0],S=[0,0],I=[2277735313,289559509],C=[1291169091,658871167],E=0;E<x;E=E+16)b=[c[E+4]|c[E+5]<<8|c[E+6]<<16|c[E+7]<<24,c[E]|c[E+1]<<8|c[E+2]<<16|c[E+3]<<24],S=[c[E+12]|c[E+13]<<8|c[E+14]<<16|c[E+15]<<24,c[E+8]|c[E+9]<<8|c[E+10]<<16|c[E+11]<<24],b=u(b,I),b=h(b,31),b=u(b,C),g=l(g,b),g=h(g,27),g=a(g,w),g=a(u(g,[0,5]),[0,1390208809]),S=u(S,C),S=h(S,33),S=u(S,I),w=l(w,S),w=h(w,31),w=a(w,g),w=a(u(w,[0,5]),[0,944331445]);switch(b=[0,0],S=[0,0],m){case 15:S=l(S,f([0,c[E+14]],48));case 14:S=l(S,f([0,c[E+13]],40));case 13:S=l(S,f([0,c[E+12]],32));case 12:S=l(S,f([0,c[E+11]],24));case 11:S=l(S,f([0,c[E+10]],16));case 10:S=l(S,f([0,c[E+9]],8));case 9:S=l(S,[0,c[E+8]]),S=u(S,C),S=h(S,33),S=u(S,I),w=l(w,S);case 8:b=l(b,f([0,c[E+7]],56));case 7:b=l(b,f([0,c[E+6]],48));case 6:b=l(b,f([0,c[E+5]],40));case 5:b=l(b,f([0,c[E+4]],32));case 4:b=l(b,f([0,c[E+3]],24));case 3:b=l(b,f([0,c[E+2]],16));case 2:b=l(b,f([0,c[E+1]],8));case 1:b=l(b,[0,c[E]]),b=u(b,I),b=h(b,31),b=u(b,C),g=l(g,b)}return g=l(g,[0,c.length]),w=l(w,[0,c.length]),g=a(g,w),w=a(w,g),g=y(g),w=y(w),g=a(g,w),w=a(w,g),("00000000"+(g[0]>>>0).toString(16)).slice(-8)+("00000000"+(g[1]>>>0).toString(16)).slice(-8)+("00000000"+(w[0]>>>0).toString(16)).slice(-8)+("00000000"+(w[1]>>>0).toString(16)).slice(-8)},typeof ir<"u"?(typeof Rr<"u"&&Rr.exports&&(ir=Rr.exports=t),ir.murmurHash3=t):typeof define=="function"&&define.amd?define([],function(){return t}):(t._murmurHash3=r.murmurHash3,t.noConflict=function(){return r.murmurHash3=t._murmurHash3,t._murmurHash3=e,t.noConflict=e,t},r.murmurHash3=t)})(ir)});var ls=Er((S0,fs)=>{fs.exports=us()});var Mr=Er((C0,ds)=>{"use strict";ds.exports=class{constructor(){this._bitArrays=[],this._data=[],this._length=0,this._changedLength=!1,this._changedData=!1}set(e,t){let n=this._internalPositionFor(e,!1);if(t===void 0)n!==-1&&(this._unsetInternalPos(n),this._unsetBit(e),this._changedLength=!0,this._changedData=!0);else{let i=!1;n===-1?(n=this._data.length,this._setBit(e),this._changedData=!0):i=!0,this._setInternalPos(n,e,t,i),this._changedLength=!0}}unset(e){this.set(e,void 0)}get(e){this._sortData();let t=this._internalPositionFor(e,!0);if(t!==-1)return this._data[t][1]}push(e){return this.set(this.length,e),this.length}get length(){if(this._sortData(),this._changedLength){let e=this._data[this._data.length-1];this._length=e?e[0]+1:0,this._changedLength=!1}return this._length}forEach(e){let t=0;for(;t<this.length;)e(this.get(t),t,this),t++}map(e){let t=0,n=new Array(this.length);for(;t<this.length;)n[t]=e(this.get(t),t,this),t++;return n}reduce(e,t){let n=0,i=t;for(;n<this.length;){let o=this.get(n);i=e(i,o,n),n++}return i}find(e){let t=0,n,i;for(;t<this.length&&!n;)i=this.get(t),n=e(i),t++;return n?i:void 0}_internalPositionFor(e,t){let n=this._bytePosFor(e,t);if(n>=this._bitArrays.length)return-1;let i=this._bitArrays[n],o=e-n*7;if(!((i&1<<o)>0))return-1;let a=this._bitArrays.slice(0,n).reduce($f,0),u=~(4294967295<<o+1),h=hs(i&u);return a+h-1}_bytePosFor(e,t){let n=Math.floor(e/7),i=n+1;for(;!t&&this._bitArrays.length<i;)this._bitArrays.push(0);return n}_setBit(e){let t=this._bytePosFor(e,!1);this._bitArrays[t]|=1<<e-t*7}_unsetBit(e){let t=this._bytePosFor(e,!1);this._bitArrays[t]&=~(1<<e-t*7)}_setInternalPos(e,t,n,i){let o=this._data,s=[t,n];if(i)this._sortData(),o[e]=s;else{if(o.length)if(o[o.length-1][0]>=t)o.push(s);else if(o[0][0]<=t)o.unshift(s);else{let a=Math.round(o.length/2);this._data=o.slice(0,a).concat(s).concat(o.slice(a))}else this._data.push(s);this._changedData=!0,this._changedLength=!0}}_unsetInternalPos(e){this._data.splice(e,1)}_sortData(){this._changedData&&this._data.sort(Mf),this._changedData=!1}bitField(){let e=[],t=8,n=0,i=0,o,s=this._bitArrays.slice();for(;s.length||n;){n===0&&(o=s.shift(),n=7);let u=Math.min(n,t),h=~(255<<u),f=o&h;i|=f<<8-t,o=o>>>u,n-=u,t-=u,(!t||!n&&!s.length)&&(e.push(i),i=0,t=8)}for(var a=e.length-1;a>0&&e[a]===0;a--)e.pop();return e}compactArray(){return this._sortData(),this._data.map(Hf)}};function $f(r,e){return r+hs(e)}function hs(r){let e=r;return e=e-(e>>1&1431655765),e=(e&858993459)+(e>>2&858993459),(e+(e>>4)&252645135)*16843009>>24}function Mf(r,e){return r[0]-e[0]}function Hf(r){return r[1]}});var oc=Er((Qw,Hi)=>{"use strict";var mh=Object.prototype.hasOwnProperty,Y="~";function lr(){}Object.create&&(lr.prototype=Object.create(null),new lr().__proto__||(Y=!1));function yh(r,e,t){this.fn=r,this.context=e,this.once=t||!1}function ic(r,e,t,n,i){if(typeof t!="function")throw new TypeError("The listener must be a function");var o=new yh(t,n||r,i),s=Y?Y+e:e;return r._events[s]?r._events[s].fn?r._events[s]=[r._events[s],o]:r._events[s].push(o):(r._events[s]=o,r._eventsCount++),r}function xn(r,e){--r._eventsCount===0?r._events=new lr:delete r._events[e]}function X(){this._events=new lr,this._eventsCount=0}X.prototype.eventNames=function(){var e=[],t,n;if(this._eventsCount===0)return e;for(n in t=this._events)mh.call(t,n)&&e.push(Y?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};X.prototype.listeners=function(e){var t=Y?Y+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s};X.prototype.listenerCount=function(e){var t=Y?Y+e:e,n=this._events[t];return n?n.fn?1:n.length:0};X.prototype.emit=function(e,t,n,i,o,s){var a=Y?Y+e:e;if(!this._events[a])return!1;var u=this._events[a],h=arguments.length,f,l;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),h){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,n),!0;case 4:return u.fn.call(u.context,t,n,i),!0;case 5:return u.fn.call(u.context,t,n,i,o),!0;case 6:return u.fn.call(u.context,t,n,i,o,s),!0}for(l=1,f=new Array(h-1);l<h;l++)f[l-1]=arguments[l];u.fn.apply(u.context,f)}else{var y=u.length,c;for(l=0;l<y;l++)switch(u[l].once&&this.removeListener(e,u[l].fn,void 0,!0),h){case 1:u[l].fn.call(u[l].context);break;case 2:u[l].fn.call(u[l].context,t);break;case 3:u[l].fn.call(u[l].context,t,n);break;case 4:u[l].fn.call(u[l].context,t,n,i);break;default:if(!f)for(c=1,f=new Array(h-1);c<h;c++)f[c-1]=arguments[c];u[l].fn.apply(u[l].context,f)}}return!0};X.prototype.on=function(e,t,n){return ic(this,e,t,n,!1)};X.prototype.once=function(e,t,n){return ic(this,e,t,n,!0)};X.prototype.removeListener=function(e,t,n,i){var o=Y?Y+e:e;if(!this._events[o])return this;if(!t)return xn(this,o),this;var s=this._events[o];if(s.fn)s.fn===t&&(!i||s.once)&&(!n||s.context===n)&&xn(this,o);else{for(var a=0,u=[],h=s.length;a<h;a++)(s[a].fn!==t||i&&!s[a].once||n&&s[a].context!==n)&&u.push(s[a]);u.length?this._events[o]=u.length===1?u[0]:u:xn(this,o)}return this};X.prototype.removeAllListeners=function(e){var t;return e?(t=Y?Y+e:e,this._events[t]&&xn(this,t)):(this._events=new lr,this._eventsCount=0),this};X.prototype.off=X.prototype.removeListener;X.prototype.addListener=X.prototype.on;X.prefixed=Y;X.EventEmitter=X;typeof Hi<"u"&&(Hi.exports=X)});var Fd={};q(Fd,{mfs:()=>zd});function Gc(r){return r[Symbol.asyncIterator]!=null}function qc(r){if(Gc(r))return(async()=>{for await(let e of r)return e})();for(let e of r)return e}var Br=qc;function Wc(r){return r[Symbol.asyncIterator]!=null}function Kc(r,e=1){return e=Number(e),Wc(r)?async function*(){let t=[];if(e<1&&(e=1),e!==Math.round(e))throw new Error("Batch size must be an integer");for await(let n of r)for(t.push(n);t.length>=e;)yield t.slice(0,e),t=t.slice(e);for(;t.length>0;)yield t.slice(0,e),t=t.slice(e)}():function*(){let t=[];if(e<1&&(e=1),e!==Math.round(e))throw new Error("Batch size must be an integer");for(let n of r)for(t.push(n);t.length>=e;)yield t.slice(0,e),t=t.slice(e);for(;t.length>0;)yield t.slice(0,e),t=t.slice(e)}()}var vr=Kc;async function*$t(r,e=1){for await(let t of vr(r,e)){let n=t.map(async i=>i().then(o=>({ok:!0,value:o}),o=>({ok:!1,err:o})));for(let i=0;i<n.length;i++){let o=await n[i];if(o.ok)yield o.value;else throw o.err}}}function ge(r=0){return new Uint8Array(r)}function ne(r=0){return new Uint8Array(r)}function qe(r,e){e==null&&(e=r.reduce((i,o)=>i+o.length,0));let t=ne(e),n=0;for(let i of r)t.set(i,n),n+=i.length;return t}function Ir(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 oo=Symbol.for("@achingbrain/uint8arraylist");function io(r,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let t=0;for(let n of r){let i=t+n.byteLength;if(e<i)return{buf:n,index:e-t};t=i}throw new RangeError("index is out of bounds")}function Ar(r){return!!r?.[oo]}var ct=class r{bufs;length;[oo]=!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(Ar(n))t+=n.byteLength,this.bufs.push(...n.bufs);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(Ar(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=io(this.bufs,e);return t.buf[t.index]}set(e,t){let n=io(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(Ar(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:i}=this._subList(e,t);return qe(n,i)}subarray(e,t){let{bufs:n,length:i}=this._subList(e,t);return n.length===1?n[0]:qe(n,i)}sublist(e,t){let{bufs:n,length:i}=this._subList(e,t),o=new r;return o.length=i,o.bufs=[...n],o}_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=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,u=a+s.byteLength;if(i=u,e>=u)continue;let h=e>=a&&e<u,f=t>a&&t<=u;if(h&&f){if(e===a&&t===u){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(f){if(t===u){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(!Ar(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 i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,u=this.byteLength-n.byteLength,h=n.byteLength-1,f;for(let l=t;l<=u;l+=f){f=0;for(let y=h;y>=0;y--){let c=this.get(l+y);if(n[y]!==c){f=Math.max(1,y-a[c]);break}}if(f===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=ne(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 i=ge(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,t,n),this.write(i,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 i=ge(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,t,n),this.write(i,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 i=ge(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,t,n),this.write(i,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=ne(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 i=ge(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,t,n),this.write(i,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 i=ge(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,t,n),this.write(i,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 i=ge(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,t,n),this.write(i,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 i=ge(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,t,n),this.write(i,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 i=ge(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,t,n),this.write(i,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(!Ir(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((i,o)=>i+o.byteLength,0)),n.length=t,n}};var Xc=262144,Mt=(r={})=>{let e=r.chunkSize??Xc;return async function*(n){let i=new ct,o=0,s=!1;for await(let a of n)for(i.append(a),o+=a.length;o>=e;)if(yield i.slice(0,e),s=!0,e===i.length)i=new ct,o=0;else{let u=new ct;u.append(i.sublist(e)),i=u,o-=e}(!s||o>0)&&(yield i.subarray(0,o))}};var M={};q(M,{code:()=>j,createLink:()=>vo,createNode:()=>Bo,decode:()=>$,encode:()=>T,name:()=>Ku,prepare:()=>P,validate:()=>Qn});var qn={};q(qn,{base32:()=>Oe,base32hex:()=>cu,base32hexpad:()=>fu,base32hexpadupper:()=>lu,base32hexupper:()=>uu,base32pad:()=>su,base32padupper:()=>au,base32upper:()=>ou,base32z:()=>hu});var ut={};q(ut,{coerce:()=>le,empty:()=>so,equals:()=>Rn,fromHex:()=>Yc,fromString:()=>$n,isBinary:()=>Zc,toHex:()=>Jc,toString:()=>Mn});var so=new Uint8Array(0);function Jc(r){return r.reduce((e,t)=>e+t.toString(16).padStart(2,"0"),"")}function Yc(r){let e=r.match(/../g);return e!=null?new Uint8Array(e.map(t=>parseInt(t,16))):so}function Rn(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 le(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 Zc(r){return r instanceof ArrayBuffer||ArrayBuffer.isView(r)}function $n(r){return new TextEncoder().encode(r)}function Mn(r){return new TextDecoder().decode(r)}function Qc(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 i=0;i<r.length;i++){var o=r.charAt(i),s=o.charCodeAt(0);if(t[s]!==255)throw new TypeError(o+" is ambiguous");t[s]=i}var a=r.length,u=r.charAt(0),h=Math.log(a)/Math.log(256),f=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 m=0,x=0,g=0,w=d.length;g!==w&&d[g]===0;)g++,m++;for(var b=(w-g)*f+1>>>0,S=new Uint8Array(b);g!==w;){for(var I=d[g],C=0,E=b-1;(I!==0||C<x)&&E!==-1;E--,C++)I+=256*S[E]>>>0,S[E]=I%a>>>0,I=I/a>>>0;if(I!==0)throw new Error("Non-zero carry");x=C,g++}for(var D=b-x;D!==b&&S[D]===0;)D++;for(var ye=u.repeat(m);D<b;++D)ye+=r.charAt(S[D]);return ye}function y(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var m=0;if(d[m]!==" "){for(var x=0,g=0;d[m]===u;)x++,m++;for(var w=(d.length-m)*h+1>>>0,b=new Uint8Array(w);d[m];){var S=t[d.charCodeAt(m)];if(S===255)return;for(var I=0,C=w-1;(S!==0||I<g)&&C!==-1;C--,I++)S+=a*b[C]>>>0,b[C]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");g=I,m++}if(d[m]!==" "){for(var E=w-g;E!==w&&b[E]===0;)E++;for(var D=new Uint8Array(x+(w-E)),ye=x;E!==w;)D[ye++]=b[E++];return D}}}function c(d){var m=y(d);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:y,decode:c}}var eu=Qc,tu=eu,ao=tu;var Hn=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")}},Vn=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){this.name=e,this.prefix=t;let i=t.codePointAt(0);if(i===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=i,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 co(this,e)}},jn=class{decoders;constructor(e){this.decoders=e}or(e){return co(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 co(r,e){return new jn({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var Gn=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,i){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=i,this.encoder=new Hn(e,t,n),this.decoder=new Vn(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function ft({name:r,prefix:e,encode:t,decode:n}){return new Gn(r,e,t,n)}function Ue({name:r,prefix:e,alphabet:t}){let{encode:n,decode:i}=ao(t,r);return ft({prefix:e,name:r,encode:n,decode:o=>le(i(o))})}function ru(r,e,t,n){let i=r.length;for(;r[i-1]==="=";)--i;let o=new Uint8Array(i*t/8|0),s=0,a=0,u=0;for(let h=0;h<i;++h){let f=e[r[h]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<t|f,s+=t,s>=8&&(s-=8,o[u++]=255&a>>s)}if(s>=t||(255&a<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return o}function nu(r,e,t){let n=e[e.length-1]==="=",i=(1<<t)-1,o="",s=0,a=0;for(let u=0;u<r.length;++u)for(a=a<<8|r[u],s+=8;s>t;)s-=t,o+=e[i&a>>s];if(s!==0&&(o+=e[i&a<<t-s]),n)for(;(o.length*t&7)!==0;)o+="=";return o}function iu(r){let e={};for(let t=0;t<r.length;++t)e[r[t]]=t;return e}function L({name:r,prefix:e,bitsPerChar:t,alphabet:n}){let i=iu(n);return ft({prefix:e,name:r,encode(o){return nu(o,n,t)},decode(o){return ru(o,i,t,r)}})}var Oe=L({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ou=L({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),su=L({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),au=L({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),cu=L({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),uu=L({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),fu=L({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),lu=L({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),hu=L({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Wn={};q(Wn,{base36:()=>Ht,base36upper:()=>du});var Ht=Ue({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),du=Ue({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Kn={};q(Kn,{base58btc:()=>he,base58flickr:()=>pu});var he=Ue({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),pu=Ue({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var mu=lo,uo=128,yu=127,gu=~yu,wu=Math.pow(2,31);function lo(r,e,t){e=e||[],t=t||0;for(var n=t;r>=wu;)e[t++]=r&255|uo,r/=128;for(;r&gu;)e[t++]=r&255|uo,r>>>=7;return e[t]=r|0,lo.bytes=t-n+1,e}var xu=Xn,bu=128,fo=127;function Xn(r,n){var t=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a)throw Xn.bytes=0,new RangeError("Could not decode varint");s=r[o++],t+=i<28?(s&fo)<<i:(s&fo)*Math.pow(2,i),i+=7}while(s>=bu);return Xn.bytes=o-n,t}var _u=Math.pow(2,7),Su=Math.pow(2,14),ku=Math.pow(2,21),Eu=Math.pow(2,28),Bu=Math.pow(2,35),vu=Math.pow(2,42),Iu=Math.pow(2,49),Au=Math.pow(2,56),Cu=Math.pow(2,63),Nu=function(r){return r<_u?1:r<Su?2:r<ku?3:r<Eu?4:r<Bu?5:r<vu?6:r<Iu?7:r<Au?8:r<Cu?9:10},Tu={encode:mu,decode:xu,encodingLength:Nu},Du=Tu,Vt=Du;function jt(r,e=0){return[Vt.decode(r,e),Vt.decode.bytes]}function lt(r,e,t=0){return Vt.encode(r,e,t),e}function ht(r){return Vt.encodingLength(r)}function We(r,e){let t=e.byteLength,n=ht(r),i=n+ht(t),o=new Uint8Array(i+t);return lt(r,o,0),lt(t,o,n),o.set(e,i),new dt(r,t,e,o)}function Nr(r){let e=le(r),[t,n]=jt(e),[i,o]=jt(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new dt(t,i,s,e)}function ho(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&Rn(r.bytes,t.bytes)}}var dt=class{code;size;digest;bytes;constructor(e,t,n,i){this.code=e,this.size=t,this.digest=n,this.bytes=i}};function po(r,e){let{bytes:t,version:n}=r;switch(n){case 0:return Fu(t,Jn(r),e??he.encoder);default:return Lu(t,Jn(r),e??Oe.encoder)}}var mo=new WeakMap;function Jn(r){let e=mo.get(r);if(e==null){let t=new Map;return mo.set(r,t),t}return e}var A=class r{code;version;multihash;bytes;"/";constructor(e,t,n,i){this.code=t,this.version=e,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:e,multihash:t}=this;if(e!==Gt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==Pu)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=We(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&&ho(e.multihash,n.multihash)}toString(e){return po(this,e)}toJSON(){return{"/":po(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:i,multihash:o,bytes:s}=t;return new r(n,i,o,s??yo(n,i,o.bytes))}else if(t[Uu]===!0){let{version:n,multihash:i,code:o}=t,s=Nr(i);return r.create(n,o,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!==Gt)throw new Error(`Version 0 CID must use dag-pb (code: ${Gt}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let i=yo(e,t,n.bytes);return new r(e,t,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,Gt,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,i=le(e.subarray(n,n+t.multihashSize));if(i.byteLength!==t.multihashSize)throw new Error("Incorrect length");let o=i.subarray(t.multihashSize-t.digestSize),s=new dt(t.multihashCode,t.digestSize,o,i);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,y]=jt(e.subarray(t));return t+=y,l},i=n(),o=Gt;if(i===18?(i=0,t=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=t,a=n(),u=n(),h=t+u,f=h-s;return{version:i,codec:o,multihashCode:a,digestSize:u,multihashSize:f,size:h}}static parse(e,t){let[n,i]=zu(e,t),o=r.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Jn(o).set(n,e),o}};function zu(r,e){switch(r[0]){case"Q":{let t=e??he;return[he.prefix,t.decode(`${he.prefix}${r}`)]}case he.prefix:{let t=e??he;return[he.prefix,t.decode(r)]}case Oe.prefix:{let t=e??Oe;return[Oe.prefix,t.decode(r)]}case Ht.prefix:{let t=e??Ht;return[Ht.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 Fu(r,e,t){let{prefix:n}=t;if(n!==he.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let i=e.get(n);if(i==null){let o=t.encode(r).slice(1);return e.set(n,o),o}else return i}function Lu(r,e,t){let{prefix:n}=t,i=e.get(n);if(i==null){let o=t.encode(r);return e.set(n,o),o}else return i}var Gt=112,Pu=18;function yo(r,e,t){let n=ht(r),i=n+ht(e),o=new Uint8Array(i+t.byteLength);return lt(r,o,0),lt(e,o,n),o.set(t,i),o}var Uu=Symbol.for("@ipld/js-cid/CID");var Ou=new TextDecoder;function Yn(r,e){let t=0;for(let n=0;;n+=7){if(n>=64)throw new Error("protobuf: varint overflow");if(e>=r.length)throw new Error("protobuf: unexpected end of data");let i=r[e++];if(t+=n<28?(i&127)<<n:(i&127)*2**n,i<128)break}return[t,e]}function Tr(r,e){let t;[t,e]=Yn(r,e);let n=e+t;if(t<0||n<0)throw new Error("protobuf: invalid length");if(n>r.length)throw new Error("protobuf: unexpected end of data");return[r.subarray(e,n),n]}function go(r,e){let t;return[t,e]=Yn(r,e),[t&7,t>>3,e]}function Ru(r){let e={},t=r.length,n=0;for(;n<t;){let i,o;if([i,o,n]=go(r,n),o===1){if(e.Hash)throw new Error("protobuf: (PBLink) duplicate Hash section");if(i!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${i}) for Hash`);if(e.Name!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Name before Hash");if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Hash");[e.Hash,n]=Tr(r,n)}else if(o===2){if(e.Name!==void 0)throw new Error("protobuf: (PBLink) duplicate Name section");if(i!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${i}) for Name`);if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Name");let s;[s,n]=Tr(r,n),e.Name=Ou.decode(s)}else if(o===3){if(e.Tsize!==void 0)throw new Error("protobuf: (PBLink) duplicate Tsize section");if(i!==0)throw new Error(`protobuf: (PBLink) wrong wireType (${i}) for Tsize`);[e.Tsize,n]=Yn(r,n)}else throw new Error(`protobuf: (PBLink) invalid fieldNumber, expected 1, 2 or 3, got ${o}`)}if(n>t)throw new Error("protobuf: (PBLink) unexpected end of data");return e}function wo(r){let e=r.length,t=0,n,i=!1,o;for(;t<e;){let a,u;if([a,u,t]=go(r,t),a!==2)throw new Error(`protobuf: (PBNode) invalid wireType, expected 2, got ${a}`);if(u===1){if(o)throw new Error("protobuf: (PBNode) duplicate Data section");[o,t]=Tr(r,t),n&&(i=!0)}else if(u===2){if(i)throw new Error("protobuf: (PBNode) duplicate Links section");n||(n=[]);let h;[h,t]=Tr(r,t),n.push(Ru(h))}else throw new Error(`protobuf: (PBNode) invalid fieldNumber, expected 1 or 2, got ${u}`)}if(t>e)throw new Error("protobuf: (PBNode) unexpected end of data");let s={};return o&&(s.Data=o),s.Links=n||[],s}var bo=new TextEncoder,xo=2**32,$u=2**31;function Mu(r,e){let t=e.length;if(typeof r.Tsize=="number"){if(r.Tsize<0)throw new Error("Tsize cannot be negative");if(!Number.isSafeInteger(r.Tsize))throw new Error("Tsize too large for encoding");t=qt(e,t,r.Tsize)-1,e[t]=24}if(typeof r.Name=="string"){let n=bo.encode(r.Name);t-=n.length,e.set(n,t),t=qt(e,t,n.length)-1,e[t]=18}return r.Hash&&(t-=r.Hash.length,e.set(r.Hash,t),t=qt(e,t,r.Hash.length)-1,e[t]=10),e.length-t}function _o(r){let e=Vu(r),t=new Uint8Array(e),n=e;if(r.Data&&(n-=r.Data.length,t.set(r.Data,n),n=qt(t,n,r.Data.length)-1,t[n]=10),r.Links)for(let i=r.Links.length-1;i>=0;i--){let o=Mu(r.Links[i],t.subarray(0,n));n-=o,n=qt(t,n,o)-1,t[n]=18}return t}function Hu(r){let e=0;if(r.Hash){let t=r.Hash.length;e+=1+t+mt(t)}if(typeof r.Name=="string"){let t=bo.encode(r.Name).length;e+=1+t+mt(t)}return typeof r.Tsize=="number"&&(e+=1+mt(r.Tsize)),e}function Vu(r){let e=0;if(r.Data){let t=r.Data.length;e+=1+t+mt(t)}if(r.Links)for(let t of r.Links){let n=Hu(t);e+=1+n+mt(n)}return e}function qt(r,e,t){e-=mt(t);let n=e;for(;t>=$u;)r[e++]=t&127|128,t/=128;for(;t>=128;)r[e++]=t&127|128,t>>>=7;return r[e]=t,n}function mt(r){return r%2===0&&r++,Math.floor((ju(r)+6)/7)}function ju(r){let e=0;return r>=xo&&(r=Math.floor(r/xo),e=32),r>=65536&&(r>>>=16,e+=16),r>=256&&(r>>>=8,e+=8),e+Gu[r]}var Gu=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8];var qu=["Data","Links"],Wu=["Hash","Name","Tsize"],Zn=new TextEncoder;function ko(r,e){if(r===e)return 0;let t=r.Name?Zn.encode(r.Name):[],n=e.Name?Zn.encode(e.Name):[],i=t.length,o=n.length;for(let s=0,a=Math.min(i,o);s<a;++s)if(t[s]!==n[s]){i=t[s],o=n[s];break}return i<o?-1:o<i?1:0}function So(r,e){return!Object.keys(r).some(t=>!e.includes(t))}function Eo(r){if(typeof r.asCID=="object"){let t=A.asCID(r);if(!t)throw new TypeError("Invalid DAG-PB form");return{Hash:t}}if(typeof r!="object"||Array.isArray(r))throw new TypeError("Invalid DAG-PB form");let e={};if(r.Hash){let t=A.asCID(r.Hash);try{t||(typeof r.Hash=="string"?t=A.parse(r.Hash):r.Hash instanceof Uint8Array&&(t=A.decode(r.Hash)))}catch(n){throw new TypeError(`Invalid DAG-PB form: ${n.message}`)}t&&(e.Hash=t)}if(!e.Hash)throw new TypeError("Invalid DAG-PB form");return typeof r.Name=="string"&&(e.Name=r.Name),typeof r.Tsize=="number"&&(e.Tsize=r.Tsize),e}function P(r){if((r instanceof Uint8Array||typeof r=="string")&&(r={Data:r}),typeof r!="object"||Array.isArray(r))throw new TypeError("Invalid DAG-PB form");let e={};if(r.Data!==void 0)if(typeof r.Data=="string")e.Data=Zn.encode(r.Data);else if(r.Data instanceof Uint8Array)e.Data=r.Data;else throw new TypeError("Invalid DAG-PB form");if(r.Links!==void 0)if(Array.isArray(r.Links))e.Links=r.Links.map(Eo),e.Links.sort(ko);else throw new TypeError("Invalid DAG-PB form");else e.Links=[];return e}function Qn(r){if(!r||typeof r!="object"||Array.isArray(r)||r instanceof Uint8Array||r["/"]&&r["/"]===r.bytes)throw new TypeError("Invalid DAG-PB form");if(!So(r,qu))throw new TypeError("Invalid DAG-PB form (extraneous properties)");if(r.Data!==void 0&&!(r.Data instanceof Uint8Array))throw new TypeError("Invalid DAG-PB form (Data must be bytes)");if(!Array.isArray(r.Links))throw new TypeError("Invalid DAG-PB form (Links must be a list)");for(let e=0;e<r.Links.length;e++){let t=r.Links[e];if(!t||typeof t!="object"||Array.isArray(t)||t instanceof Uint8Array||t["/"]&&t["/"]===t.bytes)throw new TypeError("Invalid DAG-PB form (bad link)");if(!So(t,Wu))throw new TypeError("Invalid DAG-PB form (extraneous properties on link)");if(t.Hash===void 0)throw new TypeError("Invalid DAG-PB form (link must have a Hash)");if(t.Hash==null||!t.Hash["/"]||t.Hash["/"]!==t.Hash.bytes)throw new TypeError("Invalid DAG-PB form (link Hash must be a CID)");if(t.Name!==void 0&&typeof t.Name!="string")throw new TypeError("Invalid DAG-PB form (link Name must be a string)");if(t.Tsize!==void 0){if(typeof t.Tsize!="number"||t.Tsize%1!==0)throw new TypeError("Invalid DAG-PB form (link Tsize must be an integer)");if(t.Tsize<0)throw new TypeError("Invalid DAG-PB form (link Tsize cannot be negative)")}if(e>0&&ko(t,r.Links[e-1])===-1)throw new TypeError("Invalid DAG-PB form (links must be sorted by Name bytes)")}}function Bo(r,e=[]){return P({Data:r,Links:e})}function vo(r,e,t){return Eo({Hash:t,Name:r,Tsize:e})}function Io(r){return r instanceof ArrayBuffer?new Uint8Array(r,0,r.byteLength):r}var Ku="dag-pb",j=112;function T(r){Qn(r);let e={};return r.Links&&(e.Links=r.Links.map(t=>{let n={};return t.Hash&&(n.Hash=t.Hash.bytes),t.Name!==void 0&&(n.Name=t.Name),t.Tsize!==void 0&&(n.Tsize=t.Tsize),n})),r.Data&&(e.Data=r.Data),_o(e)}function $(r){let e=Io(r),t=wo(e),n={};return t.Data&&(n.Data=t.Data),t.Links&&(n.Links=t.Links.map(i=>{let o={};try{o.Hash=A.decode(i.Hash)}catch{}if(!o.Hash)throw new Error("Invalid Hash field found in link, expected CID");return i.Name!==void 0&&(o.Name=i.Name),i.Tsize!==void 0&&(o.Tsize=i.Tsize),o})),n}var Wt=class r extends Error{static name="InvalidTypeError";static code="ERR_INVALID_TYPE";name=r.name;code=r.code;constructor(e="Invalid type"){super(e)}},Dr=class r extends Error{static name="InvalidUnixFSMessageError";static code="ERR_INVALID_MESSAGE";name=r.name;code=r.code;constructor(e="Invalid message"){super(e)}};var Xu=Math.pow(2,7),Ju=Math.pow(2,14),Yu=Math.pow(2,21),Ao=Math.pow(2,28),Co=Math.pow(2,35),No=Math.pow(2,42),To=Math.pow(2,49),J=128,Re=127;function Kt(r){if(r<Xu)return 1;if(r<Ju)return 2;if(r<Yu)return 3;if(r<Ao)return 4;if(r<Co)return 5;if(r<No)return 6;if(r<To)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Do(r,e,t=0){switch(Kt(r)){case 8:e[t++]=r&255|J,r/=128;case 7:e[t++]=r&255|J,r/=128;case 6:e[t++]=r&255|J,r/=128;case 5:e[t++]=r&255|J,r/=128;case 4:e[t++]=r&255|J,r>>>=7;case 3:e[t++]=r&255|J,r>>>=7;case 2:e[t++]=r&255|J,r>>>=7;case 1:{e[t++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return e}function zo(r,e){let t=r[e],n=0;if(n+=t&Re,t<J||(t=r[e+1],n+=(t&Re)<<7,t<J)||(t=r[e+2],n+=(t&Re)<<14,t<J)||(t=r[e+3],n+=(t&Re)<<21,t<J)||(t=r[e+4],n+=(t&Re)*Ao,t<J)||(t=r[e+5],n+=(t&Re)*Co,t<J)||(t=r[e+6],n+=(t&Re)*No,t<J)||(t=r[e+7],n+=(t&Re)*To,t<J))return n;throw new RangeError("Could not decode varint")}var ei=new Float32Array([-0]),$e=new Uint8Array(ei.buffer);function Fo(r,e,t){ei[0]=r,e[t]=$e[0],e[t+1]=$e[1],e[t+2]=$e[2],e[t+3]=$e[3]}function Lo(r,e){return $e[0]=r[e],$e[1]=r[e+1],$e[2]=r[e+2],$e[3]=r[e+3],ei[0]}var ti=new Float64Array([-0]),W=new Uint8Array(ti.buffer);function Po(r,e,t){ti[0]=r,e[t]=W[0],e[t+1]=W[1],e[t+2]=W[2],e[t+3]=W[3],e[t+4]=W[4],e[t+5]=W[5],e[t+6]=W[6],e[t+7]=W[7]}function Uo(r,e){return W[0]=r[e],W[1]=r[e+1],W[2]=r[e+2],W[3]=r[e+3],W[4]=r[e+4],W[5]=r[e+5],W[6]=r[e+6],W[7]=r[e+7],ti[0]}var Zu=BigInt(Number.MAX_SAFE_INTEGER),Qu=BigInt(Number.MIN_SAFE_INTEGER),ie=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 Ke;if(e<Zu&&e>Qu)return this.fromNumber(Number(e));let t=e<0n;t&&(e=-e);let n=e>>32n,i=e-(n<<32n);return t&&(n=~n|0n,i=~i|0n,++i>Oo&&(i=0n,++n>Oo&&(n=0n))),new r(Number(i),Number(n))}static fromNumber(e){if(e===0)return Ke;let t=e<0;t&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return t&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new r(n,i)}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):Ke}},Ke=new ie(0,0);Ke.toBigInt=function(){return 0n};Ke.zzEncode=Ke.zzDecode=function(){return this};Ke.length=function(){return 1};var Oo=4294967296n;function Ro(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 $o(r,e,t){if(t-e<1)return"";let i,o=[],s=0,a;for(;e<t;)a=r[e++],a<128?o[s++]=a:a>191&&a<224?o[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,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(r[e++]&63)<<6|r[e++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function ri(r,e,t){let n=t,i,o;for(let s=0;s<r.length;++s)i=r.charCodeAt(s),i<128?e[t++]=i:i<2048?(e[t++]=i>>6|192,e[t++]=i&63|128):(i&64512)===55296&&((o=r.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,e[t++]=i>>18|240,e[t++]=i>>12&63|128,e[t++]=i>>6&63|128,e[t++]=i&63|128):(e[t++]=i>>12|224,e[t++]=i>>6&63|128,e[t++]=i&63|128);return t-n}function we(r,e){return RangeError(`index out of range: ${r.pos} + ${e??1} > ${r.len}`)}function zr(r,e){return(r[e-4]|r[e-3]<<8|r[e-2]<<16|r[e-1]<<24)>>>0}var ni=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,we(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 we(this,4);return zr(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw we(this,4);return zr(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw we(this,4);let e=Lo(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw we(this,4);let e=Uo(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 we(this,e);return this.pos+=e,t===n?new Uint8Array(0):this.buf.subarray(t,n)}string(){let e=this.bytes();return $o(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw we(this,e);this.pos+=e}else do if(this.pos>=this.len)throw we(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 ie(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 we(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 we(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 we(this,8);let e=zr(this.buf,this.pos+=4),t=zr(this.buf,this.pos+=4);return new ie(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=zo(this.buf,this.pos);return this.pos+=Kt(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 ii(r){return new ni(r instanceof Uint8Array?r:r.subarray())}function Xt(r,e,t){let n=ii(r);return e.decode(n,void 0,t)}var oi={};q(oi,{base10:()=>ef});var ef=Ue({prefix:"9",name:"base10",alphabet:"0123456789"});var si={};q(si,{base16:()=>tf,base16upper:()=>rf});var tf=L({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),rf=L({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ai={};q(ai,{base2:()=>nf});var nf=L({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ci={};q(ci,{base256emoji:()=>uf});var Ho=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}"),of=Ho.reduce((r,e,t)=>(r[t]=e,r),[]),sf=Ho.reduce((r,e,t)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return r[n]=t,r},[]);function af(r){return r.reduce((e,t)=>(e+=of[t],e),"")}function cf(r){let e=[];for(let t of r){let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);let i=sf[n];if(i==null)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}var uf=ft({prefix:"\u{1F680}",name:"base256emoji",encode:af,decode:cf});var ui={};q(ui,{base64:()=>Jt,base64pad:()=>ff,base64url:()=>lf,base64urlpad:()=>hf});var Jt=L({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ff=L({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),lf=L({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),hf=L({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var fi={};q(fi,{base8:()=>df});var df=L({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var li={};q(li,{identity:()=>pf});var pf=ft({prefix:"\0",name:"identity",encode:r=>Mn(r),decode:r=>$n(r)});var Hp=new TextEncoder,mf=new TextDecoder;var Vo=512;function jo(r){return JSON.parse(mf.decode(r))}var Ie={};q(Ie,{code:()=>Q,decode:()=>wf,encode:()=>gf,name:()=>yf});var yf="raw",Q=85;function gf(r){return le(r)}function wf(r){return le(r)}var pi={};q(pi,{identity:()=>di});var Go=0,xf="identity",qo=le;function bf(r){return We(Go,qo(r))}var di={code:Go,name:xf,encode:qo,digest:bf};var yi={};q(yi,{sha256:()=>oe,sha512:()=>_f});function Xe({name:r,code:e,encode:t}){return new mi(r,e,t)}var mi=class{name;code;encode;constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?We(this.code,t):t.then(n=>We(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Ko(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var oe=Xe({name:"sha2-256",code:18,encode:Ko("SHA-256")}),_f=Xe({name:"sha2-512",code:19,encode:Ko("SHA-512")});var gi={...li,...ai,...fi,...oi,...si,...qn,...Wn,...Kn,...ui,...ci},tm={...yi,...pi};function Jo(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var Xo=Jo("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),wi=Jo("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=ne(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Sf={utf8:Xo,"utf-8":Xo,hex:gi.base16,latin1:wi,ascii:wi,binary:wi,...gi},Fr=Sf;function U(r,e="utf8"){let t=Fr[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.decoder.decode(`${t.prefix}${r}`)}function xi(r){let e=r??8192,t=e>>>1,n,i=e;return function(s){if(s<1||s>t)return ne(s);i+s>e&&(n=ne(e),i=0);let a=n.subarray(i,i+=s);return(i&7)!==0&&(i=(i|7)+1),a}}var Je=class{fn;len;next;val;constructor(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}};function bi(){}var Si=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},kf=xi();function Ef(r){return globalThis.Buffer!=null?ne(r):kf(r)}var Zt=class{len;head;tail;states;constructor(){this.len=0,this.head=new Je(bi,0,0),this.tail=this.head,this.states=null}_push(e,t,n){return this.tail=this.tail.next=new Je(e,t,n),this.len+=t,this}uint32(e){return this.len+=(this.tail=this.tail.next=new ki((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(Lr,10,ie.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let t=ie.fromBigInt(e);return this._push(Lr,t.length(),t)}uint64Number(e){return this._push(Do,Kt(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=ie.fromBigInt(e).zzEncode();return this._push(Lr,t.length(),t)}sint64Number(e){let t=ie.fromNumber(e).zzEncode();return this._push(Lr,t.length(),t)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(_i,1,e?1:0)}fixed32(e){return this._push(Yt,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let t=ie.fromBigInt(e);return this._push(Yt,4,t.lo)._push(Yt,4,t.hi)}fixed64Number(e){let t=ie.fromNumber(e);return this._push(Yt,4,t.lo)._push(Yt,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(Fo,4,e)}double(e){return this._push(Po,8,e)}bytes(e){let t=e.length>>>0;return t===0?this._push(_i,1,0):this.uint32(t)._push(vf,t,e)}string(e){let t=Ro(e);return t!==0?this.uint32(t)._push(ri,t,e):this._push(_i,1,0)}fork(){return this.states=new Si(this),this.head=this.tail=new Je(bi,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 Je(bi,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=Ef(this.len),n=0;for(;e!=null;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t}};function _i(r,e,t){e[t]=r&255}function Bf(r,e,t){for(;r>127;)e[t++]=r&127|128,r>>>=7;e[t]=r}var ki=class extends Je{next;constructor(e,t){super(Bf,e,t),this.next=void 0}};function Lr(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 Yt(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 vf(r,e,t){e.set(r,t)}globalThis.Buffer!=null&&(Zt.prototype.bytes=function(r){let e=r.length>>>0;return this.uint32(e),e>0&&this._push(If,e,r),this},Zt.prototype.string=function(r){let e=globalThis.Buffer.byteLength(r);return this.uint32(e),e>0&&this._push(Af,e,r),this});function If(r,e,t){e.set(r,t)}function Af(r,e,t){r.length<40?ri(r,e,t):e.utf8Write!=null?e.utf8Write(r,t):e.set(U(r),t)}function Ei(){return new Zt}function Qt(r,e){let t=Ei();return e.encode(r,t,{lengthDelimited:!1}),t.finish()}var yt;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(yt||(yt={}));function Pr(r,e,t,n){return{name:r,type:e,encode:t,decode:n}}function Bi(r){function e(i){if(r[i.toString()]==null)throw new Error("Invalid enum value");return r[i]}let t=function(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return Pr("enum",yt.VARINT,t,n)}function er(r,e){return Pr("message",yt.LENGTH_DELIMITED,r,e)}var xe;(function(r){let e;(function(i){i.Raw="Raw",i.Directory="Directory",i.File="File",i.Metadata="Metadata",i.Symlink="Symlink",i.HAMTShard="HAMTShard"})(e=r.DataType||(r.DataType={}));let t;(function(i){i[i.Raw=0]="Raw",i[i.Directory=1]="Directory",i[i.File=2]="File",i[i.Metadata=3]="Metadata",i[i.Symlink=4]="Symlink",i[i.HAMTShard=5]="HAMTShard"})(t||(t={})),function(i){i.codec=()=>Bi(t)}(e=r.DataType||(r.DataType={}));let n;r.codec=()=>(n==null&&(n=er((i,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),i.Type!=null&&(o.uint32(8),r.DataType.codec().encode(i.Type,o)),i.Data!=null&&(o.uint32(18),o.bytes(i.Data)),i.filesize!=null&&(o.uint32(24),o.uint64(i.filesize)),i.blocksizes!=null)for(let a of i.blocksizes)o.uint32(32),o.uint64(a);i.hashType!=null&&(o.uint32(40),o.uint64(i.hashType)),i.fanout!=null&&(o.uint32(48),o.uint64(i.fanout)),i.mode!=null&&(o.uint32(56),o.uint32(i.mode)),i.mtime!=null&&(o.uint32(66),Ur.codec().encode(i.mtime,o)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={blocksizes:[]},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let u=i.uint32();switch(u>>>3){case 1:s.Type=r.DataType.codec().decode(i);break;case 2:s.Data=i.bytes();break;case 3:s.filesize=i.uint64();break;case 4:s.blocksizes.push(i.uint64());break;case 5:s.hashType=i.uint64();break;case 6:s.fanout=i.uint64();break;case 7:s.mode=i.uint32();break;case 8:s.mtime=Ur.codec().decode(i,i.uint32());break;default:i.skipType(u&7);break}}return s})),n),r.encode=i=>Qt(i,r.codec()),r.decode=i=>Xt(i,r.codec())})(xe||(xe={}));var Ur;(function(r){let e;r.codec=()=>(e==null&&(e=er((t,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),t.Seconds!=null&&(n.uint32(8),n.int64(t.Seconds)),t.FractionalNanoseconds!=null&&(n.uint32(21),n.fixed32(t.FractionalNanoseconds)),i.lengthDelimited!==!1&&n.ldelim()},(t,n)=>{let i={},o=n==null?t.len:t.pos+n;for(;t.pos<o;){let s=t.uint32();switch(s>>>3){case 1:i.Seconds=t.int64();break;case 2:i.FractionalNanoseconds=t.fixed32();break;default:t.skipType(s&7);break}}return i})),e),r.encode=t=>Qt(t,r.codec()),r.decode=t=>Xt(t,r.codec())})(Ur||(Ur={}));var Yo;(function(r){let e;r.codec=()=>(e==null&&(e=er((t,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),t.MimeType!=null&&(n.uint32(10),n.string(t.MimeType)),i.lengthDelimited!==!1&&n.ldelim()},(t,n)=>{let i={},o=n==null?t.len:t.pos+n;for(;t.pos<o;){let s=t.uint32();switch(s>>>3){case 1:i.MimeType=t.string();break;default:t.skipType(s&7);break}}return i})),e),r.encode=t=>Qt(t,r.codec()),r.decode=t=>Xt(t,r.codec())})(Yo||(Yo={}));var Zo={Raw:"raw",Directory:"directory",File:"file",Metadata:"metadata",Symlink:"symlink",HAMTShard:"hamt-sharded-directory"},Cf=["directory","hamt-sharded-directory"],Qo=parseInt("0644",8),es=parseInt("0755",8),ts=BigInt(1024),v=class r{static unmarshal(e){let t=xe.decode(e);if(t.fanout!=null&&t.fanout>ts)throw new Dr(`Fanout size was too large - ${t.fanout} > ${ts}`);let n=new r({type:Zo[t.Type!=null?t.Type.toString():"File"],data:t.Data,blockSizes:t.blocksizes,mode:t.mode,mtime:t.mtime!=null?{secs:t.mtime.Seconds??0n,nsecs:t.mtime.FractionalNanoseconds}:void 0,fanout:t.fanout});return n._originalMode=t.mode??0,n}type;data;blockSizes;hashType;fanout;mtime;_mode;_originalMode;constructor(e={type:"file"}){let{type:t,data:n,blockSizes:i,hashType:o,fanout:s,mtime:a,mode:u}=e;if(t!=null&&!Object.values(Zo).includes(t))throw new Wt("Type: "+t+" is not valid");this.type=t??"file",this.data=n,this.hashType=o,this.fanout=s,this.blockSizes=i??[],this._originalMode=0,this.mode=u,this.mtime=a}set mode(e){e==null?this._mode=this.isDirectory()?es:Qo:this._mode=e&4095}get mode(){return this._mode}isDirectory(){return Cf.includes(this.type)}addBlockSize(e){this.blockSizes.push(e)}removeBlockSize(e){this.blockSizes.splice(e,1)}fileSize(){if(this.isDirectory())return 0n;let e=0n;return this.blockSizes.forEach(t=>{e+=t}),this.data!=null&&(e+=BigInt(this.data.length)),e}marshal(){let e;switch(this.type){case"raw":e=xe.DataType.Raw;break;case"directory":e=xe.DataType.Directory;break;case"file":e=xe.DataType.File;break;case"metadata":e=xe.DataType.Metadata;break;case"symlink":e=xe.DataType.Symlink;break;case"hamt-sharded-directory":e=xe.DataType.HAMTShard;break;default:throw new Wt(`Type: ${e} is not valid`)}let t=this.data;(this.data==null||this.data.length===0)&&(t=void 0);let n;this.mode!=null&&(n=this._originalMode&4294963200|(this.mode??0),n===Qo&&!this.isDirectory()&&(n=void 0),n===es&&this.isDirectory()&&(n=void 0));let i;return this.mtime!=null&&(i={Seconds:this.mtime.secs,FractionalNanoseconds:this.mtime.nsecs}),xe.encode({Type:e,Data:t,filesize:this.isDirectory()?void 0:this.fileSize(),blocksizes:this.blockSizes,hashType:this.hashType,fanout:this.fanout,mode:n,mtime:i})}};var O=class extends Event{type;detail;constructor(e,t){super(e),this.type=e,this.detail=t}};var be=async(r,e,t)=>{t.codec==null&&(t.codec=M);let n=await oe.digest(r),i=A.create(t.cidVersion,t.codec.code,n);return await e.put(i,r,t),i};function rs(r){return async function*(t,n){let i=0n;for await(let o of t.content)yield async()=>{let s,a={codec:M,cidVersion:r.cidVersion,onProgress:r.onProgress};r.rawLeaves?(a.codec=Ie,a.cidVersion=1):(s=new v({type:r.leafType,data:o}),o=T({Data:s.marshal(),Links:[]}));let u=await be(o,n,a);return i+=BigInt(o.byteLength),r.onProgress?.(new O("unixfs:importer:progress:file:write",{bytesWritten:i,cid:u,path:t.path})),{cid:u,unixfs:s,size:BigInt(o.length),block:o}}}}var Or=class r extends Error{static name="InvalidParametersError";static code="ERR_INVALID_PARAMS";name=r.name;code=r.code;constructor(e="Invalid parameters"){super(e)}};var Me=class r extends Error{static name="InvalidContentError";static code="ERR_INVALID_CONTENT";name=r.name;code=r.code;constructor(e="Invalid content"){super(e)}};var ns=async(r,e,t)=>{let n=new v({type:"directory",mtime:r.mtime,mode:r.mode}),i=T(P({Data:n.marshal()})),o=await be(i,e,t),s=r.path;return{cid:o,path:s,unixfs:n,size:BigInt(i.length),originalPath:r.originalPath,block:i}};async function*Nf(r,e,t){let n=-1,i;for await(let o of $t(t.bufferImporter(r,e),t.blockWriteConcurrency)){if(n++,n===0){i={...o,single:!0};continue}else n===1&&i!=null&&(yield{...i,block:void 0,single:void 0},i=void 0);yield{...o,block:void 0}}i!=null&&(yield i)}function is(r){return r.single===!0}var Tf=(r,e,t)=>async function(i){if(i.length===1&&is(i[0])&&t.reduceSingleLeafToSelf){let f=i[0],l=f.block;return is(f)&&(r.mtime!==void 0||r.mode!==void 0)&&(f.unixfs=new v({type:"file",mtime:r.mtime,mode:r.mode,data:f.block}),l={Data:f.unixfs.marshal(),Links:[]},f.block=T(P(l)),f.cid=await be(f.block,e,{...t,cidVersion:t.cidVersion}),f.size=BigInt(f.block.length)),t.onProgress?.(new O("unixfs:importer:progress:file:layout",{cid:f.cid,path:f.originalPath})),{cid:f.cid,path:r.path,unixfs:f.unixfs,size:f.size,originalPath:f.originalPath}}let o=new v({type:"file",mtime:r.mtime,mode:r.mode}),s=i.filter(f=>f.cid.code===Q&&f.size>0||f.unixfs!=null&&f.unixfs.data==null&&f.unixfs.fileSize()>0n?!0:!!f.unixfs?.data?.length).map(f=>f.cid.code===Q?(o.addBlockSize(f.size),{Name:"",Tsize:Number(f.size),Hash:f.cid}):(f.unixfs?.data==null?o.addBlockSize(f.unixfs?.fileSize()??0n):o.addBlockSize(BigInt(f.unixfs.data.length)),{Name:"",Tsize:Number(f.size),Hash:f.cid})),a={Data:o.marshal(),Links:s},u=T(P(a)),h=await be(u,e,t);return t.onProgress?.(new O("unixfs:importer:progress:file:layout",{cid:h,path:r.originalPath})),{cid:h,path:r.path,unixfs:o,size:BigInt(u.length+a.Links.reduce((f,l)=>f+(l.Tsize??0),0)),originalPath:r.originalPath,block:u}},os=async(r,e,t)=>t.layout(Nf(r,e,t),Tf(r,e,t));function Df(r){return Symbol.iterator in r}function zf(r){return Symbol.asyncIterator in r}function Ff(r){try{if(r instanceof Uint8Array)return async function*(){yield r}();if(Df(r))return async function*(){yield*r}();if(zf(r))return r}catch{throw new Me("Content was invalid")}throw new Me("Content was invalid")}function ss(r){return async function*(t,n){for await(let i of t){let o;if(i.path!=null&&(o=i.path,i.path=i.path.split("/").filter(s=>s!=null&&s!==".").join("/")),Lf(i)){let s={path:i.path,mtime:i.mtime,mode:i.mode,content:async function*(){let u=0n;for await(let h of r.chunker(r.chunkValidator(Ff(i.content)))){let f=BigInt(h.byteLength);u+=f,r.onProgress?.(new O("unixfs:importer:progress:file:read",{bytesRead:u,chunkSize:f,path:i.path})),yield h}}(),originalPath:o},a=r.fileBuilder??os;yield async()=>a(s,n,r)}else if(i.path!=null){let s={path:i.path,mtime:i.mtime,mode:i.mode,originalPath:o},a=r.dirBuilder??ns;yield async()=>a(s,n,r)}else throw new Error("Import candidate must have content or path or both")}}}function Lf(r){return r.content!=null}var as=()=>async function*(e){for await(let t of e){if(t.length===void 0)throw new Me("Content was invalid");if(typeof t=="string"||t instanceof String)yield U(t.toString());else if(Array.isArray(t))yield Uint8Array.from(t);else if(t instanceof Uint8Array)yield t;else throw new Me("Content was invalid")}};var Pf=174;function tr(r){let e=r?.maxChildrenPerNode??Pf;return async function t(n,i){let o=[];for await(let s of vr(n,e))o.push(await i(s));return o.length>1?t(o,i):o[0]}}function Uf(r){return r[Symbol.asyncIterator]!=null}function Of(r){if(Uf(r))return(async()=>{let t=[];for await(let n of r)t.push(n);return t})();let e=[];for(let t of r)e.push(t);return e}var cs=Of;var Ae=class{options;root;dir;path;dirty;flat;parent;parentKey;unixfs;mode;mtime;cid;size;nodeSize;constructor(e,t){this.options=t??{},this.root=e.root,this.dir=e.dir,this.path=e.path,this.dirty=e.dirty,this.flat=e.flat,this.parent=e.parent,this.parentKey=e.parentKey,this.unixfs=e.unixfs,this.mode=e.mode,this.mtime=e.mtime}},rr=A.parse("QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn"),nr=A.parse("zdj7WbTaiJT1fgatdet9Ei9iDB5hdCxkbVyhyh8YTUnXMiwYi");var Ye=class extends Ae{_children;constructor(e,t){super(e,t),this._children=new Map}async put(e,t){this.cid=void 0,this.size=void 0,this.nodeSize=void 0,this._children.set(e,t)}async get(e){return Promise.resolve(this._children.get(e))}childCount(){return this._children.size}directChildrenCount(){return this.childCount()}onlyChild(){return this._children.values().next().value}*eachChildSeries(){for(let[e,t]of this._children.entries())yield{key:e,child:t}}estimateNodeSize(){if(this.nodeSize!==void 0)return this.nodeSize;this.nodeSize=0;for(let[e,t]of this._children.entries())t.size!=null&&t.cid!=null&&(this.nodeSize+=e.length+(this.options.cidVersion===1?nr.bytes.byteLength:rr.bytes.byteLength));return this.nodeSize}async*flush(e){let t=[];for(let[u,h]of this._children.entries()){let f=h;if(h instanceof Ae)for await(let l of h.flush(e))f=l,yield l;f.size!=null&&f.cid!=null&&t.push({Name:u,Tsize:Number(f.size),Hash:f.cid})}let n=new v({type:"directory",mtime:this.mtime,mode:this.mode}),i={Data:n.marshal(),Links:t},o=T(P(i)),s=await be(o,e,this.options),a=o.length+i.Links.reduce((u,h)=>u+(h.Tsize??0),0);this.cid=s,this.size=a,yield{cid:s,unixfs:n,path:this.path,size:BigInt(a)}}};var $r=Rt(ls(),1);function Rf(r){let e=new Array(4);for(let t=0;t<4;t++)e[t]=r&255,r=r>>8;return new Uint8Array(e)}var B0=Xe({name:"murmur3-32",code:35,encode:r=>Rf($r.default.x86.hash32(r))}),Ze=Xe({name:"murmur3-128",code:34,encode:r=>ut.fromHex($r.default.x64.hash128(r))}),v0=Xe({name:"murmur3-x64-64",code:34,encode:r=>ut.fromHex($r.default.x64.hash128(r)).subarray(0,8)});var ps=Rt(Mr(),1);var se=class r{_options;_popCount;_parent;_posAtParent;_children;key;constructor(e,t,n=0){this._options=e,this._popCount=0,this._parent=t,this._posAtParent=n,this._children=new ps.default,this.key=null}async put(e,t){let n=await this._findNewBucketAndPos(e);n.bucket._putAt(n,e,t)}async get(e){let t=await this._findChild(e);if(t!=null)return t.value}async del(e){let t=await this._findPlace(e),n=t.bucket._at(t.pos);n!=null&&n.key===e&&t.bucket._delAt(t.pos)}leafCount(){return this._children.compactArray().reduce((t,n)=>n instanceof r?t+n.leafCount():t+1,0)}childrenCount(){return this._children.length}onlyChild(){return this._children.get(0)}*eachLeafSeries(){let e=this._children.compactArray();for(let t of e)t instanceof r?yield*t.eachLeafSeries():yield t}serialize(e,t){let n=[];return t(this._children.reduce((i,o,s)=>(o!=null&&(o instanceof r?i.push(o.serialize(e,t)):i.push(e(o,s))),i),n))}async asyncTransform(e,t){return ms(this,e,t)}toJSON(){return this.serialize(jf,Gf)}prettyPrint(){return JSON.stringify(this.toJSON(),null," ")}tableSize(){return Math.pow(2,this._options.bits)}async _findChild(e){let t=await this._findPlace(e),n=t.bucket._at(t.pos);if(!(n instanceof r)&&n!=null&&n.key===e)return n}async _findPlace(e){let t=this._options.hash(typeof e=="string"?U(e):e),n=await t.take(this._options.bits),i=this._children.get(n);return i instanceof r?i._findPlace(t):{bucket:this,pos:n,hash:t,existingChild:i}}async _findNewBucketAndPos(e){let t=await this._findPlace(e);if(t.existingChild!=null&&t.existingChild.key!==e){let n=new r(this._options,t.bucket,t.pos);t.bucket._putObjectAt(t.pos,n);let i=await n._findPlace(t.existingChild.hash);return i.bucket._putAt(i,t.existingChild.key,t.existingChild.value),n._findNewBucketAndPos(t.hash)}return t}_putAt(e,t,n){this._putObjectAt(e.pos,{key:t,value:n,hash:e.hash})}_putObjectAt(e,t){this._children.get(e)==null&&this._popCount++,this._children.set(e,t)}_delAt(e){if(e===-1)throw new Error("Invalid position");this._children.get(e)!=null&&this._popCount--,this._children.unset(e),this._level()}_level(){if(this._parent!=null&&this._popCount<=1)if(this._popCount===1){let e=this._children.find(Vf);if(e!=null&&!(e instanceof r)){let t=e.hash;t.untake(this._options.bits);let n={pos:this._posAtParent,hash:t,bucket:this._parent};this._parent._putAt(n,e.key,e.value)}}else this._parent._delAt(this._posAtParent)}_at(e){return this._children.get(e)}};function Vf(r){return!!r}function jf(r,e){return r.key}function Gf(r){return r}async function ms(r,e,t){let n=[];for(let i of r._children.compactArray())if(i instanceof se)await ms(i,e,t);else{let o=await e(i);n.push({bitField:r._children.bitField(),children:o})}return t(n)}var qf=[255,254,252,248,240,224,192,128],Wf=[1,3,7,15,31,63,127,255],Hr=class{_value;_currentBytePos;_currentBitPos;constructor(e){this._value=e,this._currentBytePos=e.length-1,this._currentBitPos=7}availableBits(){return this._currentBitPos+1+this._currentBytePos*8}totalBits(){return this._value.length*8}take(e){let t=e,n=0;for(;t>0&&this._haveBits();){let i=this._value[this._currentBytePos],o=this._currentBitPos+1,s=Math.min(o,t),a=Kf(i,o-s,s);n=(n<<s)+a,t-=s,this._currentBitPos-=s,this._currentBitPos<0&&(this._currentBitPos=7,this._currentBytePos--)}return n}untake(e){for(this._currentBitPos+=e;this._currentBitPos>7;)this._currentBitPos-=8,this._currentBytePos+=1}_haveBits(){return this._currentBytePos>=0}};function Kf(r,e,t){let n=Xf(e,t);return(r&n)>>>e}function Xf(r,e){return qf[r]&Wf[Math.min(e+r-1,7)]}function ys(r){function e(t){return t instanceof Vr?t:new Vr(t,r)}return e}var Vr=class{_value;_hashFn;_depth;_availableBits;_currentBufferIndex;_buffers;constructor(e,t){if(!(e instanceof Uint8Array))throw new Error("can only hash Uint8Arrays");this._value=e,this._hashFn=t,this._depth=-1,this._availableBits=0,this._currentBufferIndex=0,this._buffers=[]}async take(e){let t=e;for(;this._availableBits<t;)await this._produceMoreBits();let n=0;for(;t>0;){let i=this._buffers[this._currentBufferIndex],o=Math.min(i.availableBits(),t),s=i.take(o);n=(n<<o)+s,t-=o,this._availableBits-=o,i.availableBits()===0&&this._currentBufferIndex++}return n}untake(e){let t=e;for(;t>0;){let n=this._buffers[this._currentBufferIndex],i=Math.min(n.totalBits()-n.availableBits(),t);n.untake(i),t-=i,this._availableBits+=i,this._currentBufferIndex>0&&n.totalBits()===n.availableBits()&&(this._depth--,this._currentBufferIndex--)}}async _produceMoreBits(){this._depth++;let e=this._depth>0?qe([this._value,Uint8Array.from([this._depth])]):this._value,t=await this._hashFn(e),n=new Hr(t);this._buffers.push(n),this._availableBits+=n.availableBits()}};function gt(r){if(r==null||r.hashFn==null)throw new Error("please define an options.hashFn");let e={bits:r.bits??8,hash:ys(r.hashFn)};return new se(e)}async function Jf(r){return(await Ze.encode(r)).slice(0,8).reverse()}var gs=BigInt(34),Yf=8,vi=class extends Ae{_bucket;constructor(e,t){super(e,t),this._bucket=gt({hashFn:Jf,bits:t.shardFanoutBits??Yf})}async put(e,t){this.cid=void 0,this.size=void 0,this.nodeSize=void 0,await this._bucket.put(e,t)}async get(e){return this._bucket.get(e)}childCount(){return this._bucket.leafCount()}directChildrenCount(){return this._bucket.childrenCount()}onlyChild(){return this._bucket.onlyChild()}*eachChildSeries(){for(let{key:e,value:t}of this._bucket.eachLeafSeries())yield{key:e,child:t}}estimateNodeSize(){return this.nodeSize!==void 0?this.nodeSize:(this.nodeSize=bs(this._bucket,this,this.options),this.nodeSize)}async*flush(e){for await(let t of xs(this._bucket,e,this,this.options))yield{...t,path:this.path}}},ws=vi;async function*xs(r,e,t,n){let i=r._children,o=(r.tableSize()-1).toString(16).length,s=[],a=0n;for(let d=0;d<i.length;d++){let m=i.get(d);if(m==null)continue;let x=d.toString(16).toUpperCase().padStart(o,"0");if(m instanceof se){let g;for await(let w of xs(m,e,null,n))g=w;if(g==null)throw new Error("Could not flush sharded directory, no subshard found");s.push({Name:x,Tsize:Number(g.size),Hash:g.cid}),a+=g.size}else if(Zf(m.value)){let g=m.value,w;for await(let S of g.flush(e))w=S,yield w;if(w==null)throw new Error("Did not flush dir");let b=x+m.key;s.push({Name:b,Tsize:Number(w.size),Hash:w.cid}),a+=w.size}else{let g=m.value;if(g.cid==null)continue;let w=x+m.key,b=g.size;s.push({Name:w,Tsize:Number(b),Hash:g.cid}),a+=BigInt(b??0)}}let u=Uint8Array.from(i.bitField().reverse()),h=new v({type:"hamt-sharded-directory",data:u,fanout:BigInt(r.tableSize()),hashType:gs,mtime:t?.mtime,mode:t?.mode}),f={Data:h.marshal(),Links:s},l=T(P(f)),y=await be(l,e,n),c=BigInt(l.byteLength)+a;yield{cid:y,unixfs:h,size:c}}function Zf(r){return typeof r.flush=="function"}function bs(r,e,t){let n=r._children,i=(r.tableSize()-1).toString(16).length,o=[];for(let h=0;h<n.length;h++){let f=n.get(h);if(f==null)continue;let l=h.toString(16).toUpperCase().padStart(i,"0");if(f instanceof se){let y=bs(f,null,t);o.push({Name:l,Tsize:Number(y),Hash:t.cidVersion===0?rr:nr})}else if(typeof f.value.flush=="function"){let c=f.value.nodeSize();o.push({Name:l+f.key,Tsize:Number(c),Hash:t.cidVersion===0?rr:nr})}else{let y=f.value;if(y.cid==null)continue;let c=l+f.key,d=y.size;o.push({Name:c,Tsize:Number(d),Hash:y.cid})}}let s=Uint8Array.from(n.bitField().reverse()),a=new v({type:"hamt-sharded-directory",data:s,fanout:BigInt(r.tableSize()),hashType:gs,mtime:e?.mtime,mode:e?.mode});return T(P({Data:a.marshal(),Links:o})).length}async function Ii(r,e,t,n){let i=e;e instanceof Ye&&e.estimateNodeSize()>t&&(i=await Qf(e,n));let o=i.parent;if(o!=null){if(i!==e){if(r!=null&&(r.parent=i),i.parentKey==null)throw new Error("No parent key found");await o.put(i.parentKey,i)}return Ii(i,o,t,n)}return i}async function Qf(r,e){let t=new ws({root:r.root,dir:!0,parent:r.parent,parentKey:r.parentKey,path:r.path,dirty:r.dirty,flat:!1,mtime:r.mtime,mode:r.mode},e);for(let{key:n,child:i}of r.eachChildSeries())await t.put(n,i);return t}var _s=(r="")=>r.split(/(?<!\\)\//).filter(Boolean);async function el(r,e,t){let n=_s(r.path??""),i=n.length-1,o=e,s="";for(let a=0;a<n.length;a++){let u=n[a];s+=`${s!==""?"/":""}${u}`;let h=a===i;if(o.dirty=!0,o.cid=void 0,o.size=void 0,h)await o.put(u,r),e=await Ii(null,o,t.shardSplitThresholdBytes,t);else{let f=await o.get(u);(f==null||!(f instanceof Ae))&&(f=new Ye({root:!1,dir:!0,parent:o,parentKey:u,path:s,dirty:!0,flat:!0,mtime:f?.unixfs?.mtime,mode:f?.unixfs?.mode},t)),await o.put(u,f),o=f}}return e}async function*Ss(r,e){if(!(r instanceof Ae)){r.unixfs?.isDirectory()===!0&&(yield r);return}yield*r.flush(e)}function ks(r){return async function*(t,n){let i=new Ye({root:!0,dir:!0,path:"",dirty:!0,flat:!0},r),o,s=!1;for await(let a of t){if(a==null)continue;let u=`${a.originalPath??""}`.split("/")[0];u!=null&&u!==""&&(o==null?(o=u,s=!0):o!==u&&(s=!1)),i=await el(a,i,r),a.unixfs?.isDirectory()!==!0&&(yield a)}if(r.wrapWithDirectory||s&&i.childCount()>1)yield*Ss(i,n);else for(let a of i.eachChildSeries())a!=null&&(yield*Ss(a.child,n))}}async function*Qe(r,e,t={}){let n;Symbol.asyncIterator in r||Symbol.iterator in r?n=r:n=[r];let i=t.wrapWithDirectory??!1,o=t.shardSplitThresholdBytes??262144,s=t.shardFanoutBits??8,a=t.cidVersion??1,u=t.rawLeaves??!0,h=t.leafType??"file",f=t.fileImportConcurrency??50,l=t.blockWriteConcurrency??10,y=t.reduceSingleLeafToSelf??!0,c=t.chunker??Mt(),d=t.chunkValidator??as(),m=t.dagBuilder??ss({chunker:c,chunkValidator:d,wrapWithDirectory:i,layout:t.layout??tr(),bufferImporter:t.bufferImporter??rs({cidVersion:a,rawLeaves:u,leafType:h,onProgress:t.onProgress}),blockWriteConcurrency:l,reduceSingleLeafToSelf:y,cidVersion:a,onProgress:t.onProgress,dirBuilder:t.dirBuilder,fileBuilder:t.fileBuilder}),x=t.treeBuilder??ks({wrapWithDirectory:i,shardSplitThresholdBytes:o,shardFanoutBits:s,cidVersion:a,onProgress:t.onProgress});for await(let g of x($t(m(n,e),f),e))yield{cid:g.cid,path:g.path,unixfs:g.unixfs,size:g.size}}async function Es(r,e,t={}){let n=await Br(Qe([r],e,t));if(n==null)throw new Or("Nothing imported");return n}async function Bs(r,e,t={}){return Es({content:r},e,t)}async function vs(r,e,t={}){return Es({content:r},e,t)}function tl(r){return r[Symbol.asyncIterator]!=null}function rl(r){if(tl(r))return(async()=>{let t;for await(let n of r)t=n;return t})();let e;for(let t of r)e=t;return e}var _e=rl;var Se=class extends Error{name;code;constructor(e,t,n){super(e),this.name=t,this.code=n}},Ce=class extends Se{constructor(e="not a Unixfs node"){super(e,"NotUnixFSError","ERR_NOT_UNIXFS")}},ee=class extends Se{constructor(e="invalid PBNode"){super(e,"InvalidPBNodeError","ERR_INVALID_PB_NODE")}},He=class extends Se{constructor(e="unknown error"){super(e,"InvalidPBNodeError","ERR_UNKNOWN_ERROR")}},et=class extends Se{constructor(e="path already exists"){super(e,"AlreadyExistsError","ERR_ALREADY_EXISTS")}},Fe=class extends Se{constructor(e="path does not exist"){super(e,"DoesNotExistError","ERR_DOES_NOT_EXIST")}},wt=class extends Se{constructor(e="no content"){super(e,"NoContentError","ERR_NO_CONTENT")}},jr=class extends Se{constructor(e="not a file"){super(e,"NotAFileError","ERR_NOT_A_FILE")}},Ne=class extends Se{constructor(e="not a directory"){super(e,"NotADirectoryError","ERR_NOT_A_DIRECTORY")}},F=class extends Se{constructor(e="invalid parameters"){super(e,"InvalidParametersError","ERR_INVALID_PARAMETERS")}};var or={cidVersion:1,rawLeaves:!0,layout:tr({maxChildrenPerNode:1024}),chunker:Mt({chunkSize:1048576})};async function*Gr(r,e,t={}){yield*Qe(r,e,{...or,...t})}async function Is(r,e,t={}){let{cid:n}=await Bs(r,e,{...or,...t});return n}async function As(r,e,t={}){let{cid:n}=await vs(r,e,{...or,...t});return n}async function Cs(r,e,t={}){if(r.path==null)throw new F("path is required");if(r.content==null)throw new F("content is required");let n=await _e(Gr([r],e,{...or,...t,wrapWithDirectory:!0}));if(n==null)throw new F("Nothing imported");return n.cid}async function Ns(r,e,t={}){if(r.content!=null)throw new F("Directories cannot have content, use addFile instead");let i=await(r.path==null?Br:_e)(Gr([{...r,path:r.path??"-"}],e,{...or,...t,wrapWithDirectory:r.path!=null}));if(i==null)throw new F("Nothing imported");return i.cid}function xt(r){if(typeof r!="object"||r===null)return!1;let e=Object.getPrototypeOf(r);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in r)&&!(Symbol.iterator in r)}var{hasOwnProperty:Ds}=Object.prototype,{propertyIsEnumerable:nl}=Object,bt=(r,e,t)=>{Object.defineProperty(r,e,{value:t,writable:!0,enumerable:!0,configurable:!0})},il=void 0,Ts={concatArrays:!1,ignoreUndefined:!1},qr=r=>{let e=[];for(let t in r)Ds.call(r,t)&&e.push(t);if(Object.getOwnPropertySymbols){let t=Object.getOwnPropertySymbols(r);for(let n of t)nl.call(r,n)&&e.push(n)}return e};function _t(r){return Array.isArray(r)?ol(r):xt(r)?sl(r):r}function ol(r){let e=r.slice(0,0);return qr(r).forEach(t=>{bt(e,t,_t(r[t]))}),e}function sl(r){let e=Object.getPrototypeOf(r)===null?Object.create(null):{};return qr(r).forEach(t=>{bt(e,t,_t(r[t]))}),e}var zs=(r,e,t,n)=>(t.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in r&&r[i]!==Object.getPrototypeOf(r)?bt(r,i,Ai(r[i],e[i],n)):bt(r,i,_t(e[i])))}),r),al=(r,e,t)=>{let n=r.slice(0,0),i=0;return[r,e].forEach(o=>{let s=[];for(let a=0;a<o.length;a++)Ds.call(o,a)&&(s.push(String(a)),o===r?bt(n,i++,o[a]):bt(n,i++,_t(o[a])));n=zs(n,o,qr(o).filter(a=>!s.includes(a)),t)}),n};function Ai(r,e,t){return t.concatArrays&&Array.isArray(r)&&Array.isArray(e)?al(r,e,t):!xt(e)||!xt(r)?_t(e):zs(r,e,qr(e),t)}function K(...r){let e=Ai(_t(Ts),this!==il&&this||{},Ts),t={_:{}};for(let n of r)if(n!==void 0){if(!xt(n))throw new TypeError("`"+n+"` is not an Option Object");t=Ai(t,{_:n},e)}return t._}var Wr=class r extends Error{static name="BadPathError";static code="ERR_BAD_PATH";name=r.name;code=r.code;constructor(e="Bad path"){super(e)}},de=class r extends Error{static name="NotFoundError";static code="ERR_NOT_FOUND";name=r.name;code=r.code;constructor(e="Not found"){super(e)}},Kr=class r extends Error{static name="NoResolverError";static code="ERR_NO_RESOLVER";name=r.name;code=r.code;constructor(e="No resolver"){super(e)}},H=class r extends Error{static name="NotUnixFSError";static code="ERR_NOT_UNIXFS";name=r.name;code=r.code;constructor(e="Not UnixFS"){super(e)}},Xr=class r extends Error{static name="OverReadError";static code="ERR_OVER_READ";name=r.name;code=r.code;constructor(e="Over read"){super(e)}},Jr=class r extends Error{static name="UnderReadError";static code="ERR_UNDER_READ";name=r.name;code=r.code;constructor(e="Under read"){super(e)}},Yr=class r extends Error{static name="NoPropError";static code="ERR_NO_PROP";name=r.name;code=r.code;constructor(e="No Property found"){super(e)}},tt=class r extends Error{static name="InvalidParametersError";static code="ERR_INVALID_PARAMS";name=r.name;code=r.code;constructor(e="Invalid parameters"){super(e)}};var cl=["string","number","bigint","symbol"],ul=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Fs(r){if(r===null)return"null";if(r===void 0)return"undefined";if(r===!0||r===!1)return"boolean";let e=typeof r;if(cl.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(r))return"Array";if(fl(r))return"Buffer";let t=ll(r);return t||"Object"}function fl(r){return r&&r.constructor&&r.constructor.isBuffer&&r.constructor.isBuffer.call(null,r)}function ll(r){let e=Object.prototype.toString.call(r).slice(8,-1);if(ul.includes(e))return e}var p=class{constructor(e,t,n){this.major=e,this.majorEncoded=e<<5,this.name=t,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};p.uint=new p(0,"uint",!0);p.negint=new p(1,"negint",!0);p.bytes=new p(2,"bytes",!0);p.string=new p(3,"string",!0);p.array=new p(4,"array",!1);p.map=new p(5,"map",!1);p.tag=new p(6,"tag",!1);p.float=new p(7,"float",!0);p.false=new p(7,"false",!0);p.true=new p(7,"true",!0);p.null=new p(7,"null",!0);p.undefined=new p(7,"undefined",!0);p.break=new p(7,"break",!0);var _=class{constructor(e,t,n){this.type=e,this.value=t,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var St=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",hl=new TextDecoder,dl=new TextEncoder;function Zr(r){return St&&globalThis.Buffer.isBuffer(r)}function Qr(r){return r instanceof Uint8Array?Zr(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r:Uint8Array.from(r)}var Os=St?(r,e,t)=>t-e>64?globalThis.Buffer.from(r.subarray(e,t)).toString("utf8"):Ps(r,e,t):(r,e,t)=>t-e>64?hl.decode(r.subarray(e,t)):Ps(r,e,t),en=St?r=>r.length>64?globalThis.Buffer.from(r):Ls(r):r=>r.length>64?dl.encode(r):Ls(r);var kt=St?(r,e,t)=>Zr(r)?new Uint8Array(r.subarray(e,t)):r.slice(e,t):(r,e,t)=>r.slice(e,t),Rs=St?(r,e)=>(r=r.map(t=>t instanceof Uint8Array?t:globalThis.Buffer.from(t)),Qr(globalThis.Buffer.concat(r,e))):(r,e)=>{let t=new Uint8Array(e),n=0;for(let i of r)n+i.length>t.length&&(i=i.subarray(0,t.length-n)),t.set(i,n),n+=i.length;return t},$s=St?r=>globalThis.Buffer.allocUnsafe(r):r=>new Uint8Array(r);function Ms(r,e){if(Zr(r)&&Zr(e))return r.compare(e);for(let t=0;t<r.length;t++)if(r[t]!==e[t])return r[t]<e[t]?-1:1;return 0}function Ls(r){let e=[],t=0;for(let n=0;n<r.length;n++){let i=r.charCodeAt(n);i<128?e[t++]=i:i<2048?(e[t++]=i>>6|192,e[t++]=i&63|128):(i&64512)===55296&&n+1<r.length&&(r.charCodeAt(n+1)&64512)===56320?(i=65536+((i&1023)<<10)+(r.charCodeAt(++n)&1023),e[t++]=i>>18|240,e[t++]=i>>12&63|128,e[t++]=i>>6&63|128,e[t++]=i&63|128):(e[t++]=i>>12|224,e[t++]=i>>6&63|128,e[t++]=i&63|128)}return e}function Ps(r,e,t){let n=[];for(;e<t;){let i=r[e],o=null,s=i>239?4:i>223?3:i>191?2:1;if(e+s<=t){let a,u,h,f;switch(s){case 1:i<128&&(o=i);break;case 2:a=r[e+1],(a&192)===128&&(f=(i&31)<<6|a&63,f>127&&(o=f));break;case 3:a=r[e+1],u=r[e+2],(a&192)===128&&(u&192)===128&&(f=(i&15)<<12|(a&63)<<6|u&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:a=r[e+1],u=r[e+2],h=r[e+3],(a&192)===128&&(u&192)===128&&(h&192)===128&&(f=(i&15)<<18|(a&63)<<12|(u&63)<<6|h&63,f>65535&&f<1114112&&(o=f))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),e+=s}return Ci(n)}var Us=4096;function Ci(r){let e=r.length;if(e<=Us)return String.fromCharCode.apply(String,r);let t="",n=0;for(;n<e;)t+=String.fromCharCode.apply(String,r.slice(n,n+=Us));return t}var pl=256,tn=class{constructor(e=pl){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(e){let t=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let i=t.length-(this.maxCursor-this.cursor)-1;t.set(e,i)}else{if(t){let i=t.length-(this.maxCursor-this.cursor)-1;i<t.length&&(this.chunks[this.chunks.length-1]=t.subarray(0,i),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(t=$s(this.chunkSize),this.chunks.push(t),this.maxCursor+=t.length,this._initReuseChunk===null&&(this._initReuseChunk=t),t.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let t;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(t=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):t=kt(n,0,this.cursor)}else t=Rs(this.chunks,this.cursor);return e&&this.reset(),t}};var B="CBOR decode error:",Et="CBOR encode error:",sr=[];sr[23]=1;sr[24]=2;sr[25]=3;sr[26]=5;sr[27]=9;function Le(r,e,t){if(r.length-e<t)throw new Error(`${B} not enough data for type`)}var V=[24,256,65536,4294967296,BigInt("18446744073709551616")];function ae(r,e,t){Le(r,e,1);let n=r[e];if(t.strict===!0&&n<V[0])throw new Error(`${B} integer encoded in more bytes than necessary (strict decode)`);return n}function ce(r,e,t){Le(r,e,2);let n=r[e]<<8|r[e+1];if(t.strict===!0&&n<V[1])throw new Error(`${B} integer encoded in more bytes than necessary (strict decode)`);return n}function ue(r,e,t){Le(r,e,4);let n=r[e]*16777216+(r[e+1]<<16)+(r[e+2]<<8)+r[e+3];if(t.strict===!0&&n<V[2])throw new Error(`${B} integer encoded in more bytes than necessary (strict decode)`);return n}function fe(r,e,t){Le(r,e,8);let n=r[e]*16777216+(r[e+1]<<16)+(r[e+2]<<8)+r[e+3],i=r[e+4]*16777216+(r[e+5]<<16)+(r[e+6]<<8)+r[e+7],o=(BigInt(n)<<BigInt(32))+BigInt(i);if(t.strict===!0&&o<V[3])throw new Error(`${B} integer encoded in more bytes than necessary (strict decode)`);if(o<=Number.MAX_SAFE_INTEGER)return Number(o);if(t.allowBigInt===!0)return o;throw new Error(`${B} integers outside of the safe integer range are not supported`)}function Hs(r,e,t,n){return new _(p.uint,ae(r,e+1,n),2)}function Vs(r,e,t,n){return new _(p.uint,ce(r,e+1,n),3)}function js(r,e,t,n){return new _(p.uint,ue(r,e+1,n),5)}function Gs(r,e,t,n){return new _(p.uint,fe(r,e+1,n),9)}function pe(r,e){return G(r,0,e.value)}function G(r,e,t){if(t<V[0]){let n=Number(t);r.push([e|n])}else if(t<V[1]){let n=Number(t);r.push([e|24,n])}else if(t<V[2]){let n=Number(t);r.push([e|25,n>>>8,n&255])}else if(t<V[3]){let n=Number(t);r.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(t);if(n<V[4]){let i=[e|27,0,0,0,0,0,0,0],o=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));i[8]=o&255,o=o>>8,i[7]=o&255,o=o>>8,i[6]=o&255,o=o>>8,i[5]=o&255,i[4]=s&255,s=s>>8,i[3]=s&255,s=s>>8,i[2]=s&255,s=s>>8,i[1]=s&255,r.push(i)}else throw new Error(`${B} encountered BigInt larger than allowable range`)}}pe.encodedSize=function(e){return G.encodedSize(e.value)};G.encodedSize=function(e){return e<V[0]?1:e<V[1]?2:e<V[2]?3:e<V[3]?5:9};pe.compareTokens=function(e,t){return e.value<t.value?-1:e.value>t.value?1:0};function qs(r,e,t,n){return new _(p.negint,-1-ae(r,e+1,n),2)}function Ws(r,e,t,n){return new _(p.negint,-1-ce(r,e+1,n),3)}function Ks(r,e,t,n){return new _(p.negint,-1-ue(r,e+1,n),5)}var Ni=BigInt(-1),Xs=BigInt(1);function Js(r,e,t,n){let i=fe(r,e+1,n);if(typeof i!="bigint"){let o=-1-i;if(o>=Number.MIN_SAFE_INTEGER)return new _(p.negint,o,9)}if(n.allowBigInt!==!0)throw new Error(`${B} integers outside of the safe integer range are not supported`);return new _(p.negint,Ni-BigInt(i),9)}function rn(r,e){let t=e.value,n=typeof t=="bigint"?t*Ni-Xs:t*-1-1;G(r,e.type.majorEncoded,n)}rn.encodedSize=function(e){let t=e.value,n=typeof t=="bigint"?t*Ni-Xs:t*-1-1;return n<V[0]?1:n<V[1]?2:n<V[2]?3:n<V[3]?5:9};rn.compareTokens=function(e,t){return e.value<t.value?1:e.value>t.value?-1:0};function ar(r,e,t,n){Le(r,e,t+n);let i=kt(r,e+t,e+t+n);return new _(p.bytes,i,t+n)}function Ys(r,e,t,n){return ar(r,e,1,t)}function Zs(r,e,t,n){return ar(r,e,2,ae(r,e+1,n))}function Qs(r,e,t,n){return ar(r,e,3,ce(r,e+1,n))}function ea(r,e,t,n){return ar(r,e,5,ue(r,e+1,n))}function ta(r,e,t,n){let i=fe(r,e+1,n);if(typeof i=="bigint")throw new Error(`${B} 64-bit integer bytes lengths not supported`);return ar(r,e,9,i)}function nn(r){return r.encodedBytes===void 0&&(r.encodedBytes=r.type===p.string?en(r.value):r.value),r.encodedBytes}function Bt(r,e){let t=nn(e);G(r,e.type.majorEncoded,t.length),r.push(t)}Bt.encodedSize=function(e){let t=nn(e);return G.encodedSize(t.length)+t.length};Bt.compareTokens=function(e,t){return yl(nn(e),nn(t))};function yl(r,e){return r.length<e.length?-1:r.length>e.length?1:Ms(r,e)}function cr(r,e,t,n,i){let o=t+n;Le(r,e,o);let s=new _(p.string,Os(r,e+t,e+o),o);return i.retainStringBytes===!0&&(s.byteValue=kt(r,e+t,e+o)),s}function ra(r,e,t,n){return cr(r,e,1,t,n)}function na(r,e,t,n){return cr(r,e,2,ae(r,e+1,n),n)}function ia(r,e,t,n){return cr(r,e,3,ce(r,e+1,n),n)}function oa(r,e,t,n){return cr(r,e,5,ue(r,e+1,n),n)}function sa(r,e,t,n){let i=fe(r,e+1,n);if(typeof i=="bigint")throw new Error(`${B} 64-bit integer string lengths not supported`);return cr(r,e,9,i,n)}var aa=Bt;function vt(r,e,t,n){return new _(p.array,n,t)}function ca(r,e,t,n){return vt(r,e,1,t)}function ua(r,e,t,n){return vt(r,e,2,ae(r,e+1,n))}function fa(r,e,t,n){return vt(r,e,3,ce(r,e+1,n))}function la(r,e,t,n){return vt(r,e,5,ue(r,e+1,n))}function ha(r,e,t,n){let i=fe(r,e+1,n);if(typeof i=="bigint")throw new Error(`${B} 64-bit integer array lengths not supported`);return vt(r,e,9,i)}function da(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${B} indefinite length items not allowed`);return vt(r,e,1,1/0)}function on(r,e){G(r,p.array.majorEncoded,e.value)}on.compareTokens=pe.compareTokens;on.encodedSize=function(e){return G.encodedSize(e.value)};function It(r,e,t,n){return new _(p.map,n,t)}function pa(r,e,t,n){return It(r,e,1,t)}function ma(r,e,t,n){return It(r,e,2,ae(r,e+1,n))}function ya(r,e,t,n){return It(r,e,3,ce(r,e+1,n))}function ga(r,e,t,n){return It(r,e,5,ue(r,e+1,n))}function wa(r,e,t,n){let i=fe(r,e+1,n);if(typeof i=="bigint")throw new Error(`${B} 64-bit integer map lengths not supported`);return It(r,e,9,i)}function xa(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${B} indefinite length items not allowed`);return It(r,e,1,1/0)}function sn(r,e){G(r,p.map.majorEncoded,e.value)}sn.compareTokens=pe.compareTokens;sn.encodedSize=function(e){return G.encodedSize(e.value)};function ba(r,e,t,n){return new _(p.tag,t,1)}function _a(r,e,t,n){return new _(p.tag,ae(r,e+1,n),2)}function Sa(r,e,t,n){return new _(p.tag,ce(r,e+1,n),3)}function ka(r,e,t,n){return new _(p.tag,ue(r,e+1,n),5)}function Ea(r,e,t,n){return new _(p.tag,fe(r,e+1,n),9)}function an(r,e){G(r,p.tag.majorEncoded,e.value)}an.compareTokens=pe.compareTokens;an.encodedSize=function(e){return G.encodedSize(e.value)};var Sl=20,kl=21,El=22,Bl=23;function Ba(r,e,t,n){if(n.allowUndefined===!1)throw new Error(`${B} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new _(p.null,null,1):new _(p.undefined,void 0,1)}function va(r,e,t,n){if(n.allowIndefinite===!1)throw new Error(`${B} indefinite length items not allowed`);return new _(p.break,void 0,1)}function Ti(r,e,t){if(t){if(t.allowNaN===!1&&Number.isNaN(r))throw new Error(`${B} NaN values are not supported`);if(t.allowInfinity===!1&&(r===1/0||r===-1/0))throw new Error(`${B} Infinity values are not supported`)}return new _(p.float,r,e)}function Ia(r,e,t,n){return Ti(Di(r,e+1),3,n)}function Aa(r,e,t,n){return Ti(zi(r,e+1),5,n)}function Ca(r,e,t,n){return Ti(za(r,e+1),9,n)}function cn(r,e,t){let n=e.value;if(n===!1)r.push([p.float.majorEncoded|Sl]);else if(n===!0)r.push([p.float.majorEncoded|kl]);else if(n===null)r.push([p.float.majorEncoded|El]);else if(n===void 0)r.push([p.float.majorEncoded|Bl]);else{let i,o=!1;(!t||t.float64!==!0)&&(Ta(n),i=Di(ke,1),n===i||Number.isNaN(n)?(ke[0]=249,r.push(ke.slice(0,3)),o=!0):(Da(n),i=zi(ke,1),n===i&&(ke[0]=250,r.push(ke.slice(0,5)),o=!0))),o||(vl(n),i=za(ke,1),ke[0]=251,r.push(ke.slice(0,9)))}}cn.encodedSize=function(e,t){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!t||t.float64!==!0){Ta(n);let i=Di(ke,1);if(n===i||Number.isNaN(n))return 3;if(Da(n),i=zi(ke,1),n===i)return 5}return 9};var Na=new ArrayBuffer(9),me=new DataView(Na,1),ke=new Uint8Array(Na,0);function Ta(r){if(r===1/0)me.setUint16(0,31744,!1);else if(r===-1/0)me.setUint16(0,64512,!1);else if(Number.isNaN(r))me.setUint16(0,32256,!1);else{me.setFloat32(0,r);let e=me.getUint32(0),t=(e&2139095040)>>23,n=e&8388607;if(t===255)me.setUint16(0,31744,!1);else if(t===0)me.setUint16(0,(r&2147483648)>>16|n>>13,!1);else{let i=t-127;i<-24?me.setUint16(0,0):i<-14?me.setUint16(0,(e&2147483648)>>16|1<<24+i,!1):me.setUint16(0,(e&2147483648)>>16|i+15<<10|n>>13,!1)}}}function Di(r,e){if(r.length-e<2)throw new Error(`${B} not enough data for float16`);let t=(r[e]<<8)+r[e+1];if(t===31744)return 1/0;if(t===64512)return-1/0;if(t===32256)return NaN;let n=t>>10&31,i=t&1023,o;return n===0?o=i*2**-24:n!==31?o=(i+1024)*2**(n-25):o=i===0?1/0:NaN,t&32768?-o:o}function Da(r){me.setFloat32(0,r,!1)}function zi(r,e){if(r.length-e<4)throw new Error(`${B} not enough data for float32`);let t=(r.byteOffset||0)+e;return new DataView(r.buffer,t,4).getFloat32(0,!1)}function vl(r){me.setFloat64(0,r,!1)}function za(r,e){if(r.length-e<8)throw new Error(`${B} not enough data for float64`);let t=(r.byteOffset||0)+e;return new DataView(r.buffer,t,8).getFloat64(0,!1)}cn.compareTokens=pe.compareTokens;function z(r,e,t){throw new Error(`${B} encountered invalid minor (${t}) for major ${r[e]>>>5}`)}function un(r){return()=>{throw new Error(`${B} ${r}`)}}var k=[];for(let r=0;r<=23;r++)k[r]=z;k[24]=Hs;k[25]=Vs;k[26]=js;k[27]=Gs;k[28]=z;k[29]=z;k[30]=z;k[31]=z;for(let r=32;r<=55;r++)k[r]=z;k[56]=qs;k[57]=Ws;k[58]=Ks;k[59]=Js;k[60]=z;k[61]=z;k[62]=z;k[63]=z;for(let r=64;r<=87;r++)k[r]=Ys;k[88]=Zs;k[89]=Qs;k[90]=ea;k[91]=ta;k[92]=z;k[93]=z;k[94]=z;k[95]=un("indefinite length bytes/strings are not supported");for(let r=96;r<=119;r++)k[r]=ra;k[120]=na;k[121]=ia;k[122]=oa;k[123]=sa;k[124]=z;k[125]=z;k[126]=z;k[127]=un("indefinite length bytes/strings are not supported");for(let r=128;r<=151;r++)k[r]=ca;k[152]=ua;k[153]=fa;k[154]=la;k[155]=ha;k[156]=z;k[157]=z;k[158]=z;k[159]=da;for(let r=160;r<=183;r++)k[r]=pa;k[184]=ma;k[185]=ya;k[186]=ga;k[187]=wa;k[188]=z;k[189]=z;k[190]=z;k[191]=xa;for(let r=192;r<=215;r++)k[r]=ba;k[216]=_a;k[217]=Sa;k[218]=ka;k[219]=Ea;k[220]=z;k[221]=z;k[222]=z;k[223]=z;for(let r=224;r<=243;r++)k[r]=un("simple values are not supported");k[244]=z;k[245]=z;k[246]=z;k[247]=Ba;k[248]=un("simple values are not supported");k[249]=Ia;k[250]=Aa;k[251]=Ca;k[252]=z;k[253]=z;k[254]=z;k[255]=va;var Ee=[];for(let r=0;r<24;r++)Ee[r]=new _(p.uint,r,1);for(let r=-1;r>=-24;r--)Ee[31-r]=new _(p.negint,r,1);Ee[64]=new _(p.bytes,new Uint8Array(0),1);Ee[96]=new _(p.string,"",1);Ee[128]=new _(p.array,0,1);Ee[160]=new _(p.map,0,1);Ee[244]=new _(p.false,!1,1);Ee[245]=new _(p.true,!0,1);Ee[246]=new _(p.null,null,1);function Al(){let r=[];return r[p.uint.major]=pe,r[p.negint.major]=rn,r[p.bytes.major]=Bt,r[p.string.major]=aa,r[p.array.major]=on,r[p.map.major]=sn,r[p.tag.major]=an,r[p.float.major]=cn,r}var wg=Al(),xg=new tn,fn=class r{constructor(e,t){this.obj=e,this.parent=t}includes(e){let t=this;do if(t.obj===e)return!0;while(t=t.parent);return!1}static createCheck(e,t){if(e&&e.includes(t))throw new Error(`${Et} object contains circular references`);return new r(t,e)}},Ve={null:new _(p.null,null),undefined:new _(p.undefined,void 0),true:new _(p.true,!0),false:new _(p.false,!1),emptyArray:new _(p.array,0),emptyMap:new _(p.map,0)},je={number(r,e,t,n){return!Number.isInteger(r)||!Number.isSafeInteger(r)?new _(p.float,r):r>=0?new _(p.uint,r):new _(p.negint,r)},bigint(r,e,t,n){return r>=BigInt(0)?new _(p.uint,r):new _(p.negint,r)},Uint8Array(r,e,t,n){return new _(p.bytes,r)},string(r,e,t,n){return new _(p.string,r)},boolean(r,e,t,n){return r?Ve.true:Ve.false},null(r,e,t,n){return Ve.null},undefined(r,e,t,n){return Ve.undefined},ArrayBuffer(r,e,t,n){return new _(p.bytes,new Uint8Array(r))},DataView(r,e,t,n){return new _(p.bytes,new Uint8Array(r.buffer,r.byteOffset,r.byteLength))},Array(r,e,t,n){if(!r.length)return t.addBreakTokens===!0?[Ve.emptyArray,new _(p.break)]:Ve.emptyArray;n=fn.createCheck(n,r);let i=[],o=0;for(let s of r)i[o++]=Fi(s,t,n);return t.addBreakTokens?[new _(p.array,r.length),i,new _(p.break)]:[new _(p.array,r.length),i]},Object(r,e,t,n){let i=e!=="Object",o=i?r.keys():Object.keys(r),s=i?r.size:o.length;if(!s)return t.addBreakTokens===!0?[Ve.emptyMap,new _(p.break)]:Ve.emptyMap;n=fn.createCheck(n,r);let a=[],u=0;for(let h of o)a[u++]=[Fi(h,t,n),Fi(i?r.get(h):r[h],t,n)];return Cl(a,t),t.addBreakTokens?[new _(p.map,s),a,new _(p.break)]:[new _(p.map,s),a]}};je.Map=je.Object;je.Buffer=je.Uint8Array;for(let r of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))je[`${r}Array`]=je.DataView;function Fi(r,e={},t){let n=Fs(r),i=e&&e.typeEncoders&&e.typeEncoders[n]||je[n];if(typeof i=="function"){let s=i(r,n,e,t);if(s!=null)return s}let o=je[n];if(!o)throw new Error(`${Et} unsupported type: ${n}`);return o(r,n,e,t)}function Cl(r,e){e.mapSorter&&r.sort(e.mapSorter)}var Nl={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},ln=class{constructor(e,t={}){this._pos=0,this.data=e,this.options=t}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let e=this.data[this._pos],t=Ee[e];if(t===void 0){let n=k[e];if(!n)throw new Error(`${B} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let i=e&31;t=n(this.data,this._pos,i,this.options)}return this._pos+=t.encodedLength,t}},ur=Symbol.for("DONE"),hn=Symbol.for("BREAK");function Tl(r,e,t){let n=[];for(let i=0;i<r.value;i++){let o=At(e,t);if(o===hn){if(r.value===1/0)break;throw new Error(`${B} got unexpected break to lengthed array`)}if(o===ur)throw new Error(`${B} found array but not enough entries (got ${i}, expected ${r.value})`);n[i]=o}return n}function Dl(r,e,t){let n=t.useMaps===!0,i=n?void 0:{},o=n?new Map:void 0;for(let s=0;s<r.value;s++){let a=At(e,t);if(a===hn){if(r.value===1/0)break;throw new Error(`${B} got unexpected break to lengthed map`)}if(a===ur)throw new Error(`${B} found map but not enough entries (got ${s} [no key], expected ${r.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${B} non-string keys not supported (got ${typeof a})`);if(t.rejectDuplicateMapKeys===!0&&(n&&o.has(a)||!n&&a in i))throw new Error(`${B} found repeat map key "${a}"`);let u=At(e,t);if(u===ur)throw new Error(`${B} found map but not enough entries (got ${s} [no value], expected ${r.value})`);n?o.set(a,u):i[a]=u}return n?o:i}function At(r,e){if(r.done())return ur;let t=r.next();if(t.type===p.break)return hn;if(t.type.terminal)return t.value;if(t.type===p.array)return Tl(t,r,e);if(t.type===p.map)return Dl(t,r,e);if(t.type===p.tag){if(e.tags&&typeof e.tags[t.value]=="function"){let n=At(r,e);return e.tags[t.value](n)}throw new Error(`${B} tag not supported (${t.value})`)}throw new Error("unsupported")}function Li(r,e){if(!(r instanceof Uint8Array))throw new Error(`${B} data to decode must be a Uint8Array`);e=Object.assign({},Nl,e);let t=e.tokenizer||new ln(r,e),n=At(t,e);if(n===ur)throw new Error(`${B} did not find any content to decode`);if(n===hn)throw new Error(`${B} got unexpected break`);return[n,r.subarray(t.pos())]}function fr(r,e){let[t,n]=Li(r,e);if(n.length>0)throw new Error(`${B} too many terminals, data makes no sense`);return t}var La=42;function Ll(r){return r instanceof ArrayBuffer?new Uint8Array(r,0,r.byteLength):r}function Pl(r){if(r.asCID!==r&&r["/"]!==r.bytes)return null;let e=A.asCID(r);if(!e)return null;let t=new Uint8Array(e.bytes.byteLength+1);return t.set(e.bytes,1),[new _(p.tag,La),new _(p.bytes,t)]}function Ul(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function Ol(r){if(Number.isNaN(r))throw new Error("`NaN` is not supported by the IPLD Data Model and cannot be encoded");if(r===1/0||r===-1/0)throw new Error("`Infinity` and `-Infinity` is not supported by the IPLD Data Model and cannot be encoded");return null}var Fa={float64:!0,typeEncoders:{Object:Pl,undefined:Ul,number:Ol}},Cg={...Fa,typeEncoders:{...Fa.typeEncoders}};function Rl(r){if(r[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");return A.decode(r.subarray(1))}var dn={allowIndefinite:!1,coerceUndefinedToNull:!0,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};dn.tags[La]=Rl;var Ng={...dn,tags:dn.tags.slice()};var Pa=113;var Ua=r=>fr(Ll(r),dn);var Ra=class extends Array{constructor(){super(),this.inRecursive=[]}prefix(e){let t=this.inRecursive[this.inRecursive.length-1];t&&(t.type===p.array&&(t.elements++,t.elements!==1&&e.push([44])),t.type===p.map&&(t.elements++,t.elements!==1&&(t.elements%2===1?e.push([44]):e.push([58]))))}[p.uint.major](e,t){this.prefix(e);let n=String(t.value),i=[];for(let o=0;o<n.length;o++)i[o]=n.charCodeAt(o);e.push(i)}[p.negint.major](e,t){this[p.uint.major](e,t)}[p.bytes.major](e,t){throw new Error(`${Et} unsupported type: Uint8Array`)}[p.string.major](e,t){this.prefix(e);let n=en(JSON.stringify(t.value));e.push(n.length>32?Qr(n):n)}[p.array.major](e,t){this.prefix(e),this.inRecursive.push({type:p.array,elements:0}),e.push([91])}[p.map.major](e,t){this.prefix(e),this.inRecursive.push({type:p.map,elements:0}),e.push([123])}[p.tag.major](e,t){}[p.float.major](e,t){if(t.type.name==="break"){let s=this.inRecursive.pop();if(s){if(s.type===p.array)e.push([93]);else if(s.type===p.map)e.push([125]);else throw new Error("Unexpected recursive type; this should not happen!");return}throw new Error("Unexpected break; this should not happen!")}if(t.value===void 0)throw new Error(`${Et} unsupported type: undefined`);if(this.prefix(e),t.type.name==="true"){e.push([116,114,117,101]);return}else if(t.type.name==="false"){e.push([102,97,108,115,101]);return}else if(t.type.name==="null"){e.push([110,117,108,108]);return}let n=String(t.value),i=[],o=!1;for(let s=0;s<n.length;s++)i[s]=n.charCodeAt(s),!o&&(i[s]===46||i[s]===101||i[s]===69)&&(o=!0);o||(i.push(46),i.push(48)),e.push(i)}};var Ct=class{constructor(e,t={}){this._pos=0,this.data=e,this.options=t,this.modeStack=["value"],this.lastToken=""}pos(){return this._pos}done(){return this._pos>=this.data.length}ch(){return this.data[this._pos]}currentMode(){return this.modeStack[this.modeStack.length-1]}skipWhitespace(){let e=this.ch();for(;e===32||e===9||e===13||e===10;)e=this.data[++this._pos]}expect(e){if(this.data.length-this._pos<e.length)throw new Error(`${B} unexpected end of input at position ${this._pos}`);for(let t=0;t<e.length;t++)if(this.data[this._pos++]!==e[t])throw new Error(`${B} unexpected token at position ${this._pos}, expected to find '${String.fromCharCode(...e)}'`)}parseNumber(){let e=this._pos,t=!1,n=!1,i=a=>{for(;!this.done();){let u=this.ch();if(a.includes(u))this._pos++;else break}};if(this.ch()===45&&(t=!0,this._pos++),this.ch()===48)if(this._pos++,this.ch()===46)this._pos++,n=!0;else return new _(p.uint,0,this._pos-e);if(i([48,49,50,51,52,53,54,55,56,57]),t&&this._pos===e+1)throw new Error(`${B} unexpected token at position ${this._pos}`);if(!this.done()&&this.ch()===46){if(n)throw new Error(`${B} unexpected token at position ${this._pos}`);n=!0,this._pos++,i([48,49,50,51,52,53,54,55,56,57])}!this.done()&&(this.ch()===101||this.ch()===69)&&(n=!0,this._pos++,!this.done()&&(this.ch()===43||this.ch()===45)&&this._pos++,i([48,49,50,51,52,53,54,55,56,57]));let o=String.fromCharCode.apply(null,this.data.subarray(e,this._pos)),s=parseFloat(o);return n?new _(p.float,s,this._pos-e):this.options.allowBigInt!==!0||Number.isSafeInteger(s)?new _(s>=0?p.uint:p.negint,s,this._pos-e):new _(s>=0?p.uint:p.negint,BigInt(o),this._pos-e)}parseString(){if(this.ch()!==34)throw new Error(`${B} unexpected character at position ${this._pos}; this shouldn't happen`);this._pos++;for(let o=this._pos,s=0;o<this.data.length&&s<65536;o++,s++){let a=this.data[o];if(a===92||a<32||a>=128)break;if(a===34){let u=String.fromCharCode.apply(null,this.data.subarray(this._pos,o));return this._pos=o+1,new _(p.string,u,s)}}let e=this._pos,t=[],n=()=>{if(this._pos+4>=this.data.length)throw new Error(`${B} unexpected end of unicode escape sequence at position ${this._pos}`);let o=0;for(let s=0;s<4;s++){let a=this.ch();if(a>=48&&a<=57)a-=48;else if(a>=97&&a<=102)a=a-97+10;else if(a>=65&&a<=70)a=a-65+10;else throw new Error(`${B} unexpected unicode escape character at position ${this._pos}`);o=o*16+a,this._pos++}return o},i=()=>{let o=this.ch(),s=null,a=o>239?4:o>223?3:o>191?2:1;if(this._pos+a>this.data.length)throw new Error(`${B} unexpected unicode sequence at position ${this._pos}`);let u,h,f,l;switch(a){case 1:o<128&&(s=o);break;case 2:u=this.data[this._pos+1],(u&192)===128&&(l=(o&31)<<6|u&63,l>127&&(s=l));break;case 3:u=this.data[this._pos+1],h=this.data[this._pos+2],(u&192)===128&&(h&192)===128&&(l=(o&15)<<12|(u&63)<<6|h&63,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:u=this.data[this._pos+1],h=this.data[this._pos+2],f=this.data[this._pos+3],(u&192)===128&&(h&192)===128&&(f&192)===128&&(l=(o&15)<<18|(u&63)<<12|(h&63)<<6|f&63,l>65535&&l<1114112&&(s=l))}s===null?(s=65533,a=1):s>65535&&(s-=65536,t.push(s>>>10&1023|55296),s=56320|s&1023),t.push(s),this._pos+=a};for(;!this.done();){let o=this.ch(),s;switch(o){case 92:if(this._pos++,this.done())throw new Error(`${B} unexpected string termination at position ${this._pos}`);switch(s=this.ch(),this._pos++,s){case 34:case 39:case 92:case 47:t.push(s);break;case 98:t.push(8);break;case 116:t.push(9);break;case 110:t.push(10);break;case 102:t.push(12);break;case 114:t.push(13);break;case 117:t.push(n());break;default:throw new Error(`${B} unexpected string escape character at position ${this._pos}`)}break;case 34:return this._pos++,new _(p.string,Ci(t),this._pos-e);default:if(o<32)throw new Error(`${B} invalid control character at position ${this._pos}`);o<128?(t.push(o),this._pos++):i()}}throw new Error(`${B} unexpected end of string at position ${this._pos}`)}parseValue(){switch(this.ch()){case 123:return this.modeStack.push("obj-start"),this._pos++,new _(p.map,1/0,1);case 91:return this.modeStack.push("array-start"),this._pos++,new _(p.array,1/0,1);case 34:return this.parseString();case 110:return this.expect([110,117,108,108]),new _(p.null,null,4);case 102:return this.expect([102,97,108,115,101]),new _(p.false,!1,5);case 116:return this.expect([116,114,117,101]),new _(p.true,!0,4);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.parseNumber();default:throw new Error(`${B} unexpected character at position ${this._pos}`)}}next(){switch(this.skipWhitespace(),this.currentMode()){case"value":return this.modeStack.pop(),this.parseValue();case"array-value":{if(this.modeStack.pop(),this.ch()===93)return this._pos++,this.skipWhitespace(),new _(p.break,void 0,1);if(this.ch()!==44)throw new Error(`${B} unexpected character at position ${this._pos}, was expecting array delimiter but found '${String.fromCharCode(this.ch())}'`);return this._pos++,this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue()}case"array-start":return this.modeStack.pop(),this.ch()===93?(this._pos++,this.skipWhitespace(),new _(p.break,void 0,1)):(this.modeStack.push("array-value"),this.skipWhitespace(),this.parseValue());case"obj-key":if(this.ch()===125)return this.modeStack.pop(),this._pos++,this.skipWhitespace(),new _(p.break,void 0,1);if(this.ch()!==44)throw new Error(`${B} unexpected character at position ${this._pos}, was expecting object delimiter but found '${String.fromCharCode(this.ch())}'`);this._pos++,this.skipWhitespace();case"obj-start":{if(this.modeStack.pop(),this.ch()===125)return this._pos++,this.skipWhitespace(),new _(p.break,void 0,1);let e=this.parseString();if(this.skipWhitespace(),this.ch()!==58)throw new Error(`${B} unexpected character at position ${this._pos}, was expecting key/value delimiter ':' but found '${String.fromCharCode(this.ch())}'`);return this._pos++,this.modeStack.push("obj-value"),e}case"obj-value":return this.modeStack.pop(),this.modeStack.push("obj-key"),this.skipWhitespace(),this.parseValue();default:throw new Error(`${B} unexpected parse state at position ${this._pos}; this shouldn't happen`)}}};function Pi(r,e){return e=Object.assign({tokenizer:new Ct(r,e)},e),fr(r,e)}function Hl(r){return r instanceof ArrayBuffer?new Uint8Array(r,0,r.byteLength):r}var Ui=class extends Ct{constructor(e,t){super(e,t),this.tokenBuffer=[]}done(){return this.tokenBuffer.length===0&&super.done()}_next(){return this.tokenBuffer.length>0?this.tokenBuffer.pop():super.next()}next(){let e=this._next();if(e.type===p.map){let t=this._next();if(t.type===p.string&&t.value==="/"){let n=this._next();if(n.type===p.string){if(this._next().type!==p.break)throw new Error("Invalid encoded CID form");return this.tokenBuffer.push(n),new _(p.tag,42,0)}if(n.type===p.map){let i=this._next();if(i.type===p.string&&i.value==="bytes"){let o=this._next();if(o.type===p.string){for(let a=0;a<2;a++)if(this._next().type!==p.break)throw new Error("Invalid encoded Bytes form");let s=Jt.decode(`m${o.value}`);return new _(p.bytes,s,o.value.length)}this.tokenBuffer.push(o)}this.tokenBuffer.push(i)}this.tokenBuffer.push(n)}this.tokenBuffer.push(t)}return e}},Oi={allowIndefinite:!1,allowUndefined:!1,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};Oi.tags[42]=A.parse;var $a=297;var Ma=r=>{let e=Hl(r),t=Object.assign(Oi,{tokenizer:new Ui(e,Oi)});return Pi(e,t)};var Kg=new TextDecoder;var Xg=new TextEncoder;function Nt(r,e,t,n,i,o,s){let a=r,u=i;for(;o.length>0;){let h=o[0];if(h in a){o.shift(),u=`${u}/${h}`;let f=A.asCID(a[h]);if(f!=null)return{entry:{type:"object",name:n,path:i,cid:t,node:e,depth:s,size:BigInt(e.length),content:async function*(){yield r}},next:{cid:f,name:h,path:u,toResolve:o}};a=a[h]}else throw new Yr(`No property named ${h} found in node ${t}`)}return{entry:{type:"object",name:n,path:i,cid:t,node:e,depth:s,size:BigInt(e.length),content:async function*(){yield r}}}}var Vl=async(r,e,t,n,i,o,s,a)=>{let u=await s.get(r,a),h=Ua(u);return Nt(h,u,r,e,t,n,o)},Va=Vl;var jl=async(r,e,t,n,i,o,s,a)=>{let u=await s.get(r,a),h=Ma(u);return Nt(h,u,r,e,t,n,o)},ja=jl;function Gl(r,e,t,n){let i=BigInt(r.length),o=BigInt(e+i);return t>=o||n<e?new Uint8Array(0):(n>=e&&n<o&&(r=r.subarray(0,Number(n-e))),t>=e&&t<o&&(r=r.subarray(Number(t-e))),r)}var nt=Gl;var ql=(r,e=0,t=r)=>{let n=BigInt(r),i=BigInt(e??0),o=BigInt(t);if(o!==n&&(o=i+o),o>n&&(o=n),i<0n)throw new tt("Offset must be greater than or equal to 0");if(i>n)throw new tt("Offset must be less than the file size");if(o<0n)throw new tt("Length must be greater than or equal to 0");if(o>n)throw new tt("Length must be less than the file size");return{start:i,end:o}},Tt=ql;var Wl=r=>{async function*e(t={}){let{start:n,end:i}=Tt(r.length,t.offset,t.length),o=nt(r,0n,n,i);t.onProgress?.(new O("unixfs:exporter:progress:identity",{bytesRead:BigInt(o.byteLength),totalBytes:i-n,fileSize:BigInt(r.byteLength)})),yield o}return e},Kl=async(r,e,t,n,i,o,s,a)=>{if(n.length>0)throw new de(`No link named ${t} found in raw node ${r}`);let u=Nr(r.multihash.bytes);return{entry:{type:"identity",name:e,path:t,cid:r,content:Wl(u.digest),depth:o,size:BigInt(u.digest.length),node:u.digest}}},Ga=Kl;var Xl=async(r,e,t,n,i,o,s,a)=>{let u=await s.get(r,a),h=jo(u);return Nt(h,u,r,e,t,n,o)},qa=Xl;var Jl=r=>{async function*e(t={}){let{start:n,end:i}=Tt(r.length,t.offset,t.length),o=nt(r,0n,n,i);t.onProgress?.(new O("unixfs:exporter:progress:raw",{bytesRead:BigInt(o.byteLength),totalBytes:i-n,fileSize:BigInt(r.byteLength)})),yield o}return e},Yl=async(r,e,t,n,i,o,s,a)=>{if(n.length>0)throw new de(`No link named ${t} found in raw node ${r}`);let u=await s.get(r,a);return{entry:{type:"raw",name:e,path:t,cid:r,content:Jl(u),depth:o,size:BigInt(u.length),node:u}}},Wa=Yl;var Zl=async function(r){return(await Ze.encode(r)).slice(0,8).reverse()},Ql=async(r,e,t)=>{let n=(e.tableSize()-1).toString(16).length;await Promise.all(r.map(async i=>{if(i.Name==null)throw new Error("Unexpected Link without a Name");if(i.Name.length===n){let o=parseInt(i.Name,16);e._putObjectAt(o,new se({hash:t._options.hash,bits:t._options.bits},e,o));return}await t.put(i.Name.substring(2),!0)}))},Ka=(r,e)=>r.toString(16).toUpperCase().padStart(e,"0").substring(0,e),eh=r=>{let e=r.bucket,t=[];for(;e._parent!=null;)t.push(e),e=e._parent;return t.push(e),t.reverse()},Xa=async(r,e,t,n,i)=>{if(n==null){if(r.Data==null)throw new H("no data in PBNode");let l;try{l=v.unmarshal(r.Data)}catch(c){throw new H(c.message)}if(l.type!=="hamt-sharded-directory")throw new H("not a HAMT");if(l.fanout==null)throw new H("missing fanout");let y=gt({hashFn:Zl,bits:Math.log2(Number(l.fanout))});n={rootBucket:y,hamtDepth:1,lastBucket:y}}let o=(n.lastBucket.tableSize()-1).toString(16).length;await Ql(r.Links,n.lastBucket,n.rootBucket);let s=await n.rootBucket._findNewBucketAndPos(e),a=Ka(s.pos,o),u=eh(s);u.length>n.hamtDepth&&(n.lastBucket=u[n.hamtDepth],a=Ka(n.lastBucket._posAtParent,o));let h=r.Links.find(l=>{if(l.Name==null)return!1;let y=l.Name.substring(0,o),c=l.Name.substring(o);return!(y!==a||c!==""&&c!==e)});if(h==null)return;if(h.Name!=null&&h.Name.substring(o)===e)return h.Hash;n.hamtDepth++;let f=await t.get(h.Hash,i);return r=$(f),Xa(r,e,t,n,i)},Ja=Xa;function Dt(r){return r?.extended===!1}function th(r){let[e,t]=r[Symbol.asyncIterator]!=null?[r[Symbol.asyncIterator](),Symbol.asyncIterator]:[r[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[t](){return this}}}var pn=th;function rh(r){return r[Symbol.asyncIterator]!=null}function nh(r,e){let t=0;if(rh(r))return async function*(){for await(let u of r)await e(u,t++)&&(yield u)}();let n=pn(r),{value:i,done:o}=n.next();if(o===!0)return function*(){}();let s=e(i,t++);if(typeof s.then=="function")return async function*(){await s&&(yield i);for(let u of n)await e(u,t++)&&(yield u)}();let a=e;return function*(){s===!0&&(yield i);for(let u of n)a(u,t++)&&(yield u)}()}var Ya=nh;function ih(r){return r[Symbol.asyncIterator]!=null}function oh(r,e){let t=0;if(ih(r))return async function*(){for await(let u of r)yield e(u,t++)}();let n=pn(r),{value:i,done:o}=n.next();if(o===!0)return function*(){}();let s=e(i,t++);if(typeof s.then=="function")return async function*(){yield await s;for(let u of n)yield e(u,t++)}();let a=e;return function*(){yield s;for(let u of n)yield a(u,t++)}()}var zt=oh;function te(){let r={};return r.promise=new Promise((e,t)=>{r.resolve=e,r.reject=t}),r}var mn=globalThis.CustomEvent??Event;async function*it(r,e={}){let t=e.concurrency??1/0;t<1&&(t=1/0);let n=e.ordered??!1,i=new EventTarget,o=[],s=te(),a=te(),u=!1,h,f=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let d of r){if(o.length===t&&(s=te(),await s.promise),f)break;let m={done:!1};o.push(m),d().then(x=>{m.done=!0,m.ok=!0,m.value=x,i.dispatchEvent(new mn("task-complete"))},x=>{m.done=!0,m.err=x,i.dispatchEvent(new mn("task-complete"))})}u=!0,i.dispatchEvent(new mn("task-complete"))}catch(d){h=d,i.dispatchEvent(new mn("task-complete"))}});function l(){return n?o[0]?.done:!!o.find(d=>d.done)}function*y(){for(;o.length>0&&o[0].done;){let d=o[0];if(o.shift(),d.ok)yield d.value;else throw f=!0,s.resolve(),d.err;s.resolve()}}function*c(){for(;l();)for(let d=0;d<o.length;d++)if(o[d].done){let m=o[d];if(o.splice(d,1),d--,m.ok)yield m.value;else throw f=!0,s.resolve(),m.err;s.resolve()}}for(;;){if(l()||(a=te(),await a.promise),h!=null||(n?yield*y():yield*c(),h!=null))throw h;if(u&&o.length===0)break}}var yn=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||(e-1&e)!==0)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},Ft=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new yn(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let t=this.head;this.head=t.next=new yn(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let t=this.tail.next;this.tail.next=null,this.tail=t,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var Ri=class extends Error{type;code;constructor(e,t){super(e??"The operation was aborted"),this.type="aborted",this.code=t??"ABORT_ERR"}};function gn(r={}){return sh(t=>{let n=t.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function sh(r,e){e=e??{};let t=e.onEnd,n=new Ft,i,o,s,a=te(),u=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((x,g)=>{o=w=>{o=null,n.push(w);try{x(r(n))}catch(b){g(b)}return i}}):r(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=te()})}},h=x=>o!=null?o(x):(n.push(x),i),f=x=>(n=new Ft,o!=null?o({error:x}):(n.push({error:x}),i)),l=x=>{if(s)return i;if(e?.objectMode!==!0&&x?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return h({done:!1,value:x})},y=x=>s?i:(s=!0,x!=null?f(x):h({done:!0})),c=()=>(n=new Ft,y(),{done:!0}),d=x=>(y(x),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:u,return:c,throw:d,push:l,end:y,get readableLength(){return n.size},onEmpty:async x=>{let g=x?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let w,b;g!=null&&(w=new Promise((S,I)=>{b=()=>{I(new Ri)},g.addEventListener("abort",b)}));try{await Promise.race([a.promise,w])}finally{b!=null&&g!=null&&g?.removeEventListener("abort",b)}}},t==null)return i;let m=i;return i={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(x){return m.throw(x),t!=null&&(t(x),t=void 0),{done:!0}},return(){return m.return(),t!=null&&(t(),t=void 0),{done:!0}},push:l,end(x){return m.end(x),t!=null&&(t(x),t=void 0),i},get readableLength(){return m.readableLength},onEmpty:x=>m.onEmpty(x)},i}var wn=class extends Error{type;code;constructor(e,t,n){super(e??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=t??"ABORT_ERR"}};async function Za(r,e,t){if(e==null)return r;if(e.aborted)return r.catch(()=>{}),Promise.reject(new wn(t?.errorMessage,t?.errorCode,t?.errorName));let n,i=new wn(t?.errorMessage,t?.errorCode,t?.errorName);try{return await Promise.race([r,new Promise((o,s)=>{n=()=>{s(i)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var $i=class{readNext;haveNext;ended;nextResult;error;constructor(){this.ended=!1,this.readNext=te(),this.haveNext=te()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let e=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=te(),e}async throw(e){return this.ended=!0,this.error=e,e!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(e)),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return this.ended=!0,this.nextResult=e,this.haveNext.resolve(),e}async push(e,t){await this._push(e,t)}async end(e,t){e!=null?await this.throw(e):await this._push(void 0,t)}async _push(e,t){if(e!=null&&this.ended)throw this.error??new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=te(),await Za(this.readNext.promise,t?.signal,t)}};function Qa(){return new $i}function ah(r){return r[Symbol.asyncIterator]!=null}async function ch(r,e,t){try{await Promise.all(r.map(async n=>{for await(let i of n)await e.push(i,{signal:t}),t.throwIfAborted()})),await e.end(void 0,{signal:t})}catch(n){await e.end(n,{signal:t}).catch(()=>{})}}async function*uh(r){let e=new AbortController,t=Qa();ch(r,t,e.signal).catch(()=>{});try{yield*t}finally{e.abort()}}function*fh(r){for(let e of r)yield*e}function lh(...r){let e=[];for(let t of r)ah(t)||e.push(t);return e.length===r.length?fh(e):uh(r)}var ec=lh;function Te(r,...e){if(r==null)throw new Error("Empty pipeline");if(Mi(r)){let n=r;r=()=>n.source}else if(rc(r)||tc(r)){let n=r;r=()=>n}let t=[r,...e];if(t.length>1&&Mi(t[t.length-1])&&(t[t.length-1]=t[t.length-1].sink),t.length>2)for(let n=1;n<t.length-1;n++)Mi(t[n])&&(t[n]=dh(t[n]));return hh(...t)}var hh=(...r)=>{let e;for(;r.length>0;)e=r.shift()(e);return e},tc=r=>r?.[Symbol.asyncIterator]!=null,rc=r=>r?.[Symbol.iterator]!=null,Mi=r=>r==null?!1:r.sink!=null&&r.source!=null,dh=r=>e=>{let t=r.sink(e);if(t?.then!=null){let n=gn({objectMode:!0});t.then(()=>{n.end()},s=>{n.end(s)});let i,o=r.source;if(tc(o))i=async function*(){yield*o,n.end()};else if(rc(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return ec(n,i())}return r.source};var ph=(r,e,t,n,i,o,s)=>{async function*a(u={}){let h=u.offset??0,f=u.length??e.Links.length,l=e.Links.slice(h,f);u.onProgress?.(new O("unixfs:exporter:walk:directory",{cid:r})),yield*Te(l,y=>zt(y,c=>async()=>{let d=c.Name??"",m=`${n}/${d}`;return Dt(u)?{cid:c.Hash,name:d,path:m}:(await i(c.Hash,d,m,[],o+1,s,u)).entry}),y=>it(y,{ordered:!0,concurrency:u.blockReadConcurrency}),y=>Ya(y,c=>c!=null))}return a},nc=ph;var Vi=Rt(oc(),1);var hr=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},ji=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},sc=r=>globalThis.DOMException===void 0?new ji(r):new DOMException(r),ac=r=>{let e=r.reason===void 0?sc("This operation was aborted."):r.reason;return e instanceof Error?e:sc(e)};function Gi(r,e){let{milliseconds:t,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=e,s,a,h=new Promise((f,l)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(e.signal){let{signal:c}=e;c.aborted&&l(ac(c)),a=()=>{l(ac(c))},c.addEventListener("abort",a,{once:!0})}if(t===Number.POSITIVE_INFINITY){r.then(f,l);return}let y=new hr;s=o.setTimeout.call(void 0,()=>{if(n){try{f(n())}catch(c){l(c)}return}typeof r.cancel=="function"&&r.cancel(),i===!1?f():i instanceof Error?l(i):(y.message=i??`Promise timed out after ${t} milliseconds`,l(y))},t),(async()=>{try{f(await r)}catch(c){l(c)}})()}).finally(()=>{h.clear(),a&&e.signal&&e.signal.removeEventListener("abort",a)});return h.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},h}function qi(r,e,t){let n=0,i=r.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;t(r[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var dr=class{#e=[];enqueue(e,t){t={priority:0,...t};let n={priority:t.priority,id:t.id,run:e};if(this.size===0||this.#e[this.size-1].priority>=t.priority){this.#e.push(n);return}let i=qi(this.#e,n,(o,s)=>s.priority-o.priority);this.#e.splice(i,0,n)}setPriority(e,t){let n=this.#e.findIndex(o=>o.id===e);if(n===-1)throw new ReferenceError(`No promise function with the id "${e}" exists in the queue.`);let[i]=this.#e.splice(n,1);this.enqueue(i.run,{priority:t,id:e})}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(t=>t.priority===e.priority).map(t=>t.run)}get size(){return this.#e.length}};var pr=class extends Vi.default{#e;#r;#n=0;#u;#s;#c=0;#i;#f;#t;#m;#o=0;#l;#a;#y;#x=1n;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:dr,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#r=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#u=e.intervalCap,this.#s=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#y=e.throwOnTimeout===!0,this.#a=e.autoStart===!1}get#b(){return this.#r||this.#n<this.#u}get#_(){return this.#o<this.#l}#S(){this.#o--,this.#h(),this.emit("next")}#k(){this.#w(),this.#g(),this.#f=void 0}get#E(){let e=Date.now();if(this.#i===void 0){let t=this.#c-e;if(t<0)this.#n=this.#e?this.#o:0;else return this.#f===void 0&&(this.#f=setTimeout(()=>{this.#k()},t)),!0}return!1}#h(){if(this.#t.size===0)return this.#i&&clearInterval(this.#i),this.#i=void 0,this.emit("empty"),this.#o===0&&this.emit("idle"),!1;if(!this.#a){let e=!this.#E;if(this.#b&&this.#_){let t=this.#t.dequeue();return t?(this.emit("active"),t(),e&&this.#g(),!0):!1}}return!1}#g(){this.#r||this.#i!==void 0||(this.#i=setInterval(()=>{this.#w()},this.#s),this.#c=Date.now()+this.#s)}#w(){this.#n===0&&this.#o===0&&this.#i&&(clearInterval(this.#i),this.#i=void 0),this.#n=this.#e?this.#o:0,this.#d()}#d(){for(;this.#h(););}get concurrency(){return this.#l}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#l=e,this.#d()}async#B(e){return new Promise((t,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}setPriority(e,t){this.#t.setPriority(e,t)}async add(e,t={}){return t.id??=(this.#x++).toString(),t={timeout:this.timeout,throwOnTimeout:this.#y,...t},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#o++,this.#n++;try{t.signal?.throwIfAborted();let o=e({signal:t.signal});t.timeout&&(o=Gi(Promise.resolve(o),{milliseconds:t.timeout})),t.signal&&(o=Promise.race([o,this.#B(t.signal)]));let s=await o;n(s),this.emit("completed",s)}catch(o){if(o instanceof hr&&!t.throwOnTimeout){n();return}i(o),this.emit("error",o)}finally{this.#S()}},t),this.emit("add"),this.#h()})}async addAll(e,t){return Promise.all(e.map(async n=>this.add(n,t)))}start(){return this.#a?(this.#a=!1,this.#d(),this):this}pause(){this.#a=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#p("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#p("next",()=>this.#t.size<e)}async onIdle(){this.#o===0&&this.#t.size===0||await this.#p("idle")}async#p(e,t){return new Promise(n=>{let i=()=>{t&&!t()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#o}get isPaused(){return this.#a}};async function cc(r,e,t,n,i,o,s){if(e instanceof Uint8Array){let h=nt(e,n,i,o);t.push(h);return}if(e.Data==null)throw new H("no data in PBNode");let a;try{a=v.unmarshal(e.Data)}catch(h){throw new H(h.message)}if(a.data!=null){let h=a.data,f=nt(h,n,i,o);t.push(f),n+=BigInt(f.byteLength)}let u=[];if(e.Links.length!==a.blockSizes.length)throw new H("Inconsistent block sizes and dag links");for(let h=0;h<e.Links.length;h++){let f=e.Links[h],l=n,y=l+a.blockSizes[h];if((i>=l&&i<y||o>=l&&o<=y||i<l&&o>y)&&u.push({link:f,blockStart:n}),n=y,n>o)break}await Te(u,h=>zt(h,f=>async()=>{let l=await r.get(f.link.Hash,s);return{...f,block:l}}),h=>it(h,{ordered:!0,concurrency:s.blockReadConcurrency}),async h=>{for await(let{link:f,block:l,blockStart:y}of h){let c;switch(f.Hash.code){case j:c=$(l);break;case Q:c=l;break;default:t.end(new H(`Unsupported codec: ${f.Hash.code}`));return}let d=new pr({concurrency:1});d.on("error",m=>{t.end(m)}),d.add(async()=>{s.onProgress?.(new O("unixfs:exporter:walk:file",{cid:f.Hash})),await cc(r,c,t,y,i,o,s)}),await d.onIdle()}}),n>=o&&t.end()}var gh=(r,e,t,n,i,o,s)=>{async function*a(u={}){let h=t.fileSize();if(h===void 0)throw new Error("File was a directory");let{start:f,end:l}=Tt(h,u.offset,u.length);if(l===0n)return;let y=0n,c=l-f,d=gn();u.onProgress?.(new O("unixfs:exporter:walk:file",{cid:r})),cc(s,e,d,0n,f,l,u).catch(m=>{d.end(m)});for await(let m of d)if(m!=null){if(y+=BigInt(m.byteLength),y>c)throw d.end(),new Xr("Read too many bytes - the file size reported by the UnixFS data in the root node may be incorrect");y===c&&d.end(),u.onProgress?.(new O("unixfs:exporter:progress:unixfs:file",{bytesRead:y,totalBytes:c,fileSize:h})),yield m}if(y<c)throw new Jr("Traversed entire DAG but did not read enough bytes")}return a},Wi=gh;var wh=(r,e,t,n,i,o,s)=>{function a(u={}){return u.onProgress?.(new O("unixfs:exporter:walk:hamt-sharded-directory",{cid:r})),uc(e,n,i,o,s,u)}return a};async function*uc(r,e,t,n,i,o){let s=r.Links;if(r.Data==null)throw new H("no data in PBNode");let a;try{a=v.unmarshal(r.Data)}catch(f){throw new H(f.message)}if(a.fanout==null)throw new H("missing fanout");let u=(a.fanout-1n).toString(16).length,h=Te(s,f=>zt(f,l=>async()=>{let y=l.Name!=null?l.Name.substring(u):null;if(y!=null&&y!==""){let c=`${e}/${y}`;return Dt(o)?{entries:[{cid:l.Hash,name:y,path:c}]}:{entries:[(await t(l.Hash,y,c,[],n+1,i,o)).entry].filter(Boolean)}}else{let c=await i.get(l.Hash,o);return r=$(c),o.onProgress?.(new O("unixfs:exporter:walk:hamt-sharded-directory",{cid:l.Hash})),{entries:uc(r,e,t,n,i,o)}}}),f=>it(f,{ordered:!0,concurrency:o.blockReadConcurrency}));for await(let{entries:f}of h)yield*f}var fc=wh;var xh=(r,e)=>r.Links.find(n=>n.Name===e)?.Hash,bh={raw:Wi,file:Wi,directory:nc,"hamt-sharded-directory":fc,metadata:(r,e,t,n,i,o,s)=>()=>[],symlink:(r,e,t,n,i,o,s)=>()=>[]},_h=async(r,e,t,n,i,o,s,a)=>{if(Dt(a))return{entry:{cid:r,name:e,path:t}};let u=await s.get(r,a),h=$(u),f,l;if(e==null&&(e=r.toString()),h.Data==null)throw new H("no data in PBNode");try{f=v.unmarshal(h.Data)}catch(c){throw new H(c.message)}if(t==null&&(t=e),n.length>0){let c;if(f?.type==="hamt-sharded-directory"?c=await Ja(h,n[0],s):c=xh(h,n[0]),c==null)throw new de("file does not exist");let d=n.shift(),m=`${t}/${d}`;l={cid:c,toResolve:n,name:d??"",path:m}}let y=bh[f.type](r,h,f,t,i,o,s);if(y==null)throw new de("could not find content exporter");return f.isDirectory()?{entry:{type:"directory",name:e,path:t,cid:r,content:y,unixfs:f,depth:o,node:h,size:f.fileSize()},next:l}:{entry:{type:"file",name:e,path:t,cid:r,content:y,unixfs:f,depth:o,node:h,size:f.fileSize()},next:l}},lc=_h;var Sh={[j]:lc,[Q]:Wa,[Pa]:Va,[$a]:ja,[di.code]:Ga,[Vo]:qa},hc=async(r,e,t,n,i,o,s)=>{let a=Sh[r.code];if(a==null)throw new Kr(`No resolver for code ${r.code}`);return a(r,e,t,n,hc,i,o,s)},dc=hc;var kh=(r="")=>(r.trim().match(/([^\\^/]|\\\/)+/g)??[]).filter(Boolean),Eh=r=>{if(r instanceof Uint8Array)return{cid:A.decode(r),toResolve:[]};let e=A.asCID(r);if(e!=null)return{cid:e,toResolve:[]};if(typeof r=="string"){r.indexOf("/ipfs/")===0&&(r=r.substring(6));let t=kh(r);return{cid:A.parse(t[0]),toResolve:t.slice(1)}}throw new Wr(`Unknown path type ${r}`)};async function*Ki(r,e,t={}){let{cid:n,toResolve:i}=Eh(r),o=n.toString(),s=o,a=i.length;for(;;){let u=await dc(n,o,s,i,a,e,t);if(u.entry==null&&u.next==null)throw new de(`Could not resolve ${r}`);if(u.entry!=null&&(yield u.entry),u.next==null)return;i=u.next.toResolve,n=u.next.cid,o=u.next.name,s=u.next.path}}async function Z(r,e,t={}){let n=await _e(Ki(r,e,t));if(n==null)throw new de(`Could not resolve ${r}`);return n}async function*bn(r,e,t={}){let n=await Z(r,e,t);if(n==null)return;if(yield n,n.type==="directory")for await(let o of i(n,t))yield o;async function*i(o,s){for await(let a of o.content(s))yield a,!(a instanceof Uint8Array)&&a.type==="directory"&&(yield*i(a,s))}}function Bh(r,e){try{if(typeof r=="string"&&r.length>0)return vh(r);if(typeof r=="number"&&isFinite(r))return e?.long?Ah(r):Ih(r);throw new Error("Value is not a string or number.")}catch(t){let n=Ch(t)?`${t.message}. value=${JSON.stringify(r)}`:"An unknown error has occured.";throw new Error(n)}}function vh(r){if(r=String(r),r.length>100)throw new Error("Value exceeds the maximum length of 100 characters.");let e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(!e)return NaN;let t=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return t*315576e5;case"weeks":case"week":case"w":return t*6048e5;case"days":case"day":case"d":return t*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return t*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return t*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return t*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:throw new Error(`The unit ${n} was matched, but no matching case exists.`)}}var Sn=Bh;function Ih(r){let e=Math.abs(r);return e>=864e5?`${Math.round(r/864e5)}d`:e>=36e5?`${Math.round(r/36e5)}h`:e>=6e4?`${Math.round(r/6e4)}m`:e>=1e3?`${Math.round(r/1e3)}s`:`${r}ms`}function Ah(r){let e=Math.abs(r);return e>=864e5?_n(r,e,864e5,"day"):e>=36e5?_n(r,e,36e5,"hour"):e>=6e4?_n(r,e,6e4,"minute"):e>=1e3?_n(r,e,1e3,"second"):`${r} ms`}function _n(r,e,t,n){let i=e>=t*1.5;return`${Math.round(r/t)} ${n}${i?"s":""}`}function Ch(r){return typeof r=="object"&&r!==null&&"message"in r}function Xi(r){t.debug=t,t.default=t,t.coerce=u,t.disable=o,t.enable=i,t.enabled=s,t.humanize=Sn,t.destroy=h,Object.keys(r).forEach(f=>{t[f]=r[f]}),t.names=[],t.skips=[],t.formatters={};function e(f){let l=0;for(let y=0;y<f.length;y++)l=(l<<5)-l+f.charCodeAt(y),l|=0;return t.colors[Math.abs(l)%t.colors.length]}t.selectColor=e;function t(f){let l,y=null,c,d;function m(...x){if(!m.enabled)return;let g=m,w=Number(new Date),b=w-(l||w);g.diff=b,g.prev=l,g.curr=w,l=w,x[0]=t.coerce(x[0]),typeof x[0]!="string"&&x.unshift("%O");let S=0;x[0]=x[0].replace(/%([a-zA-Z%])/g,(C,E)=>{if(C==="%%")return"%";S++;let D=t.formatters[E];if(typeof D=="function"){let ye=x[S];C=D.call(g,ye),x.splice(S,1),S--}return C}),t.formatArgs.call(g,x),(g.log||t.log).apply(g,x)}return m.namespace=f,m.useColors=t.useColors(),m.color=t.selectColor(f),m.extend=n,m.destroy=t.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>y!==null?y:(c!==t.namespaces&&(c=t.namespaces,d=t.enabled(f)),d),set:x=>{y=x}}),typeof t.init=="function"&&t.init(m),m}function n(f,l){let y=t(this.namespace+(typeof l>"u"?":":l)+f);return y.log=this.log,y}function i(f){t.save(f),t.namespaces=f,t.names=[],t.skips=[];let l,y=(typeof f=="string"?f:"").split(/[\s,]+/),c=y.length;for(l=0;l<c;l++)y[l]&&(f=y[l].replace(/\*/g,".*?"),f[0]==="-"?t.skips.push(new RegExp("^"+f.substr(1)+"$")):t.names.push(new RegExp("^"+f+"$")))}function o(){let f=[...t.names.map(a),...t.skips.map(a).map(l=>"-"+l)].join(",");return t.enable(""),f}function s(f){if(f[f.length-1]==="*")return!0;let l,y;for(l=0,y=t.skips.length;l<y;l++)if(t.skips[l].test(f))return!1;for(l=0,y=t.names.length;l<y;l++)if(t.names[l].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function u(f){return f instanceof Error?f.stack??f.message:f}function h(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.setupFormatters(t.formatters),t.enable(t.load()),t}var kn=Ph(),Nh=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Th(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/(edge|trident)\/(\d+)/)!=null?!1:typeof document<"u"&&document.documentElement?.style?.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/firefox\/(\d+)/)!=null&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/applewebkit\/(\d+)/)}function Dh(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Sn(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,n=0;r[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(t++,i==="%c"&&(n=t))}),r.splice(n,0,e)}var zh=console.debug??console.log??(()=>{});function Fh(r){try{r?kn?.setItem("debug",r):kn?.removeItem("debug")}catch{}}function Lh(){let r;try{r=kn?.getItem("debug")}catch{}return!r&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(r=globalThis.process.env.DEBUG),r}function Ph(){try{return localStorage}catch{}}function Uh(r){r.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}}var pc=Xi({formatArgs:Dh,save:Fh,load:Lh,useColors:Th,setupFormatters:Uh,colors:Nh,storage:kn,log:zh});var re=pc;re.formatters.b=r=>r==null?"undefined":he.baseEncode(r);re.formatters.t=r=>r==null?"undefined":Oe.baseEncode(r);re.formatters.m=r=>r==null?"undefined":Jt.baseEncode(r);re.formatters.p=r=>r==null?"undefined":r.toString();re.formatters.c=r=>r==null?"undefined":r.toString();re.formatters.k=r=>r==null?"undefined":r.toString();re.formatters.a=r=>r==null?"undefined":r.toString();re.formatters.e=r=>r==null?"undefined":mc(r.stack)??mc(r.message)??r.toString();function Oh(r){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=r,e.destroy=()=>!0,e.extend=()=>e,e}function R(r){let e=Oh(`${r}:trace`);return re.enabled(`${r}:trace`)&&re.names.map(t=>t.toString()).find(t=>t.includes(":trace"))!=null&&(e=re(`${r}:trace`)),Object.assign(re(r),{error:re(`${r}:error`),trace:e})}function mc(r){if(r!=null&&(r=r.trim(),r.length!==0))return r}var Qi=Rt(Mr(),1);function Bn(r){function e(t){return t instanceof En?t:new En(t,r)}return e}var En=class{_value;_hashFn;_depth;_availableBits;_currentBufferIndex;_buffers;constructor(e,t){if(!(e instanceof Uint8Array))throw new Error("can only hash Uint8Arrays");this._value=e,this._hashFn=t,this._depth=-1,this._availableBits=0,this._currentBufferIndex=0,this._buffers=[]}async take(e){let t=e;for(;this._availableBits<t;)await this._produceMoreBits();let n=0;for(;t>0;){let i=this._buffers[this._currentBufferIndex],o=Math.min(i.availableBits(),t),s=i.take(o);n=(n<<o)+s,t-=o,this._availableBits-=o,i.availableBits()===0&&this._currentBufferIndex++}return n}untake(e){let t=e;for(;t>0;){let n=this._buffers[this._currentBufferIndex],i=Math.min(n.totalBits()-n.availableBits(),t);n.untake(i),t-=i,this._availableBits+=i,this._currentBufferIndex>0&&n.totalBits()===n.availableBits()&&(this._depth--,this._currentBufferIndex--)}}async _produceMoreBits(){this._depth++;let e=this._depth>0?qe([this._value,Uint8Array.from([this._depth])]):this._value,t=await this._hashFn(e),n=new Ji(t);this._buffers.push(n),this._availableBits+=n.availableBits()}},Rh=[255,254,252,248,240,224,192,128],$h=[1,3,7,15,31,63,127,255],Ji=class{_value;_currentBytePos;_currentBitPos;constructor(e){this._value=e,this._currentBytePos=e.length-1,this._currentBitPos=7}availableBits(){return this._currentBitPos+1+this._currentBytePos*8}totalBits(){return this._value.length*8}take(e){let t=e,n=0;for(;t>0&&this._haveBits();){let i=this._value[this._currentBytePos],o=this._currentBitPos+1,s=Math.min(o,t),a=Mh(i,o-s,s);n=(n<<s)+a,t-=s,this._currentBitPos-=s,this._currentBitPos<0&&(this._currentBitPos=7,this._currentBytePos--)}return n}untake(e){for(this._currentBitPos+=e;this._currentBitPos>7;)this._currentBitPos-=8,this._currentBytePos+=1}_haveBits(){return this._currentBytePos>=0}};function Mh(r,e,t){let n=Hh(e,t);return(r&n)>>>e}function Hh(r,e){return Rh[r]&$h[Math.min(e+r-1,7)]}var mr=BigInt(Ze.code),ot=8;async function Lt(r){return(await Ze.encode(r)).subarray(0,8).reverse()}var wc=Rt(Mr(),1);var Be=async(r,e,t)=>{t.codec==null&&(t.codec=M);let n=await oe.digest(r),i=A.create(t.cidVersion,t.codec.code,n);return await e.put(i,r,{...t,signal:t.signal}),i};var Yi=class{options;root;dir;path;dirty;flat;parent;parentKey;unixfs;mode;mtime;cid;size;nodeSize;constructor(e,t){this.options=t??{},this.root=e.root,this.dir=e.dir,this.path=e.path,this.dirty=e.dirty,this.flat=e.flat,this.parent=e.parent,this.parentKey=e.parentKey,this.unixfs=e.unixfs,this.mode=e.mode,this.mtime=e.mtime}},vn=class extends Yi{_bucket;constructor(e,t){super(e,t),this._bucket=gt({hashFn:Lt,bits:8})}async put(e,t){this.cid=void 0,this.size=void 0,this.nodeSize=void 0,await this._bucket.put(e,t)}async get(e){return this._bucket.get(e)}childCount(){return this._bucket.leafCount()}directChildrenCount(){return this._bucket.childrenCount()}onlyChild(){return this._bucket.onlyChild()}async*eachChildSeries(){for(let{key:e,value:t}of this._bucket.eachLeafSeries())yield{key:e,child:t}}estimateNodeSize(){return this.nodeSize!==void 0?this.nodeSize:(this.nodeSize=gc(this._bucket,this,this.options),this.nodeSize)}async*flush(e){for await(let t of yc(this._bucket,e,this,this.options))yield{...t,path:this.path}}};async function*yc(r,e,t,n){let i=r._children,o=[],s=0n;for(let c=0;c<i.length;c++){let d=i.get(c);if(d==null)continue;let m=c.toString(16).toUpperCase().padStart(2,"0");if(d instanceof se){let x;for await(let g of yc(d,e,null,n))x=g;if(x==null)throw new Error("Could not flush sharded directory, no sub-shard found");o.push({Name:m,Tsize:Number(x.size),Hash:x.cid}),s+=x.size}else if(Vh(d.value)){let x=d.value,g;for await(let b of x.flush(e))g=b,yield g;if(g==null)throw new Error("Did not flush dir");let w=m+d.key;o.push({Name:w,Tsize:Number(g.size),Hash:g.cid}),s+=g.size}else{let x=d.value;if(x.cid==null)continue;let g=m+d.key,w=x.size;o.push({Name:g,Tsize:Number(w),Hash:x.cid}),s+=BigInt(w??0)}}let a=Uint8Array.from(i.bitField().reverse()),u=new v({type:"hamt-sharded-directory",data:a,fanout:BigInt(r.tableSize()),hashType:mr,mtime:t?.mtime,mode:t?.mode}),h={Data:u.marshal(),Links:o},f=T(P(h)),l=await Be(f,e,n),y=BigInt(f.byteLength)+s;yield{cid:l,unixfs:u,size:y}}function Vh(r){return typeof r.flush=="function"}function gc(r,e,t){let n=r._children,i=[];for(let u=0;u<n.length;u++){let h=n.get(u);if(h==null)continue;let f=u.toString(16).toUpperCase().padStart(2,"0");if(h instanceof se){let l=gc(h,null,t);i.push({Name:f,Tsize:Number(l),Hash:t.cidVersion===0?In:An})}else if(typeof h.value.flush=="function"){let y=h.value.nodeSize();i.push({Name:f+h.key,Tsize:Number(y),Hash:t.cidVersion===0?In:An})}else{let l=h.value;if(l.cid==null)continue;let y=f+h.key,c=l.size;i.push({Name:y,Tsize:Number(c),Hash:l.cid})}}let o=Uint8Array.from(n.bitField().reverse()),s=new v({type:"hamt-sharded-directory",data:o,fanout:BigInt(r.tableSize()),hashType:mr,mtime:e?.mtime,mode:e?.mode});return T(P({Data:s.marshal(),Links:i})).length}var In=A.parse("QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn"),An=A.parse("zdj7WbTaiJT1fgatdet9Ei9iDB5hdCxkbVyhyh8YTUnXMiwYi");var Zi=R("helia:unixfs:commands:utils:hamt-utils"),Cn=r=>r.toString(16).toUpperCase().padStart(2,"0").substring(0,2),xc=async(r,e,t)=>{let n=new vn({root:!0,dir:!0,parent:void 0,parentKey:void 0,path:"",dirty:!0,flat:!1,mtime:t.mtime,mode:t.mode},t);for(let o=0;o<e.length;o++)await n._bucket.put(e[o].name,{size:e[o].size,cid:e[o].cid});let i=await _e(n.flush(r));if(i==null)throw new Error("Flushing shard yielded no result");return i},Nn=async(r,e,t)=>{let n=v.unmarshal(r[0].node.Data??new Uint8Array(0)),i=BigInt(Math.pow(2,ot));r.reverse();let o,s;for(let a=0;a<r.length;a++){let u=a===r.length-1,h=r[a],f=Uint8Array.from(h.children.bitField().reverse()),l=new v({type:"hamt-sharded-directory",data:f,fanout:i,hashType:mr});u&&(l.mtime=n.mtime,l.mode=n.mode),s={Data:l.marshal(),Links:h.node.Links};let y=T(P(s));if(o=await Be(y,e,t),!u){let c=r[a+1];if(c==null)throw new Error("Was not operating on shard root but also had no parent?");Zi("updating link in parent sub-shard with prefix %s",c.prefix),c.node.Links=c.node.Links.filter(d=>d.Name!==c.prefix),c.node.Links.push({Name:c.prefix,Hash:o,Tsize:h.node.Links.reduce((d,m)=>d+(m.Tsize??0),y.byteLength)})}}if(o==null||s==null)throw new Error("Noting persisted");return{cid:o,node:s}},Tn=async(r,e,t,n)=>{let o=Bn(Lt)(U(e)),s=[];for(;;){let a=await t.get(r,n),u=$(a),h=new wc.default,f=await o.take(ot),l=Cn(f);s.push({prefix:l,children:h,node:u});let y;for(let d of u.Links){let m=d.Name??"";if(m.length<2)throw new Error("Invalid HAMT - link name was too short");let x=parseInt(m.substring(0,2),16);h.set(x,!0),m.startsWith(l)&&(y=d)}if(y==null){Zi("no link found with prefix %s for %s",l,e);break}let c=y.Name??"";if(c.length<2)throw new Error("Invalid HAMT - link name was too short");if(c.length===2){r=y.Hash,Zi("descend into sub-shard with prefix %s",c);continue}break}return{path:s,hash:o}};async function Dn(r,e,t,n){if(r.Data==null)throw new Error("DagPB node had no data");let i=v.unmarshal(r.Data),o;if(i.type==="directory")o=jh(r);else if(i.type==="hamt-sharded-directory")o=await bc(r,0,t,e,n);else throw new Error("Can only estimate the size of directories or shards");return o>t}function jh(r){let e=0;for(let t of r.Links)e+=(t.Name??"").length,e+=t.Hash.version===1?An.bytes.byteLength:In.bytes.byteLength;return e}async function bc(r,e,t,n,i){if(e>t)return t;if(r.Data==null||!v.unmarshal(r.Data).isDirectory())return e;for(let s of r.Links){let a=s.Name??"";if(a=a.substring(2),e+=a.length,e+=s.Hash.bytes.byteLength,s.Hash.code===j){let u=await n.get(s.Hash,i),h=$(u);e+=await bc(h,e,t,n,i)}}return e}var De=R("helia:unixfs:components:utils:add-link");async function Pt(r,e,t,n){if(r.node.Data==null)throw new F("Invalid parent passed to addLink");if(v.unmarshal(r.node.Data).type==="hamt-sharded-directory")return De("adding link to sharded directory"),Wh(r,e,t,n);De(`adding ${e.Name} (${e.Hash}) to regular directory`);let o=await qh(r,e,t,n);if(await Dn(o.node,t,n.shardSplitThresholdBytes,n)){De("converting directory to sharded directory");let s=await Gh(o,t);o.cid=s.cid,o.node=$(await t.get(s.cid,n))}return o}var Gh=async(r,e)=>{if(r.node.Data==null)throw new F("Invalid parent passed to convertToShardedDirectory");let t=v.unmarshal(r.node.Data),n=await xc(e,r.node.Links.map(i=>({name:i.Name??"",size:BigInt(i.Tsize??0),cid:i.Hash})),{mode:t.mode,mtime:t.mtime,cidVersion:r.cid.version});return De(`converted directory to sharded directory ${n.cid}`),n},qh=async(r,e,t,n)=>{let i=r.node.Links.filter(f=>{let l=f.Name===e.Name;if(l&&!n.allowOverwriting)throw new et;return!l});if(i.push(e),r.node.Data==null)throw new ee("Parent node with no data passed to addToDirectory");let o=v.unmarshal(r.node.Data),s;if(o.mtime!=null){let f=Date.now(),l=Math.floor(f/1e3);o.mtime={secs:BigInt(l),nsecs:(f-l*1e3)*1e3},s=o.marshal()}else s=r.node.Data;r.node=P({Data:s,Links:i});let a=T(r.node),u=await oe.digest(a),h=A.create(r.cid.version,j,u);return await t.put(h,a),{node:r.node,cid:h}},Wh=async(r,e,t,n)=>{let{path:i,hash:o}=await Tn(r.cid,e.Name,t,n),s=i[i.length-1];if(s==null)throw new Error("Invalid HAMT, could not generate path");let a=s.prefix,u=parseInt(a,16);De("next prefix for %s is %s",e.Name,a);let h=`${a}${e.Name}`,f=s.node.Links.find(l=>(l.Name??"").startsWith(a));if(f!=null)if(De("link %s was present in shard",h),f.Name===h){if(!n.allowOverwriting)throw new et;De("overwriting %s in sub-shard",e.Name),s.node.Links=s.node.Links.filter(l=>l.Name!==h),s.node.Links.push({Name:h,Hash:e.Hash,Tsize:e.Tsize})}else{if(f.Name?.length===2)throw new Error("Existing link was sub-shard?!");{De("prefix %s already exists, creating new sub-shard",a);let l=s.node.Links.findIndex(x=>x.Name?.startsWith(a)),y=s.node.Links.splice(l,1)[0],c=(y.Name??"").substring(2),m=Bn(Lt)(U(c));for(let x=0;x<i.length;x++)await m.take(ot);for(;;){let x=await m.take(ot),g=Cn(x);y.Name=`${g}${c}`;let w=await o.take(ot),b=Cn(w);if(g===b){let I=new Qi.default;I.set(w,!0),i.push({prefix:b,children:I,node:{Links:[]}});continue}let S=new Qi.default;S.set(w,!0),S.set(x,!0),i.push({prefix:a,children:S,node:{Links:[y,{Name:`${b}${e.Name}`,Hash:e.Hash,Tsize:e.Tsize}]}});break}}}else De("link %s was not present in sub-shard",h),e.Name=h,s.node.Links.push(e),s.children.set(u,!0),De("adding %s to existing sub-shard",h);return Nn(i,t,n)};async function Ge(r,e,t={}){let n=await Z(r,e,t);if(n.type!=="directory")throw new Ne(`${r.toString()} was not a UnixFS directory`);return{cid:r,node:n.node}}async function Ut(r,e,t,n){let i=await Z(r,t,n);if(i.type!=="directory"&&i.type!=="file"&&i.type!=="raw")throw new Ce(`${r.toString()} was not a UnixFS node`);return{Name:e,Tsize:i.node instanceof Uint8Array?i.node.byteLength:Kh(i.node),Hash:r}}function Kh(r){let e=r.Links.reduce((t,n)=>t+(n.Tsize??0),0);return T(r).byteLength+e}var Xh=R("helia:unixfs:components:utils:resolve");async function ze(r,e,t,n){if(e==null||e==="")return{cid:r};let i=`/ipfs/${r}${e==null?"":`/${e}`}`,o=await cs(Ki(i,t,n));if(o.length===0)throw new Fe("Could not find path in directory");return Xh("resolved %s to %c",e,r),{cid:o[o.length-1].cid,path:e,segments:o}}async function Ot(r,e,t,n){if(e.segments==null||e.segments.length===0)return r;let i=e.segments.pop();if(i==null)throw new Error("Insufficient segments");i.cid=r,e.segments.reverse();for(let o of e.segments){let[s,a]=await Promise.all([Ge(o.cid,t,n),Ut(i.cid,i.name,t,n)]);r=(await Pt(s,a,t,{...n,allowOverwriting:!0,cidVersion:r.version})).cid,o.cid=r,i=o}return r}var Jh=K.bind({ignoreUndefined:!0}),Yh={};async function*_c(r,e,t={}){let n=Jh(Yh,t),i=await ze(r,n.path,e,n),o=await Z(i.cid,e,n);if(o.type!=="file"&&o.type!=="raw")throw new jr;if(o.content==null)throw new wt;yield*o.content(n)}var Zh=K.bind({ignoreUndefined:!0}),Qh=R("helia:unixfs:chmod"),ed={recursive:!1,shardSplitThresholdBytes:262144};async function Sc(r,e,t,n={}){let i=Zh(ed,n),o=await ze(r,i.path,t,n);if(Qh("chmod %c %d",o.cid,e),i.recursive){let y=await Te(async function*(){for await(let c of bn(o.cid,t,n)){let d,m=[];if(c.type==="raw")d=new v({type:"file",data:c.node});else if(c.type==="file"||c.type==="directory")d=c.unixfs,m=c.node.Links;else throw new Ce;d.mode=e;let x={Data:d.marshal(),Links:m};yield{path:c.path,content:x}}},c=>Qe(c,t,{...i,dagBuilder:async function*(d,m){for await(let x of d)yield async function(){let g=x.content,w=T(g),b=await Be(w,m,{...i,cidVersion:r.version});if(g.Data==null)throw new ee(`${b} had no data`);let S=v.unmarshal(g.Data);return{cid:b,size:BigInt(w.length),path:x.path,unixfs:S}}}}),async c=>_e(c));if(y==null)throw new He(`Could not chmod ${o.cid.toString()}`);return Ot(y.cid,o,t,i)}let s=await t.get(o.cid,n),a,u=[];if(o.cid.code===Q)a=new v({type:"file",data:s});else{let y=$(s);if(y.Data==null)throw new ee(`${o.cid.toString()} had no data`);u=y.Links,a=v.unmarshal(y.Data)}a.mode=e;let h=T({Data:a.marshal(),Links:u}),f=await oe.digest(h),l=A.create(o.cid.version,j,f);return await t.put(l,h),Ot(l,o,t,i)}var td=K.bind({ignoreUndefined:!0}),rd=R("helia:unixfs:cp"),nd={force:!1,shardSplitThresholdBytes:262144};async function kc(r,e,t,n,i={}){let o=td(nd,i);if(t.includes("/"))throw new F("Name must not have slashes");let[s,a]=await Promise.all([Ge(e,n,o),Ut(r,t,n,o)]);return rd('Adding %c as "%s" to %c',r,t,e),(await Pt(s,a,n,{allowOverwriting:o.force,cidVersion:e.version,...o})).cid}var id=K.bind({ignoreUndefined:!0}),od={};async function*Ec(r,e,t={}){let n=id(od,t),i=await ze(r,n.path,e,n),o=await Z(i.cid,e,{...t,extended:!0});if(o.type==="file"||o.type==="raw"){t.extended===!1?yield{name:o.name,path:o.path,cid:o.cid}:yield o;return}if(o.content==null)throw new wt;if(o.type!=="directory")throw new Ne;yield*o.content(t)}var sd=K.bind({ignoreUndefined:!0}),Bc=R("helia:unixfs:mkdir"),ad={cidVersion:1,force:!1,shardSplitThresholdBytes:262144};async function vc(r,e,t,n={}){let i=sd(ad,n);if(e.includes("/"))throw new F("Path must not have slashes");if((await Z(r,t,n)).type!=="directory")throw new Ne(`${r.toString()} was not a UnixFS directory`);Bc("creating %s",e);let a={Data:new v({type:"directory",mode:i.mode,mtime:i.mtime}).marshal(),Links:[]},u=T(a),h=await oe.digest(u),f=A.create(i.cidVersion,j,h);await t.put(f,u);let[l,y]=await Promise.all([Ge(r,t,i),Ut(f,e,t,i)]);return Bc("adding empty dir called %s to %c",e,r),(await Pt(l,y,t,{...i,allowOverwriting:i.force})).cid}var Fn=R("helia:unixfs:utils:remove-link");async function Ic(r,e,t,n){if(r.node.Data==null)throw new ee("Parent node had no data");if(v.unmarshal(r.node.Data).type==="hamt-sharded-directory"){Fn(`removing ${e} from sharded directory`);let o=await ud(r,e,t,n);return await Dn(o.node,t,n.shardSplitThresholdBytes,n)?o:(Fn("converting shard to flat directory %c",r.cid),fd(o,t,n))}return Fn(`removing link ${e} regular directory`),cd(r,e,t,n)}var cd=async(r,e,t,n)=>{r.node.Links=r.node.Links.filter(s=>s.Name!==e);let i=T(r.node),o=await Be(i,t,{...n,cidVersion:r.cid.version});return Fn(`Updated regular directory ${o}`),{node:r.node,cid:o}},ud=async(r,e,t,n)=>{let{path:i}=await Tn(r.cid,e,t,n),o=i[i.length-1];if(o==null)throw new Error("Invalid HAMT, could not generate path");let s=o.node.Links.filter(h=>(h.Name??"").substring(2)===e).map(h=>h.Name).pop();if(s==null)throw new Error("File not found");let a=s.substring(0,2),u=parseInt(a,16);if(o.node.Links=o.node.Links.filter(h=>h.Name!==s),o.children.unset(u),o.node.Links.length===1)for(;i.length!==1;){let h=i[i.length-1];if(h==null||h.node.Links.length>1)break;i.pop();let f=i[i.length-1];if(f==null)break;let l=h.node.Links[0];f.node.Links=f.node.Links.filter(y=>!(y.Name??"").startsWith(f.prefix)),f.node.Links.push({Hash:l.Hash,Name:`${f.prefix}${(l.Name??"").substring(2)}`,Tsize:l.Tsize})}return Nn(i,t,n)},fd=async(r,e,t)=>{if(r.node.Data==null)throw new F("Invalid parent passed to convertToFlatDirectory");let n={Links:[]},i=await Z(r.cid,e);if(i.type!=="directory")throw new Error("Unexpected node type");for await(let u of i.content()){let h=0;u.node instanceof Uint8Array?h=u.node.byteLength:h=T(u.node).length,n.Links.push({Hash:u.cid,Name:u.name,Tsize:h})}let o=v.unmarshal(r.node.Data);n.Data=new v({type:"directory",mode:o.mode,mtime:o.mtime}).marshal();let s=T(P(n));return{cid:await Be(s,e,{codec:M,cidVersion:r.cid.version,signal:t.signal}),node:n}};var ld=K.bind({ignoreUndefined:!0}),hd=R("helia:unixfs:rm"),dd={shardSplitThresholdBytes:262144};async function Ac(r,e,t,n={}){let i=ld(dd,n);if(e.includes("/"))throw new F("Name must not have slashes");let o=await Ge(r,t,i);return hd("Removing %s from %c",e,r),(await Ic(o,e,t,{...i,cidVersion:r.version})).cid}function Cc(r,e="utf8"){let t=Fr[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.encoder.encode(r).substring(1)}var eo={32:16777619n,64:1099511628211n,128:309485009821345068724781371n,256:374144419156711147060143317175368453031918731002211n,512:35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852759n,1024:5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082573n},Nc={32:2166136261n,64:14695981039346656037n,128:144066263297769815596495629667062367629n,256:100029257958052580907070968620625704837092796014241193945225284501741471925557n,512:9659303129496669498009435400716310466090418745672637896108374329434462657994582932197716438449813051892206539805784495328239340083876191928701583869517785n,1024:14197795064947621068722070641403218320880622795441933960878474914617582723252296732303717722150864096521202355549365628174669108571814760471015076148029755969804077320157692458563003215304957150157403644460363550505412711285966361610267868082893823963790439336411086884584107735010676915n},Tc=new globalThis.TextEncoder;function pd(r,e){let t=eo[e],n=Nc[e];for(let i=0;i<r.length;i++)n^=BigInt(r[i]),n=BigInt.asUintN(e,n*t);return n}function md(r,e,t){if(t.length===0)throw new Error("The `utf8Buffer` option must have a length greater than zero");let n=eo[e],i=Nc[e],o=r;for(;o.length>0;){let s=Tc.encodeInto(o,t);o=o.slice(s.read);for(let a=0;a<s.written;a++)i^=BigInt(t[a]),i=BigInt.asUintN(e,i*n)}return i}function to(r,{size:e=32,utf8Buffer:t}={}){if(!eo[e])throw new Error("The `size` option must be one of 32, 64, 128, 256, 512, or 1024");if(typeof r=="string"){if(t)return md(r,e,t);r=Tc.encode(r)}return pd(r,e)}var yr={hash:r=>Number(to(r,{size:32})),hashV:(r,e)=>yd(yr.hash(r,e))};function yd(r){let e=r.toString(16);return e.length%2===1&&(e=`0${e}`),U(e,"base16")}var Dc=64,ve=class{fp;h;seed;constructor(e,t,n,i=2){if(i>Dc)throw new TypeError("Invalid Fingerprint Size");let o=t.hashV(e,n),s=ge(i);for(let a=0;a<s.length;a++)s[a]=o[a];s.length===0&&(s[0]=7),this.fp=s,this.h=t,this.seed=n}hash(){return this.h.hash(this.fp,this.seed)}equals(e){return e?.fp instanceof Uint8Array?Ir(this.fp,e.fp):!1}};function st(r,e){return Math.floor(Math.random()*(e-r))+r}var at=class{contents;constructor(e){this.contents=new Array(e).fill(null)}has(e){if(!(e instanceof ve))throw new TypeError("Invalid Fingerprint");return this.contents.some(t=>e.equals(t))}add(e){if(!(e instanceof ve))throw new TypeError("Invalid Fingerprint");for(let t=0;t<this.contents.length;t++)if(this.contents[t]==null)return this.contents[t]=e,!0;return!0}swap(e){if(!(e instanceof ve))throw new TypeError("Invalid Fingerprint");let t=st(0,this.contents.length-1),n=this.contents[t];return this.contents[t]=e,n}remove(e){if(!(e instanceof ve))throw new TypeError("Invalid Fingerprint");let t=this.contents.findIndex(n=>e.equals(n));return t>-1?(this.contents[t]=null,!0):!1}};var gd=500,gr=class{bucketSize;filterSize;fingerprintSize;buckets;count;hash;seed;constructor(e){this.filterSize=e.filterSize,this.bucketSize=e.bucketSize??4,this.fingerprintSize=e.fingerprintSize??2,this.count=0,this.buckets=[],this.hash=e.hash??yr,this.seed=e.seed??st(0,Math.pow(2,10))}add(e){typeof e=="string"&&(e=U(e));let t=new ve(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,i=(n^t.hash())%this.filterSize;if(this.buckets[n]==null&&(this.buckets[n]=new at(this.bucketSize)),this.buckets[i]==null&&(this.buckets[i]=new at(this.bucketSize)),this.buckets[n].add(t)||this.buckets[i].add(t))return this.count++,!0;let o=[n,i],s=o[st(0,o.length-1)];this.buckets[s]==null&&(this.buckets[s]=new at(this.bucketSize));for(let a=0;a<gd;a++){let u=this.buckets[s].swap(t);if(u!=null&&(s=(s^u.hash())%this.filterSize,this.buckets[s]==null&&(this.buckets[s]=new at(this.bucketSize)),this.buckets[s].add(u)))return this.count++,!0}return!1}has(e){typeof e=="string"&&(e=U(e));let t=new ve(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,i=this.buckets[n]?.has(t)??!1;if(i)return i;let o=(n^t.hash())%this.filterSize;return this.buckets[o]?.has(t)??!1}remove(e){typeof e=="string"&&(e=U(e));let t=new ve(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,i=this.buckets[n]?.remove(t)??!1;if(i)return this.count--,i;let o=(n^t.hash())%this.filterSize,s=this.buckets[o]?.remove(t)??!1;return s&&this.count--,s}get reliable(){return Math.floor(100*(this.count/this.filterSize))<=90}};var wr=class{filterSize;bucketSize;fingerprintSize;scale;filterSeries;hash;seed;constructor(e){this.bucketSize=e.bucketSize??4,this.filterSize=e.filterSize??(1<<18)/this.bucketSize,this.fingerprintSize=e.fingerprintSize??2,this.scale=e.scale??2,this.hash=e.hash??yr,this.seed=e.seed??st(0,Math.pow(2,10)),this.filterSeries=[new gr({filterSize:this.filterSize,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed})]}add(e){if(typeof e=="string"&&(e=U(e)),this.has(e))return!0;let t=this.filterSeries.find(n=>n.reliable);if(t==null){let n=this.filterSize*Math.pow(this.scale,this.filterSeries.length);t=new gr({filterSize:n,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed}),this.filterSeries.push(t)}return t.add(e)}has(e){typeof e=="string"&&(e=U(e));for(let t=0;t<this.filterSeries.length;t++)if(this.filterSeries[t].has(e))return!0;return!1}remove(e){typeof e=="string"&&(e=U(e));for(let t=0;t<this.filterSeries.length;t++)if(this.filterSeries[t].remove(e))return!0;return!1}get count(){return this.filterSeries.reduce((e,t)=>e+t.count,0)}};var zc=1877,Ln=1604,wd=K.bind({ignoreUndefined:!0}),xd=R("helia:unixfs:stat"),bd={};async function Fc(r,e,t={}){let n=wd(bd,t),i=await ze(r,t.path,e,n);xd("stat %c",i.cid);let o=await Z(i.cid,e,n);if(o.type==="raw")return t.extended===!0?Ed(o):kd(o);if(o.type==="file"||o.type==="directory")return t.extended===!0?Sd(o,e,t.filter??new wr({filterSize:1024}),t):_d(o);throw new Ce}function _d(r){return{type:r.type,cid:r.cid,unixfs:r.unixfs,mode:r.unixfs.mode??(r.unixfs.isDirectory()?zc:Ln),mtime:r.unixfs.mtime,size:r.unixfs.fileSize()}}async function Sd(r,e,t,n){let i=await Lc(r.cid,e,!1,t,n);return{type:r.type,cid:r.cid,unixfs:r.unixfs,size:r.unixfs.isDirectory()?i.dirSize:r.unixfs.fileSize(),mode:r.unixfs.mode??(r.unixfs.isDirectory()?zc:Ln),mtime:r.unixfs.mtime,localSize:i.localSize,dagSize:i.dagSize,deduplicatedDagSize:i.deduplicatedDagSize,blocks:i.blocks,uniqueBlocks:i.uniqueBlocks}}function kd(r){return{type:r.type,cid:r.cid,unixfs:void 0,mode:Ln,mtime:void 0,size:BigInt(r.node.byteLength)}}function Ed(r){return{type:r.type,cid:r.cid,unixfs:void 0,mode:Ln,mtime:void 0,size:BigInt(r.node.byteLength),localSize:BigInt(r.node.byteLength),dagSize:BigInt(r.node.byteLength),deduplicatedDagSize:BigInt(r.node.byteLength),blocks:1n,uniqueBlocks:1n}}async function Lc(r,e,t,n,i){let o={dirSize:0n,localSize:0n,dagSize:0n,deduplicatedDagSize:0n,blocks:0n,uniqueBlocks:0n};try{let s=n.has(r.bytes);n.add(r.bytes);let a=await e.get(r,i);if(o.blocks++,o.dagSize+=BigInt(a.byteLength),s||(o.uniqueBlocks++,o.deduplicatedDagSize+=BigInt(a.byteLength)),r.code===Q)o.localSize+=BigInt(a.byteLength),t&&(o.dirSize+=BigInt(a.byteLength));else if(r.code===j){let u=$(a),h;if(u.Data!=null&&(h=v.unmarshal(u.Data)),u.Links.length>0){for(let f of u.Links){let l=await Lc(f.Hash,e,Bd(f,h),n,i);o.localSize+=l.localSize,o.dagSize+=l.dagSize,o.deduplicatedDagSize+=l.deduplicatedDagSize,o.blocks+=l.blocks,o.uniqueBlocks+=l.uniqueBlocks,o.dirSize+=l.dirSize}t&&h!=null&&(o.dirSize+=h.fileSize())}else{if(h==null)throw new ee(`PBNode ${r.toString()} had no data`);h.data!=null&&(o.localSize+=BigInt(h.data.byteLength??0)),t&&(o.dirSize+=h.fileSize())}}else throw new He(`${r.toString()} was neither DAG_PB nor RAW`)}catch(s){if(s.name!=="NotFoundError"||i.offline!==!0)throw s}return o}function Bd(r,e){if(e==null)return!1;let t=r.Name;return t==null?!1:e.type==="directory"?!0:e.type==="hamt-sharded-directory"&&t.length>2}var vd=K.bind({ignoreUndefined:!0}),Id=R("helia:unixfs:touch"),Ad={recursive:!1,shardSplitThresholdBytes:262144};async function Pc(r,e,t={}){let n=vd(Ad,t),i=await ze(r,n.path,e,n),o=n.mtime??{secs:BigInt(Math.round(Date.now()/1e3)),nsecs:0};if(Id("touch %c %o",i.cid,o),n.recursive){let y=await Te(async function*(){for await(let c of bn(i.cid,e)){let d,m;if(c.type==="raw")d=new v({data:c.node}),m=[];else if(c.type==="file"||c.type==="directory")d=c.unixfs,m=c.node.Links;else throw new Ce;d.mtime=o;let x={Data:d.marshal(),Links:m};yield{path:c.path,content:x}}},c=>Qe(c,e,{...n,dagBuilder:async function*(d,m){for await(let x of d)yield async function(){let g=x.content,w=T(g),b=await Be(w,m,{...n,cidVersion:r.version});if(g.Data==null)throw new ee(`${b} had no data`);let S=v.unmarshal(g.Data);return{cid:b,size:BigInt(w.length),path:x.path,unixfs:S}}}}),async c=>_e(c));if(y==null)throw new He(`Could not chmod ${i.cid.toString()}`);return Ot(y.cid,i,e,n)}let s=await e.get(i.cid,t),a,u=[];if(i.cid.code===Q)a=new v({data:s});else{let y=$(s);if(u=y.Links,y.Data==null)throw new ee(`${i.cid.toString()} had no data`);a=v.unmarshal(y.Data)}a.mtime=o;let h=T({Data:a.marshal(),Links:u}),f=await oe.digest(h),l=A.create(i.cid.version,j,f);return await e.put(l,h),Ot(l,i,e,n)}var Pn=class{components;constructor(e){this.components=e}async*addAll(e,t={}){yield*Gr(e,this.components.blockstore,t)}async addBytes(e,t={}){return Is(e,this.components.blockstore,t)}async addByteStream(e,t={}){return As(e,this.components.blockstore,t)}async addFile(e,t={}){return Cs(e,this.components.blockstore,t)}async addDirectory(e={},t={}){return Ns(e,this.components.blockstore,t)}async*cat(e,t={}){yield*_c(e,this.components.blockstore,t)}async chmod(e,t,n={}){return Sc(e,t,this.components.blockstore,n)}async cp(e,t,n,i={}){return kc(e,t,n,this.components.blockstore,i)}async*ls(e,t={}){yield*Ec(e,this.components.blockstore,t)}async mkdir(e,t,n={}){return vc(e,t,this.components.blockstore,n)}async rm(e,t,n={}){return Ac(e,t,this.components.blockstore,n)}async stat(e,t={}){return Fc(e,this.components.blockstore,t)}async touch(e,t={}){return Pc(e,this.components.blockstore,t)}};function Uc(r){return new Pn(r)}var Pe="/",Oc=new TextEncoder().encode(Pe),Un=Oc[0],xr=class r{_buf;constructor(e,t){if(typeof e=="string")this._buf=U(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(t==null&&(t=!0),t&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Un)throw new Error("Invalid key")}toString(e="utf8"){return Cc(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new r(e.join(Pe))}static random(){return new r(Math.random().toString().substring(2))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new r(e):typeof e.uint8Array=="function"?new r(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Oc),this._buf[0]!==Un){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Un,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Un;)this._buf=this._buf.subarray(0,-1)}less(e){let t=this.list(),n=e.list();for(let i=0;i<t.length;i++){if(n.length<i+1)return!1;let o=t[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return t.length<n.length}reverse(){return r.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(Pe).slice(1)}type(){return Cd(this.baseNamespace())}name(){return Nd(this.baseNamespace())}instance(e){return new r(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(Pe)||(e+=Pe),e+=this.type(),new r(e)}parent(){let e=this.list();return e.length===1?new r(Pe):new r(e.slice(0,-1).join(Pe))}child(e){return this.toString()===Pe?e:e.toString()===Pe?this:new r(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return r.withNamespaces([...this.namespaces(),...Td(e.map(t=>t.namespaces()))])}};function Cd(r){let e=r.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function Nd(r){let e=r.split(":");return e[e.length-1]}function Td(r){return[].concat(...r)}function On(r){return r.split("/").pop()??""}var Dd=R("helia:mfs"),ro=class{components;unixfs;root;key;constructor(e,t={}){this.components=e,this.key=new xr(t.key??"/locals/filesroot"),this.unixfs=Uc(e)}async#e(){if(this.root==null)try{let e=await this.components.datastore.get(this.key);this.root=A.decode(e)}catch(e){if(e.name!=="NotFoundError")throw e;this.root=await this.unixfs.addDirectory()}return this.root}async writeBytes(e,t,n){let i=await this.unixfs.addBytes(e,n);await this.cp(i,t,n),n?.mode!=null&&await this.chmod(t,n.mode,n),n?.mtime!=null&&await this.touch(t,n)}async writeByteStream(e,t,n){let i=await this.unixfs.addByteStream(e,n);await this.cp(i,t,n),n?.mode!=null&&await this.chmod(t,n.mode,n),n?.mtime!=null&&await this.touch(t,n)}async*cat(e,t={}){let n=await this.#e(),i=await this.#r(n,e,{...t,createMissingDirectories:!1,finalSegmentMustBeDirectory:!1});yield*this.unixfs.cat(i[i.length-1].cid,t)}async chmod(e,t,n={}){let i=await this.#e();this.root=await this.unixfs.chmod(i,t,{...n,path:e})}async cp(e,t,n){let i=await this.#e(),o=n?.force??!1;typeof e=="string"&&(e=(await this.stat(e,n)).cid),o||await this.#s(t,n);let s=On(t),a=t.substring(0,t.length-`/${s}`.length),u=[{cid:i,name:""}];a!==""&&(u=await this.#r(i,a,{...n,createMissingDirectories:n?.force??!1,finalSegmentMustBeDirectory:!0})),u.push({cid:e,name:s}),this.root=await this.#n(u,n)}async*ls(e,t){let n=await this.#e();t?.path!=null&&(e=`${e}/${t.path}`),yield*this.unixfs.ls(n,{...t,path:e})}async mkdir(e,t){let n=t?.force??!1;n||await this.#s(e,t);let i=On(e),o=e.substring(0,e.length-`/${i}`.length),s=await this.#e(),a=[{cid:s,name:""}];o!==""&&(a=await this.#r(s,o,{...t,createMissingDirectories:n,finalSegmentMustBeDirectory:!0})),a.push({cid:await this.unixfs.addDirectory({mode:t?.mode,mtime:t?.mtime},t),name:On(e)}),this.root=await this.#n(a,t)}async rm(e,t){(t?.force??!1)||await this.#u(e,t);let i=await this.#e(),o=await this.#r(i,e,{...t,createMissingDirectories:!1,finalSegmentMustBeDirectory:!1}),s=o.pop();if(s==null)throw new F("path was too short");let a=o[o.length-1];a.cid=await this.unixfs.rm(a.cid,s.name,t),this.root=await this.#n(o,t)}async stat(e,t){let n=await this.#e(),o=(await this.#r(n,e,{...t,createMissingDirectories:!1,finalSegmentMustBeDirectory:!1})).pop();if(o==null)throw new Fe;return this.unixfs.stat(o.cid,t)}async touch(e,t){let n=await this.#e(),i=await this.#r(n,e,{...t,createMissingDirectories:!1,finalSegmentMustBeDirectory:!1}),o=i[i.length-1];if(o==null)throw new Fe;o.cid=await this.unixfs.touch(o.cid,t),this.root=await this.#n(i,t)}async#r(e,t,n){if(!t.startsWith("/"))throw new F("path must be absolute");let i=await this.unixfs.stat(e,{...n,offline:!0}),o=[{cid:e,name:"",unixfs:i.unixfs}],s=e,a=t.split("/").filter(Boolean);for(let h=0;h<a.length;h++){let f=a[h];try{let l=await this.unixfs.stat(s,{...n,offline:!0,path:f});o.push({cid:l.cid,name:f,unixfs:l.unixfs}),s=l.cid}catch{if(Dd.error("could not resolve path segment %s of %s under %c",f,t,e),n.createMissingDirectories){let y=await this.unixfs.addDirectory();o.push({cid:y,name:f,unixfs:new v({type:"directory"})})}else throw new Fe(`${t} does not exist`)}}let u=o[o.length-1];if(n.finalSegmentMustBeDirectory&&u.unixfs?.isDirectory()!==!0)throw new Ne(`${t} was not a directory`);return o}async#n(e,t={}){let n=e.pop();if(n==null)throw new F("path was too short");let i=n.cid;for(let o=e.length-1;o>-1;o--){let s=e[o];s.cid=await this.unixfs.cp(n.cid,s.cid,n.name,{...t,force:!0}),n=s,i=s.cid}return await this.components.datastore.put(this.key,i.bytes,t),i}async#u(e,t={}){if(!await this.#c(e,t))throw new Fe}async#s(e,t={}){if(await this.#c(e,t))throw new et}async#c(e,t={}){try{return await this.stat(e,{...t,offline:!0}),!0}catch{return!1}}};function zd(r,e={}){return new ro(r,e)}return jc(Fd);})();
3
3
  return HeliaMfs}));
4
4
  //# sourceMappingURL=index.min.js.map