@helia/http 1.0.6 → 1.0.7-e6b976a
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 +5 -5
- package/package.json +5 -5
- package/dist/typedoc-urls.json +0 -6
package/dist/index.min.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.HeliaHttp = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var HeliaHttp=(()=>{var im=Object.create;var ts=Object.defineProperty;var am=Object.getOwnPropertyDescriptor;var cm=Object.getOwnPropertyNames;var um=Object.getPrototypeOf,lm=Object.prototype.hasOwnProperty;var ye=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),vt=(r,t)=>{for(var e in t)ts(r,e,{get:t[e],enumerable:!0})},xl=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of cm(t))!lm.call(r,o)&&o!==e&&ts(r,o,{get:()=>t[o],enumerable:!(n=am(t,o))||n.enumerable});return r};var Jt=(r,t,e)=>(e=r!=null?im(um(r)):{},xl(t||!r||!r.__esModule?ts(e,"default",{value:r,enumerable:!0}):e,r)),fm=r=>xl(ts({},"__esModule",{value:!0}),r);var sn=ye((mE,Rl)=>{"use strict";function Il(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function Am(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return Il(r,e)}catch{e.message=r.message,e.stack=r.stack;let o=function(){};return o.prototype=Object.create(Object.getPrototypeOf(r)),Il(new o,e)}}Rl.exports=Am});var Of=ye(Ln=>{"use strict";var Xy="[object ArrayBuffer]",tr=class r{static isArrayBuffer(t){return Object.prototype.toString.call(t)===Xy}static toArrayBuffer(t){return this.isArrayBuffer(t)?t:t.byteLength===t.buffer.byteLength||t.byteOffset===0&&t.byteLength===t.buffer.byteLength?t.buffer:this.toUint8Array(t.buffer).slice(t.byteOffset,t.byteOffset+t.byteLength).buffer}static toUint8Array(t){return this.toView(t,Uint8Array)}static toView(t,e){if(t.constructor===e)return t;if(this.isArrayBuffer(t))return new e(t);if(this.isArrayBufferView(t))return new e(t.buffer,t.byteOffset,t.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(t){return this.isArrayBufferView(t)||this.isArrayBuffer(t)}static isArrayBufferView(t){return ArrayBuffer.isView(t)||t&&this.isArrayBuffer(t.buffer)}static isEqual(t,e){let n=r.toUint8Array(t),o=r.toUint8Array(e);if(n.length!==o.byteLength)return!1;for(let s=0;s<n.length;s++)if(n[s]!==o[s])return!1;return!0}static concat(...t){let e;Array.isArray(t[0])&&!(t[1]instanceof Function)||Array.isArray(t[0])&&t[1]instanceof Function?e=t[0]:t[t.length-1]instanceof Function?e=t.slice(0,t.length-1):e=t;let n=0;for(let i of e)n+=i.byteLength;let o=new Uint8Array(n),s=0;for(let i of e){let a=this.toUint8Array(i);o.set(a,s),s+=a.length}return t[t.length-1]instanceof Function?this.toView(o,t[t.length-1]):o.buffer}},Oc="string",Qy=/^[0-9a-f]+$/i,tw=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,ew=/^[a-zA-Z0-9-_]+$/,Cs=class{static fromString(t){let e=unescape(encodeURIComponent(t)),n=new Uint8Array(e.length);for(let o=0;o<e.length;o++)n[o]=e.charCodeAt(o);return n.buffer}static toString(t){let e=tr.toUint8Array(t),n="";for(let s=0;s<e.length;s++)n+=String.fromCharCode(e[s]);return decodeURIComponent(escape(n))}},he=class{static toString(t,e=!1){let n=tr.toArrayBuffer(t),o=new DataView(n),s="";for(let i=0;i<n.byteLength;i+=2){let a=o.getUint16(i,e);s+=String.fromCharCode(a)}return s}static fromString(t,e=!1){let n=new ArrayBuffer(t.length*2),o=new DataView(n);for(let s=0;s<t.length;s++)o.setUint16(s*2,t.charCodeAt(s),e);return n}},Ns=class r{static isHex(t){return typeof t===Oc&&Qy.test(t)}static isBase64(t){return typeof t===Oc&&tw.test(t)}static isBase64Url(t){return typeof t===Oc&&ew.test(t)}static ToString(t,e="utf8"){let n=tr.toUint8Array(t);switch(e.toLowerCase()){case"utf8":return this.ToUtf8String(n);case"binary":return this.ToBinary(n);case"hex":return this.ToHex(n);case"base64":return this.ToBase64(n);case"base64url":return this.ToBase64Url(n);case"utf16le":return he.toString(n,!0);case"utf16":case"utf16be":return he.toString(n);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromString(t,e="utf8"){if(!t)return new ArrayBuffer(0);switch(e.toLowerCase()){case"utf8":return this.FromUtf8String(t);case"binary":return this.FromBinary(t);case"hex":return this.FromHex(t);case"base64":return this.FromBase64(t);case"base64url":return this.FromBase64Url(t);case"utf16le":return he.fromString(t,!0);case"utf16":case"utf16be":return he.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){let e=tr.toUint8Array(t);if(typeof btoa<"u"){let n=this.ToString(e,"binary");return btoa(n)}else return Buffer.from(e).toString("base64")}static FromBase64(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64(e))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(e)):new Uint8Array(Buffer.from(e,"base64")).buffer}static FromBase64Url(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64Url(e))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(e.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(t){return this.ToBase64(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.FromBinary(t);case"utf8":return Cs.fromString(t);case"utf16":case"utf16be":return he.fromString(t);case"utf16le":case"usc2":return he.fromString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.ToBinary(t);case"utf8":return Cs.toString(t);case"utf16":case"utf16be":return he.toString(t);case"utf16le":case"usc2":return he.toString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromBinary(t){let e=t.length,n=new Uint8Array(e);for(let o=0;o<e;o++)n[o]=t.charCodeAt(o);return n.buffer}static ToBinary(t){let e=tr.toUint8Array(t),n="";for(let o=0;o<e.length;o++)n+=String.fromCharCode(e[o]);return n}static ToHex(t){let e=tr.toUint8Array(t),n="",o=e.length;for(let s=0;s<o;s++){let i=e[s];i<16&&(n+="0"),n+=i.toString(16)}return n}static FromHex(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isHex(e))throw new TypeError("Argument 'hexString' is not HEX encoded");e.length%2&&(e=`0${e}`);let n=new Uint8Array(e.length/2);for(let o=0;o<e.length;o=o+2){let s=e.slice(o,o+2);n[o/2]=parseInt(s,16)}return n.buffer}static ToUtf16String(t,e=!1){return he.toString(t,e)}static FromUtf16String(t,e=!1){return he.fromString(t,e)}static Base64Padding(t){let e=4-t.length%4;if(e<4)for(let n=0;n<e;n++)t+="=";return t}static formatString(t){return t?.replace(/[\n\r\t ]/g,"")||""}};Ns.DEFAULT_UTF8_ENCODING="utf8";function rw(r,...t){let e=arguments[0];for(let n=1;n<arguments.length;n++){let o=arguments[n];for(let s in o)e[s]=o[s]}return e}function nw(...r){let t=r.map(o=>o.byteLength).reduce((o,s)=>o+s),e=new Uint8Array(t),n=0;return r.map(o=>new Uint8Array(o)).forEach(o=>{for(let s of o)e[n++]=s}),e.buffer}function ow(r,t){if(!(r&&t)||r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let o=0;o<r.byteLength;o++)if(e[o]!==n[o])return!1;return!0}Ln.BufferSourceConverter=tr;Ln.Convert=Ns;Ln.assign=rw;Ln.combine=nw;Ln.isEqual=ow});var Hh=ye((Lo,Ei)=>{(function(r,t){"use strict";var e={version:"3.0.0",x86:{},x64:{},inputValidation:!0};function n(h){if(!Array.isArray(h)&&!ArrayBuffer.isView(h))return!1;for(var p=0;p<h.length;p++)if(!Number.isInteger(h[p])||h[p]<0||h[p]>255)return!1;return!0}function o(h,p){return(h&65535)*p+(((h>>>16)*p&65535)<<16)}function s(h,p){return h<<p|h>>>32-p}function i(h){return h^=h>>>16,h=o(h,2246822507),h^=h>>>13,h=o(h,3266489909),h^=h>>>16,h}function a(h,p){h=[h[0]>>>16,h[0]&65535,h[1]>>>16,h[1]&65535],p=[p[0]>>>16,p[0]&65535,p[1]>>>16,p[1]&65535];var d=[0,0,0,0];return d[3]+=h[3]+p[3],d[2]+=d[3]>>>16,d[3]&=65535,d[2]+=h[2]+p[2],d[1]+=d[2]>>>16,d[2]&=65535,d[1]+=h[1]+p[1],d[0]+=d[1]>>>16,d[1]&=65535,d[0]+=h[0]+p[0],d[0]&=65535,[d[0]<<16|d[1],d[2]<<16|d[3]]}function c(h,p){h=[h[0]>>>16,h[0]&65535,h[1]>>>16,h[1]&65535],p=[p[0]>>>16,p[0]&65535,p[1]>>>16,p[1]&65535];var d=[0,0,0,0];return d[3]+=h[3]*p[3],d[2]+=d[3]>>>16,d[3]&=65535,d[2]+=h[2]*p[3],d[1]+=d[2]>>>16,d[2]&=65535,d[2]+=h[3]*p[2],d[1]+=d[2]>>>16,d[2]&=65535,d[1]+=h[1]*p[3],d[0]+=d[1]>>>16,d[1]&=65535,d[1]+=h[2]*p[2],d[0]+=d[1]>>>16,d[1]&=65535,d[1]+=h[3]*p[1],d[0]+=d[1]>>>16,d[1]&=65535,d[0]+=h[0]*p[3]+h[1]*p[2]+h[2]*p[1]+h[3]*p[0],d[0]&=65535,[d[0]<<16|d[1],d[2]<<16|d[3]]}function u(h,p){return p%=64,p===32?[h[1],h[0]]:p<32?[h[0]<<p|h[1]>>>32-p,h[1]<<p|h[0]>>>32-p]:(p-=32,[h[1]<<p|h[0]>>>32-p,h[0]<<p|h[1]>>>32-p])}function f(h,p){return p%=64,p===0?h:p<32?[h[0]<<p|h[1]>>>32-p,h[1]<<p]:[h[1]<<p-32,0]}function l(h,p){return[h[0]^p[0],h[1]^p[1]]}function m(h){return h=l(h,[0,h[0]>>>1]),h=c(h,[4283543511,3981806797]),h=l(h,[0,h[0]>>>1]),h=c(h,[3301882366,444984403]),h=l(h,[0,h[0]>>>1]),h}e.x86.hash32=function(h,p){if(e.inputValidation&&!n(h))return t;p=p||0;for(var d=h.length%4,w=h.length-d,g=p,x=0,b=3432918353,B=461845907,A=0;A<w;A=A+4)x=h[A]|h[A+1]<<8|h[A+2]<<16|h[A+3]<<24,x=o(x,b),x=s(x,15),x=o(x,B),g^=x,g=s(g,13),g=o(g,5)+3864292196;switch(x=0,d){case 3:x^=h[A+2]<<16;case 2:x^=h[A+1]<<8;case 1:x^=h[A],x=o(x,b),x=s(x,15),x=o(x,B),g^=x}return g^=h.length,g=i(g),g>>>0},e.x86.hash128=function(h,p){if(e.inputValidation&&!n(h))return t;p=p||0;for(var d=h.length%16,w=h.length-d,g=p,x=p,b=p,B=p,A=0,I=0,v=0,E=0,U=597399067,P=2869860233,N=951274213,M=2716044179,C=0;C<w;C=C+16)A=h[C]|h[C+1]<<8|h[C+2]<<16|h[C+3]<<24,I=h[C+4]|h[C+5]<<8|h[C+6]<<16|h[C+7]<<24,v=h[C+8]|h[C+9]<<8|h[C+10]<<16|h[C+11]<<24,E=h[C+12]|h[C+13]<<8|h[C+14]<<16|h[C+15]<<24,A=o(A,U),A=s(A,15),A=o(A,P),g^=A,g=s(g,19),g+=x,g=o(g,5)+1444728091,I=o(I,P),I=s(I,16),I=o(I,N),x^=I,x=s(x,17),x+=b,x=o(x,5)+197830471,v=o(v,N),v=s(v,17),v=o(v,M),b^=v,b=s(b,15),b+=B,b=o(b,5)+2530024501,E=o(E,M),E=s(E,18),E=o(E,U),B^=E,B=s(B,13),B+=g,B=o(B,5)+850148119;switch(A=0,I=0,v=0,E=0,d){case 15:E^=h[C+14]<<16;case 14:E^=h[C+13]<<8;case 13:E^=h[C+12],E=o(E,M),E=s(E,18),E=o(E,U),B^=E;case 12:v^=h[C+11]<<24;case 11:v^=h[C+10]<<16;case 10:v^=h[C+9]<<8;case 9:v^=h[C+8],v=o(v,N),v=s(v,17),v=o(v,M),b^=v;case 8:I^=h[C+7]<<24;case 7:I^=h[C+6]<<16;case 6:I^=h[C+5]<<8;case 5:I^=h[C+4],I=o(I,P),I=s(I,16),I=o(I,N),x^=I;case 4:A^=h[C+3]<<24;case 3:A^=h[C+2]<<16;case 2:A^=h[C+1]<<8;case 1:A^=h[C],A=o(A,U),A=s(A,15),A=o(A,P),g^=A}return g^=h.length,x^=h.length,b^=h.length,B^=h.length,g+=x,g+=b,g+=B,x+=g,b+=g,B+=g,g=i(g),x=i(x),b=i(b),B=i(B),g+=x,g+=b,g+=B,x+=g,b+=g,B+=g,("00000000"+(g>>>0).toString(16)).slice(-8)+("00000000"+(x>>>0).toString(16)).slice(-8)+("00000000"+(b>>>0).toString(16)).slice(-8)+("00000000"+(B>>>0).toString(16)).slice(-8)},e.x64.hash128=function(h,p){if(e.inputValidation&&!n(h))return t;p=p||0;for(var d=h.length%16,w=h.length-d,g=[0,p],x=[0,p],b=[0,0],B=[0,0],A=[2277735313,289559509],I=[1291169091,658871167],v=0;v<w;v=v+16)b=[h[v+4]|h[v+5]<<8|h[v+6]<<16|h[v+7]<<24,h[v]|h[v+1]<<8|h[v+2]<<16|h[v+3]<<24],B=[h[v+12]|h[v+13]<<8|h[v+14]<<16|h[v+15]<<24,h[v+8]|h[v+9]<<8|h[v+10]<<16|h[v+11]<<24],b=c(b,A),b=u(b,31),b=c(b,I),g=l(g,b),g=u(g,27),g=a(g,x),g=a(c(g,[0,5]),[0,1390208809]),B=c(B,I),B=u(B,33),B=c(B,A),x=l(x,B),x=u(x,31),x=a(x,g),x=a(c(x,[0,5]),[0,944331445]);switch(b=[0,0],B=[0,0],d){case 15:B=l(B,f([0,h[v+14]],48));case 14:B=l(B,f([0,h[v+13]],40));case 13:B=l(B,f([0,h[v+12]],32));case 12:B=l(B,f([0,h[v+11]],24));case 11:B=l(B,f([0,h[v+10]],16));case 10:B=l(B,f([0,h[v+9]],8));case 9:B=l(B,[0,h[v+8]]),B=c(B,I),B=u(B,33),B=c(B,A),x=l(x,B);case 8:b=l(b,f([0,h[v+7]],56));case 7:b=l(b,f([0,h[v+6]],48));case 6:b=l(b,f([0,h[v+5]],40));case 5:b=l(b,f([0,h[v+4]],32));case 4:b=l(b,f([0,h[v+3]],24));case 3:b=l(b,f([0,h[v+2]],16));case 2:b=l(b,f([0,h[v+1]],8));case 1:b=l(b,[0,h[v]]),b=c(b,A),b=u(b,31),b=c(b,I),g=l(g,b)}return g=l(g,[0,h.length]),x=l(x,[0,h.length]),g=a(g,x),x=a(x,g),g=m(g),x=m(x),g=a(g,x),x=a(x,g),("00000000"+(g[0]>>>0).toString(16)).slice(-8)+("00000000"+(g[1]>>>0).toString(16)).slice(-8)+("00000000"+(x[0]>>>0).toString(16)).slice(-8)+("00000000"+(x[1]>>>0).toString(16)).slice(-8)},typeof Lo<"u"?(typeof Ei<"u"&&Ei.exports&&(Lo=Ei.exports=e),Lo.murmurHash3=e):typeof define=="function"&&define.amd?define([],function(){return e}):(e._murmurHash3=r.murmurHash3,e.noConflict=function(){return r.murmurHash3=e._murmurHash3,e._murmurHash3=t,e.noConflict=t,e},r.murmurHash3=e)})(Lo)});var qh=ye((w8,Kh)=>{Kh.exports=Hh()});var Gh=ye((b8,zh)=>{var Fn=1e3,Vn=Fn*60,Mn=Vn*60,Jr=Mn*24,Fw=Jr*7,Vw=Jr*365.25;zh.exports=function(r,t){t=t||{};var e=typeof r;if(e==="string"&&r.length>0)return Mw(r);if(e==="number"&&isFinite(r))return t.long?Hw(r):$w(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function Mw(r){if(r=String(r),!(r.length>100)){var t=/^(-?(?:\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(t){var e=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return e*Vw;case"weeks":case"week":case"w":return e*Fw;case"days":case"day":case"d":return e*Jr;case"hours":case"hour":case"hrs":case"hr":case"h":return e*Mn;case"minutes":case"minute":case"mins":case"min":case"m":return e*Vn;case"seconds":case"second":case"secs":case"sec":case"s":return e*Fn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:return}}}}function $w(r){var t=Math.abs(r);return t>=Jr?Math.round(r/Jr)+"d":t>=Mn?Math.round(r/Mn)+"h":t>=Vn?Math.round(r/Vn)+"m":t>=Fn?Math.round(r/Fn)+"s":r+"ms"}function Hw(r){var t=Math.abs(r);return t>=Jr?vi(r,t,Jr,"day"):t>=Mn?vi(r,t,Mn,"hour"):t>=Vn?vi(r,t,Vn,"minute"):t>=Fn?vi(r,t,Fn,"second"):r+" ms"}function vi(r,t,e,n){var o=t>=e*1.5;return Math.round(r/e)+" "+n+(o?"s":"")}});var Wh=ye((x8,jh)=>{function Kw(r){e.debug=e,e.default=e,e.coerce=c,e.disable=s,e.enable=o,e.enabled=i,e.humanize=Gh(),e.destroy=u,Object.keys(r).forEach(f=>{e[f]=r[f]}),e.names=[],e.skips=[],e.formatters={};function t(f){let l=0;for(let m=0;m<f.length;m++)l=(l<<5)-l+f.charCodeAt(m),l|=0;return e.colors[Math.abs(l)%e.colors.length]}e.selectColor=t;function e(f){let l,m=null,h,p;function d(...w){if(!d.enabled)return;let g=d,x=Number(new Date),b=x-(l||x);g.diff=b,g.prev=l,g.curr=x,l=x,w[0]=e.coerce(w[0]),typeof w[0]!="string"&&w.unshift("%O");let B=0;w[0]=w[0].replace(/%([a-zA-Z%])/g,(I,v)=>{if(I==="%%")return"%";B++;let E=e.formatters[v];if(typeof E=="function"){let U=w[B];I=E.call(g,U),w.splice(B,1),B--}return I}),e.formatArgs.call(g,w),(g.log||e.log).apply(g,w)}return d.namespace=f,d.useColors=e.useColors(),d.color=e.selectColor(f),d.extend=n,d.destroy=e.destroy,Object.defineProperty(d,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(h!==e.namespaces&&(h=e.namespaces,p=e.enabled(f)),p),set:w=>{m=w}}),typeof e.init=="function"&&e.init(d),d}function n(f,l){let m=e(this.namespace+(typeof l>"u"?":":l)+f);return m.log=this.log,m}function o(f){e.save(f),e.namespaces=f,e.names=[],e.skips=[];let l,m=(typeof f=="string"?f:"").split(/[\s,]+/),h=m.length;for(l=0;l<h;l++)m[l]&&(f=m[l].replace(/\*/g,".*?"),f[0]==="-"?e.skips.push(new RegExp("^"+f.slice(1)+"$")):e.names.push(new RegExp("^"+f+"$")))}function s(){let f=[...e.names.map(a),...e.skips.map(a).map(l=>"-"+l)].join(",");return e.enable(""),f}function i(f){if(f[f.length-1]==="*")return!0;let l,m;for(l=0,m=e.skips.length;l<m;l++)if(e.skips[l].test(f))return!1;for(l=0,m=e.names.length;l<m;l++)if(e.names[l].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function c(f){return f instanceof Error?f.stack||f.message:f}function u(){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 e.enable(e.load()),e}jh.exports=Kw});var Yh=ye((te,Ai)=>{te.formatArgs=zw;te.save=Gw;te.load=jw;te.useColors=qw;te.storage=Ww();te.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();te.colors=["#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 qw(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function zw(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Ai.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;r.splice(1,0,t,"color: inherit");let e=0,n=0;r[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(e++,o==="%c"&&(n=e))}),r.splice(n,0,t)}te.log=console.debug||console.log||(()=>{});function Gw(r){try{r?te.storage.setItem("debug",r):te.storage.removeItem("debug")}catch{}}function jw(){let r;try{r=te.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function Ww(){try{return localStorage}catch{}}Ai.exports=Wh()(te);var{formatters:Yw}=Ai.exports;Yw.j=function(r){try{return JSON.stringify(r)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Xh=ye((k8,Xc)=>{"use strict";var Jw=Object.prototype.hasOwnProperty,zt="~";function Uo(){}Object.create&&(Uo.prototype=Object.create(null),new Uo().__proto__||(zt=!1));function Xw(r,t,e){this.fn=r,this.context=t,this.once=e||!1}function Jh(r,t,e,n,o){if(typeof e!="function")throw new TypeError("The listener must be a function");var s=new Xw(e,n||r,o),i=zt?zt+t:t;return r._events[i]?r._events[i].fn?r._events[i]=[r._events[i],s]:r._events[i].push(s):(r._events[i]=s,r._eventsCount++),r}function Bi(r,t){--r._eventsCount===0?r._events=new Uo:delete r._events[t]}function $t(){this._events=new Uo,this._eventsCount=0}$t.prototype.eventNames=function(){var t=[],e,n;if(this._eventsCount===0)return t;for(n in e=this._events)Jw.call(e,n)&&t.push(zt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};$t.prototype.listeners=function(t){var e=zt?zt+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,s=n.length,i=new Array(s);o<s;o++)i[o]=n[o].fn;return i};$t.prototype.listenerCount=function(t){var e=zt?zt+t:t,n=this._events[e];return n?n.fn?1:n.length:0};$t.prototype.emit=function(t,e,n,o,s,i){var a=zt?zt+t:t;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,f,l;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,n),!0;case 4:return c.fn.call(c.context,e,n,o),!0;case 5:return c.fn.call(c.context,e,n,o,s),!0;case 6:return c.fn.call(c.context,e,n,o,s,i),!0}for(l=1,f=new Array(u-1);l<u;l++)f[l-1]=arguments[l];c.fn.apply(c.context,f)}else{var m=c.length,h;for(l=0;l<m;l++)switch(c[l].once&&this.removeListener(t,c[l].fn,void 0,!0),u){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,e);break;case 3:c[l].fn.call(c[l].context,e,n);break;case 4:c[l].fn.call(c[l].context,e,n,o);break;default:if(!f)for(h=1,f=new Array(u-1);h<u;h++)f[h-1]=arguments[h];c[l].fn.apply(c[l].context,f)}}return!0};$t.prototype.on=function(t,e,n){return Jh(this,t,e,n,!1)};$t.prototype.once=function(t,e,n){return Jh(this,t,e,n,!0)};$t.prototype.removeListener=function(t,e,n,o){var s=zt?zt+t:t;if(!this._events[s])return this;if(!e)return Bi(this,s),this;var i=this._events[s];if(i.fn)i.fn===e&&(!o||i.once)&&(!n||i.context===n)&&Bi(this,s);else{for(var a=0,c=[],u=i.length;a<u;a++)(i[a].fn!==e||o&&!i[a].once||n&&i[a].context!==n)&&c.push(i[a]);c.length?this._events[s]=c.length===1?c[0]:c:Bi(this,s)}return this};$t.prototype.removeAllListeners=function(t){var e;return t?(e=zt?zt+t:t,this._events[e]&&Bi(this,e)):(this._events=new Uo,this._eventsCount=0),this};$t.prototype.off=$t.prototype.removeListener;$t.prototype.addListener=$t.prototype.on;$t.prefixed=zt;$t.EventEmitter=$t;typeof Xc<"u"&&(Xc.exports=$t)});var nd=ye((W8,rd)=>{rd.exports=function(r){if(!r)throw Error("hashlru must have a max value, of type number, greater than 0");var t=0,e=Object.create(null),n=Object.create(null);function o(s,i){e[s]=i,t++,t>=r&&(t=0,n=e,e=Object.create(null))}return{has:function(s){return e[s]!==void 0||n[s]!==void 0},remove:function(s){e[s]!==void 0&&(e[s]=void 0),n[s]!==void 0&&(n[s]=void 0)},get:function(s){var i=e[s];if(i!==void 0)return i;if((i=n[s])!==void 0)return o(s,i),i},set:function(s,i){e[s]!==void 0?e[s]=i:o(s,i)},clear:function(){e=Object.create(null),n=Object.create(null)}}}});var qp=ye(jo=>{(function(){var r,t,e,n,o,s,i,a;a=function(c){var u,f,l,m;return u=(c&255<<24)>>>24,f=(c&255<<16)>>>16,l=(c&65280)>>>8,m=c&255,[u,f,l,m].join(".")},i=function(c){var u,f,l,m,h,p;for(u=[],l=m=0;m<=3&&c.length!==0;l=++m){if(l>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}p=t(c),h=p[0],f=p[1],c=c.substring(f),u.push(h)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},e=function(c){return c.charCodeAt(0)},n=e("0"),s=e("a"),o=e("A"),t=function(c){var u,f,l,m,h;for(m=0,u=10,f="9",l=0,c.length>1&&c[l]==="0"&&(c[l+1]==="x"||c[l+1]==="X"?(l+=2,u=16):"0"<=c[l+1]&&c[l+1]<="9"&&(l++,u=8,f="7")),h=l;l<c.length;){if("0"<=c[l]&&c[l]<=f)m=m*u+(e(c[l])-n)>>>0;else if(u===16)if("a"<=c[l]&&c[l]<="f")m=m*u+(10+e(c[l])-s)>>>0;else if("A"<=c[l]&&c[l]<="F")m=m*u+(10+e(c[l])-o)>>>0;else break;else break;if(m>4294967295)throw new Error("too large");l++}if(l===h)throw new Error("empty octet");return[m,l]},r=function(){function c(u,f){var l,m,h,p;if(typeof u!="string")throw new Error("Missing `net' parameter");if(f||(p=u.split("/",2),u=p[0],f=p[1]),f||(f=32),typeof f=="string"&&f.indexOf(".")>-1){try{this.maskLong=i(f)}catch(d){throw l=d,new Error("Invalid mask: "+f)}for(m=h=32;h>=0;m=--h)if(this.maskLong===4294967295<<32-m>>>0){this.bitmask=m;break}}else if(f||f===0)this.bitmask=parseInt(f,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(i(u)&this.maskLong)>>>0}catch(d){throw l=d,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+f);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(i(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var f,l,m;for(m=i(this.first),l=i(this.last),f=0;m<=l;)u(a(m),m,f),f++,m++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),jo.ip2long=i,jo.long2ip=a,jo.Netmask=r}).call(jo)});var Yu=ye((t3,Wu)=>{var Q4=function(){typeof Wu<"u"&&(Wu.exports=d);var r=86400,t=3200,e=146097*t/400,n=r*e,o=1e3*n,s=864e13,i=4294967296,a=1e6,c="000000000",u=Math.trunc||function(E){var U=E-E%1;return U==0&&(E<0||E===0&&1/E!=1/0)?-0:U},f=d.prototype,l=(d.fromDate=function(E){return new d(+E)},d.fromInt64BE=B(0,1,2,3,0,4),d.fromInt64LE=B(3,2,1,0,4,0),d.fromString=function(N){var U,P=new d,N=(N+="").replace(/^\s*[+\-]?\d+/,function(C){var C=+C,X=1970+(C-1970)%400;return P.year=C-X,X}).replace(/(?:Z|([+\-]\d{2}):?(\d{2}))$/,function(M,C,X){return C<0&&(X*=-1),U=6e4*(60*+C+ +X),""}).replace(/\.\d+$/,function(M){return P.nano=+(M+c).substr(1,9),""}).split(/\D+/);if(1<N.length?N[1]--:N[1]=0,P.time=U=Date.UTC.apply(Date,N)-(U||0),isNaN(U))throw new TypeError("Invalid Date");return w(P)},d.fromTimeT=function(E){return x(E,0)},f.year=0,f.time=0,f.nano=0,f.addNano=function(E){return this.nano+=+E||0,this},f.getNano=function(){var E=w(this);return(E.time%1e3*a+ +E.nano+1e9)%1e9},f.getTimeT=function(){var U=w(this),E=Math.floor(U.time/1e3),U=U.year;return U&&(E+=U*e*r/t),E},f.getYear=function(){return this.toDate().getUTCFullYear()+this.year},f.toDate=function(){return g(w(this).time)},f.toJSON=function(){return this.toString().replace(/0{1,6}Z$/,"Z")},f.toString=function(E){var U=this,P=U.toDate(),N={H:function(){return I(P.getUTCHours())},L:function(){return v(P.getUTCMilliseconds(),3)},M:function(){return I(P.getUTCMinutes())},N:function(){return v(U.getNano(),9)},S:function(){return I(P.getUTCSeconds())},Y:function(){var M=U.getYear();return 999999<M?"+"+M:9999<M?"+"+v(M,6):0<=M?v(M,4):-999999<=M?"-"+v(-M,6):M},a:function(){return h[P.getUTCDay()]},b:function(){return m[P.getUTCMonth()]},d:function(){return I(P.getUTCDate())},e:function(){return function(M){return(9<M?"":" ")+(0|M)}(P.getUTCDate())},m:function(){return I(P.getUTCMonth()+1)}};return function M(C){return C.replace(/%./g,function(X){var T=X[1],S=p[T],T=N[T];return S?M(S):T?T():X})}(E||l)},f.writeInt64BE=b(0,1,2,3,0,4),f.writeInt64LE=b(3,2,1,0,4,0),"%Y-%m-%dT%H:%M:%S.%NZ"),m=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],h=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],p={"%":"%",F:"%Y-%m-%d",n:`
|
|
3
|
-
`,R:"%H:%M",T:"%H:%M:%S",t:" ",X:"%T",Z:"GMT",z:"+0000"};return d;function d(E,U,P){var N=this;if(!(N instanceof d))return new d(E,U,P);N.time=+E||0,N.nano=+U||0,N.year=+P||0,w(N)}function w(E){var U,P,N,M=E.year,C=E.time,X=E.nano,S=((X<0||a<=X)&&(X-=(P=Math.floor(X/a))*a,C+=P,P=1),M%t);return(C<-s||s<C||S)&&((U=u(C/o))&&(M+=U*t,C-=U*o),(N=g(C)).setUTCFullYear(S+N.getUTCFullYear()),N=(C=+N)+(U=u((M-=S)/t))*o,U&&-s<=N&&N<=s&&(M-=U*t,C=N),P=1),P&&(E.year=M,E.time=C,E.nano=X),E}function g(E){var U=new Date(0);return U.setTime(E),U}function x(M,N){M=+M||0;var P=u((N=(N|0)*i)/n)+u(M/n),N=N%n+M%n,M=u(N/n);return M&&(P+=M,N-=M*n),new d(1e3*N,0,P*t)}function b(E,U,P,N,M,C){return function(S,T){var _=w(this);S=S||new Array(8),A(S,T|=0);var k=Math.floor(_.time/1e3),_=_.year*(e*r/t),H=u(_/i)+u(k/i),_=_%i+k%i,k=Math.floor(_/i);return k&&(H+=k,_-=k*i),X(S,T+M,H),X(S,T+C,_),S};function X(S,T,H){S[T+E]=H>>24&255,S[T+U]=H>>16&255,S[T+P]=H>>8&255,S[T+N]=255&H}}function B(E,U,P,N,M,C){return function(S,T){A(S,T|=0);var H=X(S,T+M);return x(X(S,T+C),H)};function X(S,T){return 16777216*S[T+E]+(S[T+U]<<16|S[T+P]<<8|S[T+N])}}function A(E,U){if(E=E&&E.length,E==null)throw new TypeError("Invalid Buffer");if(E<U+8)throw new RangeError("Out of range")}function I(E){return(9<E?"":"0")+(0|E)}function v(E,U){return(c+(0|E)).substr(-U)}}()});var B1={};vt(B1,{DEFAULT_SESSION_MAX_PROVIDERS:()=>Hp,DEFAULT_SESSION_MIN_PROVIDERS:()=>$p,createHeliaHTTP:()=>A1});var oo=Symbol.for("@libp2p/content-routing");var so=Symbol.for("@libp2p/peer-id");function El(r){return r!=null&&!!r[so]}var io=Symbol.for("@libp2p/peer-routing");var pr=class r extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.name="AbortError",this.code=r.code,this.type=r.type}static code="ABORT_ERR";static type="aborted"},D=class extends Error{code;props;constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var ft=(r,...t)=>{try{[...t]}catch{}};var rn=class extends EventTarget{#t=new Map;constructor(){super(),ft(1/0,this)}listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let o=this.#t.get(t);o==null&&(o=[],this.#t.set(t,o)),o.push({callback:e,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let o=this.#t.get(t);o!=null&&(o=o.filter(({callback:s})=>s!==e),this.#t.set(t,o))}dispatchEvent(t){let e=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:o})=>!o),this.#t.set(t.type,n)),e}safeDispatchEvent(t,e={}){return this.dispatchEvent(new hm(t,e))}},Sa=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},hm=globalThis.CustomEvent??Sa;function vl(r){return r!=null&&typeof r.start=="function"&&typeof r.stop=="function"}async function mr(...r){let t=[];for(let e of r)vl(e)&&t.push(e);await Promise.all(t.map(async e=>{e.beforeStart!=null&&await e.beforeStart()})),await Promise.all(t.map(async e=>{await e.start()})),await Promise.all(t.map(async e=>{e.afterStart!=null&&await e.afterStart()}))}async function gr(...r){let t=[];for(let e of r)vl(e)&&t.push(e);await Promise.all(t.map(async e=>{e.beforeStop!=null&&await e.beforeStop()})),await Promise.all(t.map(async e=>{await e.stop()})),await Promise.all(t.map(async e=>{e.afterStop!=null&&await e.afterStop()}))}function Ht(r){let t=new globalThis.AbortController;function e(){t.abort();for(let s of r)s?.removeEventListener!=null&&s.removeEventListener("abort",e)}for(let s of r){if(s?.aborted===!0){e();break}s?.addEventListener!=null&&s.addEventListener("abort",e)}function n(){for(let s of r)s?.removeEventListener!=null&&s.removeEventListener("abort",e)}let o=t.signal;return o.clear=n,o}function kt(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var es=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},nn=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new es(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let e=this.head;this.head=e.next=new es(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var Ia=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function Vr(r={}){return dm(e=>{let n=e.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function dm(r,t){t=t??{};let e=t.onEnd,n=new nn,o,s,i,a=kt(),c=async()=>{try{return n.isEmpty()?i?{done:!0}:await new Promise((w,g)=>{s=x=>{s=null,n.push(x);try{w(r(n))}catch(b){g(b)}return o}}):r(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=kt()})}},u=w=>s!=null?s(w):(n.push(w),o),f=w=>(n=new nn,s!=null?s({error:w}):(n.push({error:w}),o)),l=w=>{if(i)return o;if(t?.objectMode!==!0&&w?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:w})},m=w=>i?o:(i=!0,w!=null?f(w):u({done:!0})),h=()=>(n=new nn,m(),{done:!0}),p=w=>(m(w),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:c,return:h,throw:p,push:l,end:m,get readableLength(){return n.size},onEmpty:async w=>{let g=w?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let x,b;g!=null&&(x=new Promise((B,A)=>{b=()=>{A(new Ia)},g.addEventListener("abort",b)}));try{await Promise.race([a.promise,x])}finally{b!=null&&g!=null&&g?.removeEventListener("abort",b)}}},e==null)return o;let d=o;return o={[Symbol.asyncIterator](){return this},next(){return d.next()},throw(w){return d.throw(w),e!=null&&(e(w),e=void 0),{done:!0}},return(){return d.return(),e!=null&&(e(),e=void 0),{done:!0}},push:l,end(w){return d.end(w),e!=null&&(e(w),e=void 0),o},get readableLength(){return d.readableLength},onEmpty:w=>d.onEmpty(w)},o}var Ra=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=e??"ABORT_ERR"}};async function rs(r,t,e,n){let o=new Ra(n?.errorMessage,n?.errorCode);return e?.aborted===!0?Promise.reject(o):new Promise((s,i)=>{function a(){e?.removeEventListener("abort",f),r.removeEventListener(t,c),n?.errorEvent!=null&&r.removeEventListener(n.errorEvent,u)}let c=l=>{try{if(n?.filter?.(l)===!1)return}catch(m){a(),i(m);return}a(),s(l)},u=l=>{a(),i(l.detail)},f=()=>{a(),i(o)};e?.addEventListener("abort",f),r.addEventListener(t,c),n?.errorEvent!=null&&r.addEventListener(n.errorEvent,u)})}var ns=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=e??"ABORT_ERR"}};async function Al(r,t,e){if(t==null)return r;if(t.aborted)return Promise.reject(new ns(e?.errorMessage,e?.errorCode));let n,o=new ns(e?.errorMessage,e?.errorCode);try{return await Promise.race([r,new Promise((s,i)=>{n=()=>{i(o)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var os=class{deferred;signal;where;constructor(t,e){this.signal=e,this.deferred=kt(),this.where=t,this.onAbort=this.onAbort.bind(this),this.signal?.addEventListener("abort",this.onAbort)}onAbort(){this.deferred.reject(this.signal?.reason??new pr)}cleanup(){this.signal?.removeEventListener("abort",this.onAbort)}};function pm(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var ss=class{id;fn;options;priority;recipients;status;timeline;controller;constructor(t,e,n=0){this.id=pm(),this.status="queued",this.fn=t,this.priority=n,this.options=e,this.recipients=[],this.timeline={created:Date.now()},this.controller=new AbortController,ft(1/0,this.controller.signal),this.onAbort=this.onAbort.bind(this)}abort(t){this.controller.abort(t)}onAbort(){this.recipients.reduce((e,n)=>e&&n.signal?.aborted===!0,!0)&&(this.controller.abort(new pr),this.cleanup())}async join(t={}){let e=new os(new Error("where").stack,t.signal);return this.recipients.push(e),t.signal?.addEventListener("abort",this.onAbort),e.deferred.promise}async run(){this.status="running",this.timeline.started=Date.now();try{this.controller.signal.throwIfAborted();let t=await Al(this.fn({...this.options??{},signal:this.controller.signal}),this.controller.signal);this.recipients.forEach(e=>{e.deferred.resolve(t)}),this.status="complete"}catch(t){this.recipients.forEach(e=>{e.deferred.reject(t)}),this.status="errored"}finally{this.timeline.finished=Date.now(),this.cleanup()}}cleanup(){this.recipients.forEach(t=>{t.cleanup(),t.signal?.removeEventListener("abort",this.onAbort)})}};function mm(r,t,e){let n=0,o=r.length;for(;o>0;){let s=Math.trunc(o/2),i=n+s;e(r[i],t)<=0?(n=++i,o-=s+1):o=s}return n}var qe=class extends rn{concurrency;queue;pending;constructor(t={}){super(),this.concurrency=t.concurrency??Number.POSITIVE_INFINITY,this.pending=0,t.metricName!=null&&t.metrics?.registerMetricGroup(t.metricName,{calculate:()=>({size:this.queue.length,running:this.pending,queued:this.queue.length-this.pending})}),this.queue=[]}tryToStartAnother(){if(this.size===0)return queueMicrotask(()=>{this.safeDispatchEvent("empty")}),this.running===0&&queueMicrotask(()=>{this.safeDispatchEvent("idle")}),!1;if(this.pending<this.concurrency){let t;for(let e of this.queue)if(e.status==="queued"){t=e;break}return t==null?!1:(this.safeDispatchEvent("active"),this.pending++,t.run().finally(()=>{for(let e=0;e<this.queue.length;e++)if(this.queue[e]===t){this.queue.splice(e,1);break}this.pending--,this.tryToStartAnother(),this.safeDispatchEvent("next")}),!0)}return!1}enqueue(t){if(this.queue[this.size-1]?.priority>=t.priority){this.queue.push(t);return}let e=mm(this.queue,t,(n,o)=>o.priority-n.priority);this.queue.splice(e,0,t)}async add(t,e){e?.signal?.throwIfAborted();let n=new ss(t,e,e?.priority),o=n.join(e).then(s=>(this.safeDispatchEvent("completed",{detail:s}),this.safeDispatchEvent("success",{detail:{job:n,result:s}}),s)).catch(s=>{if(n.status==="queued"){for(let i=0;i<this.queue.length;i++)if(this.queue[i]===n){this.queue.splice(i,1);break}}throw this.safeDispatchEvent("error",{detail:s}),this.safeDispatchEvent("failure",{detail:{job:n,error:s}}),s});return this.enqueue(n),this.safeDispatchEvent("add"),this.tryToStartAnother(),o}clear(){this.queue.splice(0,this.queue.length)}abort(){this.queue.forEach(t=>{t.abort(new pr)}),this.clear()}async onEmpty(t){this.size!==0&&await rs(this,"empty",t?.signal)}async onSizeLessThan(t,e){this.size<t||await rs(this,"next",e?.signal,{filter:()=>this.size<t})}async onIdle(t){this.pending===0&&this.size===0||await rs(this,"idle",t?.signal)}get size(){return this.queue.length}get queued(){return this.queue.length-this.pending}get running(){return this.pending}async*toGenerator(t){t?.signal?.throwIfAborted();let e=Vr({objectMode:!0}),n=c=>{c!=null?this.abort():this.clear(),e.end(c)},o=c=>{c.detail!=null&&e.push(c.detail)},s=c=>{n(c.detail)},i=()=>{n()},a=()=>{n(new D("Queue aborted","ERR_QUEUE_ABORTED"))};this.addEventListener("completed",o),this.addEventListener("error",s),this.addEventListener("idle",i),t?.signal?.addEventListener("abort",a);try{yield*e}finally{this.removeEventListener("completed",o),this.removeEventListener("error",s),this.removeEventListener("idle",i),t?.signal?.removeEventListener("abort",a),n()}}};var is=class extends qe{has(t){return this.find(t)!=null}find(t){return this.queue.find(e=>t.equals(e.options.peerId))}};function gm(r){return r[Symbol.asyncIterator]!=null}function ym(r){if(gm(r))return(async()=>{for await(let t of r);})();for(let t of r);}var Mr=ym;function we(r=0){return new Uint8Array(r)}function Gt(r=0){return new Uint8Array(r)}var wm=Math.pow(2,7),bm=Math.pow(2,14),xm=Math.pow(2,21),_a=Math.pow(2,28),Ta=Math.pow(2,35),Ca=Math.pow(2,42),Na=Math.pow(2,49),st=128,Ft=127;function jt(r){if(r<wm)return 1;if(r<bm)return 2;if(r<xm)return 3;if(r<_a)return 4;if(r<Ta)return 5;if(r<Ca)return 6;if(r<Na)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function La(r,t,e=0){switch(jt(r)){case 8:t[e++]=r&255|st,r/=128;case 7:t[e++]=r&255|st,r/=128;case 6:t[e++]=r&255|st,r/=128;case 5:t[e++]=r&255|st,r/=128;case 4:t[e++]=r&255|st,r>>>=7;case 3:t[e++]=r&255|st,r>>>=7;case 2:t[e++]=r&255|st,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function Em(r,t,e=0){switch(jt(r)){case 8:t.set(e++,r&255|st),r/=128;case 7:t.set(e++,r&255|st),r/=128;case 6:t.set(e++,r&255|st),r/=128;case 5:t.set(e++,r&255|st),r/=128;case 4:t.set(e++,r&255|st),r>>>=7;case 3:t.set(e++,r&255|st),r>>>=7;case 2:t.set(e++,r&255|st),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function Ua(r,t){let e=r[t],n=0;if(n+=e&Ft,e<st||(e=r[t+1],n+=(e&Ft)<<7,e<st)||(e=r[t+2],n+=(e&Ft)<<14,e<st)||(e=r[t+3],n+=(e&Ft)<<21,e<st)||(e=r[t+4],n+=(e&Ft)*_a,e<st)||(e=r[t+5],n+=(e&Ft)*Ta,e<st)||(e=r[t+6],n+=(e&Ft)*Ca,e<st)||(e=r[t+7],n+=(e&Ft)*Na,e<st))return n;throw new RangeError("Could not decode varint")}function vm(r,t){let e=r.get(t),n=0;if(n+=e&Ft,e<st||(e=r.get(t+1),n+=(e&Ft)<<7,e<st)||(e=r.get(t+2),n+=(e&Ft)<<14,e<st)||(e=r.get(t+3),n+=(e&Ft)<<21,e<st)||(e=r.get(t+4),n+=(e&Ft)*_a,e<st)||(e=r.get(t+5),n+=(e&Ft)*Ta,e<st)||(e=r.get(t+6),n+=(e&Ft)*Ca,e<st)||(e=r.get(t+7),n+=(e&Ft)*Na,e<st))return n;throw new RangeError("Could not decode varint")}function on(r,t,e=0){return t==null&&(t=Gt(jt(r))),t instanceof Uint8Array?La(r,t,e):Em(r,t,e)}function $r(r,t=0){return r instanceof Uint8Array?Ua(r,t):vm(r,t)}function St(r,t){t==null&&(t=r.reduce((o,s)=>o+s.length,0));let e=Gt(t),n=0;for(let o of r)e.set(o,n),n+=o.length;return e}function it(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var Sl=Symbol.for("@achingbrain/uint8arraylist");function kl(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let o=e+n.byteLength;if(t<o)return{buf:n,index:t-e};e=o}throw new RangeError("index is out of bounds")}function as(r){return!!r?.[Sl]}var cs=class r{bufs;length;[Sl]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(as(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(as(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=kl(this.bufs,t);return e.buf[e.index]}set(t,e){let n=kl(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(as(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:o}=this._subList(t,e);return St(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:St(n,o)}sublist(t,e){let{bufs:n,length:o}=this._subList(t,e),s=new r;return s.length=o,s.bufs=[...n],s}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,c=a+i.byteLength;if(o=c,t>=c)continue;let u=t>=a&&t<c,f=e>a&&e<=c;if(u&&f){if(t===a&&e===c){n.push(i);break}let l=t-a;n.push(i.subarray(l,l+(e-t)));break}if(u){if(t===0){n.push(i);continue}n.push(i.subarray(t-a));continue}if(f){if(e===c){n.push(i);break}n.push(i.subarray(0,e-a));break}n.push(i)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!as(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let l=0;l<s;l++)i[l]=-1;for(let l=0;l<o;l++)i[n[l]]=l;let a=i,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let l=e;l<=c;l+=f){f=0;for(let m=u;m>=0;m--){let h=this.get(l+m);if(n[m]!==h){f=Math.max(1,m-a[h]);break}}if(f===0)return l}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=Gt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let o=we(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,e,n),this.write(o,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let o=we(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,e,n),this.write(o,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let o=we(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,e,n),this.write(o,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=Gt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let o=we(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,e,n),this.write(o,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let o=we(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,e,n),this.write(o,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let o=we(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,e,n),this.write(o,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let o=we(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,e,n),this.write(o,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let o=we(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,e,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!it(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((o,s)=>o+s.byteLength,0)),n.length=e,n}};function Bm(r){let[t,e]=r[Symbol.asyncIterator]!=null?[r[Symbol.asyncIterator](),Symbol.asyncIterator]:[r[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>t.next(),push:o=>{n.push(o)},next:()=>n.length>0?{done:!1,value:n.shift()}:t.next(),[e](){return this}}}var an=Bm;function km(r){return r[Symbol.asyncIterator]!=null}function Sm(r,t){let e=0;if(km(r))return async function*(){for await(let c of r)yield t(c,e++)}();let n=an(r),{value:o,done:s}=n.next();if(s===!0)return function*(){}();let i=t(o,e++);if(typeof i.then=="function")return async function*(){yield await i;for await(let c of n)yield t(c,e++)}();let a=t;return function*(){yield i;for(let c of n)yield a(c,e++)}()}var cn=Sm;function Im(r){return r[Symbol.asyncIterator]!=null}function Rm(...r){let t=[];for(let e of r)Im(e)||t.push(e);return t.length===r.length?function*(){for(let e of t)yield*e}():async function*(){let e=Vr({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async n=>{for await(let o of n)e.push(o)})),e.end()}catch(n){e.end(n)}}),yield*e}()}var Hr=Rm;function _m(r){return r[Symbol.asyncIterator]!=null}function Tm(r,t){return _m(r)?async function*(){let e=0;if(!(t<1)){for await(let n of r)if(yield n,e++,e===t)return}}():function*(){let e=0;if(!(t<1)){for(let n of r)if(yield n,e++,e===t)return}}()}var us=Tm;var nt=class extends Event{constructor(t,e){super(t),this.detail=e}};var Da=new Float32Array([-0]),yr=new Uint8Array(Da.buffer);function _l(r,t,e){Da[0]=r,t[e]=yr[0],t[e+1]=yr[1],t[e+2]=yr[2],t[e+3]=yr[3]}function Tl(r,t){return yr[0]=r[t],yr[1]=r[t+1],yr[2]=r[t+2],yr[3]=r[t+3],Da[0]}var Pa=new Float64Array([-0]),Vt=new Uint8Array(Pa.buffer);function Cl(r,t,e){Pa[0]=r,t[e]=Vt[0],t[e+1]=Vt[1],t[e+2]=Vt[2],t[e+3]=Vt[3],t[e+4]=Vt[4],t[e+5]=Vt[5],t[e+6]=Vt[6],t[e+7]=Vt[7]}function Nl(r,t){return Vt[0]=r[t],Vt[1]=r[t+1],Vt[2]=r[t+2],Vt[3]=r[t+3],Vt[4]=r[t+4],Vt[5]=r[t+5],Vt[6]=r[t+6],Vt[7]=r[t+7],Pa[0]}var Cm=BigInt(Number.MAX_SAFE_INTEGER),Nm=BigInt(Number.MIN_SAFE_INTEGER),Xt=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return Kr;if(t<Cm&&t>Nm)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,o=t-(n<<32n);return e&&(n=~n|0n,o=~o|0n,++o>Ll&&(o=0n,++n>Ll&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(t){if(t===0)return Kr;let e=t<0;e&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return e&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):Kr}},Kr=new Xt(0,0);Kr.toBigInt=function(){return 0n};Kr.zzEncode=Kr.zzDecode=function(){return this};Kr.length=function(){return 1};var Ll=4294967296n;function Ul(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Dl(r,t,e){if(e-t<1)return"";let o,s=[],i=0,a;for(;t<e;)a=r[t++],a<128?s[i++]=a:a>191&&a<224?s[i++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,s[i++]=55296+(a>>10),s[i++]=56320+(a&1023)):s[i++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function Oa(r,t,e){let n=e,o,s;for(let i=0;i<r.length;++i)o=r.charCodeAt(i),o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&((s=r.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128);return e-n}function be(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function ls(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var Fa=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,be(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw be(this,4);return ls(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw be(this,4);return ls(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw be(this,4);let t=Tl(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw be(this,4);let t=Nl(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw be(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Dl(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw be(this,t);this.pos+=t}else do if(this.pos>=this.len)throw be(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new Xt(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw be(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw be(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw be(this,8);let t=ls(this.buf,this.pos+=4),e=ls(this.buf,this.pos+=4);return new Xt(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=Ua(this.buf,this.pos);return this.pos+=jt(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Va(r){return new Fa(r instanceof Uint8Array?r:r.subarray())}function un(r,t,e){let n=Va(r);return t.decode(n,void 0,e)}var qa={};vt(qa,{base10:()=>Fm});var UE=new Uint8Array(0);function Ol(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function ze(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 Fl(r){return new TextEncoder().encode(r)}function Vl(r){return new TextDecoder().decode(r)}function Lm(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(e[i]!==255)throw new TypeError(s+" is ambiguous");e[i]=o}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var d=0,w=0,g=0,x=p.length;g!==x&&p[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,B=new Uint8Array(b);g!==x;){for(var A=p[g],I=0,v=b-1;(A!==0||I<w)&&v!==-1;v--,I++)A+=256*B[v]>>>0,B[v]=A%a>>>0,A=A/a>>>0;if(A!==0)throw new Error("Non-zero carry");w=I,g++}for(var E=b-w;E!==b&&B[E]===0;)E++;for(var U=c.repeat(d);E<b;++E)U+=r.charAt(B[E]);return U}function m(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var d=0;if(p[d]!==" "){for(var w=0,g=0;p[d]===c;)w++,d++;for(var x=(p.length-d)*u+1>>>0,b=new Uint8Array(x);p[d];){var B=e[p.charCodeAt(d)];if(B===255)return;for(var A=0,I=x-1;(B!==0||A<g)&&I!==-1;I--,A++)B+=a*b[I]>>>0,b[I]=B%256>>>0,B=B/256>>>0;if(B!==0)throw new Error("Non-zero carry");g=A,d++}if(p[d]!==" "){for(var v=x-g;v!==x&&b[v]===0;)v++;for(var E=new Uint8Array(w+(x-v)),U=w;v!==x;)E[U++]=b[v++];return E}}}function h(p){var d=m(p);if(d)return d;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:m,decode:h}}var Um=Lm,Dm=Um,$l=Dm;var Ma=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},$a=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Hl(this,t)}},Ha=class{decoders;constructor(t){this.decoders=t}or(t){return Hl(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Hl(r,t){return new Ha({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Ka=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new Ma(t,e,n),this.decoder=new $a(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function ln({name:r,prefix:t,encode:e,decode:n}){return new Ka(r,t,e,n)}function wr({name:r,prefix:t,alphabet:e}){let{encode:n,decode:o}=$l(e,r);return ln({prefix:t,name:r,encode:n,decode:s=>ze(o(s))})}function Pm(r,t,e,n){let o={};for(let f=0;f<t.length;++f)o[t[f]]=f;let s=r.length;for(;r[s-1]==="=";)--s;let i=new Uint8Array(s*e/8|0),a=0,c=0,u=0;for(let f=0;f<s;++f){let l=o[r[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|l,a+=e,a>=8&&(a-=8,i[u++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return i}function Om(r,t,e){let n=t[t.length-1]==="=",o=(1<<e)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>e;)i-=e,s+=t[o&a>>i];if(i!==0&&(s+=t[o&a<<e-i]),n)for(;s.length*e&7;)s+="=";return s}function pt({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return ln({prefix:t,name:r,encode(o){return Om(o,n,e)},decode(o){return Pm(o,n,e,r)}})}var Fm=wr({prefix:"9",name:"base10",alphabet:"0123456789"});var za={};vt(za,{base16:()=>Vm,base16upper:()=>Mm});var Vm=pt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Mm=pt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Ga={};vt(Ga,{base2:()=>$m});var $m=pt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ja={};vt(ja,{base256emoji:()=>Gm});var Kl=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}"),Hm=Kl.reduce((r,t,e)=>(r[e]=t,r),[]),Km=Kl.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function qm(r){return r.reduce((t,e)=>(t+=Hm[e],t),"")}function zm(r){let t=[];for(let e of r){let n=Km[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var Gm=ln({prefix:"\u{1F680}",name:"base256emoji",encode:qm,decode:zm});var Wa={};vt(Wa,{base32:()=>Ct,base32hex:()=>Ym,base32hexpad:()=>Jm,base32hexpadupper:()=>Xm,base32hexupper:()=>Zm,base32pad:()=>jm,base32padupper:()=>Wm,base32upper:()=>ql,base32z:()=>Qm});var Ct=pt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ql=pt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),jm=pt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Wm=pt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Ym=pt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Zm=pt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Jm=pt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Xm=pt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Qm=pt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ya={};vt(Ya,{base36:()=>br,base36upper:()=>tg});var br=wr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),tg=wr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Za={};vt(Za,{base58btc:()=>ht,base58flickr:()=>eg});var ht=wr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),eg=wr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Xa={};vt(Xa,{base64:()=>le,base64pad:()=>rg,base64url:()=>Ja,base64urlpad:()=>ng});var le=pt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),rg=pt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Ja=pt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ng=pt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Qa={};vt(Qa,{base8:()=>og});var og=pt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var tc={};vt(tc,{identity:()=>sg});var sg=ln({prefix:"\0",name:"identity",encode:r=>Vl(r),decode:r=>Fl(r)});var ZE=new TextEncoder,JE=new TextDecoder;var zl=512;var fs=85;var nc={};vt(nc,{identity:()=>Wt});var ig=Yl,jl=128,ag=127,cg=~ag,ug=Math.pow(2,31);function Yl(r,t,e){t=t||[],e=e||0;for(var n=e;r>=ug;)t[e++]=r&255|jl,r/=128;for(;r&cg;)t[e++]=r&255|jl,r>>>=7;return t[e]=r|0,Yl.bytes=e-n+1,t}var lg=rc,fg=128,Wl=127;function rc(r,n){var e=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw rc.bytes=0,new RangeError("Could not decode varint");i=r[s++],e+=o<28?(i&Wl)<<o:(i&Wl)*Math.pow(2,o),o+=7}while(i>=fg);return rc.bytes=s-n,e}var hg=Math.pow(2,7),dg=Math.pow(2,14),pg=Math.pow(2,21),mg=Math.pow(2,28),gg=Math.pow(2,35),yg=Math.pow(2,42),wg=Math.pow(2,49),bg=Math.pow(2,56),xg=Math.pow(2,63),Eg=function(r){return r<hg?1:r<dg?2:r<pg?3:r<mg?4:r<gg?5:r<yg?6:r<wg?7:r<bg?8:r<xg?9:10},vg={encode:ig,decode:lg,encodingLength:Eg},Ag=vg,ao=Ag;function co(r,t=0){return[ao.decode(r,t),ao.decode.bytes]}function fn(r,t,e=0){return ao.encode(r,t,e),t}function hn(r){return ao.encodingLength(r)}function Ce(r,t){let e=t.byteLength,n=hn(r),o=n+hn(e),s=new Uint8Array(o+e);return fn(r,s,0),fn(e,s,n),s.set(t,o),new dn(r,e,t,s)}function Ne(r){let t=ze(r),[e,n]=co(t),[o,s]=co(t.subarray(n)),i=t.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new dn(e,o,i,t)}function Zl(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Ol(r.bytes,e.bytes)}}var dn=class{code;size;digest;bytes;constructor(t,e,n,o){this.code=t,this.size=e,this.digest=n,this.bytes=o}};var Jl=0,Bg="identity",Xl=ze;function kg(r){return Ce(Jl,Xl(r))}var Wt={code:Jl,name:Bg,encode:Xl,digest:kg};var ac={};vt(ac,{sha256:()=>At,sha512:()=>ic});function sc({name:r,code:t,encode:e}){return new oc(r,t,e)}var oc=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?Ce(this.code,e):e.then(n=>Ce(this.code,n))}else throw Error("Unknown type, must be binary type")}};function tf(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var At=sc({name:"sha2-256",code:18,encode:tf("SHA-256")}),ic=sc({name:"sha2-512",code:19,encode:tf("SHA-512")});function ef(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Ig(e,cc(r),t??ht.encoder);default:return Rg(e,cc(r),t??Ct.encoder)}}var rf=new WeakMap;function cc(r){let t=rf.get(r);if(t==null){let e=new Map;return rf.set(r,e),e}return t}var tt=class r{code;version;multihash;bytes;"/";constructor(t,e,n,o){this.code=e,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==uo)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==_g)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=Ce(t,e);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&Zl(t.multihash,n.multihash)}toString(t){return ef(this,t)}toJSON(){return{"/":ef(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:o,multihash:s,bytes:i}=e;return new r(n,o,s,i??nf(n,o,s.bytes))}else if(e[Tg]===!0){let{version:n,multihash:o,code:s}=e,i=Ne(o);return r.create(n,s,i)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==uo)throw new Error(`Version 0 CID must use dag-pb (code: ${uo}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=nf(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,uo,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,o=ze(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let s=o.subarray(e.multihashSize-e.digestSize),i=new dn(e.multihashCode,e.digestSize,s,o);return[e.version===0?r.createV0(i):r.createV1(e.codec,i),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[l,m]=co(t.subarray(e));return e+=m,l},o=n(),s=uo;if(o===18?(o=0,e=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=e,a=n(),c=n(),u=e+c,f=u-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,e){let[n,o]=Sg(t,e),s=r.decode(o);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return cc(s).set(n,t),s}};function Sg(r,t){switch(r[0]){case"Q":{let e=t??ht;return[ht.prefix,e.decode(`${ht.prefix}${r}`)]}case ht.prefix:{let e=t??ht;return[ht.prefix,e.decode(r)]}case Ct.prefix:{let e=t??Ct;return[Ct.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Ig(r,t,e){let{prefix:n}=e;if(n!==ht.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let o=t.get(n);if(o==null){let s=e.encode(r).slice(1);return t.set(n,s),s}else return o}function Rg(r,t,e){let{prefix:n}=e,o=t.get(n);if(o==null){let s=e.encode(r);return t.set(n,s),s}else return o}var uo=112,_g=18;function nf(r,t,e){let n=hn(r),o=n+hn(t),s=new Uint8Array(o+e.byteLength);return fn(r,s,0),fn(t,s,n),s.set(e,o),s}var Tg=Symbol.for("@ipld/js-cid/CID");var xr={...tc,...Ga,...Qa,...qa,...za,...Wa,...Ya,...Za,...Xa,...ja},wv={...ac,...nc};function sf(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var of=sf("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),uc=sf("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=Gt(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Cg={utf8:of,"utf-8":of,hex:xr.base16,latin1:uc,ascii:uc,binary:uc,...xr},ds=Cg;function q(r,t="utf8"){let e=ds[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function lc(r){let t=r??8192,e=t>>>1,n,o=t;return function(i){if(i<1||i>e)return Gt(i);o+i>t&&(n=Gt(t),o=0);let a=n.subarray(o,o+=i);return o&7&&(o=(o|7)+1),a}}var qr=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function fc(){}var dc=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Ng=lc();function Lg(r){return globalThis.Buffer!=null?Gt(r):Ng(r)}var fo=class{len;head;tail;states;constructor(){this.len=0,this.head=new qr(fc,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new qr(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new pc((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(ps,10,Xt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=Xt.fromBigInt(t);return this._push(ps,e.length(),e)}uint64Number(t){return this._push(La,jt(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=Xt.fromBigInt(t).zzEncode();return this._push(ps,e.length(),e)}sint64Number(t){let e=Xt.fromNumber(t).zzEncode();return this._push(ps,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(hc,1,t?1:0)}fixed32(t){return this._push(lo,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=Xt.fromBigInt(t);return this._push(lo,4,e.lo)._push(lo,4,e.hi)}fixed64Number(t){let e=Xt.fromNumber(t);return this._push(lo,4,e.lo)._push(lo,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(_l,4,t)}double(t){return this._push(Cl,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(hc,1,0):this.uint32(e)._push(Dg,e,t)}string(t){let e=Ul(t);return e!==0?this.uint32(e)._push(Oa,e,t):this._push(hc,1,0)}fork(){return this.states=new dc(this),this.head=this.tail=new qr(fc,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 qr(fc,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=Lg(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function hc(r,t,e){t[e]=r&255}function Ug(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var pc=class extends qr{next;constructor(t,e){super(Ug,t,e),this.next=void 0}};function ps(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function lo(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function Dg(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(fo.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(Pg,t,r),this},fo.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Og,t,r),this});function Pg(r,t,e){t.set(r,e)}function Og(r,t,e){r.length<40?Oa(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(q(r),e)}function mc(){return new fo}function pn(r,t){let e=mc();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var mn;(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"})(mn||(mn={}));function ms(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function ho(r){function t(o){if(r[o.toString()]==null)throw new Error("Invalid enum value");return r[o]}let e=function(s,i){let a=t(s);i.int32(a)},n=function(s){let i=s.int32();return t(i)};return ms("enum",mn.VARINT,e,n)}function gn(r,t){return ms("message",mn.LENGTH_DELIMITED,r,t)}var Fg=Symbol.for("nodejs.util.inspect.custom"),af=Object.values(xr).map(r=>r.decoder).reduce((r,t)=>r.or(t),xr.identity.decoder),cf=114,gc=36,yc=37,po=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[so]=!0;toString(){return this.string==null&&(this.string=ht.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return tt.createV1(cf,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return it(this.multihash.bytes,t);if(typeof t=="string")return wc(t).equals(this);if(t?.multihash?.bytes!=null)return it(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Fg](){return`PeerId(${this.toString()})`}},yn=class extends po{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},wn=class extends po{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},bn=class extends po{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function wc(r,t){if(t=t??af,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=Ne(ht.decode(`z${r}`));return r.startsWith("12D")?new wn({multihash:e}):r.startsWith("16U")?new bn({multihash:e}):new yn({multihash:e})}return mo(af.decode(r))}function mo(r){try{let t=Ne(r);if(t.code===Wt.code){if(t.digest.length===gc)return new wn({multihash:t});if(t.digest.length===yc)return new bn({multihash:t})}if(t.code===At.code)return new yn({multihash:t})}catch{return Vg(tt.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function Vg(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==cf)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===At.code)return new yn({multihash:r.multihash});if(t.code===Wt.code){if(t.digest.length===gc)return new wn({multihash:r.multihash});if(t.digest.length===yc)return new bn({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function uf(r,t){return r.length===gc?new wn({multihash:Ce(Wt.code,r),privateKey:t}):r.length===yc?new bn({multihash:Ce(Wt.code,r),privateKey:t}):new yn({multihash:await At.digest(r),publicKey:r,privateKey:t})}var Kt={get(r=globalThis){let t=r.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var Dc={};vt(Dc,{Ed25519PrivateKey:()=>Wr,Ed25519PublicKey:()=>wo,generateKeyPair:()=>Yy,generateKeyPairFromSeed:()=>Pf,unmarshalEd25519PrivateKey:()=>jy,unmarshalEd25519PublicKey:()=>Wy});function fe(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function xn(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`positive integer expected, not ${r}`)}function Mg(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function En(r,...t){if(!Mg(r))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(r.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${r.length}`)}function gs(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");xn(r.outputLen),xn(r.blockLen)}function vn(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function lf(r,t){En(r);let e=t.outputLen;if(r.length<e)throw new Error(`digestInto() expects output buffer of length at least ${e}`)}var ys=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var Bn=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),xe=(r,t)=>r<<32-t|r>>>t;var l2=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;var $g=async()=>{};async function ff(r,t,e){let n=Date.now();for(let o=0;o<r;o++){e(o);let s=Date.now()-n;s>=0&&s<t||(await $g(),n+=s)}}function bc(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function Er(r){return typeof r=="string"&&(r=bc(r)),En(r),r}function ws(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];En(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let s=r[n];e.set(s,o),o+=s.length}return e}var An=class{clone(){return this._cloneInto()}},Hg={}.toString;function hf(r,t){if(t!==void 0&&Hg.call(t)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(r,t)}function bs(r){let t=n=>r().update(Er(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function kn(r=32){if(ys&&typeof ys.getRandomValues=="function")return ys.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}function Kg(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let o=BigInt(32),s=BigInt(4294967295),i=Number(e>>o&s),a=Number(e&s),c=n?4:0,u=n?0:4;r.setUint32(t+c,i,n),r.setUint32(t+u,a,n)}var df=(r,t,e)=>r&t^~r&e,pf=(r,t,e)=>r&t^r&e^t&e,Sn=class extends An{constructor(t,e,n,o){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=Bn(this.buffer)}update(t){vn(this);let{view:e,buffer:n,blockLen:o}=this;t=Er(t);let s=t.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=Bn(t);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(t.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){vn(this),lf(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;e[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>o-i&&(this.process(n,0),i=0);for(let l=i;l<o;l++)e[l]=0;Kg(n,o-8,BigInt(this.length*8),s),this.process(n,0);let a=Bn(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,f[l],s)}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:e,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return t.length=o,t.pos=a,t.finished=s,t.destroyed=i,o%e&&t.buffer.set(n),t}};var xs=BigInt(4294967295),xc=BigInt(32);function mf(r,t=!1){return t?{h:Number(r&xs),l:Number(r>>xc&xs)}:{h:Number(r>>xc&xs)|0,l:Number(r&xs)|0}}function qg(r,t=!1){let e=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let o=0;o<r.length;o++){let{h:s,l:i}=mf(r[o],t);[e[o],n[o]]=[s,i]}return[e,n]}var zg=(r,t)=>BigInt(r>>>0)<<xc|BigInt(t>>>0),Gg=(r,t,e)=>r>>>e,jg=(r,t,e)=>r<<32-e|t>>>e,Wg=(r,t,e)=>r>>>e|t<<32-e,Yg=(r,t,e)=>r<<32-e|t>>>e,Zg=(r,t,e)=>r<<64-e|t>>>e-32,Jg=(r,t,e)=>r>>>e-32|t<<64-e,Xg=(r,t)=>t,Qg=(r,t)=>r,ty=(r,t,e)=>r<<e|t>>>32-e,ey=(r,t,e)=>t<<e|r>>>32-e,ry=(r,t,e)=>t<<e-32|r>>>64-e,ny=(r,t,e)=>r<<e-32|t>>>64-e;function oy(r,t,e,n){let o=(t>>>0)+(n>>>0);return{h:r+e+(o/2**32|0)|0,l:o|0}}var sy=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),iy=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,ay=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),cy=(r,t,e,n,o)=>t+e+n+o+(r/2**32|0)|0,uy=(r,t,e,n,o)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(o>>>0),ly=(r,t,e,n,o,s)=>t+e+n+o+s+(r/2**32|0)|0;var fy={fromBig:mf,split:qg,toBig:zg,shrSH:Gg,shrSL:jg,rotrSH:Wg,rotrSL:Yg,rotrBH:Zg,rotrBL:Jg,rotr32H:Xg,rotr32L:Qg,rotlSH:ty,rotlSL:ey,rotlBH:ry,rotlBL:ny,add:oy,add3L:sy,add3H:iy,add4L:ay,add4H:cy,add5H:ly,add5L:uy},z=fy;var[hy,dy]=z.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(r=>BigInt(r))),vr=new Uint32Array(80),Ar=new Uint32Array(80),Ec=class extends Sn{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:e,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:u,El:f,Fh:l,Fl:m,Gh:h,Gl:p,Hh:d,Hl:w}=this;return[t,e,n,o,s,i,a,c,u,f,l,m,h,p,d,w]}set(t,e,n,o,s,i,a,c,u,f,l,m,h,p,d,w){this.Ah=t|0,this.Al=e|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=f|0,this.Fh=l|0,this.Fl=m|0,this.Gh=h|0,this.Gl=p|0,this.Hh=d|0,this.Hl=w|0}process(t,e){for(let b=0;b<16;b++,e+=4)vr[b]=t.getUint32(e),Ar[b]=t.getUint32(e+=4);for(let b=16;b<80;b++){let B=vr[b-15]|0,A=Ar[b-15]|0,I=z.rotrSH(B,A,1)^z.rotrSH(B,A,8)^z.shrSH(B,A,7),v=z.rotrSL(B,A,1)^z.rotrSL(B,A,8)^z.shrSL(B,A,7),E=vr[b-2]|0,U=Ar[b-2]|0,P=z.rotrSH(E,U,19)^z.rotrBH(E,U,61)^z.shrSH(E,U,6),N=z.rotrSL(E,U,19)^z.rotrBL(E,U,61)^z.shrSL(E,U,6),M=z.add4L(v,N,Ar[b-7],Ar[b-16]),C=z.add4H(M,I,P,vr[b-7],vr[b-16]);vr[b]=C|0,Ar[b]=M|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:m,Fh:h,Fl:p,Gh:d,Gl:w,Hh:g,Hl:x}=this;for(let b=0;b<80;b++){let B=z.rotrSH(l,m,14)^z.rotrSH(l,m,18)^z.rotrBH(l,m,41),A=z.rotrSL(l,m,14)^z.rotrSL(l,m,18)^z.rotrBL(l,m,41),I=l&h^~l&d,v=m&p^~m&w,E=z.add5L(x,A,v,dy[b],Ar[b]),U=z.add5H(E,g,B,I,hy[b],vr[b]),P=E|0,N=z.rotrSH(n,o,28)^z.rotrBH(n,o,34)^z.rotrBH(n,o,39),M=z.rotrSL(n,o,28)^z.rotrBL(n,o,34)^z.rotrBL(n,o,39),C=n&s^n&a^s&a,X=o&i^o&c^i&c;g=d|0,x=w|0,d=h|0,w=p|0,h=l|0,p=m|0,{h:l,l:m}=z.add(u|0,f|0,U|0,P|0),u=a|0,f=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let S=z.add3L(P,M,X);n=z.add3H(S,U,N,C),o=S|0}({h:n,l:o}=z.add(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=z.add(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=z.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=z.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:m}=z.add(this.Eh|0,this.El|0,l|0,m|0),{h,l:p}=z.add(this.Fh|0,this.Fl|0,h|0,p|0),{h:d,l:w}=z.add(this.Gh|0,this.Gl|0,d|0,w|0),{h:g,l:x}=z.add(this.Hh|0,this.Hl|0,g|0,x|0),this.set(n,o,s,i,a,c,u,f,l,m,h,p,d,w,g,x)}roundClean(){vr.fill(0),Ar.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var In=bs(()=>new Ec);var vs={};vt(vs,{abytes:()=>Rn,bitGet:()=>xy,bitLen:()=>by,bitMask:()=>go,bitSet:()=>Ey,bytesToHex:()=>We,bytesToNumberBE:()=>Ye,bytesToNumberLE:()=>kr,concatBytes:()=>Ze,createHmacDrbg:()=>Bc,ensureBytes:()=>mt,equalBytes:()=>yy,hexToBytes:()=>zr,hexToNumber:()=>Ac,isBytes:()=>Br,numberToBytesBE:()=>Sr,numberToBytesLE:()=>Gr,numberToHexUnpadded:()=>bf,numberToVarBytesBE:()=>gy,utf8ToBytes:()=>wy,validateObject:()=>Le});var wf=BigInt(0),Es=BigInt(1),py=BigInt(2);function Br(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function Rn(r){if(!Br(r))throw new Error("Uint8Array expected")}var my=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function We(r){Rn(r);let t="";for(let e=0;e<r.length;e++)t+=my[r[e]];return t}function bf(r){let t=r.toString(16);return t.length&1?`0${t}`:t}function Ac(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}var je={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function gf(r){if(r>=je._0&&r<=je._9)return r-je._0;if(r>=je._A&&r<=je._F)return r-(je._A-10);if(r>=je._a&&r<=je._f)return r-(je._a-10)}function zr(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);let t=r.length,e=t/2;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let o=0,s=0;o<e;o++,s+=2){let i=gf(r.charCodeAt(s)),a=gf(r.charCodeAt(s+1));if(i===void 0||a===void 0){let c=r[s]+r[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function Ye(r){return Ac(We(r))}function kr(r){return Rn(r),Ac(We(Uint8Array.from(r).reverse()))}function Sr(r,t){return zr(r.toString(16).padStart(t*2,"0"))}function Gr(r,t){return Sr(r,t).reverse()}function gy(r){return zr(bf(r))}function mt(r,t,e){let n;if(typeof t=="string")try{n=zr(t)}catch(s){throw new Error(`${r} must be valid hex string, got "${t}". Cause: ${s}`)}else if(Br(t))n=Uint8Array.from(t);else throw new Error(`${r} must be hex string or Uint8Array`);let o=n.length;if(typeof e=="number"&&o!==e)throw new Error(`${r} expected ${e} bytes, got ${o}`);return n}function Ze(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];Rn(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let s=r[n];e.set(s,o),o+=s.length}return e}function yy(r,t){if(r.length!==t.length)return!1;let e=0;for(let n=0;n<r.length;n++)e|=r[n]^t[n];return e===0}function wy(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function by(r){let t;for(t=0;r>wf;r>>=Es,t+=1);return t}function xy(r,t){return r>>BigInt(t)&Es}function Ey(r,t,e){return r|(e?Es:wf)<<BigInt(t)}var go=r=>(py<<BigInt(r-1))-Es,vc=r=>new Uint8Array(r),yf=r=>Uint8Array.from(r);function Bc(r,t,e){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof e!="function")throw new Error("hmacFn must be a function");let n=vc(r),o=vc(r),s=0,i=()=>{n.fill(1),o.fill(0),s=0},a=(...l)=>e(o,n,...l),c=(l=vc())=>{o=a(yf([0]),l),n=a(),l.length!==0&&(o=a(yf([1]),l),n=a())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,m=[];for(;l<t;){n=a();let h=n.slice();m.push(h),l+=n.length}return Ze(...m)};return(l,m)=>{i(),c(l);let h;for(;!(h=m(u()));)c();return i(),h}}var vy={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||Br(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,t)=>t.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function Le(r,t,e={}){let n=(o,s,i)=>{let a=vy[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);let c=r[o];if(!(i&&c===void 0)&&!a(c,r))throw new Error(`Invalid param ${String(o)}=${c} (${typeof c}), expected ${s}`)};for(let[o,s]of Object.entries(t))n(o,s,!1);for(let[o,s]of Object.entries(e))n(o,s,!0);return r}var Bt=BigInt(0),ut=BigInt(1),jr=BigInt(2),Ay=BigInt(3),kc=BigInt(4),xf=BigInt(5),Ef=BigInt(8),By=BigInt(9),ky=BigInt(16);function at(r,t){let e=r%t;return e>=Bt?e:t+e}function Sy(r,t,e){if(e<=Bt||t<Bt)throw new Error("Expected power/modulo > 0");if(e===ut)return Bt;let n=ut;for(;t>Bt;)t&ut&&(n=n*r%e),r=r*r%e,t>>=ut;return n}function lt(r,t,e){let n=r;for(;t-- >Bt;)n*=n,n%=e;return n}function As(r,t){if(r===Bt||t<=Bt)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=at(r,t),n=t,o=Bt,s=ut,i=ut,a=Bt;for(;e!==Bt;){let u=n/e,f=n%e,l=o-i*u,m=s-a*u;n=e,e=f,o=i,s=a,i=l,a=m}if(n!==ut)throw new Error("invert: does not exist");return at(o,t)}function Iy(r){let t=(r-ut)/jr,e,n,o;for(e=r-ut,n=0;e%jr===Bt;e/=jr,n++);for(o=jr;o<r&&Sy(o,t,r)!==r-ut;o++);if(n===1){let i=(r+ut)/kc;return function(c,u){let f=c.pow(u,i);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let s=(e+ut)/jr;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,f=a.pow(a.mul(a.ONE,o),e),l=a.pow(c,s),m=a.pow(c,e);for(;!a.eql(m,a.ONE);){if(a.eql(m,a.ZERO))return a.ZERO;let h=1;for(let d=a.sqr(m);h<u&&!a.eql(d,a.ONE);h++)d=a.sqr(d);let p=a.pow(f,ut<<BigInt(u-h-1));f=a.sqr(p),l=a.mul(l,p),m=a.mul(m,f),u=h}return l}}function Ry(r){if(r%kc===Ay){let t=(r+ut)/kc;return function(n,o){let s=n.pow(o,t);if(!n.eql(n.sqr(s),o))throw new Error("Cannot find square root");return s}}if(r%Ef===xf){let t=(r-xf)/Ef;return function(n,o){let s=n.mul(o,jr),i=n.pow(s,t),a=n.mul(o,i),c=n.mul(n.mul(a,jr),i),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),o))throw new Error("Cannot find square root");return u}}return r%ky,Iy(r)}var vf=(r,t)=>(at(r,t)&ut)===ut,_y=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Sc(r){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=_y.reduce((n,o)=>(n[o]="function",n),t);return Le(r,e)}function Ty(r,t,e){if(e<Bt)throw new Error("Expected power > 0");if(e===Bt)return r.ONE;if(e===ut)return t;let n=r.ONE,o=t;for(;e>Bt;)e&ut&&(n=r.mul(n,o)),o=r.sqr(o),e>>=ut;return n}function Cy(r,t){let e=new Array(t.length),n=t.reduce((s,i,a)=>r.is0(i)?s:(e[a]=s,r.mul(s,i)),r.ONE),o=r.inv(n);return t.reduceRight((s,i,a)=>r.is0(i)?s:(e[a]=r.mul(s,e[a]),r.mul(s,i)),o),e}function Ic(r,t){let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function Bs(r,t,e=!1,n={}){if(r<=Bt)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:o,nByteLength:s}=Ic(r,t);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let i=Ry(r),a=Object.freeze({ORDER:r,BITS:o,BYTES:s,MASK:go(o),ZERO:Bt,ONE:ut,create:c=>at(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Bt<=c&&c<r},is0:c=>c===Bt,isOdd:c=>(c&ut)===ut,neg:c=>at(-c,r),eql:(c,u)=>c===u,sqr:c=>at(c*c,r),add:(c,u)=>at(c+u,r),sub:(c,u)=>at(c-u,r),mul:(c,u)=>at(c*u,r),pow:(c,u)=>Ty(a,c,u),div:(c,u)=>at(c*As(u,r),r),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>As(c,r),sqrt:n.sqrt||(c=>i(a,c)),invertBatch:c=>Cy(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>e?Gr(c,s):Sr(c,s),fromBytes:c=>{if(c.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${c.length}`);return e?kr(c):Ye(c)}});return Object.freeze(a)}function Af(r,t){if(!r.isOdd)throw new Error("Field doesn't have isOdd");let e=r.sqrt(t);return r.isOdd(e)?r.neg(e):e}function Bf(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let t=r.toString(2).length;return Math.ceil(t/8)}function Rc(r){let t=Bf(r);return t+Math.ceil(t/2)}function kf(r,t,e=!1){let n=r.length,o=Bf(t),s=Rc(t);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let i=e?Ye(r):kr(r),a=at(i,t-ut)+ut;return e?Gr(a,o):Sr(a,o)}var Ly=BigInt(0),_c=BigInt(1);function ks(r,t){let e=(o,s)=>{let i=s.negate();return o?i:s},n=o=>{let s=Math.ceil(t/o)+1,i=2**(o-1);return{windows:s,windowSize:i}};return{constTimeNegate:e,unsafeLadder(o,s){let i=r.ZERO,a=o;for(;s>Ly;)s&_c&&(i=i.add(a)),a=a.double(),s>>=_c;return i},precomputeWindow(o,s){let{windows:i,windowSize:a}=n(s),c=[],u=o,f=u;for(let l=0;l<i;l++){f=u,c.push(f);for(let m=1;m<a;m++)f=f.add(u),c.push(f);u=f.double()}return c},wNAF(o,s,i){let{windows:a,windowSize:c}=n(o),u=r.ZERO,f=r.BASE,l=BigInt(2**o-1),m=2**o,h=BigInt(o);for(let p=0;p<a;p++){let d=p*c,w=Number(i&l);i>>=h,w>c&&(w-=m,i+=_c);let g=d,x=d+Math.abs(w)-1,b=p%2!==0,B=w<0;w===0?f=f.add(e(b,s[g])):u=u.add(e(B,s[x]))}return{p:u,f}},wNAFCached(o,s,i,a){let c=o._WINDOW_SIZE||1,u=s.get(o);return u||(u=this.precomputeWindow(o,c),c!==1&&s.set(o,a(u))),this.wNAF(c,u,i)}}}function yo(r){return Sc(r.Fp),Le(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Ic(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}var Ee=BigInt(0),Qt=BigInt(1),Ss=BigInt(2),Uy=BigInt(8),Dy={zip215:!0};function Py(r){let t=yo(r);return Le(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function Is(r){let t=Py(r),{Fp:e,n,prehash:o,hash:s,randomBytes:i,nByteLength:a,h:c}=t,u=Ss<<BigInt(a*8)-Qt,f=e.create,l=t.uvRatio||((_,k)=>{try{return{isValid:!0,value:e.sqrt(_*e.inv(k))}}catch{return{isValid:!1,value:Ee}}}),m=t.adjustScalarBytes||(_=>_),h=t.domain||((_,k,F)=>{if(k.length||F)throw new Error("Contexts/pre-hash are not supported");return _}),p=_=>typeof _=="bigint"&&Ee<_,d=(_,k)=>p(_)&&p(k)&&_<k,w=_=>_===Ee||d(_,u);function g(_,k){if(d(_,k))return _;throw new Error(`Expected valid scalar < ${k}, got ${typeof _} ${_}`)}function x(_){return _===Ee?_:g(_,n)}let b=new Map;function B(_){if(!(_ instanceof A))throw new Error("ExtendedPoint expected")}class A{constructor(k,F,$,K){if(this.ex=k,this.ey=F,this.ez=$,this.et=K,!w(k))throw new Error("x required");if(!w(F))throw new Error("y required");if(!w($))throw new Error("z required");if(!w(K))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(k){if(k instanceof A)throw new Error("extended point not allowed");let{x:F,y:$}=k||{};if(!w(F)||!w($))throw new Error("invalid affine point");return new A(F,$,Qt,f(F*$))}static normalizeZ(k){let F=e.invertBatch(k.map($=>$.ez));return k.map(($,K)=>$.toAffine(F[K])).map(A.fromAffine)}_setWindowSize(k){this._WINDOW_SIZE=k,b.delete(this)}assertValidity(){let{a:k,d:F}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:$,ey:K,ez:W,et:Y}=this,rt=f($*$),J=f(K*K),Q=f(W*W),wt=f(Q*Q),dt=f(rt*k),_t=f(Q*f(dt+J)),Tt=f(wt+f(F*f(rt*J)));if(_t!==Tt)throw new Error("bad point: equation left != right (1)");let Et=f($*K),Ot=f(W*Y);if(Et!==Ot)throw new Error("bad point: equation left != right (2)")}equals(k){B(k);let{ex:F,ey:$,ez:K}=this,{ex:W,ey:Y,ez:rt}=k,J=f(F*rt),Q=f(W*K),wt=f($*rt),dt=f(Y*K);return J===Q&&wt===dt}is0(){return this.equals(A.ZERO)}negate(){return new A(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:k}=t,{ex:F,ey:$,ez:K}=this,W=f(F*F),Y=f($*$),rt=f(Ss*f(K*K)),J=f(k*W),Q=F+$,wt=f(f(Q*Q)-W-Y),dt=J+Y,_t=dt-rt,Tt=J-Y,Et=f(wt*_t),Ot=f(dt*Tt),Ke=f(wt*Tt),Fr=f(_t*dt);return new A(Et,Ot,Fr,Ke)}add(k){B(k);let{a:F,d:$}=t,{ex:K,ey:W,ez:Y,et:rt}=this,{ex:J,ey:Q,ez:wt,et:dt}=k;if(F===BigInt(-1)){let dl=f((W-K)*(Q+J)),pl=f((W+K)*(Q-J)),ka=f(pl-dl);if(ka===Ee)return this.double();let ml=f(Y*Ss*dt),gl=f(rt*Ss*wt),yl=gl+ml,wl=pl+dl,bl=gl-ml,rm=f(yl*ka),nm=f(wl*bl),om=f(yl*bl),sm=f(ka*wl);return new A(rm,nm,sm,om)}let _t=f(K*J),Tt=f(W*Q),Et=f(rt*$*dt),Ot=f(Y*wt),Ke=f((K+W)*(J+Q)-_t-Tt),Fr=Ot-Et,no=Ot+Et,hl=f(Tt-F*_t),X0=f(Ke*Fr),Q0=f(no*hl),tm=f(Ke*hl),em=f(Fr*no);return new A(X0,Q0,em,tm)}subtract(k){return this.add(k.negate())}wNAF(k){return E.wNAFCached(this,b,k,A.normalizeZ)}multiply(k){let{p:F,f:$}=this.wNAF(g(k,n));return A.normalizeZ([F,$])[0]}multiplyUnsafe(k){let F=x(k);return F===Ee?v:this.equals(v)||F===Qt?this:this.equals(I)?this.wNAF(F).p:E.unsafeLadder(this,F)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return E.unsafeLadder(this,n).is0()}toAffine(k){let{ex:F,ey:$,ez:K}=this,W=this.is0();k==null&&(k=W?Uy:e.inv(K));let Y=f(F*k),rt=f($*k),J=f(K*k);if(W)return{x:Ee,y:Qt};if(J!==Qt)throw new Error("invZ was invalid");return{x:Y,y:rt}}clearCofactor(){let{h:k}=t;return k===Qt?this:this.multiplyUnsafe(k)}static fromHex(k,F=!1){let{d:$,a:K}=t,W=e.BYTES;k=mt("pointHex",k,W);let Y=k.slice(),rt=k[W-1];Y[W-1]=rt&-129;let J=kr(Y);J===Ee||(F?g(J,u):g(J,e.ORDER));let Q=f(J*J),wt=f(Q-Qt),dt=f($*Q-K),{isValid:_t,value:Tt}=l(wt,dt);if(!_t)throw new Error("Point.fromHex: invalid y coordinate");let Et=(Tt&Qt)===Qt,Ot=(rt&128)!==0;if(!F&&Tt===Ee&&Ot)throw new Error("Point.fromHex: x=0 and x_0=1");return Ot!==Et&&(Tt=f(-Tt)),A.fromAffine({x:Tt,y:J})}static fromPrivateKey(k){return N(k).point}toRawBytes(){let{x:k,y:F}=this.toAffine(),$=Gr(F,e.BYTES);return $[$.length-1]|=k&Qt?128:0,$}toHex(){return We(this.toRawBytes())}}A.BASE=new A(t.Gx,t.Gy,Qt,f(t.Gx*t.Gy)),A.ZERO=new A(Ee,Qt,Qt,Ee);let{BASE:I,ZERO:v}=A,E=ks(A,a*8);function U(_){return at(_,n)}function P(_){return U(kr(_))}function N(_){let k=a;_=mt("private key",_,k);let F=mt("hashed private key",s(_),2*k),$=m(F.slice(0,k)),K=F.slice(k,2*k),W=P($),Y=I.multiply(W),rt=Y.toRawBytes();return{head:$,prefix:K,scalar:W,point:Y,pointBytes:rt}}function M(_){return N(_).pointBytes}function C(_=new Uint8Array,...k){let F=Ze(...k);return P(s(h(F,mt("context",_),!!o)))}function X(_,k,F={}){_=mt("message",_),o&&(_=o(_));let{prefix:$,scalar:K,pointBytes:W}=N(k),Y=C(F.context,$,_),rt=I.multiply(Y).toRawBytes(),J=C(F.context,rt,W,_),Q=U(Y+J*K);x(Q);let wt=Ze(rt,Gr(Q,e.BYTES));return mt("result",wt,a*2)}let S=Dy;function T(_,k,F,$=S){let{context:K,zip215:W}=$,Y=e.BYTES;_=mt("signature",_,2*Y),k=mt("message",k),o&&(k=o(k));let rt=kr(_.slice(Y,2*Y)),J,Q,wt;try{J=A.fromHex(F,W),Q=A.fromHex(_.slice(0,Y),W),wt=I.multiplyUnsafe(rt)}catch{return!1}if(!W&&J.isSmallOrder())return!1;let dt=C(K,Q.toRawBytes(),J.toRawBytes(),k);return Q.add(J.multiplyUnsafe(dt)).subtract(wt).clearCofactor().equals(A.ZERO)}return I._setWindowSize(8),{CURVE:t,getPublicKey:M,sign:X,verify:T,ExtendedPoint:A,utils:{getExtendedPublicKey:N,randomPrivateKey:()=>i(e.BYTES),precompute(_=8,k=A.BASE){return k._setWindowSize(_),k.multiply(BigInt(3)),k}}}}var Cc=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Sf=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),N2=BigInt(0),Oy=BigInt(1),Tc=BigInt(2),Fy=BigInt(5),If=BigInt(10),Vy=BigInt(20),My=BigInt(40),Rf=BigInt(80);function $y(r){let t=Cc,n=r*r%t*r%t,o=lt(n,Tc,t)*n%t,s=lt(o,Oy,t)*r%t,i=lt(s,Fy,t)*s%t,a=lt(i,If,t)*i%t,c=lt(a,Vy,t)*a%t,u=lt(c,My,t)*c%t,f=lt(u,Rf,t)*u%t,l=lt(f,Rf,t)*u%t,m=lt(l,If,t)*i%t;return{pow_p_5_8:lt(m,Tc,t)*r%t,b2:n}}function Hy(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function Ky(r,t){let e=Cc,n=at(t*t*t,e),o=at(n*n*t,e),s=$y(r*o).pow_p_5_8,i=at(r*n*s,e),a=at(t*i*i,e),c=i,u=at(i*Sf,e),f=a===r,l=a===at(-r,e),m=a===at(-r*Sf,e);return f&&(i=c),(l||m)&&(i=u),vf(i,e)&&(i=at(-i,e)),{isValid:f||l,value:i}}var Je=Bs(Cc,void 0,!0),Nc={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Je,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:In,randomBytes:kn,adjustScalarBytes:Hy,uvRatio:Ky},_n=Is(Nc);function _f(r,t,e){if(t.length>255)throw new Error("Context is too big");return ws(bc("SigEd25519 no Ed25519 collisions"),new Uint8Array([e?1:0,t.length]),t,r)}var L2=Is({...Nc,domain:_f}),U2=Is({...Nc,domain:_f,prehash:In});var qy=(Je.ORDER+BigInt(3))/BigInt(8),D2=Je.pow(Tc,qy),P2=Je.sqrt(Je.neg(Je.ONE)),O2=(Je.ORDER-BigInt(5))/BigInt(8),F2=BigInt(486662);var V2=Af(Je,Je.neg(BigInt(486664)));var M2=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),$2=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),H2=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),K2=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var q2=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Tn=32,Xe=64,Rs=32;function Tf(){let r=_n.utils.randomPrivateKey(),t=_n.getPublicKey(r);return{privateKey:Uf(r,t),publicKey:t}}function Cf(r){if(r.length!==Rs)throw new TypeError('"seed" must be 32 bytes in length.');if(!(r instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=r,e=_n.getPublicKey(t);return{privateKey:Uf(t,e),publicKey:e}}function Nf(r,t){let e=r.subarray(0,Rs);return _n.sign(t instanceof Uint8Array?t:t.subarray(),e)}function Lf(r,t,e){return _n.verify(t,e instanceof Uint8Array?e:e.subarray(),r)}function Uf(r,t){let e=new Uint8Array(Xe);for(let n=0;n<Rs;n++)e[n]=r[n],e[Rs+n]=t[n];return e}var Lc={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Df(r){let t=r?.algorithm??"AES-GCM",e=r?.keyLength??16,n=r?.nonceLength??12,o=r?.digest??"SHA-256",s=r?.saltLength??16,i=r?.iterations??32767,a=Kt.get();e*=8;async function c(l,m){let h=a.getRandomValues(new Uint8Array(s)),p=a.getRandomValues(new Uint8Array(n)),d={name:t,iv:p};typeof m=="string"&&(m=q(m));let w;if(m.length===0){w=await a.subtle.importKey("jwk",Lc,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:h,iterations:i,hash:{name:o}},b=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);w=await a.subtle.deriveKey(x,b,{name:t,length:e},!0,["encrypt"])}catch{w=await a.subtle.importKey("jwk",Lc,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:h,iterations:i,hash:{name:o}},b=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);w=await a.subtle.deriveKey(x,b,{name:t,length:e},!0,["encrypt"])}let g=await a.subtle.encrypt(d,w,l);return St([h,d.iv,new Uint8Array(g)])}async function u(l,m){let h=l.subarray(0,s),p=l.subarray(s,s+n),d=l.subarray(s+n),w={name:t,iv:p};typeof m=="string"&&(m=q(m));let g;if(m.length===0)try{let b={name:"PBKDF2",salt:h,iterations:i,hash:{name:o}},B=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,B,{name:t,length:e},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",Lc,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:h,iterations:i,hash:{name:o}},B=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,B,{name:t,length:e},!0,["decrypt"])}let x=await a.subtle.decrypt(w,g,d);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function Cn(r,t){let n=await Df().encrypt(r,t);return le.encode(n)}var gt;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.Secp256k1="Secp256k1"})(gt||(gt={}));var Uc;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.Secp256k1=2]="Secp256k1"})(Uc||(Uc={}));(function(r){r.codec=()=>ho(Uc)})(gt||(gt={}));var Ue;(function(r){let t;r.codec=()=>(t==null&&(t=gn((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),gt.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let i=e.uint32();switch(i>>>3){case 1:o.Type=gt.codec().decode(e);break;case 2:o.Data=e.bytes();break;default:e.skipType(i&7);break}}return o})),t),r.encode=e=>pn(e,r.codec()),r.decode=e=>un(e,r.codec())})(Ue||(Ue={}));var Qe;(function(r){let t;r.codec=()=>(t==null&&(t=gn((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),gt.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let i=e.uint32();switch(i>>>3){case 1:o.Type=gt.codec().decode(e);break;case 2:o.Data=e.bytes();break;default:e.skipType(i&7);break}}return o})),t),r.encode=e=>pn(e,r.codec()),r.decode=e=>un(e,r.codec())})(Qe||(Qe={}));var wo=class{_key;constructor(t){this._key=Nn(t,Tn)}verify(t,e){return Lf(this._key,e,t)}marshal(){return this._key}get bytes(){return Ue.encode({Type:gt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}hash(){let t=At.digest(this.bytes);return fe(t)?t.then(({bytes:e})=>e):t.bytes}},Wr=class{_key;_publicKey;constructor(t,e){this._key=Nn(t,Xe),this._publicKey=Nn(e,Tn)}sign(t){return Nf(this._key,t)}get public(){return new wo(this._publicKey)}marshal(){return this._key}get bytes(){return Qe.encode({Type:gt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}async hash(){let t=At.digest(this.bytes),e;return fe(t)?{bytes:e}=await t:e=t.bytes,e}async id(){let t=Wt.digest(this.public.bytes);return ht.encode(t.bytes).substring(1)}async export(t,e="libp2p-key"){if(e==="libp2p-key")return Cn(this.bytes,t);throw new D(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function jy(r){if(r.length>Xe){r=Nn(r,Xe+Tn);let n=r.subarray(0,Xe),o=r.subarray(Xe,r.length);return new Wr(n,o)}r=Nn(r,Xe);let t=r.subarray(0,Xe),e=r.subarray(Tn);return new Wr(t,e)}function Wy(r){return r=Nn(r,Tn),new wo(r)}async function Yy(){let{privateKey:r,publicKey:t}=Tf();return new Wr(r,t)}async function Pf(r){let{privateKey:t,publicKey:e}=Cf(r);return new Wr(t,e)}function Nn(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new D(`Key must be a Uint8Array of length ${t}, got ${r.length}`,"ERR_INVALID_KEY_TYPE");return r}function G(r,t="utf8"){let e=ds[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var zc={};vt(zc,{MAX_RSA_KEY_SIZE:()=>To,RsaPrivateKey:()=>On,RsaPublicKey:()=>_o,fromJwk:()=>vw,generateKeyPair:()=>Aw,unmarshalRsaPrivateKey:()=>Kc,unmarshalRsaPublicKey:()=>Ew});function De(r){if(isNaN(r)||r<=0)throw new D("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return kn(r)}var Tr={};vt(Tr,{exportToPem:()=>gw,importFromPem:()=>yw,jwkToPkcs1:()=>hw,jwkToPkix:()=>pw,pkcs1ToJwk:()=>fw,pkixToJwk:()=>dw});var Ts=class extends An{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,gs(t);let n=Er(e);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let o=this.blockLen,s=new Uint8Array(o);s.set(n.length>o?t.create().update(n).digest():n);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=t.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),s.fill(0)}update(t){return vn(this),this.iHash.update(t),this}digestInto(t){vn(this),En(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:n,finished:o,destroyed:s,blockLen:i,outputLen:a}=this;return t=t,t.finished=o,t.destroyed=s,t.blockLen=i,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},bo=(r,t,e)=>new Ts(r,t).update(e).digest();bo.create=(r,t)=>new Ts(r,t);function Zy(r,t,e,n){gs(r);let o=hf({dkLen:32,asyncTick:10},n),{c:s,dkLen:i,asyncTick:a}=o;if(xn(s),xn(i),xn(a),s<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let c=Er(t),u=Er(e),f=new Uint8Array(i),l=bo.create(r,c),m=l._cloneInto().update(u);return{c:s,dkLen:i,asyncTick:a,DK:f,PRF:l,PRFSalt:m}}function Jy(r,t,e,n,o){return r.destroy(),t.destroy(),n&&n.destroy(),o.fill(0),e}async function Pc(r,t,e,n){let{c:o,dkLen:s,asyncTick:i,DK:a,PRF:c,PRFSalt:u}=Zy(r,t,e,n),f,l=new Uint8Array(4),m=Bn(l),h=new Uint8Array(c.outputLen);for(let p=1,d=0;d<s;p++,d+=c.outputLen){let w=a.subarray(d,d+c.outputLen);m.setInt32(0,p,!1),(f=u._cloneInto(f)).update(l).digestInto(h),w.set(h.subarray(0,w.length)),await ff(o-1,i,()=>{c._cloneInto(f).update(h).digestInto(h);for(let g=0;g<w.length;g++)w[g]^=h[g]})}return Jy(c,u,a,f,h)}var Z=Jt(Of());function Yr(r,t){let e=0;if(r.length===1)return r[0];for(let n=r.length-1;n>=0;n--)e+=r[r.length-1-n]*Math.pow(2,t*n);return e}function Ir(r,t,e=-1){let n=e,o=r,s=0,i=Math.pow(2,t);for(let a=1;a<8;a++){if(r<i){let c;if(n<0)c=new ArrayBuffer(a),s=a;else{if(n<a)return new ArrayBuffer(0);c=new ArrayBuffer(n),s=n}let u=new Uint8Array(c);for(let f=a-1;f>=0;f--){let l=Math.pow(2,f*t);u[s-f-1]=Math.floor(o/l),o-=u[s-f-1]*l}return c}i*=Math.pow(2,t)}return new ArrayBuffer(0)}function Ls(...r){let t=0,e=0;for(let s of r)t+=s.length;let n=new ArrayBuffer(t),o=new Uint8Array(n);for(let s of r)o.set(s,e),e+=s.length;return o}function Fc(){let r=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let a=r[0]===255&&r[1]&128,c=r[0]===0&&(r[1]&128)===0;(a||c)&&this.warnings.push("Needlessly long format")}let t=new ArrayBuffer(this.valueHex.byteLength),e=new Uint8Array(t);for(let a=0;a<this.valueHex.byteLength;a++)e[a]=0;e[0]=r[0]&128;let n=Yr(e,8),o=new ArrayBuffer(this.valueHex.byteLength),s=new Uint8Array(o);for(let a=0;a<this.valueHex.byteLength;a++)s[a]=r[a];return s[0]&=127,Yr(s,8)-n}function Ff(r){let t=r<0?r*-1:r,e=128;for(let n=1;n<8;n++){if(t<=e){if(r<0){let i=e-t,a=Ir(i,8,n),c=new Uint8Array(a);return c[0]|=128,a}let o=Ir(t,8,n),s=new Uint8Array(o);if(s[0]&128){let i=o.slice(0),a=new Uint8Array(i);o=new ArrayBuffer(o.byteLength+1),s=new Uint8Array(o);for(let c=0;c<i.byteLength;c++)s[c+1]=a[c];s[0]=0}return o}e*=Math.pow(2,8)}return new ArrayBuffer(0)}function Vf(r,t){if(r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let o=0;o<e.length;o++)if(e[o]!==n[o])return!1;return!0}function Yt(r,t){let e=r.toString(10);if(t<e.length)return"";let n=t-e.length,o=new Array(n);for(let i=0;i<n;i++)o[i]="0";return o.join("").concat(e)}var bA=Math.log(2);function Us(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Vc(r){let t=0,e=0;for(let o=0;o<r.length;o++){let s=r[o];t+=s.byteLength}let n=new Uint8Array(t);for(let o=0;o<r.length;o++){let s=r[o];n.set(new Uint8Array(s),e),e+=s.byteLength}return n.buffer}function or(r,t,e,n){return t instanceof Uint8Array?t.byteLength?e<0?(r.error="Wrong parameter: inputOffset less than zero",!1):n<0?(r.error="Wrong parameter: inputLength less than zero",!1):t.byteLength-e-n<0?(r.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(r.error="Wrong parameter: inputBuffer has zero length",!1):(r.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var Eo=class{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return Vc(this.items)}},xo=[new Uint8Array([1])],Mf="0123456789";var Dn="",Ae=new ArrayBuffer(0),Mc=new Uint8Array(0),vo="EndOfContent",Hf="OCTET STRING",Kf="BIT STRING";function sr(r){var t;return t=class extends r{constructor(...n){var o;super(...n);let s=n[0]||{};this.isHexOnly=(o=s.isHexOnly)!==null&&o!==void 0?o:!1,this.valueHexView=s.valueHex?Z.BufferSourceConverter.toUint8Array(s.valueHex):Mc}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(n){this.valueHexView=new Uint8Array(n)}fromBER(n,o,s){let i=n instanceof ArrayBuffer?new Uint8Array(n):n;if(!or(this,i,o,s))return-1;let a=o+s;return this.valueHexView=i.subarray(o,a),this.valueHexView.length?(this.blockLength=s,a):(this.warnings.push("Zero buffer length"),o)}toBER(n=!1){return this.isHexOnly?n?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",Ae)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:Z.Convert.ToHex(this.valueHexView)}}},t.NAME="hexBlock",t}var er=class{constructor({blockLength:t=0,error:e=Dn,warnings:n=[],valueBeforeDecode:o=Mc}={}){this.blockLength=t,this.error=e,this.warnings=n,this.valueBeforeDecodeView=Z.BufferSourceConverter.toUint8Array(o)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(t){this.valueBeforeDecodeView=new Uint8Array(t)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:Z.Convert.ToHex(this.valueBeforeDecodeView)}}};er.NAME="baseBlock";var Mt=class extends er{fromBER(t,e,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(t,e){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};Mt.NAME="valueBlock";var Ds=class extends sr(er){constructor({idBlock:t={}}={}){var e,n,o,s;super(),t?(this.isHexOnly=(e=t.isHexOnly)!==null&&e!==void 0?e:!1,this.valueHexView=t.valueHex?Z.BufferSourceConverter.toUint8Array(t.valueHex):Mc,this.tagClass=(n=t.tagClass)!==null&&n!==void 0?n:-1,this.tagNumber=(o=t.tagNumber)!==null&&o!==void 0?o:-1,this.isConstructed=(s=t.isConstructed)!==null&&s!==void 0?s:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(t=!1){let e=0;switch(this.tagClass){case 1:e|=0;break;case 2:e|=64;break;case 3:e|=128;break;case 4:e|=192;break;default:return this.error="Unknown tag class",Ae}if(this.isConstructed&&(e|=32),this.tagNumber<31&&!this.isHexOnly){let o=new Uint8Array(1);if(!t){let s=this.tagNumber;s&=31,e|=s,o[0]=e}return o.buffer}if(!this.isHexOnly){let o=Ir(this.tagNumber,7),s=new Uint8Array(o),i=o.byteLength,a=new Uint8Array(i+1);if(a[0]=e|31,!t){for(let c=0;c<i-1;c++)a[c+1]=s[c]|128;a[i]=s[i-1]}return a.buffer}let n=new Uint8Array(this.valueHexView.byteLength+1);if(n[0]=e|31,!t){let o=this.valueHexView;for(let s=0;s<o.length-1;s++)n[s+1]=o[s]|128;n[this.valueHexView.byteLength]=o[o.length-1]}return n.buffer}fromBER(t,e,n){let o=Z.BufferSourceConverter.toUint8Array(t);if(!or(this,o,e,n))return-1;let s=o.subarray(e,e+n);if(s.length===0)return this.error="Zero buffer length",-1;switch(s[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(s[0]&32)===32,this.isHexOnly=!1;let a=s[0]&31;if(a!==31)this.tagNumber=a,this.blockLength=1;else{let c=1,u=this.valueHexView=new Uint8Array(255),f=255;for(;s[c]&128;){if(u[c-1]=s[c]&127,c++,c>=s.length)return this.error="End of input reached before message was fully decoded",-1;if(c===f){f+=255;let m=new Uint8Array(f);for(let h=0;h<u.length;h++)m[h]=u[h];u=this.valueHexView=new Uint8Array(f)}}this.blockLength=c+1,u[c-1]=s[c]&127;let l=new Uint8Array(c);for(let m=0;m<c;m++)l[m]=u[m];u=this.valueHexView=new Uint8Array(c),u.set(l),this.blockLength<=9?this.tagNumber=Yr(u,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return e+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};Ds.NAME="identificationBlock";var Ps=class extends er{constructor({lenBlock:t={}}={}){var e,n,o;super(),this.isIndefiniteForm=(e=t.isIndefiniteForm)!==null&&e!==void 0?e:!1,this.longFormUsed=(n=t.longFormUsed)!==null&&n!==void 0?n:!1,this.length=(o=t.length)!==null&&o!==void 0?o:0}fromBER(t,e,n){let o=Z.BufferSourceConverter.toUint8Array(t);if(!or(this,o,e,n))return-1;let s=o.subarray(e,e+n);if(s.length===0)return this.error="Zero buffer length",-1;if(s[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=s[0]===128,this.isIndefiniteForm)return this.blockLength=1,e+this.blockLength;if(this.longFormUsed=!!(s[0]&128),this.longFormUsed===!1)return this.length=s[0],this.blockLength=1,e+this.blockLength;let i=s[0]&127;if(i>8)return this.error="Too big integer",-1;if(i+1>s.length)return this.error="End of input reached before message was fully decoded",-1;let a=e+1,c=o.subarray(a,a+i);return c[i-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=Yr(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=i+1,e+this.blockLength}toBER(t=!1){let e,n;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=128),e;if(this.longFormUsed){let o=Ir(this.length,8);if(o.byteLength>127)return this.error="Too big length",Ae;if(e=new ArrayBuffer(o.byteLength+1),t)return e;let s=new Uint8Array(o);n=new Uint8Array(e),n[0]=o.byteLength|128;for(let i=0;i<o.byteLength;i++)n[i+1]=s[i];return e}return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=this.length),e}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};Ps.NAME="lengthBlock";var O={},Nt=class extends er{constructor({name:t=Dn,optional:e=!1,primitiveSchema:n,...o}={},s){super(o),this.name=t,this.optional=e,n&&(this.primitiveSchema=n),this.idBlock=new Ds(o),this.lenBlock=new Ps(o),this.valueBlock=s?new s(o):new Mt(o)}fromBER(t,e,n){let o=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}toBER(t,e){let n=e||new Eo;e||qf(this);let o=this.idBlock.toBER(t);if(n.write(o),this.lenBlock.isIndefiniteForm)n.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(t,n),n.write(new ArrayBuffer(2));else{let s=this.valueBlock.toBER(t);this.lenBlock.length=s.byteLength;let i=this.lenBlock.toBER(t);n.write(i),n.write(s)}return e?Ae:n.final()}toJSON(){let t={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(t.primitiveSchema=this.primitiveSchema.toJSON()),t}toString(t="ascii"){return t==="ascii"?this.onAsciiEncoding():Z.Convert.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${Z.Convert.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(t){if(this===t)return!0;if(!(t instanceof this.constructor))return!1;let e=this.toBER(),n=t.toBER();return Vf(e,n)}};Nt.NAME="BaseBlock";function qf(r){if(r instanceof O.Constructed)for(let t of r.valueBlock.value)qf(t)&&(r.lenBlock.isIndefiniteForm=!0);return!!r.lenBlock.isIndefiniteForm}var Os=class extends Nt{constructor({value:t=Dn,...e}={},n){super(e,n),t&&this.fromString(t)}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}fromBER(t,e,n){let o=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}};Os.NAME="BaseStringBlock";var Fs=class extends sr(Mt){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}};Fs.NAME="PrimitiveValueBlock";var zf,Vs=class extends Nt{constructor(t={}){super(t,Fs),this.idBlock.isConstructed=!1}};zf=Vs;O.Primitive=zf;Vs.NAME="PRIMITIVE";function iw(r,t){if(r instanceof t)return r;let e=new t;return e.idBlock=r.idBlock,e.lenBlock=r.lenBlock,e.warnings=r.warnings,e.valueBeforeDecodeView=r.valueBeforeDecodeView,e}function wi(r,t=0,e=r.length){let n=t,o=new Nt({},Mt),s=new er;if(!or(s,r,t,e))return o.error=s.error,{offset:-1,result:o};if(!r.subarray(t,t+e).length)return o.error="Zero buffer length",{offset:-1,result:o};let a=o.idBlock.fromBER(r,t,e);if(o.idBlock.warnings.length&&o.warnings.concat(o.idBlock.warnings),a===-1)return o.error=o.idBlock.error,{offset:-1,result:o};if(t=a,e-=o.idBlock.blockLength,a=o.lenBlock.fromBER(r,t,e),o.lenBlock.warnings.length&&o.warnings.concat(o.lenBlock.warnings),a===-1)return o.error=o.lenBlock.error,{offset:-1,result:o};if(t=a,e-=o.lenBlock.blockLength,!o.idBlock.isConstructed&&o.lenBlock.isIndefiniteForm)return o.error="Indefinite length form used for primitive encoding form",{offset:-1,result:o};let c=Nt;switch(o.idBlock.tagClass){case 1:if(o.idBlock.tagNumber>=37&&o.idBlock.isHexOnly===!1)return o.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:o};switch(o.idBlock.tagNumber){case 0:if(o.idBlock.isConstructed&&o.lenBlock.length>0)return o.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:o};c=O.EndOfContent;break;case 1:c=O.Boolean;break;case 2:c=O.Integer;break;case 3:c=O.BitString;break;case 4:c=O.OctetString;break;case 5:c=O.Null;break;case 6:c=O.ObjectIdentifier;break;case 10:c=O.Enumerated;break;case 12:c=O.Utf8String;break;case 13:c=O.RelativeObjectIdentifier;break;case 14:c=O.TIME;break;case 15:return o.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:o};case 16:c=O.Sequence;break;case 17:c=O.Set;break;case 18:c=O.NumericString;break;case 19:c=O.PrintableString;break;case 20:c=O.TeletexString;break;case 21:c=O.VideotexString;break;case 22:c=O.IA5String;break;case 23:c=O.UTCTime;break;case 24:c=O.GeneralizedTime;break;case 25:c=O.GraphicString;break;case 26:c=O.VisibleString;break;case 27:c=O.GeneralString;break;case 28:c=O.UniversalString;break;case 29:c=O.CharacterString;break;case 30:c=O.BmpString;break;case 31:c=O.DATE;break;case 32:c=O.TimeOfDay;break;case 33:c=O.DateTime;break;case 34:c=O.Duration;break;default:{let u=o.idBlock.isConstructed?new O.Constructed:new O.Primitive;u.idBlock=o.idBlock,u.lenBlock=o.lenBlock,u.warnings=o.warnings,o=u}}break;case 2:case 3:case 4:default:c=o.idBlock.isConstructed?O.Constructed:O.Primitive}return o=iw(o,c),a=o.fromBER(r,t,o.lenBlock.isIndefiniteForm?e:o.lenBlock.length),o.valueBeforeDecodeView=r.subarray(n,n+o.blockLength),{offset:a,result:o}}function Pn(r){if(!r.byteLength){let t=new Nt({},Mt);return t.error="Input buffer has zero length",{offset:-1,result:t}}return wi(Z.BufferSourceConverter.toUint8Array(r).slice(),0,r.byteLength)}function aw(r,t){return r?1:t}var Pe=class extends Mt{constructor({value:t=[],isIndefiniteForm:e=!1,...n}={}){super(n),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,n){let o=Z.BufferSourceConverter.toUint8Array(t);if(!or(this,o,e,n))return-1;if(this.valueBeforeDecodeView=o.subarray(e,e+n),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),e;let s=e;for(;aw(this.isIndefiniteForm,n)>0;){let i=wi(o,s,n);if(i.offset===-1)return this.error=i.result.error,this.warnings.concat(i.result.warnings),-1;if(s=i.offset,this.blockLength+=i.result.blockLength,n-=i.result.blockLength,this.value.push(i.result),this.isIndefiniteForm&&i.result.constructor.NAME===vo)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===vo?this.value.pop():this.warnings.push("No EndOfContent block encoded")),s}toBER(t,e){let n=e||new Eo;for(let o=0;o<this.value.length;o++)this.value[o].toBER(t,n);return e?Ae:n.final()}toJSON(){let t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let e of this.value)t.value.push(e.toJSON());return t}};Pe.NAME="ConstructedValueBlock";var Gf,Rr=class extends Nt{constructor(t={}){super(t,Pe),this.idBlock.isConstructed=!0}fromBER(t,e,n){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let o=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}onAsciiEncoding(){let t=[];for(let n of this.valueBlock.value)t.push(n.toString("ascii").split(`
|
|
2
|
+
"use strict";var HeliaHttp=(()=>{var im=Object.create;var ts=Object.defineProperty;var am=Object.getOwnPropertyDescriptor;var cm=Object.getOwnPropertyNames;var um=Object.getPrototypeOf,lm=Object.prototype.hasOwnProperty;var ye=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),vt=(r,t)=>{for(var e in t)ts(r,e,{get:t[e],enumerable:!0})},xl=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of cm(t))!lm.call(r,o)&&o!==e&&ts(r,o,{get:()=>t[o],enumerable:!(n=am(t,o))||n.enumerable});return r};var Jt=(r,t,e)=>(e=r!=null?im(um(r)):{},xl(t||!r||!r.__esModule?ts(e,"default",{value:r,enumerable:!0}):e,r)),fm=r=>xl(ts({},"__esModule",{value:!0}),r);var sn=ye((pE,Rl)=>{"use strict";function Il(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function vm(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return Il(r,e)}catch{e.message=r.message,e.stack=r.stack;let o=function(){};return o.prototype=Object.create(Object.getPrototypeOf(r)),Il(new o,e)}}Rl.exports=vm});var Of=ye(Ln=>{"use strict";var Jy="[object ArrayBuffer]",tr=class r{static isArrayBuffer(t){return Object.prototype.toString.call(t)===Jy}static toArrayBuffer(t){return this.isArrayBuffer(t)?t:t.byteLength===t.buffer.byteLength||t.byteOffset===0&&t.byteLength===t.buffer.byteLength?t.buffer:this.toUint8Array(t.buffer).slice(t.byteOffset,t.byteOffset+t.byteLength).buffer}static toUint8Array(t){return this.toView(t,Uint8Array)}static toView(t,e){if(t.constructor===e)return t;if(this.isArrayBuffer(t))return new e(t);if(this.isArrayBufferView(t))return new e(t.buffer,t.byteOffset,t.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(t){return this.isArrayBufferView(t)||this.isArrayBuffer(t)}static isArrayBufferView(t){return ArrayBuffer.isView(t)||t&&this.isArrayBuffer(t.buffer)}static isEqual(t,e){let n=r.toUint8Array(t),o=r.toUint8Array(e);if(n.length!==o.byteLength)return!1;for(let s=0;s<n.length;s++)if(n[s]!==o[s])return!1;return!0}static concat(...t){let e;Array.isArray(t[0])&&!(t[1]instanceof Function)||Array.isArray(t[0])&&t[1]instanceof Function?e=t[0]:t[t.length-1]instanceof Function?e=t.slice(0,t.length-1):e=t;let n=0;for(let i of e)n+=i.byteLength;let o=new Uint8Array(n),s=0;for(let i of e){let a=this.toUint8Array(i);o.set(a,s),s+=a.length}return t[t.length-1]instanceof Function?this.toView(o,t[t.length-1]):o.buffer}},Oc="string",Xy=/^[0-9a-f]+$/i,Qy=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,tw=/^[a-zA-Z0-9-_]+$/,Cs=class{static fromString(t){let e=unescape(encodeURIComponent(t)),n=new Uint8Array(e.length);for(let o=0;o<e.length;o++)n[o]=e.charCodeAt(o);return n.buffer}static toString(t){let e=tr.toUint8Array(t),n="";for(let s=0;s<e.length;s++)n+=String.fromCharCode(e[s]);return decodeURIComponent(escape(n))}},he=class{static toString(t,e=!1){let n=tr.toArrayBuffer(t),o=new DataView(n),s="";for(let i=0;i<n.byteLength;i+=2){let a=o.getUint16(i,e);s+=String.fromCharCode(a)}return s}static fromString(t,e=!1){let n=new ArrayBuffer(t.length*2),o=new DataView(n);for(let s=0;s<t.length;s++)o.setUint16(s*2,t.charCodeAt(s),e);return n}},Ns=class r{static isHex(t){return typeof t===Oc&&Xy.test(t)}static isBase64(t){return typeof t===Oc&&Qy.test(t)}static isBase64Url(t){return typeof t===Oc&&tw.test(t)}static ToString(t,e="utf8"){let n=tr.toUint8Array(t);switch(e.toLowerCase()){case"utf8":return this.ToUtf8String(n);case"binary":return this.ToBinary(n);case"hex":return this.ToHex(n);case"base64":return this.ToBase64(n);case"base64url":return this.ToBase64Url(n);case"utf16le":return he.toString(n,!0);case"utf16":case"utf16be":return he.toString(n);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromString(t,e="utf8"){if(!t)return new ArrayBuffer(0);switch(e.toLowerCase()){case"utf8":return this.FromUtf8String(t);case"binary":return this.FromBinary(t);case"hex":return this.FromHex(t);case"base64":return this.FromBase64(t);case"base64url":return this.FromBase64Url(t);case"utf16le":return he.fromString(t,!0);case"utf16":case"utf16be":return he.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){let e=tr.toUint8Array(t);if(typeof btoa<"u"){let n=this.ToString(e,"binary");return btoa(n)}else return Buffer.from(e).toString("base64")}static FromBase64(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64(e))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(e)):new Uint8Array(Buffer.from(e,"base64")).buffer}static FromBase64Url(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64Url(e))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(e.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(t){return this.ToBase64(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.FromBinary(t);case"utf8":return Cs.fromString(t);case"utf16":case"utf16be":return he.fromString(t);case"utf16le":case"usc2":return he.fromString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.ToBinary(t);case"utf8":return Cs.toString(t);case"utf16":case"utf16be":return he.toString(t);case"utf16le":case"usc2":return he.toString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromBinary(t){let e=t.length,n=new Uint8Array(e);for(let o=0;o<e;o++)n[o]=t.charCodeAt(o);return n.buffer}static ToBinary(t){let e=tr.toUint8Array(t),n="";for(let o=0;o<e.length;o++)n+=String.fromCharCode(e[o]);return n}static ToHex(t){let e=tr.toUint8Array(t),n="",o=e.length;for(let s=0;s<o;s++){let i=e[s];i<16&&(n+="0"),n+=i.toString(16)}return n}static FromHex(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isHex(e))throw new TypeError("Argument 'hexString' is not HEX encoded");e.length%2&&(e=`0${e}`);let n=new Uint8Array(e.length/2);for(let o=0;o<e.length;o=o+2){let s=e.slice(o,o+2);n[o/2]=parseInt(s,16)}return n.buffer}static ToUtf16String(t,e=!1){return he.toString(t,e)}static FromUtf16String(t,e=!1){return he.fromString(t,e)}static Base64Padding(t){let e=4-t.length%4;if(e<4)for(let n=0;n<e;n++)t+="=";return t}static formatString(t){return t?.replace(/[\n\r\t ]/g,"")||""}};Ns.DEFAULT_UTF8_ENCODING="utf8";function ew(r,...t){let e=arguments[0];for(let n=1;n<arguments.length;n++){let o=arguments[n];for(let s in o)e[s]=o[s]}return e}function rw(...r){let t=r.map(o=>o.byteLength).reduce((o,s)=>o+s),e=new Uint8Array(t),n=0;return r.map(o=>new Uint8Array(o)).forEach(o=>{for(let s of o)e[n++]=s}),e.buffer}function nw(r,t){if(!(r&&t)||r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let o=0;o<r.byteLength;o++)if(e[o]!==n[o])return!1;return!0}Ln.BufferSourceConverter=tr;Ln.Convert=Ns;Ln.assign=ew;Ln.combine=rw;Ln.isEqual=nw});var Hh=ye((Lo,Ei)=>{(function(r,t){"use strict";var e={version:"3.0.0",x86:{},x64:{},inputValidation:!0};function n(h){if(!Array.isArray(h)&&!ArrayBuffer.isView(h))return!1;for(var p=0;p<h.length;p++)if(!Number.isInteger(h[p])||h[p]<0||h[p]>255)return!1;return!0}function o(h,p){return(h&65535)*p+(((h>>>16)*p&65535)<<16)}function s(h,p){return h<<p|h>>>32-p}function i(h){return h^=h>>>16,h=o(h,2246822507),h^=h>>>13,h=o(h,3266489909),h^=h>>>16,h}function a(h,p){h=[h[0]>>>16,h[0]&65535,h[1]>>>16,h[1]&65535],p=[p[0]>>>16,p[0]&65535,p[1]>>>16,p[1]&65535];var d=[0,0,0,0];return d[3]+=h[3]+p[3],d[2]+=d[3]>>>16,d[3]&=65535,d[2]+=h[2]+p[2],d[1]+=d[2]>>>16,d[2]&=65535,d[1]+=h[1]+p[1],d[0]+=d[1]>>>16,d[1]&=65535,d[0]+=h[0]+p[0],d[0]&=65535,[d[0]<<16|d[1],d[2]<<16|d[3]]}function c(h,p){h=[h[0]>>>16,h[0]&65535,h[1]>>>16,h[1]&65535],p=[p[0]>>>16,p[0]&65535,p[1]>>>16,p[1]&65535];var d=[0,0,0,0];return d[3]+=h[3]*p[3],d[2]+=d[3]>>>16,d[3]&=65535,d[2]+=h[2]*p[3],d[1]+=d[2]>>>16,d[2]&=65535,d[2]+=h[3]*p[2],d[1]+=d[2]>>>16,d[2]&=65535,d[1]+=h[1]*p[3],d[0]+=d[1]>>>16,d[1]&=65535,d[1]+=h[2]*p[2],d[0]+=d[1]>>>16,d[1]&=65535,d[1]+=h[3]*p[1],d[0]+=d[1]>>>16,d[1]&=65535,d[0]+=h[0]*p[3]+h[1]*p[2]+h[2]*p[1]+h[3]*p[0],d[0]&=65535,[d[0]<<16|d[1],d[2]<<16|d[3]]}function u(h,p){return p%=64,p===32?[h[1],h[0]]:p<32?[h[0]<<p|h[1]>>>32-p,h[1]<<p|h[0]>>>32-p]:(p-=32,[h[1]<<p|h[0]>>>32-p,h[0]<<p|h[1]>>>32-p])}function f(h,p){return p%=64,p===0?h:p<32?[h[0]<<p|h[1]>>>32-p,h[1]<<p]:[h[1]<<p-32,0]}function l(h,p){return[h[0]^p[0],h[1]^p[1]]}function m(h){return h=l(h,[0,h[0]>>>1]),h=c(h,[4283543511,3981806797]),h=l(h,[0,h[0]>>>1]),h=c(h,[3301882366,444984403]),h=l(h,[0,h[0]>>>1]),h}e.x86.hash32=function(h,p){if(e.inputValidation&&!n(h))return t;p=p||0;for(var d=h.length%4,w=h.length-d,g=p,x=0,b=3432918353,B=461845907,A=0;A<w;A=A+4)x=h[A]|h[A+1]<<8|h[A+2]<<16|h[A+3]<<24,x=o(x,b),x=s(x,15),x=o(x,B),g^=x,g=s(g,13),g=o(g,5)+3864292196;switch(x=0,d){case 3:x^=h[A+2]<<16;case 2:x^=h[A+1]<<8;case 1:x^=h[A],x=o(x,b),x=s(x,15),x=o(x,B),g^=x}return g^=h.length,g=i(g),g>>>0},e.x86.hash128=function(h,p){if(e.inputValidation&&!n(h))return t;p=p||0;for(var d=h.length%16,w=h.length-d,g=p,x=p,b=p,B=p,A=0,I=0,v=0,E=0,U=597399067,P=2869860233,N=951274213,M=2716044179,C=0;C<w;C=C+16)A=h[C]|h[C+1]<<8|h[C+2]<<16|h[C+3]<<24,I=h[C+4]|h[C+5]<<8|h[C+6]<<16|h[C+7]<<24,v=h[C+8]|h[C+9]<<8|h[C+10]<<16|h[C+11]<<24,E=h[C+12]|h[C+13]<<8|h[C+14]<<16|h[C+15]<<24,A=o(A,U),A=s(A,15),A=o(A,P),g^=A,g=s(g,19),g+=x,g=o(g,5)+1444728091,I=o(I,P),I=s(I,16),I=o(I,N),x^=I,x=s(x,17),x+=b,x=o(x,5)+197830471,v=o(v,N),v=s(v,17),v=o(v,M),b^=v,b=s(b,15),b+=B,b=o(b,5)+2530024501,E=o(E,M),E=s(E,18),E=o(E,U),B^=E,B=s(B,13),B+=g,B=o(B,5)+850148119;switch(A=0,I=0,v=0,E=0,d){case 15:E^=h[C+14]<<16;case 14:E^=h[C+13]<<8;case 13:E^=h[C+12],E=o(E,M),E=s(E,18),E=o(E,U),B^=E;case 12:v^=h[C+11]<<24;case 11:v^=h[C+10]<<16;case 10:v^=h[C+9]<<8;case 9:v^=h[C+8],v=o(v,N),v=s(v,17),v=o(v,M),b^=v;case 8:I^=h[C+7]<<24;case 7:I^=h[C+6]<<16;case 6:I^=h[C+5]<<8;case 5:I^=h[C+4],I=o(I,P),I=s(I,16),I=o(I,N),x^=I;case 4:A^=h[C+3]<<24;case 3:A^=h[C+2]<<16;case 2:A^=h[C+1]<<8;case 1:A^=h[C],A=o(A,U),A=s(A,15),A=o(A,P),g^=A}return g^=h.length,x^=h.length,b^=h.length,B^=h.length,g+=x,g+=b,g+=B,x+=g,b+=g,B+=g,g=i(g),x=i(x),b=i(b),B=i(B),g+=x,g+=b,g+=B,x+=g,b+=g,B+=g,("00000000"+(g>>>0).toString(16)).slice(-8)+("00000000"+(x>>>0).toString(16)).slice(-8)+("00000000"+(b>>>0).toString(16)).slice(-8)+("00000000"+(B>>>0).toString(16)).slice(-8)},e.x64.hash128=function(h,p){if(e.inputValidation&&!n(h))return t;p=p||0;for(var d=h.length%16,w=h.length-d,g=[0,p],x=[0,p],b=[0,0],B=[0,0],A=[2277735313,289559509],I=[1291169091,658871167],v=0;v<w;v=v+16)b=[h[v+4]|h[v+5]<<8|h[v+6]<<16|h[v+7]<<24,h[v]|h[v+1]<<8|h[v+2]<<16|h[v+3]<<24],B=[h[v+12]|h[v+13]<<8|h[v+14]<<16|h[v+15]<<24,h[v+8]|h[v+9]<<8|h[v+10]<<16|h[v+11]<<24],b=c(b,A),b=u(b,31),b=c(b,I),g=l(g,b),g=u(g,27),g=a(g,x),g=a(c(g,[0,5]),[0,1390208809]),B=c(B,I),B=u(B,33),B=c(B,A),x=l(x,B),x=u(x,31),x=a(x,g),x=a(c(x,[0,5]),[0,944331445]);switch(b=[0,0],B=[0,0],d){case 15:B=l(B,f([0,h[v+14]],48));case 14:B=l(B,f([0,h[v+13]],40));case 13:B=l(B,f([0,h[v+12]],32));case 12:B=l(B,f([0,h[v+11]],24));case 11:B=l(B,f([0,h[v+10]],16));case 10:B=l(B,f([0,h[v+9]],8));case 9:B=l(B,[0,h[v+8]]),B=c(B,I),B=u(B,33),B=c(B,A),x=l(x,B);case 8:b=l(b,f([0,h[v+7]],56));case 7:b=l(b,f([0,h[v+6]],48));case 6:b=l(b,f([0,h[v+5]],40));case 5:b=l(b,f([0,h[v+4]],32));case 4:b=l(b,f([0,h[v+3]],24));case 3:b=l(b,f([0,h[v+2]],16));case 2:b=l(b,f([0,h[v+1]],8));case 1:b=l(b,[0,h[v]]),b=c(b,A),b=u(b,31),b=c(b,I),g=l(g,b)}return g=l(g,[0,h.length]),x=l(x,[0,h.length]),g=a(g,x),x=a(x,g),g=m(g),x=m(x),g=a(g,x),x=a(x,g),("00000000"+(g[0]>>>0).toString(16)).slice(-8)+("00000000"+(g[1]>>>0).toString(16)).slice(-8)+("00000000"+(x[0]>>>0).toString(16)).slice(-8)+("00000000"+(x[1]>>>0).toString(16)).slice(-8)},typeof Lo<"u"?(typeof Ei<"u"&&Ei.exports&&(Lo=Ei.exports=e),Lo.murmurHash3=e):typeof define=="function"&&define.amd?define([],function(){return e}):(e._murmurHash3=r.murmurHash3,e.noConflict=function(){return r.murmurHash3=e._murmurHash3,e._murmurHash3=t,e.noConflict=t,e},r.murmurHash3=e)})(Lo)});var qh=ye((y8,Kh)=>{Kh.exports=Hh()});var jh=ye((w8,zh)=>{var Fn=1e3,Vn=Fn*60,Mn=Vn*60,Jr=Mn*24,Ow=Jr*7,Fw=Jr*365.25;zh.exports=function(r,t){t=t||{};var e=typeof r;if(e==="string"&&r.length>0)return Vw(r);if(e==="number"&&isFinite(r))return t.long?$w(r):Mw(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function Vw(r){if(r=String(r),!(r.length>100)){var t=/^(-?(?:\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(t){var e=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return e*Fw;case"weeks":case"week":case"w":return e*Ow;case"days":case"day":case"d":return e*Jr;case"hours":case"hour":case"hrs":case"hr":case"h":return e*Mn;case"minutes":case"minute":case"mins":case"min":case"m":return e*Vn;case"seconds":case"second":case"secs":case"sec":case"s":return e*Fn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:return}}}}function Mw(r){var t=Math.abs(r);return t>=Jr?Math.round(r/Jr)+"d":t>=Mn?Math.round(r/Mn)+"h":t>=Vn?Math.round(r/Vn)+"m":t>=Fn?Math.round(r/Fn)+"s":r+"ms"}function $w(r){var t=Math.abs(r);return t>=Jr?vi(r,t,Jr,"day"):t>=Mn?vi(r,t,Mn,"hour"):t>=Vn?vi(r,t,Vn,"minute"):t>=Fn?vi(r,t,Fn,"second"):r+" ms"}function vi(r,t,e,n){var o=t>=e*1.5;return Math.round(r/e)+" "+n+(o?"s":"")}});var Wh=ye((b8,Gh)=>{function Hw(r){e.debug=e,e.default=e,e.coerce=c,e.disable=s,e.enable=o,e.enabled=i,e.humanize=jh(),e.destroy=u,Object.keys(r).forEach(f=>{e[f]=r[f]}),e.names=[],e.skips=[],e.formatters={};function t(f){let l=0;for(let m=0;m<f.length;m++)l=(l<<5)-l+f.charCodeAt(m),l|=0;return e.colors[Math.abs(l)%e.colors.length]}e.selectColor=t;function e(f){let l,m=null,h,p;function d(...w){if(!d.enabled)return;let g=d,x=Number(new Date),b=x-(l||x);g.diff=b,g.prev=l,g.curr=x,l=x,w[0]=e.coerce(w[0]),typeof w[0]!="string"&&w.unshift("%O");let B=0;w[0]=w[0].replace(/%([a-zA-Z%])/g,(I,v)=>{if(I==="%%")return"%";B++;let E=e.formatters[v];if(typeof E=="function"){let U=w[B];I=E.call(g,U),w.splice(B,1),B--}return I}),e.formatArgs.call(g,w),(g.log||e.log).apply(g,w)}return d.namespace=f,d.useColors=e.useColors(),d.color=e.selectColor(f),d.extend=n,d.destroy=e.destroy,Object.defineProperty(d,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(h!==e.namespaces&&(h=e.namespaces,p=e.enabled(f)),p),set:w=>{m=w}}),typeof e.init=="function"&&e.init(d),d}function n(f,l){let m=e(this.namespace+(typeof l>"u"?":":l)+f);return m.log=this.log,m}function o(f){e.save(f),e.namespaces=f,e.names=[],e.skips=[];let l,m=(typeof f=="string"?f:"").split(/[\s,]+/),h=m.length;for(l=0;l<h;l++)m[l]&&(f=m[l].replace(/\*/g,".*?"),f[0]==="-"?e.skips.push(new RegExp("^"+f.slice(1)+"$")):e.names.push(new RegExp("^"+f+"$")))}function s(){let f=[...e.names.map(a),...e.skips.map(a).map(l=>"-"+l)].join(",");return e.enable(""),f}function i(f){if(f[f.length-1]==="*")return!0;let l,m;for(l=0,m=e.skips.length;l<m;l++)if(e.skips[l].test(f))return!1;for(l=0,m=e.names.length;l<m;l++)if(e.names[l].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function c(f){return f instanceof Error?f.stack||f.message:f}function u(){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 e.enable(e.load()),e}Gh.exports=Hw});var Yh=ye((te,Ai)=>{te.formatArgs=qw;te.save=zw;te.load=jw;te.useColors=Kw;te.storage=Gw();te.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();te.colors=["#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 Kw(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function qw(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Ai.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;r.splice(1,0,t,"color: inherit");let e=0,n=0;r[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(e++,o==="%c"&&(n=e))}),r.splice(n,0,t)}te.log=console.debug||console.log||(()=>{});function zw(r){try{r?te.storage.setItem("debug",r):te.storage.removeItem("debug")}catch{}}function jw(){let r;try{r=te.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function Gw(){try{return localStorage}catch{}}Ai.exports=Wh()(te);var{formatters:Ww}=Ai.exports;Ww.j=function(r){try{return JSON.stringify(r)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Xh=ye((B8,Xc)=>{"use strict";var Zw=Object.prototype.hasOwnProperty,zt="~";function Uo(){}Object.create&&(Uo.prototype=Object.create(null),new Uo().__proto__||(zt=!1));function Jw(r,t,e){this.fn=r,this.context=t,this.once=e||!1}function Jh(r,t,e,n,o){if(typeof e!="function")throw new TypeError("The listener must be a function");var s=new Jw(e,n||r,o),i=zt?zt+t:t;return r._events[i]?r._events[i].fn?r._events[i]=[r._events[i],s]:r._events[i].push(s):(r._events[i]=s,r._eventsCount++),r}function Bi(r,t){--r._eventsCount===0?r._events=new Uo:delete r._events[t]}function $t(){this._events=new Uo,this._eventsCount=0}$t.prototype.eventNames=function(){var t=[],e,n;if(this._eventsCount===0)return t;for(n in e=this._events)Zw.call(e,n)&&t.push(zt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};$t.prototype.listeners=function(t){var e=zt?zt+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,s=n.length,i=new Array(s);o<s;o++)i[o]=n[o].fn;return i};$t.prototype.listenerCount=function(t){var e=zt?zt+t:t,n=this._events[e];return n?n.fn?1:n.length:0};$t.prototype.emit=function(t,e,n,o,s,i){var a=zt?zt+t:t;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,f,l;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,n),!0;case 4:return c.fn.call(c.context,e,n,o),!0;case 5:return c.fn.call(c.context,e,n,o,s),!0;case 6:return c.fn.call(c.context,e,n,o,s,i),!0}for(l=1,f=new Array(u-1);l<u;l++)f[l-1]=arguments[l];c.fn.apply(c.context,f)}else{var m=c.length,h;for(l=0;l<m;l++)switch(c[l].once&&this.removeListener(t,c[l].fn,void 0,!0),u){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,e);break;case 3:c[l].fn.call(c[l].context,e,n);break;case 4:c[l].fn.call(c[l].context,e,n,o);break;default:if(!f)for(h=1,f=new Array(u-1);h<u;h++)f[h-1]=arguments[h];c[l].fn.apply(c[l].context,f)}}return!0};$t.prototype.on=function(t,e,n){return Jh(this,t,e,n,!1)};$t.prototype.once=function(t,e,n){return Jh(this,t,e,n,!0)};$t.prototype.removeListener=function(t,e,n,o){var s=zt?zt+t:t;if(!this._events[s])return this;if(!e)return Bi(this,s),this;var i=this._events[s];if(i.fn)i.fn===e&&(!o||i.once)&&(!n||i.context===n)&&Bi(this,s);else{for(var a=0,c=[],u=i.length;a<u;a++)(i[a].fn!==e||o&&!i[a].once||n&&i[a].context!==n)&&c.push(i[a]);c.length?this._events[s]=c.length===1?c[0]:c:Bi(this,s)}return this};$t.prototype.removeAllListeners=function(t){var e;return t?(e=zt?zt+t:t,this._events[e]&&Bi(this,e)):(this._events=new Uo,this._eventsCount=0),this};$t.prototype.off=$t.prototype.removeListener;$t.prototype.addListener=$t.prototype.on;$t.prefixed=zt;$t.EventEmitter=$t;typeof Xc<"u"&&(Xc.exports=$t)});var nd=ye((G8,rd)=>{rd.exports=function(r){if(!r)throw Error("hashlru must have a max value, of type number, greater than 0");var t=0,e=Object.create(null),n=Object.create(null);function o(s,i){e[s]=i,t++,t>=r&&(t=0,n=e,e=Object.create(null))}return{has:function(s){return e[s]!==void 0||n[s]!==void 0},remove:function(s){e[s]!==void 0&&(e[s]=void 0),n[s]!==void 0&&(n[s]=void 0)},get:function(s){var i=e[s];if(i!==void 0)return i;if((i=n[s])!==void 0)return o(s,i),i},set:function(s,i){e[s]!==void 0?e[s]=i:o(s,i)},clear:function(){e=Object.create(null),n=Object.create(null)}}}});var qp=ye(Go=>{(function(){var r,t,e,n,o,s,i,a;a=function(c){var u,f,l,m;return u=(c&255<<24)>>>24,f=(c&255<<16)>>>16,l=(c&65280)>>>8,m=c&255,[u,f,l,m].join(".")},i=function(c){var u,f,l,m,h,p;for(u=[],l=m=0;m<=3&&c.length!==0;l=++m){if(l>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}p=t(c),h=p[0],f=p[1],c=c.substring(f),u.push(h)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},e=function(c){return c.charCodeAt(0)},n=e("0"),s=e("a"),o=e("A"),t=function(c){var u,f,l,m,h;for(m=0,u=10,f="9",l=0,c.length>1&&c[l]==="0"&&(c[l+1]==="x"||c[l+1]==="X"?(l+=2,u=16):"0"<=c[l+1]&&c[l+1]<="9"&&(l++,u=8,f="7")),h=l;l<c.length;){if("0"<=c[l]&&c[l]<=f)m=m*u+(e(c[l])-n)>>>0;else if(u===16)if("a"<=c[l]&&c[l]<="f")m=m*u+(10+e(c[l])-s)>>>0;else if("A"<=c[l]&&c[l]<="F")m=m*u+(10+e(c[l])-o)>>>0;else break;else break;if(m>4294967295)throw new Error("too large");l++}if(l===h)throw new Error("empty octet");return[m,l]},r=function(){function c(u,f){var l,m,h,p;if(typeof u!="string")throw new Error("Missing `net' parameter");if(f||(p=u.split("/",2),u=p[0],f=p[1]),f||(f=32),typeof f=="string"&&f.indexOf(".")>-1){try{this.maskLong=i(f)}catch(d){throw l=d,new Error("Invalid mask: "+f)}for(m=h=32;h>=0;m=--h)if(this.maskLong===4294967295<<32-m>>>0){this.bitmask=m;break}}else if(f||f===0)this.bitmask=parseInt(f,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(i(u)&this.maskLong)>>>0}catch(d){throw l=d,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+f);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(i(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var f,l,m;for(m=i(this.first),l=i(this.last),f=0;m<=l;)u(a(m),m,f),f++,m++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),Go.ip2long=i,Go.long2ip=a,Go.Netmask=r}).call(Go)});var Yu=ye((Q4,Wu)=>{var X4=function(){typeof Wu<"u"&&(Wu.exports=d);var r=86400,t=3200,e=146097*t/400,n=r*e,o=1e3*n,s=864e13,i=4294967296,a=1e6,c="000000000",u=Math.trunc||function(E){var U=E-E%1;return U==0&&(E<0||E===0&&1/E!=1/0)?-0:U},f=d.prototype,l=(d.fromDate=function(E){return new d(+E)},d.fromInt64BE=B(0,1,2,3,0,4),d.fromInt64LE=B(3,2,1,0,4,0),d.fromString=function(N){var U,P=new d,N=(N+="").replace(/^\s*[+\-]?\d+/,function(C){var C=+C,X=1970+(C-1970)%400;return P.year=C-X,X}).replace(/(?:Z|([+\-]\d{2}):?(\d{2}))$/,function(M,C,X){return C<0&&(X*=-1),U=6e4*(60*+C+ +X),""}).replace(/\.\d+$/,function(M){return P.nano=+(M+c).substr(1,9),""}).split(/\D+/);if(1<N.length?N[1]--:N[1]=0,P.time=U=Date.UTC.apply(Date,N)-(U||0),isNaN(U))throw new TypeError("Invalid Date");return w(P)},d.fromTimeT=function(E){return x(E,0)},f.year=0,f.time=0,f.nano=0,f.addNano=function(E){return this.nano+=+E||0,this},f.getNano=function(){var E=w(this);return(E.time%1e3*a+ +E.nano+1e9)%1e9},f.getTimeT=function(){var U=w(this),E=Math.floor(U.time/1e3),U=U.year;return U&&(E+=U*e*r/t),E},f.getYear=function(){return this.toDate().getUTCFullYear()+this.year},f.toDate=function(){return g(w(this).time)},f.toJSON=function(){return this.toString().replace(/0{1,6}Z$/,"Z")},f.toString=function(E){var U=this,P=U.toDate(),N={H:function(){return I(P.getUTCHours())},L:function(){return v(P.getUTCMilliseconds(),3)},M:function(){return I(P.getUTCMinutes())},N:function(){return v(U.getNano(),9)},S:function(){return I(P.getUTCSeconds())},Y:function(){var M=U.getYear();return 999999<M?"+"+M:9999<M?"+"+v(M,6):0<=M?v(M,4):-999999<=M?"-"+v(-M,6):M},a:function(){return h[P.getUTCDay()]},b:function(){return m[P.getUTCMonth()]},d:function(){return I(P.getUTCDate())},e:function(){return function(M){return(9<M?"":" ")+(0|M)}(P.getUTCDate())},m:function(){return I(P.getUTCMonth()+1)}};return function M(C){return C.replace(/%./g,function(X){var T=X[1],S=p[T],T=N[T];return S?M(S):T?T():X})}(E||l)},f.writeInt64BE=b(0,1,2,3,0,4),f.writeInt64LE=b(3,2,1,0,4,0),"%Y-%m-%dT%H:%M:%S.%NZ"),m=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],h=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],p={"%":"%",F:"%Y-%m-%d",n:`
|
|
3
|
+
`,R:"%H:%M",T:"%H:%M:%S",t:" ",X:"%T",Z:"GMT",z:"+0000"};return d;function d(E,U,P){var N=this;if(!(N instanceof d))return new d(E,U,P);N.time=+E||0,N.nano=+U||0,N.year=+P||0,w(N)}function w(E){var U,P,N,M=E.year,C=E.time,X=E.nano,S=((X<0||a<=X)&&(X-=(P=Math.floor(X/a))*a,C+=P,P=1),M%t);return(C<-s||s<C||S)&&((U=u(C/o))&&(M+=U*t,C-=U*o),(N=g(C)).setUTCFullYear(S+N.getUTCFullYear()),N=(C=+N)+(U=u((M-=S)/t))*o,U&&-s<=N&&N<=s&&(M-=U*t,C=N),P=1),P&&(E.year=M,E.time=C,E.nano=X),E}function g(E){var U=new Date(0);return U.setTime(E),U}function x(M,N){M=+M||0;var P=u((N=(N|0)*i)/n)+u(M/n),N=N%n+M%n,M=u(N/n);return M&&(P+=M,N-=M*n),new d(1e3*N,0,P*t)}function b(E,U,P,N,M,C){return function(S,T){var _=w(this);S=S||new Array(8),A(S,T|=0);var k=Math.floor(_.time/1e3),_=_.year*(e*r/t),H=u(_/i)+u(k/i),_=_%i+k%i,k=Math.floor(_/i);return k&&(H+=k,_-=k*i),X(S,T+M,H),X(S,T+C,_),S};function X(S,T,H){S[T+E]=H>>24&255,S[T+U]=H>>16&255,S[T+P]=H>>8&255,S[T+N]=255&H}}function B(E,U,P,N,M,C){return function(S,T){A(S,T|=0);var H=X(S,T+M);return x(X(S,T+C),H)};function X(S,T){return 16777216*S[T+E]+(S[T+U]<<16|S[T+P]<<8|S[T+N])}}function A(E,U){if(E=E&&E.length,E==null)throw new TypeError("Invalid Buffer");if(E<U+8)throw new RangeError("Out of range")}function I(E){return(9<E?"":"0")+(0|E)}function v(E,U){return(c+(0|E)).substr(-U)}}()});var A1={};vt(A1,{DEFAULT_SESSION_MAX_PROVIDERS:()=>Hp,DEFAULT_SESSION_MIN_PROVIDERS:()=>$p,createHeliaHTTP:()=>v1});var oo=Symbol.for("@libp2p/content-routing");var so=Symbol.for("@libp2p/peer-id");function El(r){return r!=null&&!!r[so]}var io=Symbol.for("@libp2p/peer-routing");var pr=class r extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.name="AbortError",this.code=r.code,this.type=r.type}static code="ABORT_ERR";static type="aborted"},D=class extends Error{code;props;constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var ft=(r,...t)=>{try{[...t]}catch{}};var rn=class extends EventTarget{#t=new Map;constructor(){super(),ft(1/0,this)}listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let o=this.#t.get(t);o==null&&(o=[],this.#t.set(t,o)),o.push({callback:e,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let o=this.#t.get(t);o!=null&&(o=o.filter(({callback:s})=>s!==e),this.#t.set(t,o))}dispatchEvent(t){let e=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:o})=>!o),this.#t.set(t.type,n)),e}safeDispatchEvent(t,e={}){return this.dispatchEvent(new hm(t,e))}},Sa=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},hm=globalThis.CustomEvent??Sa;function vl(r){return r!=null&&typeof r.start=="function"&&typeof r.stop=="function"}async function mr(...r){let t=[];for(let e of r)vl(e)&&t.push(e);await Promise.all(t.map(async e=>{e.beforeStart!=null&&await e.beforeStart()})),await Promise.all(t.map(async e=>{await e.start()})),await Promise.all(t.map(async e=>{e.afterStart!=null&&await e.afterStart()}))}async function gr(...r){let t=[];for(let e of r)vl(e)&&t.push(e);await Promise.all(t.map(async e=>{e.beforeStop!=null&&await e.beforeStop()})),await Promise.all(t.map(async e=>{await e.stop()})),await Promise.all(t.map(async e=>{e.afterStop!=null&&await e.afterStop()}))}function Ht(r){let t=new globalThis.AbortController;function e(){t.abort();for(let s of r)s?.removeEventListener!=null&&s.removeEventListener("abort",e)}for(let s of r){if(s?.aborted===!0){e();break}s?.addEventListener!=null&&s.addEventListener("abort",e)}function n(){for(let s of r)s?.removeEventListener!=null&&s.removeEventListener("abort",e)}let o=t.signal;return o.clear=n,o}function kt(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var es=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},nn=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new es(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let e=this.head;this.head=e.next=new es(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var Ia=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function Vr(r={}){return dm(e=>{let n=e.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function dm(r,t){t=t??{};let e=t.onEnd,n=new nn,o,s,i,a=kt(),c=async()=>{try{return n.isEmpty()?i?{done:!0}:await new Promise((w,g)=>{s=x=>{s=null,n.push(x);try{w(r(n))}catch(b){g(b)}return o}}):r(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=kt()})}},u=w=>s!=null?s(w):(n.push(w),o),f=w=>(n=new nn,s!=null?s({error:w}):(n.push({error:w}),o)),l=w=>{if(i)return o;if(t?.objectMode!==!0&&w?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:w})},m=w=>i?o:(i=!0,w!=null?f(w):u({done:!0})),h=()=>(n=new nn,m(),{done:!0}),p=w=>(m(w),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:c,return:h,throw:p,push:l,end:m,get readableLength(){return n.size},onEmpty:async w=>{let g=w?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let x,b;g!=null&&(x=new Promise((B,A)=>{b=()=>{A(new Ia)},g.addEventListener("abort",b)}));try{await Promise.race([a.promise,x])}finally{b!=null&&g!=null&&g?.removeEventListener("abort",b)}}},e==null)return o;let d=o;return o={[Symbol.asyncIterator](){return this},next(){return d.next()},throw(w){return d.throw(w),e!=null&&(e(w),e=void 0),{done:!0}},return(){return d.return(),e!=null&&(e(),e=void 0),{done:!0}},push:l,end(w){return d.end(w),e!=null&&(e(w),e=void 0),o},get readableLength(){return d.readableLength},onEmpty:w=>d.onEmpty(w)},o}var Ra=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=e??"ABORT_ERR"}};async function rs(r,t,e,n){let o=new Ra(n?.errorMessage,n?.errorCode);return e?.aborted===!0?Promise.reject(o):new Promise((s,i)=>{function a(){e?.removeEventListener("abort",f),r.removeEventListener(t,c),n?.errorEvent!=null&&r.removeEventListener(n.errorEvent,u)}let c=l=>{try{if(n?.filter?.(l)===!1)return}catch(m){a(),i(m);return}a(),s(l)},u=l=>{a(),i(l.detail)},f=()=>{a(),i(o)};e?.addEventListener("abort",f),r.addEventListener(t,c),n?.errorEvent!=null&&r.addEventListener(n.errorEvent,u)})}var ns=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=e??"ABORT_ERR"}};async function Al(r,t,e){if(t==null)return r;if(t.aborted)return Promise.reject(new ns(e?.errorMessage,e?.errorCode));let n,o=new ns(e?.errorMessage,e?.errorCode);try{return await Promise.race([r,new Promise((s,i)=>{n=()=>{i(o)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var os=class{deferred;signal;where;constructor(t,e){this.signal=e,this.deferred=kt(),this.where=t,this.onAbort=this.onAbort.bind(this),this.signal?.addEventListener("abort",this.onAbort)}onAbort(){this.deferred.reject(this.signal?.reason??new pr)}cleanup(){this.signal?.removeEventListener("abort",this.onAbort)}};function pm(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var ss=class{id;fn;options;recipients;status;timeline;controller;constructor(t,e){this.id=pm(),this.status="queued",this.fn=t,this.options=e,this.recipients=[],this.timeline={created:Date.now()},this.controller=new AbortController,ft(1/0,this.controller.signal),this.onAbort=this.onAbort.bind(this)}abort(t){this.controller.abort(t)}onAbort(){this.recipients.reduce((e,n)=>e&&n.signal?.aborted===!0,!0)&&(this.controller.abort(new pr),this.cleanup())}async join(t={}){let e=new os(new Error("where").stack,t.signal);return this.recipients.push(e),t.signal?.addEventListener("abort",this.onAbort),e.deferred.promise}async run(){this.status="running",this.timeline.started=Date.now();try{this.controller.signal.throwIfAborted();let t=await Al(this.fn({...this.options??{},signal:this.controller.signal}),this.controller.signal);this.recipients.forEach(e=>{e.deferred.resolve(t)}),this.status="complete"}catch(t){this.recipients.forEach(e=>{e.deferred.reject(t)}),this.status="errored"}finally{this.timeline.finished=Date.now(),this.cleanup()}}cleanup(){this.recipients.forEach(t=>{t.cleanup(),t.signal?.removeEventListener("abort",this.onAbort)})}};var qe=class extends rn{concurrency;queue;pending;sort;constructor(t={}){super(),this.concurrency=t.concurrency??Number.POSITIVE_INFINITY,this.pending=0,t.metricName!=null&&t.metrics?.registerMetricGroup(t.metricName,{calculate:()=>({size:this.queue.length,running:this.pending,queued:this.queue.length-this.pending})}),this.sort=t.sort,this.queue=[]}tryToStartAnother(){if(this.size===0)return queueMicrotask(()=>{this.safeDispatchEvent("empty")}),this.running===0&&queueMicrotask(()=>{this.safeDispatchEvent("idle")}),!1;if(this.pending<this.concurrency){let t;for(let e of this.queue)if(e.status==="queued"){t=e;break}return t==null?!1:(this.safeDispatchEvent("active"),this.pending++,t.run().finally(()=>{for(let e=0;e<this.queue.length;e++)if(this.queue[e]===t){this.queue.splice(e,1);break}this.pending--,this.tryToStartAnother(),this.safeDispatchEvent("next")}),!0)}return!1}enqueue(t){this.queue.push(t),this.sort!=null&&this.queue.sort(this.sort)}async add(t,e){e?.signal?.throwIfAborted();let n=new ss(t,e),o=n.join(e).then(s=>(this.safeDispatchEvent("completed",{detail:s}),this.safeDispatchEvent("success",{detail:{job:n,result:s}}),s)).catch(s=>{if(n.status==="queued"){for(let i=0;i<this.queue.length;i++)if(this.queue[i]===n){this.queue.splice(i,1);break}}throw this.safeDispatchEvent("error",{detail:s}),this.safeDispatchEvent("failure",{detail:{job:n,error:s}}),s});return this.enqueue(n),this.safeDispatchEvent("add"),this.tryToStartAnother(),o}clear(){this.queue.splice(0,this.queue.length)}abort(){this.queue.forEach(t=>{t.abort(new pr)}),this.clear()}async onEmpty(t){this.size!==0&&await rs(this,"empty",t?.signal)}async onSizeLessThan(t,e){this.size<t||await rs(this,"next",e?.signal,{filter:()=>this.size<t})}async onIdle(t){this.pending===0&&this.size===0||await rs(this,"idle",t?.signal)}get size(){return this.queue.length}get queued(){return this.queue.length-this.pending}get running(){return this.pending}async*toGenerator(t){t?.signal?.throwIfAborted();let e=Vr({objectMode:!0}),n=c=>{c!=null?this.abort():this.clear(),e.end(c)},o=c=>{c.detail!=null&&e.push(c.detail)},s=c=>{n(c.detail)},i=()=>{n()},a=()=>{n(new D("Queue aborted","ERR_QUEUE_ABORTED"))};this.addEventListener("completed",o),this.addEventListener("error",s),this.addEventListener("idle",i),t?.signal?.addEventListener("abort",a);try{yield*e}finally{this.removeEventListener("completed",o),this.removeEventListener("error",s),this.removeEventListener("idle",i),t?.signal?.removeEventListener("abort",a),n()}}};var is=class extends qe{has(t){return this.find(t)!=null}find(t){return this.queue.find(e=>t.equals(e.options.peerId))}};function mm(r){return r[Symbol.asyncIterator]!=null}function gm(r){if(mm(r))return(async()=>{for await(let t of r);})();for(let t of r);}var Mr=gm;function we(r=0){return new Uint8Array(r)}function jt(r=0){return new Uint8Array(r)}var ym=Math.pow(2,7),wm=Math.pow(2,14),bm=Math.pow(2,21),_a=Math.pow(2,28),Ta=Math.pow(2,35),Ca=Math.pow(2,42),Na=Math.pow(2,49),st=128,Ft=127;function Gt(r){if(r<ym)return 1;if(r<wm)return 2;if(r<bm)return 3;if(r<_a)return 4;if(r<Ta)return 5;if(r<Ca)return 6;if(r<Na)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function La(r,t,e=0){switch(Gt(r)){case 8:t[e++]=r&255|st,r/=128;case 7:t[e++]=r&255|st,r/=128;case 6:t[e++]=r&255|st,r/=128;case 5:t[e++]=r&255|st,r/=128;case 4:t[e++]=r&255|st,r>>>=7;case 3:t[e++]=r&255|st,r>>>=7;case 2:t[e++]=r&255|st,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function xm(r,t,e=0){switch(Gt(r)){case 8:t.set(e++,r&255|st),r/=128;case 7:t.set(e++,r&255|st),r/=128;case 6:t.set(e++,r&255|st),r/=128;case 5:t.set(e++,r&255|st),r/=128;case 4:t.set(e++,r&255|st),r>>>=7;case 3:t.set(e++,r&255|st),r>>>=7;case 2:t.set(e++,r&255|st),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function Ua(r,t){let e=r[t],n=0;if(n+=e&Ft,e<st||(e=r[t+1],n+=(e&Ft)<<7,e<st)||(e=r[t+2],n+=(e&Ft)<<14,e<st)||(e=r[t+3],n+=(e&Ft)<<21,e<st)||(e=r[t+4],n+=(e&Ft)*_a,e<st)||(e=r[t+5],n+=(e&Ft)*Ta,e<st)||(e=r[t+6],n+=(e&Ft)*Ca,e<st)||(e=r[t+7],n+=(e&Ft)*Na,e<st))return n;throw new RangeError("Could not decode varint")}function Em(r,t){let e=r.get(t),n=0;if(n+=e&Ft,e<st||(e=r.get(t+1),n+=(e&Ft)<<7,e<st)||(e=r.get(t+2),n+=(e&Ft)<<14,e<st)||(e=r.get(t+3),n+=(e&Ft)<<21,e<st)||(e=r.get(t+4),n+=(e&Ft)*_a,e<st)||(e=r.get(t+5),n+=(e&Ft)*Ta,e<st)||(e=r.get(t+6),n+=(e&Ft)*Ca,e<st)||(e=r.get(t+7),n+=(e&Ft)*Na,e<st))return n;throw new RangeError("Could not decode varint")}function on(r,t,e=0){return t==null&&(t=jt(Gt(r))),t instanceof Uint8Array?La(r,t,e):xm(r,t,e)}function $r(r,t=0){return r instanceof Uint8Array?Ua(r,t):Em(r,t)}function St(r,t){t==null&&(t=r.reduce((o,s)=>o+s.length,0));let e=jt(t),n=0;for(let o of r)e.set(o,n),n+=o.length;return e}function it(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var Sl=Symbol.for("@achingbrain/uint8arraylist");function kl(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let o=e+n.byteLength;if(t<o)return{buf:n,index:t-e};e=o}throw new RangeError("index is out of bounds")}function as(r){return!!r?.[Sl]}var cs=class r{bufs;length;[Sl]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(as(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(as(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=kl(this.bufs,t);return e.buf[e.index]}set(t,e){let n=kl(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(as(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:o}=this._subList(t,e);return St(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:St(n,o)}sublist(t,e){let{bufs:n,length:o}=this._subList(t,e),s=new r;return s.length=o,s.bufs=[...n],s}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,c=a+i.byteLength;if(o=c,t>=c)continue;let u=t>=a&&t<c,f=e>a&&e<=c;if(u&&f){if(t===a&&e===c){n.push(i);break}let l=t-a;n.push(i.subarray(l,l+(e-t)));break}if(u){if(t===0){n.push(i);continue}n.push(i.subarray(t-a));continue}if(f){if(e===c){n.push(i);break}n.push(i.subarray(0,e-a));break}n.push(i)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!as(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let l=0;l<s;l++)i[l]=-1;for(let l=0;l<o;l++)i[n[l]]=l;let a=i,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let l=e;l<=c;l+=f){f=0;for(let m=u;m>=0;m--){let h=this.get(l+m);if(n[m]!==h){f=Math.max(1,m-a[h]);break}}if(f===0)return l}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=jt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let o=we(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,e,n),this.write(o,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let o=we(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,e,n),this.write(o,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let o=we(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,e,n),this.write(o,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=jt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let o=we(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,e,n),this.write(o,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let o=we(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,e,n),this.write(o,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let o=we(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,e,n),this.write(o,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let o=we(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,e,n),this.write(o,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let o=we(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,e,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!it(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((o,s)=>o+s.byteLength,0)),n.length=e,n}};function Am(r){let[t,e]=r[Symbol.asyncIterator]!=null?[r[Symbol.asyncIterator](),Symbol.asyncIterator]:[r[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>t.next(),push:o=>{n.push(o)},next:()=>n.length>0?{done:!1,value:n.shift()}:t.next(),[e](){return this}}}var an=Am;function Bm(r){return r[Symbol.asyncIterator]!=null}function km(r,t){let e=0;if(Bm(r))return async function*(){for await(let c of r)yield t(c,e++)}();let n=an(r),{value:o,done:s}=n.next();if(s===!0)return function*(){}();let i=t(o,e++);if(typeof i.then=="function")return async function*(){yield await i;for await(let c of n)yield t(c,e++)}();let a=t;return function*(){yield i;for(let c of n)yield a(c,e++)}()}var cn=km;function Sm(r){return r[Symbol.asyncIterator]!=null}function Im(...r){let t=[];for(let e of r)Sm(e)||t.push(e);return t.length===r.length?function*(){for(let e of t)yield*e}():async function*(){let e=Vr({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async n=>{for await(let o of n)e.push(o)})),e.end()}catch(n){e.end(n)}}),yield*e}()}var Hr=Im;function Rm(r){return r[Symbol.asyncIterator]!=null}function _m(r,t){return Rm(r)?async function*(){let e=0;if(!(t<1)){for await(let n of r)if(yield n,e++,e===t)return}}():function*(){let e=0;if(!(t<1)){for(let n of r)if(yield n,e++,e===t)return}}()}var us=_m;var nt=class extends Event{constructor(t,e){super(t),this.detail=e}};var Da=new Float32Array([-0]),yr=new Uint8Array(Da.buffer);function _l(r,t,e){Da[0]=r,t[e]=yr[0],t[e+1]=yr[1],t[e+2]=yr[2],t[e+3]=yr[3]}function Tl(r,t){return yr[0]=r[t],yr[1]=r[t+1],yr[2]=r[t+2],yr[3]=r[t+3],Da[0]}var Pa=new Float64Array([-0]),Vt=new Uint8Array(Pa.buffer);function Cl(r,t,e){Pa[0]=r,t[e]=Vt[0],t[e+1]=Vt[1],t[e+2]=Vt[2],t[e+3]=Vt[3],t[e+4]=Vt[4],t[e+5]=Vt[5],t[e+6]=Vt[6],t[e+7]=Vt[7]}function Nl(r,t){return Vt[0]=r[t],Vt[1]=r[t+1],Vt[2]=r[t+2],Vt[3]=r[t+3],Vt[4]=r[t+4],Vt[5]=r[t+5],Vt[6]=r[t+6],Vt[7]=r[t+7],Pa[0]}var Tm=BigInt(Number.MAX_SAFE_INTEGER),Cm=BigInt(Number.MIN_SAFE_INTEGER),Xt=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return Kr;if(t<Tm&&t>Cm)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,o=t-(n<<32n);return e&&(n=~n|0n,o=~o|0n,++o>Ll&&(o=0n,++n>Ll&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(t){if(t===0)return Kr;let e=t<0;e&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return e&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):Kr}},Kr=new Xt(0,0);Kr.toBigInt=function(){return 0n};Kr.zzEncode=Kr.zzDecode=function(){return this};Kr.length=function(){return 1};var Ll=4294967296n;function Ul(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Dl(r,t,e){if(e-t<1)return"";let o,s=[],i=0,a;for(;t<e;)a=r[t++],a<128?s[i++]=a:a>191&&a<224?s[i++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,s[i++]=55296+(a>>10),s[i++]=56320+(a&1023)):s[i++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function Oa(r,t,e){let n=e,o,s;for(let i=0;i<r.length;++i)o=r.charCodeAt(i),o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&((s=r.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128);return e-n}function be(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function ls(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var Fa=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,be(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw be(this,4);return ls(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw be(this,4);return ls(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw be(this,4);let t=Tl(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw be(this,4);let t=Nl(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw be(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Dl(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw be(this,t);this.pos+=t}else do if(this.pos>=this.len)throw be(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new Xt(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw be(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw be(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw be(this,8);let t=ls(this.buf,this.pos+=4),e=ls(this.buf,this.pos+=4);return new Xt(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=Ua(this.buf,this.pos);return this.pos+=Gt(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Va(r){return new Fa(r instanceof Uint8Array?r:r.subarray())}function un(r,t,e){let n=Va(r);return t.decode(n,void 0,e)}var qa={};vt(qa,{base10:()=>Om});var LE=new Uint8Array(0);function Ol(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function ze(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 Fl(r){return new TextEncoder().encode(r)}function Vl(r){return new TextDecoder().decode(r)}function Nm(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(e[i]!==255)throw new TypeError(s+" is ambiguous");e[i]=o}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var d=0,w=0,g=0,x=p.length;g!==x&&p[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,B=new Uint8Array(b);g!==x;){for(var A=p[g],I=0,v=b-1;(A!==0||I<w)&&v!==-1;v--,I++)A+=256*B[v]>>>0,B[v]=A%a>>>0,A=A/a>>>0;if(A!==0)throw new Error("Non-zero carry");w=I,g++}for(var E=b-w;E!==b&&B[E]===0;)E++;for(var U=c.repeat(d);E<b;++E)U+=r.charAt(B[E]);return U}function m(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var d=0;if(p[d]!==" "){for(var w=0,g=0;p[d]===c;)w++,d++;for(var x=(p.length-d)*u+1>>>0,b=new Uint8Array(x);p[d];){var B=e[p.charCodeAt(d)];if(B===255)return;for(var A=0,I=x-1;(B!==0||A<g)&&I!==-1;I--,A++)B+=a*b[I]>>>0,b[I]=B%256>>>0,B=B/256>>>0;if(B!==0)throw new Error("Non-zero carry");g=A,d++}if(p[d]!==" "){for(var v=x-g;v!==x&&b[v]===0;)v++;for(var E=new Uint8Array(w+(x-v)),U=w;v!==x;)E[U++]=b[v++];return E}}}function h(p){var d=m(p);if(d)return d;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:m,decode:h}}var Lm=Nm,Um=Lm,$l=Um;var Ma=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},$a=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Hl(this,t)}},Ha=class{decoders;constructor(t){this.decoders=t}or(t){return Hl(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Hl(r,t){return new Ha({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Ka=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new Ma(t,e,n),this.decoder=new $a(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function ln({name:r,prefix:t,encode:e,decode:n}){return new Ka(r,t,e,n)}function wr({name:r,prefix:t,alphabet:e}){let{encode:n,decode:o}=$l(e,r);return ln({prefix:t,name:r,encode:n,decode:s=>ze(o(s))})}function Dm(r,t,e,n){let o={};for(let f=0;f<t.length;++f)o[t[f]]=f;let s=r.length;for(;r[s-1]==="=";)--s;let i=new Uint8Array(s*e/8|0),a=0,c=0,u=0;for(let f=0;f<s;++f){let l=o[r[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|l,a+=e,a>=8&&(a-=8,i[u++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return i}function Pm(r,t,e){let n=t[t.length-1]==="=",o=(1<<e)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>e;)i-=e,s+=t[o&a>>i];if(i!==0&&(s+=t[o&a<<e-i]),n)for(;s.length*e&7;)s+="=";return s}function pt({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return ln({prefix:t,name:r,encode(o){return Pm(o,n,e)},decode(o){return Dm(o,n,e,r)}})}var Om=wr({prefix:"9",name:"base10",alphabet:"0123456789"});var za={};vt(za,{base16:()=>Fm,base16upper:()=>Vm});var Fm=pt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Vm=pt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ja={};vt(ja,{base2:()=>Mm});var Mm=pt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ga={};vt(Ga,{base256emoji:()=>zm});var Kl=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}"),$m=Kl.reduce((r,t,e)=>(r[e]=t,r),[]),Hm=Kl.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function Km(r){return r.reduce((t,e)=>(t+=$m[e],t),"")}function qm(r){let t=[];for(let e of r){let n=Hm[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var zm=ln({prefix:"\u{1F680}",name:"base256emoji",encode:Km,decode:qm});var Wa={};vt(Wa,{base32:()=>Ct,base32hex:()=>Wm,base32hexpad:()=>Zm,base32hexpadupper:()=>Jm,base32hexupper:()=>Ym,base32pad:()=>jm,base32padupper:()=>Gm,base32upper:()=>ql,base32z:()=>Xm});var Ct=pt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ql=pt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),jm=pt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Gm=pt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Wm=pt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Ym=pt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Zm=pt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Jm=pt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Xm=pt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ya={};vt(Ya,{base36:()=>br,base36upper:()=>Qm});var br=wr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Qm=wr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Za={};vt(Za,{base58btc:()=>ht,base58flickr:()=>tg});var ht=wr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),tg=wr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Xa={};vt(Xa,{base64:()=>le,base64pad:()=>eg,base64url:()=>Ja,base64urlpad:()=>rg});var le=pt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),eg=pt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Ja=pt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),rg=pt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Qa={};vt(Qa,{base8:()=>ng});var ng=pt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var tc={};vt(tc,{identity:()=>og});var og=ln({prefix:"\0",name:"identity",encode:r=>Vl(r),decode:r=>Fl(r)});var YE=new TextEncoder,ZE=new TextDecoder;var zl=512;var fs=85;var nc={};vt(nc,{identity:()=>Wt});var sg=Yl,Gl=128,ig=127,ag=~ig,cg=Math.pow(2,31);function Yl(r,t,e){t=t||[],e=e||0;for(var n=e;r>=cg;)t[e++]=r&255|Gl,r/=128;for(;r&ag;)t[e++]=r&255|Gl,r>>>=7;return t[e]=r|0,Yl.bytes=e-n+1,t}var ug=rc,lg=128,Wl=127;function rc(r,n){var e=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw rc.bytes=0,new RangeError("Could not decode varint");i=r[s++],e+=o<28?(i&Wl)<<o:(i&Wl)*Math.pow(2,o),o+=7}while(i>=lg);return rc.bytes=s-n,e}var fg=Math.pow(2,7),hg=Math.pow(2,14),dg=Math.pow(2,21),pg=Math.pow(2,28),mg=Math.pow(2,35),gg=Math.pow(2,42),yg=Math.pow(2,49),wg=Math.pow(2,56),bg=Math.pow(2,63),xg=function(r){return r<fg?1:r<hg?2:r<dg?3:r<pg?4:r<mg?5:r<gg?6:r<yg?7:r<wg?8:r<bg?9:10},Eg={encode:sg,decode:ug,encodingLength:xg},vg=Eg,ao=vg;function co(r,t=0){return[ao.decode(r,t),ao.decode.bytes]}function fn(r,t,e=0){return ao.encode(r,t,e),t}function hn(r){return ao.encodingLength(r)}function Ce(r,t){let e=t.byteLength,n=hn(r),o=n+hn(e),s=new Uint8Array(o+e);return fn(r,s,0),fn(e,s,n),s.set(t,o),new dn(r,e,t,s)}function Ne(r){let t=ze(r),[e,n]=co(t),[o,s]=co(t.subarray(n)),i=t.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new dn(e,o,i,t)}function Zl(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Ol(r.bytes,e.bytes)}}var dn=class{code;size;digest;bytes;constructor(t,e,n,o){this.code=t,this.size=e,this.digest=n,this.bytes=o}};var Jl=0,Ag="identity",Xl=ze;function Bg(r){return Ce(Jl,Xl(r))}var Wt={code:Jl,name:Ag,encode:Xl,digest:Bg};var ac={};vt(ac,{sha256:()=>At,sha512:()=>ic});function sc({name:r,code:t,encode:e}){return new oc(r,t,e)}var oc=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?Ce(this.code,e):e.then(n=>Ce(this.code,n))}else throw Error("Unknown type, must be binary type")}};function tf(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var At=sc({name:"sha2-256",code:18,encode:tf("SHA-256")}),ic=sc({name:"sha2-512",code:19,encode:tf("SHA-512")});function ef(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Sg(e,cc(r),t??ht.encoder);default:return Ig(e,cc(r),t??Ct.encoder)}}var rf=new WeakMap;function cc(r){let t=rf.get(r);if(t==null){let e=new Map;return rf.set(r,e),e}return t}var tt=class r{code;version;multihash;bytes;"/";constructor(t,e,n,o){this.code=e,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==uo)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Rg)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=Ce(t,e);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&Zl(t.multihash,n.multihash)}toString(t){return ef(this,t)}toJSON(){return{"/":ef(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:o,multihash:s,bytes:i}=e;return new r(n,o,s,i??nf(n,o,s.bytes))}else if(e[_g]===!0){let{version:n,multihash:o,code:s}=e,i=Ne(o);return r.create(n,s,i)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==uo)throw new Error(`Version 0 CID must use dag-pb (code: ${uo}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=nf(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,uo,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,o=ze(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let s=o.subarray(e.multihashSize-e.digestSize),i=new dn(e.multihashCode,e.digestSize,s,o);return[e.version===0?r.createV0(i):r.createV1(e.codec,i),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[l,m]=co(t.subarray(e));return e+=m,l},o=n(),s=uo;if(o===18?(o=0,e=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=e,a=n(),c=n(),u=e+c,f=u-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,e){let[n,o]=kg(t,e),s=r.decode(o);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return cc(s).set(n,t),s}};function kg(r,t){switch(r[0]){case"Q":{let e=t??ht;return[ht.prefix,e.decode(`${ht.prefix}${r}`)]}case ht.prefix:{let e=t??ht;return[ht.prefix,e.decode(r)]}case Ct.prefix:{let e=t??Ct;return[Ct.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Sg(r,t,e){let{prefix:n}=e;if(n!==ht.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let o=t.get(n);if(o==null){let s=e.encode(r).slice(1);return t.set(n,s),s}else return o}function Ig(r,t,e){let{prefix:n}=e,o=t.get(n);if(o==null){let s=e.encode(r);return t.set(n,s),s}else return o}var uo=112,Rg=18;function nf(r,t,e){let n=hn(r),o=n+hn(t),s=new Uint8Array(o+e.byteLength);return fn(r,s,0),fn(t,s,n),s.set(e,o),s}var _g=Symbol.for("@ipld/js-cid/CID");var xr={...tc,...ja,...Qa,...qa,...za,...Wa,...Ya,...Za,...Xa,...Ga},yv={...ac,...nc};function sf(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var of=sf("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),uc=sf("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=jt(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Tg={utf8:of,"utf-8":of,hex:xr.base16,latin1:uc,ascii:uc,binary:uc,...xr},ds=Tg;function q(r,t="utf8"){let e=ds[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function lc(r){let t=r??8192,e=t>>>1,n,o=t;return function(i){if(i<1||i>e)return jt(i);o+i>t&&(n=jt(t),o=0);let a=n.subarray(o,o+=i);return o&7&&(o=(o|7)+1),a}}var qr=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function fc(){}var dc=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Cg=lc();function Ng(r){return globalThis.Buffer!=null?jt(r):Cg(r)}var fo=class{len;head;tail;states;constructor(){this.len=0,this.head=new qr(fc,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new qr(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new pc((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(ps,10,Xt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=Xt.fromBigInt(t);return this._push(ps,e.length(),e)}uint64Number(t){return this._push(La,Gt(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=Xt.fromBigInt(t).zzEncode();return this._push(ps,e.length(),e)}sint64Number(t){let e=Xt.fromNumber(t).zzEncode();return this._push(ps,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(hc,1,t?1:0)}fixed32(t){return this._push(lo,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=Xt.fromBigInt(t);return this._push(lo,4,e.lo)._push(lo,4,e.hi)}fixed64Number(t){let e=Xt.fromNumber(t);return this._push(lo,4,e.lo)._push(lo,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(_l,4,t)}double(t){return this._push(Cl,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(hc,1,0):this.uint32(e)._push(Ug,e,t)}string(t){let e=Ul(t);return e!==0?this.uint32(e)._push(Oa,e,t):this._push(hc,1,0)}fork(){return this.states=new dc(this),this.head=this.tail=new qr(fc,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 qr(fc,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=Ng(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function hc(r,t,e){t[e]=r&255}function Lg(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var pc=class extends qr{next;constructor(t,e){super(Lg,t,e),this.next=void 0}};function ps(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function lo(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function Ug(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(fo.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(Dg,t,r),this},fo.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Pg,t,r),this});function Dg(r,t,e){t.set(r,e)}function Pg(r,t,e){r.length<40?Oa(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(q(r),e)}function mc(){return new fo}function pn(r,t){let e=mc();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var mn;(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"})(mn||(mn={}));function ms(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function ho(r){function t(o){if(r[o.toString()]==null)throw new Error("Invalid enum value");return r[o]}let e=function(s,i){let a=t(s);i.int32(a)},n=function(s){let i=s.int32();return t(i)};return ms("enum",mn.VARINT,e,n)}function gn(r,t){return ms("message",mn.LENGTH_DELIMITED,r,t)}var Og=Symbol.for("nodejs.util.inspect.custom"),af=Object.values(xr).map(r=>r.decoder).reduce((r,t)=>r.or(t),xr.identity.decoder),cf=114,gc=36,yc=37,po=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[so]=!0;toString(){return this.string==null&&(this.string=ht.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return tt.createV1(cf,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return it(this.multihash.bytes,t);if(typeof t=="string")return wc(t).equals(this);if(t?.multihash?.bytes!=null)return it(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Og](){return`PeerId(${this.toString()})`}},yn=class extends po{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},wn=class extends po{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},bn=class extends po{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function wc(r,t){if(t=t??af,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=Ne(ht.decode(`z${r}`));return r.startsWith("12D")?new wn({multihash:e}):r.startsWith("16U")?new bn({multihash:e}):new yn({multihash:e})}return mo(af.decode(r))}function mo(r){try{let t=Ne(r);if(t.code===Wt.code){if(t.digest.length===gc)return new wn({multihash:t});if(t.digest.length===yc)return new bn({multihash:t})}if(t.code===At.code)return new yn({multihash:t})}catch{return Fg(tt.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function Fg(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==cf)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===At.code)return new yn({multihash:r.multihash});if(t.code===Wt.code){if(t.digest.length===gc)return new wn({multihash:r.multihash});if(t.digest.length===yc)return new bn({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function uf(r,t){return r.length===gc?new wn({multihash:Ce(Wt.code,r),privateKey:t}):r.length===yc?new bn({multihash:Ce(Wt.code,r),privateKey:t}):new yn({multihash:await At.digest(r),publicKey:r,privateKey:t})}var Kt={get(r=globalThis){let t=r.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var Dc={};vt(Dc,{Ed25519PrivateKey:()=>Wr,Ed25519PublicKey:()=>wo,generateKeyPair:()=>Wy,generateKeyPairFromSeed:()=>Pf,unmarshalEd25519PrivateKey:()=>jy,unmarshalEd25519PublicKey:()=>Gy});function fe(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function xn(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`positive integer expected, not ${r}`)}function Vg(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function En(r,...t){if(!Vg(r))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(r.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${r.length}`)}function gs(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");xn(r.outputLen),xn(r.blockLen)}function vn(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function lf(r,t){En(r);let e=t.outputLen;if(r.length<e)throw new Error(`digestInto() expects output buffer of length at least ${e}`)}var ys=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var Bn=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),xe=(r,t)=>r<<32-t|r>>>t;var u2=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;var Mg=async()=>{};async function ff(r,t,e){let n=Date.now();for(let o=0;o<r;o++){e(o);let s=Date.now()-n;s>=0&&s<t||(await Mg(),n+=s)}}function bc(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function Er(r){return typeof r=="string"&&(r=bc(r)),En(r),r}function ws(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];En(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let s=r[n];e.set(s,o),o+=s.length}return e}var An=class{clone(){return this._cloneInto()}},$g={}.toString;function hf(r,t){if(t!==void 0&&$g.call(t)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(r,t)}function bs(r){let t=n=>r().update(Er(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function kn(r=32){if(ys&&typeof ys.getRandomValues=="function")return ys.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}function Hg(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let o=BigInt(32),s=BigInt(4294967295),i=Number(e>>o&s),a=Number(e&s),c=n?4:0,u=n?0:4;r.setUint32(t+c,i,n),r.setUint32(t+u,a,n)}var df=(r,t,e)=>r&t^~r&e,pf=(r,t,e)=>r&t^r&e^t&e,Sn=class extends An{constructor(t,e,n,o){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=Bn(this.buffer)}update(t){vn(this);let{view:e,buffer:n,blockLen:o}=this;t=Er(t);let s=t.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=Bn(t);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(t.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){vn(this),lf(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;e[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>o-i&&(this.process(n,0),i=0);for(let l=i;l<o;l++)e[l]=0;Hg(n,o-8,BigInt(this.length*8),s),this.process(n,0);let a=Bn(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,f[l],s)}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:e,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return t.length=o,t.pos=a,t.finished=s,t.destroyed=i,o%e&&t.buffer.set(n),t}};var xs=BigInt(4294967295),xc=BigInt(32);function mf(r,t=!1){return t?{h:Number(r&xs),l:Number(r>>xc&xs)}:{h:Number(r>>xc&xs)|0,l:Number(r&xs)|0}}function Kg(r,t=!1){let e=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let o=0;o<r.length;o++){let{h:s,l:i}=mf(r[o],t);[e[o],n[o]]=[s,i]}return[e,n]}var qg=(r,t)=>BigInt(r>>>0)<<xc|BigInt(t>>>0),zg=(r,t,e)=>r>>>e,jg=(r,t,e)=>r<<32-e|t>>>e,Gg=(r,t,e)=>r>>>e|t<<32-e,Wg=(r,t,e)=>r<<32-e|t>>>e,Yg=(r,t,e)=>r<<64-e|t>>>e-32,Zg=(r,t,e)=>r>>>e-32|t<<64-e,Jg=(r,t)=>t,Xg=(r,t)=>r,Qg=(r,t,e)=>r<<e|t>>>32-e,ty=(r,t,e)=>t<<e|r>>>32-e,ey=(r,t,e)=>t<<e-32|r>>>64-e,ry=(r,t,e)=>r<<e-32|t>>>64-e;function ny(r,t,e,n){let o=(t>>>0)+(n>>>0);return{h:r+e+(o/2**32|0)|0,l:o|0}}var oy=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),sy=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,iy=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),ay=(r,t,e,n,o)=>t+e+n+o+(r/2**32|0)|0,cy=(r,t,e,n,o)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(o>>>0),uy=(r,t,e,n,o,s)=>t+e+n+o+s+(r/2**32|0)|0;var ly={fromBig:mf,split:Kg,toBig:qg,shrSH:zg,shrSL:jg,rotrSH:Gg,rotrSL:Wg,rotrBH:Yg,rotrBL:Zg,rotr32H:Jg,rotr32L:Xg,rotlSH:Qg,rotlSL:ty,rotlBH:ey,rotlBL:ry,add:ny,add3L:oy,add3H:sy,add4L:iy,add4H:ay,add5H:uy,add5L:cy},z=ly;var[fy,hy]=z.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(r=>BigInt(r))),vr=new Uint32Array(80),Ar=new Uint32Array(80),Ec=class extends Sn{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:e,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:u,El:f,Fh:l,Fl:m,Gh:h,Gl:p,Hh:d,Hl:w}=this;return[t,e,n,o,s,i,a,c,u,f,l,m,h,p,d,w]}set(t,e,n,o,s,i,a,c,u,f,l,m,h,p,d,w){this.Ah=t|0,this.Al=e|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=f|0,this.Fh=l|0,this.Fl=m|0,this.Gh=h|0,this.Gl=p|0,this.Hh=d|0,this.Hl=w|0}process(t,e){for(let b=0;b<16;b++,e+=4)vr[b]=t.getUint32(e),Ar[b]=t.getUint32(e+=4);for(let b=16;b<80;b++){let B=vr[b-15]|0,A=Ar[b-15]|0,I=z.rotrSH(B,A,1)^z.rotrSH(B,A,8)^z.shrSH(B,A,7),v=z.rotrSL(B,A,1)^z.rotrSL(B,A,8)^z.shrSL(B,A,7),E=vr[b-2]|0,U=Ar[b-2]|0,P=z.rotrSH(E,U,19)^z.rotrBH(E,U,61)^z.shrSH(E,U,6),N=z.rotrSL(E,U,19)^z.rotrBL(E,U,61)^z.shrSL(E,U,6),M=z.add4L(v,N,Ar[b-7],Ar[b-16]),C=z.add4H(M,I,P,vr[b-7],vr[b-16]);vr[b]=C|0,Ar[b]=M|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:m,Fh:h,Fl:p,Gh:d,Gl:w,Hh:g,Hl:x}=this;for(let b=0;b<80;b++){let B=z.rotrSH(l,m,14)^z.rotrSH(l,m,18)^z.rotrBH(l,m,41),A=z.rotrSL(l,m,14)^z.rotrSL(l,m,18)^z.rotrBL(l,m,41),I=l&h^~l&d,v=m&p^~m&w,E=z.add5L(x,A,v,hy[b],Ar[b]),U=z.add5H(E,g,B,I,fy[b],vr[b]),P=E|0,N=z.rotrSH(n,o,28)^z.rotrBH(n,o,34)^z.rotrBH(n,o,39),M=z.rotrSL(n,o,28)^z.rotrBL(n,o,34)^z.rotrBL(n,o,39),C=n&s^n&a^s&a,X=o&i^o&c^i&c;g=d|0,x=w|0,d=h|0,w=p|0,h=l|0,p=m|0,{h:l,l:m}=z.add(u|0,f|0,U|0,P|0),u=a|0,f=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let S=z.add3L(P,M,X);n=z.add3H(S,U,N,C),o=S|0}({h:n,l:o}=z.add(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=z.add(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=z.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=z.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:m}=z.add(this.Eh|0,this.El|0,l|0,m|0),{h,l:p}=z.add(this.Fh|0,this.Fl|0,h|0,p|0),{h:d,l:w}=z.add(this.Gh|0,this.Gl|0,d|0,w|0),{h:g,l:x}=z.add(this.Hh|0,this.Hl|0,g|0,x|0),this.set(n,o,s,i,a,c,u,f,l,m,h,p,d,w,g,x)}roundClean(){vr.fill(0),Ar.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var In=bs(()=>new Ec);var vs={};vt(vs,{abytes:()=>Rn,bitGet:()=>by,bitLen:()=>wy,bitMask:()=>go,bitSet:()=>xy,bytesToHex:()=>We,bytesToNumberBE:()=>Ye,bytesToNumberLE:()=>kr,concatBytes:()=>Ze,createHmacDrbg:()=>Bc,ensureBytes:()=>mt,equalBytes:()=>gy,hexToBytes:()=>zr,hexToNumber:()=>Ac,isBytes:()=>Br,numberToBytesBE:()=>Sr,numberToBytesLE:()=>jr,numberToHexUnpadded:()=>bf,numberToVarBytesBE:()=>my,utf8ToBytes:()=>yy,validateObject:()=>Le});var wf=BigInt(0),Es=BigInt(1),dy=BigInt(2);function Br(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function Rn(r){if(!Br(r))throw new Error("Uint8Array expected")}var py=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function We(r){Rn(r);let t="";for(let e=0;e<r.length;e++)t+=py[r[e]];return t}function bf(r){let t=r.toString(16);return t.length&1?`0${t}`:t}function Ac(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}var Ge={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function gf(r){if(r>=Ge._0&&r<=Ge._9)return r-Ge._0;if(r>=Ge._A&&r<=Ge._F)return r-(Ge._A-10);if(r>=Ge._a&&r<=Ge._f)return r-(Ge._a-10)}function zr(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);let t=r.length,e=t/2;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let o=0,s=0;o<e;o++,s+=2){let i=gf(r.charCodeAt(s)),a=gf(r.charCodeAt(s+1));if(i===void 0||a===void 0){let c=r[s]+r[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function Ye(r){return Ac(We(r))}function kr(r){return Rn(r),Ac(We(Uint8Array.from(r).reverse()))}function Sr(r,t){return zr(r.toString(16).padStart(t*2,"0"))}function jr(r,t){return Sr(r,t).reverse()}function my(r){return zr(bf(r))}function mt(r,t,e){let n;if(typeof t=="string")try{n=zr(t)}catch(s){throw new Error(`${r} must be valid hex string, got "${t}". Cause: ${s}`)}else if(Br(t))n=Uint8Array.from(t);else throw new Error(`${r} must be hex string or Uint8Array`);let o=n.length;if(typeof e=="number"&&o!==e)throw new Error(`${r} expected ${e} bytes, got ${o}`);return n}function Ze(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];Rn(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let s=r[n];e.set(s,o),o+=s.length}return e}function gy(r,t){if(r.length!==t.length)return!1;let e=0;for(let n=0;n<r.length;n++)e|=r[n]^t[n];return e===0}function yy(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function wy(r){let t;for(t=0;r>wf;r>>=Es,t+=1);return t}function by(r,t){return r>>BigInt(t)&Es}function xy(r,t,e){return r|(e?Es:wf)<<BigInt(t)}var go=r=>(dy<<BigInt(r-1))-Es,vc=r=>new Uint8Array(r),yf=r=>Uint8Array.from(r);function Bc(r,t,e){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof e!="function")throw new Error("hmacFn must be a function");let n=vc(r),o=vc(r),s=0,i=()=>{n.fill(1),o.fill(0),s=0},a=(...l)=>e(o,n,...l),c=(l=vc())=>{o=a(yf([0]),l),n=a(),l.length!==0&&(o=a(yf([1]),l),n=a())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,m=[];for(;l<t;){n=a();let h=n.slice();m.push(h),l+=n.length}return Ze(...m)};return(l,m)=>{i(),c(l);let h;for(;!(h=m(u()));)c();return i(),h}}var Ey={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||Br(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,t)=>t.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function Le(r,t,e={}){let n=(o,s,i)=>{let a=Ey[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);let c=r[o];if(!(i&&c===void 0)&&!a(c,r))throw new Error(`Invalid param ${String(o)}=${c} (${typeof c}), expected ${s}`)};for(let[o,s]of Object.entries(t))n(o,s,!1);for(let[o,s]of Object.entries(e))n(o,s,!0);return r}var Bt=BigInt(0),ut=BigInt(1),Gr=BigInt(2),vy=BigInt(3),kc=BigInt(4),xf=BigInt(5),Ef=BigInt(8),Ay=BigInt(9),By=BigInt(16);function at(r,t){let e=r%t;return e>=Bt?e:t+e}function ky(r,t,e){if(e<=Bt||t<Bt)throw new Error("Expected power/modulo > 0");if(e===ut)return Bt;let n=ut;for(;t>Bt;)t&ut&&(n=n*r%e),r=r*r%e,t>>=ut;return n}function lt(r,t,e){let n=r;for(;t-- >Bt;)n*=n,n%=e;return n}function As(r,t){if(r===Bt||t<=Bt)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=at(r,t),n=t,o=Bt,s=ut,i=ut,a=Bt;for(;e!==Bt;){let u=n/e,f=n%e,l=o-i*u,m=s-a*u;n=e,e=f,o=i,s=a,i=l,a=m}if(n!==ut)throw new Error("invert: does not exist");return at(o,t)}function Sy(r){let t=(r-ut)/Gr,e,n,o;for(e=r-ut,n=0;e%Gr===Bt;e/=Gr,n++);for(o=Gr;o<r&&ky(o,t,r)!==r-ut;o++);if(n===1){let i=(r+ut)/kc;return function(c,u){let f=c.pow(u,i);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let s=(e+ut)/Gr;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,f=a.pow(a.mul(a.ONE,o),e),l=a.pow(c,s),m=a.pow(c,e);for(;!a.eql(m,a.ONE);){if(a.eql(m,a.ZERO))return a.ZERO;let h=1;for(let d=a.sqr(m);h<u&&!a.eql(d,a.ONE);h++)d=a.sqr(d);let p=a.pow(f,ut<<BigInt(u-h-1));f=a.sqr(p),l=a.mul(l,p),m=a.mul(m,f),u=h}return l}}function Iy(r){if(r%kc===vy){let t=(r+ut)/kc;return function(n,o){let s=n.pow(o,t);if(!n.eql(n.sqr(s),o))throw new Error("Cannot find square root");return s}}if(r%Ef===xf){let t=(r-xf)/Ef;return function(n,o){let s=n.mul(o,Gr),i=n.pow(s,t),a=n.mul(o,i),c=n.mul(n.mul(a,Gr),i),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),o))throw new Error("Cannot find square root");return u}}return r%By,Sy(r)}var vf=(r,t)=>(at(r,t)&ut)===ut,Ry=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Sc(r){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=Ry.reduce((n,o)=>(n[o]="function",n),t);return Le(r,e)}function _y(r,t,e){if(e<Bt)throw new Error("Expected power > 0");if(e===Bt)return r.ONE;if(e===ut)return t;let n=r.ONE,o=t;for(;e>Bt;)e&ut&&(n=r.mul(n,o)),o=r.sqr(o),e>>=ut;return n}function Ty(r,t){let e=new Array(t.length),n=t.reduce((s,i,a)=>r.is0(i)?s:(e[a]=s,r.mul(s,i)),r.ONE),o=r.inv(n);return t.reduceRight((s,i,a)=>r.is0(i)?s:(e[a]=r.mul(s,e[a]),r.mul(s,i)),o),e}function Ic(r,t){let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function Bs(r,t,e=!1,n={}){if(r<=Bt)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:o,nByteLength:s}=Ic(r,t);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let i=Iy(r),a=Object.freeze({ORDER:r,BITS:o,BYTES:s,MASK:go(o),ZERO:Bt,ONE:ut,create:c=>at(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Bt<=c&&c<r},is0:c=>c===Bt,isOdd:c=>(c&ut)===ut,neg:c=>at(-c,r),eql:(c,u)=>c===u,sqr:c=>at(c*c,r),add:(c,u)=>at(c+u,r),sub:(c,u)=>at(c-u,r),mul:(c,u)=>at(c*u,r),pow:(c,u)=>_y(a,c,u),div:(c,u)=>at(c*As(u,r),r),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>As(c,r),sqrt:n.sqrt||(c=>i(a,c)),invertBatch:c=>Ty(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>e?jr(c,s):Sr(c,s),fromBytes:c=>{if(c.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${c.length}`);return e?kr(c):Ye(c)}});return Object.freeze(a)}function Af(r,t){if(!r.isOdd)throw new Error("Field doesn't have isOdd");let e=r.sqrt(t);return r.isOdd(e)?r.neg(e):e}function Bf(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let t=r.toString(2).length;return Math.ceil(t/8)}function Rc(r){let t=Bf(r);return t+Math.ceil(t/2)}function kf(r,t,e=!1){let n=r.length,o=Bf(t),s=Rc(t);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let i=e?Ye(r):kr(r),a=at(i,t-ut)+ut;return e?jr(a,o):Sr(a,o)}var Ny=BigInt(0),_c=BigInt(1);function ks(r,t){let e=(o,s)=>{let i=s.negate();return o?i:s},n=o=>{let s=Math.ceil(t/o)+1,i=2**(o-1);return{windows:s,windowSize:i}};return{constTimeNegate:e,unsafeLadder(o,s){let i=r.ZERO,a=o;for(;s>Ny;)s&_c&&(i=i.add(a)),a=a.double(),s>>=_c;return i},precomputeWindow(o,s){let{windows:i,windowSize:a}=n(s),c=[],u=o,f=u;for(let l=0;l<i;l++){f=u,c.push(f);for(let m=1;m<a;m++)f=f.add(u),c.push(f);u=f.double()}return c},wNAF(o,s,i){let{windows:a,windowSize:c}=n(o),u=r.ZERO,f=r.BASE,l=BigInt(2**o-1),m=2**o,h=BigInt(o);for(let p=0;p<a;p++){let d=p*c,w=Number(i&l);i>>=h,w>c&&(w-=m,i+=_c);let g=d,x=d+Math.abs(w)-1,b=p%2!==0,B=w<0;w===0?f=f.add(e(b,s[g])):u=u.add(e(B,s[x]))}return{p:u,f}},wNAFCached(o,s,i,a){let c=o._WINDOW_SIZE||1,u=s.get(o);return u||(u=this.precomputeWindow(o,c),c!==1&&s.set(o,a(u))),this.wNAF(c,u,i)}}}function yo(r){return Sc(r.Fp),Le(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Ic(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}var Ee=BigInt(0),Qt=BigInt(1),Ss=BigInt(2),Ly=BigInt(8),Uy={zip215:!0};function Dy(r){let t=yo(r);return Le(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function Is(r){let t=Dy(r),{Fp:e,n,prehash:o,hash:s,randomBytes:i,nByteLength:a,h:c}=t,u=Ss<<BigInt(a*8)-Qt,f=e.create,l=t.uvRatio||((_,k)=>{try{return{isValid:!0,value:e.sqrt(_*e.inv(k))}}catch{return{isValid:!1,value:Ee}}}),m=t.adjustScalarBytes||(_=>_),h=t.domain||((_,k,F)=>{if(k.length||F)throw new Error("Contexts/pre-hash are not supported");return _}),p=_=>typeof _=="bigint"&&Ee<_,d=(_,k)=>p(_)&&p(k)&&_<k,w=_=>_===Ee||d(_,u);function g(_,k){if(d(_,k))return _;throw new Error(`Expected valid scalar < ${k}, got ${typeof _} ${_}`)}function x(_){return _===Ee?_:g(_,n)}let b=new Map;function B(_){if(!(_ instanceof A))throw new Error("ExtendedPoint expected")}class A{constructor(k,F,$,K){if(this.ex=k,this.ey=F,this.ez=$,this.et=K,!w(k))throw new Error("x required");if(!w(F))throw new Error("y required");if(!w($))throw new Error("z required");if(!w(K))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(k){if(k instanceof A)throw new Error("extended point not allowed");let{x:F,y:$}=k||{};if(!w(F)||!w($))throw new Error("invalid affine point");return new A(F,$,Qt,f(F*$))}static normalizeZ(k){let F=e.invertBatch(k.map($=>$.ez));return k.map(($,K)=>$.toAffine(F[K])).map(A.fromAffine)}_setWindowSize(k){this._WINDOW_SIZE=k,b.delete(this)}assertValidity(){let{a:k,d:F}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:$,ey:K,ez:W,et:Y}=this,rt=f($*$),J=f(K*K),Q=f(W*W),wt=f(Q*Q),dt=f(rt*k),_t=f(Q*f(dt+J)),Tt=f(wt+f(F*f(rt*J)));if(_t!==Tt)throw new Error("bad point: equation left != right (1)");let Et=f($*K),Ot=f(W*Y);if(Et!==Ot)throw new Error("bad point: equation left != right (2)")}equals(k){B(k);let{ex:F,ey:$,ez:K}=this,{ex:W,ey:Y,ez:rt}=k,J=f(F*rt),Q=f(W*K),wt=f($*rt),dt=f(Y*K);return J===Q&&wt===dt}is0(){return this.equals(A.ZERO)}negate(){return new A(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:k}=t,{ex:F,ey:$,ez:K}=this,W=f(F*F),Y=f($*$),rt=f(Ss*f(K*K)),J=f(k*W),Q=F+$,wt=f(f(Q*Q)-W-Y),dt=J+Y,_t=dt-rt,Tt=J-Y,Et=f(wt*_t),Ot=f(dt*Tt),Ke=f(wt*Tt),Fr=f(_t*dt);return new A(Et,Ot,Fr,Ke)}add(k){B(k);let{a:F,d:$}=t,{ex:K,ey:W,ez:Y,et:rt}=this,{ex:J,ey:Q,ez:wt,et:dt}=k;if(F===BigInt(-1)){let dl=f((W-K)*(Q+J)),pl=f((W+K)*(Q-J)),ka=f(pl-dl);if(ka===Ee)return this.double();let ml=f(Y*Ss*dt),gl=f(rt*Ss*wt),yl=gl+ml,wl=pl+dl,bl=gl-ml,rm=f(yl*ka),nm=f(wl*bl),om=f(yl*bl),sm=f(ka*wl);return new A(rm,nm,sm,om)}let _t=f(K*J),Tt=f(W*Q),Et=f(rt*$*dt),Ot=f(Y*wt),Ke=f((K+W)*(J+Q)-_t-Tt),Fr=Ot-Et,no=Ot+Et,hl=f(Tt-F*_t),X0=f(Ke*Fr),Q0=f(no*hl),tm=f(Ke*hl),em=f(Fr*no);return new A(X0,Q0,em,tm)}subtract(k){return this.add(k.negate())}wNAF(k){return E.wNAFCached(this,b,k,A.normalizeZ)}multiply(k){let{p:F,f:$}=this.wNAF(g(k,n));return A.normalizeZ([F,$])[0]}multiplyUnsafe(k){let F=x(k);return F===Ee?v:this.equals(v)||F===Qt?this:this.equals(I)?this.wNAF(F).p:E.unsafeLadder(this,F)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return E.unsafeLadder(this,n).is0()}toAffine(k){let{ex:F,ey:$,ez:K}=this,W=this.is0();k==null&&(k=W?Ly:e.inv(K));let Y=f(F*k),rt=f($*k),J=f(K*k);if(W)return{x:Ee,y:Qt};if(J!==Qt)throw new Error("invZ was invalid");return{x:Y,y:rt}}clearCofactor(){let{h:k}=t;return k===Qt?this:this.multiplyUnsafe(k)}static fromHex(k,F=!1){let{d:$,a:K}=t,W=e.BYTES;k=mt("pointHex",k,W);let Y=k.slice(),rt=k[W-1];Y[W-1]=rt&-129;let J=kr(Y);J===Ee||(F?g(J,u):g(J,e.ORDER));let Q=f(J*J),wt=f(Q-Qt),dt=f($*Q-K),{isValid:_t,value:Tt}=l(wt,dt);if(!_t)throw new Error("Point.fromHex: invalid y coordinate");let Et=(Tt&Qt)===Qt,Ot=(rt&128)!==0;if(!F&&Tt===Ee&&Ot)throw new Error("Point.fromHex: x=0 and x_0=1");return Ot!==Et&&(Tt=f(-Tt)),A.fromAffine({x:Tt,y:J})}static fromPrivateKey(k){return N(k).point}toRawBytes(){let{x:k,y:F}=this.toAffine(),$=jr(F,e.BYTES);return $[$.length-1]|=k&Qt?128:0,$}toHex(){return We(this.toRawBytes())}}A.BASE=new A(t.Gx,t.Gy,Qt,f(t.Gx*t.Gy)),A.ZERO=new A(Ee,Qt,Qt,Ee);let{BASE:I,ZERO:v}=A,E=ks(A,a*8);function U(_){return at(_,n)}function P(_){return U(kr(_))}function N(_){let k=a;_=mt("private key",_,k);let F=mt("hashed private key",s(_),2*k),$=m(F.slice(0,k)),K=F.slice(k,2*k),W=P($),Y=I.multiply(W),rt=Y.toRawBytes();return{head:$,prefix:K,scalar:W,point:Y,pointBytes:rt}}function M(_){return N(_).pointBytes}function C(_=new Uint8Array,...k){let F=Ze(...k);return P(s(h(F,mt("context",_),!!o)))}function X(_,k,F={}){_=mt("message",_),o&&(_=o(_));let{prefix:$,scalar:K,pointBytes:W}=N(k),Y=C(F.context,$,_),rt=I.multiply(Y).toRawBytes(),J=C(F.context,rt,W,_),Q=U(Y+J*K);x(Q);let wt=Ze(rt,jr(Q,e.BYTES));return mt("result",wt,a*2)}let S=Uy;function T(_,k,F,$=S){let{context:K,zip215:W}=$,Y=e.BYTES;_=mt("signature",_,2*Y),k=mt("message",k),o&&(k=o(k));let rt=kr(_.slice(Y,2*Y)),J,Q,wt;try{J=A.fromHex(F,W),Q=A.fromHex(_.slice(0,Y),W),wt=I.multiplyUnsafe(rt)}catch{return!1}if(!W&&J.isSmallOrder())return!1;let dt=C(K,Q.toRawBytes(),J.toRawBytes(),k);return Q.add(J.multiplyUnsafe(dt)).subtract(wt).clearCofactor().equals(A.ZERO)}return I._setWindowSize(8),{CURVE:t,getPublicKey:M,sign:X,verify:T,ExtendedPoint:A,utils:{getExtendedPublicKey:N,randomPrivateKey:()=>i(e.BYTES),precompute(_=8,k=A.BASE){return k._setWindowSize(_),k.multiply(BigInt(3)),k}}}}var Cc=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Sf=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),C2=BigInt(0),Py=BigInt(1),Tc=BigInt(2),Oy=BigInt(5),If=BigInt(10),Fy=BigInt(20),Vy=BigInt(40),Rf=BigInt(80);function My(r){let t=Cc,n=r*r%t*r%t,o=lt(n,Tc,t)*n%t,s=lt(o,Py,t)*r%t,i=lt(s,Oy,t)*s%t,a=lt(i,If,t)*i%t,c=lt(a,Fy,t)*a%t,u=lt(c,Vy,t)*c%t,f=lt(u,Rf,t)*u%t,l=lt(f,Rf,t)*u%t,m=lt(l,If,t)*i%t;return{pow_p_5_8:lt(m,Tc,t)*r%t,b2:n}}function $y(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function Hy(r,t){let e=Cc,n=at(t*t*t,e),o=at(n*n*t,e),s=My(r*o).pow_p_5_8,i=at(r*n*s,e),a=at(t*i*i,e),c=i,u=at(i*Sf,e),f=a===r,l=a===at(-r,e),m=a===at(-r*Sf,e);return f&&(i=c),(l||m)&&(i=u),vf(i,e)&&(i=at(-i,e)),{isValid:f||l,value:i}}var Je=Bs(Cc,void 0,!0),Nc={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Je,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:In,randomBytes:kn,adjustScalarBytes:$y,uvRatio:Hy},_n=Is(Nc);function _f(r,t,e){if(t.length>255)throw new Error("Context is too big");return ws(bc("SigEd25519 no Ed25519 collisions"),new Uint8Array([e?1:0,t.length]),t,r)}var N2=Is({...Nc,domain:_f}),L2=Is({...Nc,domain:_f,prehash:In});var Ky=(Je.ORDER+BigInt(3))/BigInt(8),U2=Je.pow(Tc,Ky),D2=Je.sqrt(Je.neg(Je.ONE)),P2=(Je.ORDER-BigInt(5))/BigInt(8),O2=BigInt(486662);var F2=Af(Je,Je.neg(BigInt(486664)));var V2=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),M2=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),$2=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),H2=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var K2=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Tn=32,Xe=64,Rs=32;function Tf(){let r=_n.utils.randomPrivateKey(),t=_n.getPublicKey(r);return{privateKey:Uf(r,t),publicKey:t}}function Cf(r){if(r.length!==Rs)throw new TypeError('"seed" must be 32 bytes in length.');if(!(r instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=r,e=_n.getPublicKey(t);return{privateKey:Uf(t,e),publicKey:e}}function Nf(r,t){let e=r.subarray(0,Rs);return _n.sign(t instanceof Uint8Array?t:t.subarray(),e)}function Lf(r,t,e){return _n.verify(t,e instanceof Uint8Array?e:e.subarray(),r)}function Uf(r,t){let e=new Uint8Array(Xe);for(let n=0;n<Rs;n++)e[n]=r[n],e[Rs+n]=t[n];return e}var Lc={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Df(r){let t=r?.algorithm??"AES-GCM",e=r?.keyLength??16,n=r?.nonceLength??12,o=r?.digest??"SHA-256",s=r?.saltLength??16,i=r?.iterations??32767,a=Kt.get();e*=8;async function c(l,m){let h=a.getRandomValues(new Uint8Array(s)),p=a.getRandomValues(new Uint8Array(n)),d={name:t,iv:p};typeof m=="string"&&(m=q(m));let w;if(m.length===0){w=await a.subtle.importKey("jwk",Lc,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:h,iterations:i,hash:{name:o}},b=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);w=await a.subtle.deriveKey(x,b,{name:t,length:e},!0,["encrypt"])}catch{w=await a.subtle.importKey("jwk",Lc,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:h,iterations:i,hash:{name:o}},b=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);w=await a.subtle.deriveKey(x,b,{name:t,length:e},!0,["encrypt"])}let g=await a.subtle.encrypt(d,w,l);return St([h,d.iv,new Uint8Array(g)])}async function u(l,m){let h=l.subarray(0,s),p=l.subarray(s,s+n),d=l.subarray(s+n),w={name:t,iv:p};typeof m=="string"&&(m=q(m));let g;if(m.length===0)try{let b={name:"PBKDF2",salt:h,iterations:i,hash:{name:o}},B=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,B,{name:t,length:e},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",Lc,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:h,iterations:i,hash:{name:o}},B=await a.subtle.importKey("raw",m,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,B,{name:t,length:e},!0,["decrypt"])}let x=await a.subtle.decrypt(w,g,d);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function Cn(r,t){let n=await Df().encrypt(r,t);return le.encode(n)}var gt;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.Secp256k1="Secp256k1"})(gt||(gt={}));var Uc;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.Secp256k1=2]="Secp256k1"})(Uc||(Uc={}));(function(r){r.codec=()=>ho(Uc)})(gt||(gt={}));var Ue;(function(r){let t;r.codec=()=>(t==null&&(t=gn((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),gt.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let i=e.uint32();switch(i>>>3){case 1:o.Type=gt.codec().decode(e);break;case 2:o.Data=e.bytes();break;default:e.skipType(i&7);break}}return o})),t),r.encode=e=>pn(e,r.codec()),r.decode=e=>un(e,r.codec())})(Ue||(Ue={}));var Qe;(function(r){let t;r.codec=()=>(t==null&&(t=gn((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),gt.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let i=e.uint32();switch(i>>>3){case 1:o.Type=gt.codec().decode(e);break;case 2:o.Data=e.bytes();break;default:e.skipType(i&7);break}}return o})),t),r.encode=e=>pn(e,r.codec()),r.decode=e=>un(e,r.codec())})(Qe||(Qe={}));var wo=class{_key;constructor(t){this._key=Nn(t,Tn)}verify(t,e){return Lf(this._key,e,t)}marshal(){return this._key}get bytes(){return Ue.encode({Type:gt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}hash(){let t=At.digest(this.bytes);return fe(t)?t.then(({bytes:e})=>e):t.bytes}},Wr=class{_key;_publicKey;constructor(t,e){this._key=Nn(t,Xe),this._publicKey=Nn(e,Tn)}sign(t){return Nf(this._key,t)}get public(){return new wo(this._publicKey)}marshal(){return this._key}get bytes(){return Qe.encode({Type:gt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}async hash(){let t=At.digest(this.bytes),e;return fe(t)?{bytes:e}=await t:e=t.bytes,e}async id(){let t=Wt.digest(this.public.bytes);return ht.encode(t.bytes).substring(1)}async export(t,e="libp2p-key"){if(e==="libp2p-key")return Cn(this.bytes,t);throw new D(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function jy(r){if(r.length>Xe){r=Nn(r,Xe+Tn);let n=r.subarray(0,Xe),o=r.subarray(Xe,r.length);return new Wr(n,o)}r=Nn(r,Xe);let t=r.subarray(0,Xe),e=r.subarray(Tn);return new Wr(t,e)}function Gy(r){return r=Nn(r,Tn),new wo(r)}async function Wy(){let{privateKey:r,publicKey:t}=Tf();return new Wr(r,t)}async function Pf(r){let{privateKey:t,publicKey:e}=Cf(r);return new Wr(t,e)}function Nn(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new D(`Key must be a Uint8Array of length ${t}, got ${r.length}`,"ERR_INVALID_KEY_TYPE");return r}function j(r,t="utf8"){let e=ds[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var zc={};vt(zc,{MAX_RSA_KEY_SIZE:()=>To,RsaPrivateKey:()=>On,RsaPublicKey:()=>_o,fromJwk:()=>Ew,generateKeyPair:()=>vw,unmarshalRsaPrivateKey:()=>Kc,unmarshalRsaPublicKey:()=>xw});function De(r){if(isNaN(r)||r<=0)throw new D("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return kn(r)}var Tr={};vt(Tr,{exportToPem:()=>mw,importFromPem:()=>gw,jwkToPkcs1:()=>fw,jwkToPkix:()=>dw,pkcs1ToJwk:()=>lw,pkixToJwk:()=>hw});var Ts=class extends An{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,gs(t);let n=Er(e);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let o=this.blockLen,s=new Uint8Array(o);s.set(n.length>o?t.create().update(n).digest():n);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=t.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),s.fill(0)}update(t){return vn(this),this.iHash.update(t),this}digestInto(t){vn(this),En(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:n,finished:o,destroyed:s,blockLen:i,outputLen:a}=this;return t=t,t.finished=o,t.destroyed=s,t.blockLen=i,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},bo=(r,t,e)=>new Ts(r,t).update(e).digest();bo.create=(r,t)=>new Ts(r,t);function Yy(r,t,e,n){gs(r);let o=hf({dkLen:32,asyncTick:10},n),{c:s,dkLen:i,asyncTick:a}=o;if(xn(s),xn(i),xn(a),s<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let c=Er(t),u=Er(e),f=new Uint8Array(i),l=bo.create(r,c),m=l._cloneInto().update(u);return{c:s,dkLen:i,asyncTick:a,DK:f,PRF:l,PRFSalt:m}}function Zy(r,t,e,n,o){return r.destroy(),t.destroy(),n&&n.destroy(),o.fill(0),e}async function Pc(r,t,e,n){let{c:o,dkLen:s,asyncTick:i,DK:a,PRF:c,PRFSalt:u}=Yy(r,t,e,n),f,l=new Uint8Array(4),m=Bn(l),h=new Uint8Array(c.outputLen);for(let p=1,d=0;d<s;p++,d+=c.outputLen){let w=a.subarray(d,d+c.outputLen);m.setInt32(0,p,!1),(f=u._cloneInto(f)).update(l).digestInto(h),w.set(h.subarray(0,w.length)),await ff(o-1,i,()=>{c._cloneInto(f).update(h).digestInto(h);for(let g=0;g<w.length;g++)w[g]^=h[g]})}return Zy(c,u,a,f,h)}var Z=Jt(Of());function Yr(r,t){let e=0;if(r.length===1)return r[0];for(let n=r.length-1;n>=0;n--)e+=r[r.length-1-n]*Math.pow(2,t*n);return e}function Ir(r,t,e=-1){let n=e,o=r,s=0,i=Math.pow(2,t);for(let a=1;a<8;a++){if(r<i){let c;if(n<0)c=new ArrayBuffer(a),s=a;else{if(n<a)return new ArrayBuffer(0);c=new ArrayBuffer(n),s=n}let u=new Uint8Array(c);for(let f=a-1;f>=0;f--){let l=Math.pow(2,f*t);u[s-f-1]=Math.floor(o/l),o-=u[s-f-1]*l}return c}i*=Math.pow(2,t)}return new ArrayBuffer(0)}function Ls(...r){let t=0,e=0;for(let s of r)t+=s.length;let n=new ArrayBuffer(t),o=new Uint8Array(n);for(let s of r)o.set(s,e),e+=s.length;return o}function Fc(){let r=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let a=r[0]===255&&r[1]&128,c=r[0]===0&&(r[1]&128)===0;(a||c)&&this.warnings.push("Needlessly long format")}let t=new ArrayBuffer(this.valueHex.byteLength),e=new Uint8Array(t);for(let a=0;a<this.valueHex.byteLength;a++)e[a]=0;e[0]=r[0]&128;let n=Yr(e,8),o=new ArrayBuffer(this.valueHex.byteLength),s=new Uint8Array(o);for(let a=0;a<this.valueHex.byteLength;a++)s[a]=r[a];return s[0]&=127,Yr(s,8)-n}function Ff(r){let t=r<0?r*-1:r,e=128;for(let n=1;n<8;n++){if(t<=e){if(r<0){let i=e-t,a=Ir(i,8,n),c=new Uint8Array(a);return c[0]|=128,a}let o=Ir(t,8,n),s=new Uint8Array(o);if(s[0]&128){let i=o.slice(0),a=new Uint8Array(i);o=new ArrayBuffer(o.byteLength+1),s=new Uint8Array(o);for(let c=0;c<i.byteLength;c++)s[c+1]=a[c];s[0]=0}return o}e*=Math.pow(2,8)}return new ArrayBuffer(0)}function Vf(r,t){if(r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let o=0;o<e.length;o++)if(e[o]!==n[o])return!1;return!0}function Yt(r,t){let e=r.toString(10);if(t<e.length)return"";let n=t-e.length,o=new Array(n);for(let i=0;i<n;i++)o[i]="0";return o.join("").concat(e)}var wA=Math.log(2);function Us(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Vc(r){let t=0,e=0;for(let o=0;o<r.length;o++){let s=r[o];t+=s.byteLength}let n=new Uint8Array(t);for(let o=0;o<r.length;o++){let s=r[o];n.set(new Uint8Array(s),e),e+=s.byteLength}return n.buffer}function or(r,t,e,n){return t instanceof Uint8Array?t.byteLength?e<0?(r.error="Wrong parameter: inputOffset less than zero",!1):n<0?(r.error="Wrong parameter: inputLength less than zero",!1):t.byteLength-e-n<0?(r.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(r.error="Wrong parameter: inputBuffer has zero length",!1):(r.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var Eo=class{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return Vc(this.items)}},xo=[new Uint8Array([1])],Mf="0123456789";var Dn="",Ae=new ArrayBuffer(0),Mc=new Uint8Array(0),vo="EndOfContent",Hf="OCTET STRING",Kf="BIT STRING";function sr(r){var t;return t=class extends r{constructor(...n){var o;super(...n);let s=n[0]||{};this.isHexOnly=(o=s.isHexOnly)!==null&&o!==void 0?o:!1,this.valueHexView=s.valueHex?Z.BufferSourceConverter.toUint8Array(s.valueHex):Mc}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(n){this.valueHexView=new Uint8Array(n)}fromBER(n,o,s){let i=n instanceof ArrayBuffer?new Uint8Array(n):n;if(!or(this,i,o,s))return-1;let a=o+s;return this.valueHexView=i.subarray(o,a),this.valueHexView.length?(this.blockLength=s,a):(this.warnings.push("Zero buffer length"),o)}toBER(n=!1){return this.isHexOnly?n?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",Ae)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:Z.Convert.ToHex(this.valueHexView)}}},t.NAME="hexBlock",t}var er=class{constructor({blockLength:t=0,error:e=Dn,warnings:n=[],valueBeforeDecode:o=Mc}={}){this.blockLength=t,this.error=e,this.warnings=n,this.valueBeforeDecodeView=Z.BufferSourceConverter.toUint8Array(o)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(t){this.valueBeforeDecodeView=new Uint8Array(t)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:Z.Convert.ToHex(this.valueBeforeDecodeView)}}};er.NAME="baseBlock";var Mt=class extends er{fromBER(t,e,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(t,e){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};Mt.NAME="valueBlock";var Ds=class extends sr(er){constructor({idBlock:t={}}={}){var e,n,o,s;super(),t?(this.isHexOnly=(e=t.isHexOnly)!==null&&e!==void 0?e:!1,this.valueHexView=t.valueHex?Z.BufferSourceConverter.toUint8Array(t.valueHex):Mc,this.tagClass=(n=t.tagClass)!==null&&n!==void 0?n:-1,this.tagNumber=(o=t.tagNumber)!==null&&o!==void 0?o:-1,this.isConstructed=(s=t.isConstructed)!==null&&s!==void 0?s:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(t=!1){let e=0;switch(this.tagClass){case 1:e|=0;break;case 2:e|=64;break;case 3:e|=128;break;case 4:e|=192;break;default:return this.error="Unknown tag class",Ae}if(this.isConstructed&&(e|=32),this.tagNumber<31&&!this.isHexOnly){let o=new Uint8Array(1);if(!t){let s=this.tagNumber;s&=31,e|=s,o[0]=e}return o.buffer}if(!this.isHexOnly){let o=Ir(this.tagNumber,7),s=new Uint8Array(o),i=o.byteLength,a=new Uint8Array(i+1);if(a[0]=e|31,!t){for(let c=0;c<i-1;c++)a[c+1]=s[c]|128;a[i]=s[i-1]}return a.buffer}let n=new Uint8Array(this.valueHexView.byteLength+1);if(n[0]=e|31,!t){let o=this.valueHexView;for(let s=0;s<o.length-1;s++)n[s+1]=o[s]|128;n[this.valueHexView.byteLength]=o[o.length-1]}return n.buffer}fromBER(t,e,n){let o=Z.BufferSourceConverter.toUint8Array(t);if(!or(this,o,e,n))return-1;let s=o.subarray(e,e+n);if(s.length===0)return this.error="Zero buffer length",-1;switch(s[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(s[0]&32)===32,this.isHexOnly=!1;let a=s[0]&31;if(a!==31)this.tagNumber=a,this.blockLength=1;else{let c=1,u=this.valueHexView=new Uint8Array(255),f=255;for(;s[c]&128;){if(u[c-1]=s[c]&127,c++,c>=s.length)return this.error="End of input reached before message was fully decoded",-1;if(c===f){f+=255;let m=new Uint8Array(f);for(let h=0;h<u.length;h++)m[h]=u[h];u=this.valueHexView=new Uint8Array(f)}}this.blockLength=c+1,u[c-1]=s[c]&127;let l=new Uint8Array(c);for(let m=0;m<c;m++)l[m]=u[m];u=this.valueHexView=new Uint8Array(c),u.set(l),this.blockLength<=9?this.tagNumber=Yr(u,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return e+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};Ds.NAME="identificationBlock";var Ps=class extends er{constructor({lenBlock:t={}}={}){var e,n,o;super(),this.isIndefiniteForm=(e=t.isIndefiniteForm)!==null&&e!==void 0?e:!1,this.longFormUsed=(n=t.longFormUsed)!==null&&n!==void 0?n:!1,this.length=(o=t.length)!==null&&o!==void 0?o:0}fromBER(t,e,n){let o=Z.BufferSourceConverter.toUint8Array(t);if(!or(this,o,e,n))return-1;let s=o.subarray(e,e+n);if(s.length===0)return this.error="Zero buffer length",-1;if(s[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=s[0]===128,this.isIndefiniteForm)return this.blockLength=1,e+this.blockLength;if(this.longFormUsed=!!(s[0]&128),this.longFormUsed===!1)return this.length=s[0],this.blockLength=1,e+this.blockLength;let i=s[0]&127;if(i>8)return this.error="Too big integer",-1;if(i+1>s.length)return this.error="End of input reached before message was fully decoded",-1;let a=e+1,c=o.subarray(a,a+i);return c[i-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=Yr(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=i+1,e+this.blockLength}toBER(t=!1){let e,n;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=128),e;if(this.longFormUsed){let o=Ir(this.length,8);if(o.byteLength>127)return this.error="Too big length",Ae;if(e=new ArrayBuffer(o.byteLength+1),t)return e;let s=new Uint8Array(o);n=new Uint8Array(e),n[0]=o.byteLength|128;for(let i=0;i<o.byteLength;i++)n[i+1]=s[i];return e}return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=this.length),e}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};Ps.NAME="lengthBlock";var O={},Nt=class extends er{constructor({name:t=Dn,optional:e=!1,primitiveSchema:n,...o}={},s){super(o),this.name=t,this.optional=e,n&&(this.primitiveSchema=n),this.idBlock=new Ds(o),this.lenBlock=new Ps(o),this.valueBlock=s?new s(o):new Mt(o)}fromBER(t,e,n){let o=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}toBER(t,e){let n=e||new Eo;e||qf(this);let o=this.idBlock.toBER(t);if(n.write(o),this.lenBlock.isIndefiniteForm)n.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(t,n),n.write(new ArrayBuffer(2));else{let s=this.valueBlock.toBER(t);this.lenBlock.length=s.byteLength;let i=this.lenBlock.toBER(t);n.write(i),n.write(s)}return e?Ae:n.final()}toJSON(){let t={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(t.primitiveSchema=this.primitiveSchema.toJSON()),t}toString(t="ascii"){return t==="ascii"?this.onAsciiEncoding():Z.Convert.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${Z.Convert.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(t){if(this===t)return!0;if(!(t instanceof this.constructor))return!1;let e=this.toBER(),n=t.toBER();return Vf(e,n)}};Nt.NAME="BaseBlock";function qf(r){if(r instanceof O.Constructed)for(let t of r.valueBlock.value)qf(t)&&(r.lenBlock.isIndefiniteForm=!0);return!!r.lenBlock.isIndefiniteForm}var Os=class extends Nt{constructor({value:t=Dn,...e}={},n){super(e,n),t&&this.fromString(t)}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}fromBER(t,e,n){let o=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}};Os.NAME="BaseStringBlock";var Fs=class extends sr(Mt){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}};Fs.NAME="PrimitiveValueBlock";var zf,Vs=class extends Nt{constructor(t={}){super(t,Fs),this.idBlock.isConstructed=!1}};zf=Vs;O.Primitive=zf;Vs.NAME="PRIMITIVE";function sw(r,t){if(r instanceof t)return r;let e=new t;return e.idBlock=r.idBlock,e.lenBlock=r.lenBlock,e.warnings=r.warnings,e.valueBeforeDecodeView=r.valueBeforeDecodeView,e}function wi(r,t=0,e=r.length){let n=t,o=new Nt({},Mt),s=new er;if(!or(s,r,t,e))return o.error=s.error,{offset:-1,result:o};if(!r.subarray(t,t+e).length)return o.error="Zero buffer length",{offset:-1,result:o};let a=o.idBlock.fromBER(r,t,e);if(o.idBlock.warnings.length&&o.warnings.concat(o.idBlock.warnings),a===-1)return o.error=o.idBlock.error,{offset:-1,result:o};if(t=a,e-=o.idBlock.blockLength,a=o.lenBlock.fromBER(r,t,e),o.lenBlock.warnings.length&&o.warnings.concat(o.lenBlock.warnings),a===-1)return o.error=o.lenBlock.error,{offset:-1,result:o};if(t=a,e-=o.lenBlock.blockLength,!o.idBlock.isConstructed&&o.lenBlock.isIndefiniteForm)return o.error="Indefinite length form used for primitive encoding form",{offset:-1,result:o};let c=Nt;switch(o.idBlock.tagClass){case 1:if(o.idBlock.tagNumber>=37&&o.idBlock.isHexOnly===!1)return o.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:o};switch(o.idBlock.tagNumber){case 0:if(o.idBlock.isConstructed&&o.lenBlock.length>0)return o.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:o};c=O.EndOfContent;break;case 1:c=O.Boolean;break;case 2:c=O.Integer;break;case 3:c=O.BitString;break;case 4:c=O.OctetString;break;case 5:c=O.Null;break;case 6:c=O.ObjectIdentifier;break;case 10:c=O.Enumerated;break;case 12:c=O.Utf8String;break;case 13:c=O.RelativeObjectIdentifier;break;case 14:c=O.TIME;break;case 15:return o.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:o};case 16:c=O.Sequence;break;case 17:c=O.Set;break;case 18:c=O.NumericString;break;case 19:c=O.PrintableString;break;case 20:c=O.TeletexString;break;case 21:c=O.VideotexString;break;case 22:c=O.IA5String;break;case 23:c=O.UTCTime;break;case 24:c=O.GeneralizedTime;break;case 25:c=O.GraphicString;break;case 26:c=O.VisibleString;break;case 27:c=O.GeneralString;break;case 28:c=O.UniversalString;break;case 29:c=O.CharacterString;break;case 30:c=O.BmpString;break;case 31:c=O.DATE;break;case 32:c=O.TimeOfDay;break;case 33:c=O.DateTime;break;case 34:c=O.Duration;break;default:{let u=o.idBlock.isConstructed?new O.Constructed:new O.Primitive;u.idBlock=o.idBlock,u.lenBlock=o.lenBlock,u.warnings=o.warnings,o=u}}break;case 2:case 3:case 4:default:c=o.idBlock.isConstructed?O.Constructed:O.Primitive}return o=sw(o,c),a=o.fromBER(r,t,o.lenBlock.isIndefiniteForm?e:o.lenBlock.length),o.valueBeforeDecodeView=r.subarray(n,n+o.blockLength),{offset:a,result:o}}function Pn(r){if(!r.byteLength){let t=new Nt({},Mt);return t.error="Input buffer has zero length",{offset:-1,result:t}}return wi(Z.BufferSourceConverter.toUint8Array(r).slice(),0,r.byteLength)}function iw(r,t){return r?1:t}var Pe=class extends Mt{constructor({value:t=[],isIndefiniteForm:e=!1,...n}={}){super(n),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,n){let o=Z.BufferSourceConverter.toUint8Array(t);if(!or(this,o,e,n))return-1;if(this.valueBeforeDecodeView=o.subarray(e,e+n),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),e;let s=e;for(;iw(this.isIndefiniteForm,n)>0;){let i=wi(o,s,n);if(i.offset===-1)return this.error=i.result.error,this.warnings.concat(i.result.warnings),-1;if(s=i.offset,this.blockLength+=i.result.blockLength,n-=i.result.blockLength,this.value.push(i.result),this.isIndefiniteForm&&i.result.constructor.NAME===vo)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===vo?this.value.pop():this.warnings.push("No EndOfContent block encoded")),s}toBER(t,e){let n=e||new Eo;for(let o=0;o<this.value.length;o++)this.value[o].toBER(t,n);return e?Ae:n.final()}toJSON(){let t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let e of this.value)t.value.push(e.toJSON());return t}};Pe.NAME="ConstructedValueBlock";var jf,Rr=class extends Nt{constructor(t={}){super(t,Pe),this.idBlock.isConstructed=!0}fromBER(t,e,n){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let o=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}onAsciiEncoding(){let t=[];for(let n of this.valueBlock.value)t.push(n.toString("ascii").split(`
|
|
4
4
|
`).map(o=>` ${o}`).join(`
|
|
5
5
|
`));let e=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return t.length?`${e} :
|
|
6
6
|
${t.join(`
|
|
7
|
-
`)}`:`${e} :`}};Gf=Rr;O.Constructed=Gf;Rr.NAME="CONSTRUCTED";var Ms=class extends Mt{fromBER(t,e,n){return e}toBER(t){return Ae}};Ms.override="EndOfContentValueBlock";var jf,$s=class extends Nt{constructor(t={}){super(t,Ms),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};jf=$s;O.EndOfContent=jf;$s.NAME=vo;var Wf,_r=class extends Nt{constructor(t={}){super(t,Mt),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,n){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=n,e+n>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+n}toBER(t,e){let n=new ArrayBuffer(2);if(!t){let o=new Uint8Array(n);o[0]=5,o[1]=0}return e&&e.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};Wf=_r;O.Null=Wf;_r.NAME="NULL";var Hs=class extends sr(Mt){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=Z.BufferSourceConverter.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}get value(){for(let t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}fromBER(t,e,n){let o=Z.BufferSourceConverter.toUint8Array(t);return or(this,o,e,n)?(this.valueHexView=o.subarray(e,e+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,Fc.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};Hs.NAME="BooleanValueBlock";var Yf,Ks=class extends Nt{constructor(t={}){super(t,Hs),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};Yf=Ks;O.Boolean=Yf;Ks.NAME="BOOLEAN";var qs=class extends sr(Pe){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,n){let o=0;if(this.isConstructed){if(this.isHexOnly=!1,o=Pe.prototype.fromBER.call(this,t,e,n),o===-1)return o;for(let s=0;s<this.value.length;s++){let i=this.value[s].constructor.NAME;if(i===vo){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(i!==Hf)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,o=super.fromBER(t,e,n),this.blockLength=n;return o}toBER(t,e){return this.isConstructed?Pe.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};qs.NAME="OctetStringValueBlock";var Zf,rr=class r extends Nt{constructor({idBlock:t={},lenBlock:e={},...n}={}){var o,s;(o=n.isConstructed)!==null&&o!==void 0||(n.isConstructed=!!(!((s=n.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},qs),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,n){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,n===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){let s=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+n);try{if(s.byteLength){let i=wi(s,0,s.byteLength);i.offset!==-1&&i.offset===n&&(this.valueBlock.value=[i.result])}}catch{}}return super.fromBER(t,e,n)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?Rr.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${Z.Convert.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let t=[];for(let e of this.valueBlock.value)e instanceof r&&t.push(e.valueBlock.valueHexView);return Z.BufferSourceConverter.concat(t)}};Zf=rr;O.OctetString=Zf;rr.NAME=Hf;var zs=class extends sr(Pe){constructor({unusedBits:t=0,isConstructed:e=!1,...n}={}){super(n),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,n){if(!n)return e;let o=-1;if(this.isConstructed){if(o=Pe.prototype.fromBER.call(this,t,e,n),o===-1)return o;for(let a of this.value){let c=a.constructor.NAME;if(c===vo){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==Kf)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let u=a.valueBlock;if(this.unusedBits>0&&u.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=u.unusedBits}return o}let s=Z.BufferSourceConverter.toUint8Array(t);if(!or(this,s,e,n))return-1;let i=s.subarray(e,e+n);if(this.unusedBits=i[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=i.subarray(1);try{if(a.byteLength){let c=wi(a,0,a.byteLength);c.offset!==-1&&c.offset===n-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=i.subarray(1),this.blockLength=i.length,e+n}toBER(t,e){if(this.isConstructed)return Pe.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Ae;let n=new Uint8Array(this.valueHexView.length+1);return n[0]=this.unusedBits,n.set(this.valueHexView,1),n.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};zs.NAME="BitStringValueBlock";var Jf,Un=class extends Nt{constructor({idBlock:t={},lenBlock:e={},...n}={}){var o,s;(o=n.isConstructed)!==null&&o!==void 0||(n.isConstructed=!!(!((s=n.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},zs),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Rr.prototype.onAsciiEncoding.call(this);{let t=[],e=this.valueBlock.valueHexView;for(let o of e)t.push(o.toString(2).padStart(8,"0"));let n=t.join("");return`${this.constructor.NAME} : ${n.substring(0,n.length-this.valueBlock.unusedBits)}`}}};Jf=Un;O.BitString=Jf;Un.NAME=Kf;var Xf;function cw(r,t){let e=new Uint8Array([0]),n=new Uint8Array(r),o=new Uint8Array(t),s=n.slice(0),i=s.length-1,a=o.slice(0),c=a.length-1,u=0,f=c<i?i:c,l=0;for(let m=f;m>=0;m--,l++){switch(!0){case l<a.length:u=s[i-l]+a[c-l]+e[0];break;default:u=s[i-l]+e[0]}switch(e[0]=u/10,!0){case l>=s.length:s=Ls(new Uint8Array([u%10]),s);break;default:s[i-l]=u%10}}return e[0]>0&&(s=Ls(e,s)),s}function $f(r){if(r>=xo.length)for(let t=xo.length;t<=r;t++){let e=new Uint8Array([0]),n=xo[t-1].slice(0);for(let o=n.length-1;o>=0;o--){let s=new Uint8Array([(n[o]<<1)+e[0]]);e[0]=s[0]/10,n[o]=s[0]%10}e[0]>0&&(n=Ls(e,n)),xo.push(n)}return xo[r]}function uw(r,t){let e=0,n=new Uint8Array(r),o=new Uint8Array(t),s=n.slice(0),i=s.length-1,a=o.slice(0),c=a.length-1,u,f=0;for(let l=c;l>=0;l--,f++)switch(u=s[i-f]-a[c-f]-e,!0){case u<0:e=1,s[i-f]=u+10;break;default:e=0,s[i-f]=u}if(e>0)for(let l=i-c+1;l>=0;l--,f++)if(u=s[i-f]-e,u<0)e=1,s[i-f]=u+10;else{e=0,s[i-f]=u;break}return s.slice()}var Ao=class extends sr(Mt){constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),t!==void 0&&(this.valueDec=t)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=Fc.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(Ff(t))}get valueDec(){return this._valueDec}fromDER(t,e,n,o=0){let s=this.fromBER(t,e,n);if(s===-1)return s;let i=this.valueHexView;return i[0]===0&&i[1]&128?this.valueHexView=i.subarray(1):o!==0&&i.length<o&&(o-i.length>1&&(o=i.length+1),this.valueHexView=i.subarray(o-i.length)),s}toDER(t=!1){let e=this.valueHexView;switch(!0){case(e[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(e,1),this.valueHexView=n}break;case(e[0]===0&&(e[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(t)}fromBER(t,e,n){let o=super.fromBER(t,e,n);return o===-1||this.setValueHex(),o}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let t=this.valueHexView.length*8-1,e=new Uint8Array(this.valueHexView.length*8/3),n=0,o,s=this.valueHexView,i="",a=!1;for(let c=s.byteLength-1;c>=0;c--){o=s[c];for(let u=0;u<8;u++){if((o&1)===1)switch(n){case t:e=uw($f(n),e),i="-";break;default:e=cw(e,$f(n))}n++,o>>=1}}for(let c=0;c<e.length;c++)e[c]&&(a=!0),a&&(i+=Mf.charAt(e[c]));return a===!1&&(i+=Mf.charAt(0)),i}};Xf=Ao;Ao.NAME="IntegerValueBlock";Object.defineProperty(Xf.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var Qf,bt=class r extends Nt{constructor(t={}){super(t,Ao),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return Us(),BigInt(this.valueBlock.toString())}static fromBigInt(t){Us();let e=BigInt(t),n=new Eo,o=e.toString(16).replace(/^-/,""),s=new Uint8Array(Z.Convert.FromHex(o));if(e<0){let a=new Uint8Array(s.length+(s[0]&128?1:0));a[0]|=128;let u=BigInt(`0x${Z.Convert.ToHex(a)}`)+e,f=Z.BufferSourceConverter.toUint8Array(Z.Convert.FromHex(u.toString(16)));f[0]|=128,n.write(f)}else s[0]&128&&n.write(new Uint8Array([0])),n.write(s);return new r({valueHex:n.final()})}convertToDER(){let t=new r({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new r({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}};Qf=bt;O.Integer=Qf;bt.NAME="INTEGER";var th,Gs=class extends bt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};th=Gs;O.Enumerated=th;Gs.NAME="ENUMERATED";var Bo=class extends sr(Mt){constructor({valueDec:t=-1,isFirstSid:e=!1,...n}={}){super(n),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,n){if(!n)return e;let o=Z.BufferSourceConverter.toUint8Array(t);if(!or(this,o,e,n))return-1;let s=o.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=s[a]&127,this.blockLength++,!!(s[a]&128));a++);let i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)i[a]=this.valueHexView[a];return this.valueHexView=i,s[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Yr(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){Us();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;let n=new Uint8Array(e.length/7);for(let o=0;o<n.length;o++)n[o]=parseInt(e.slice(o*7,o*7+7),2)+(o+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let o=this.valueHexView,s=new Uint8Array(this.blockLength);for(let i=0;i<this.blockLength-1;i++)s[i]=o[i]|128;return s[this.blockLength-1]=o[this.blockLength-1],s.buffer}let e=Ir(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Ae;let n=new Uint8Array(e.byteLength);if(!t){let o=new Uint8Array(e),s=e.byteLength-1;for(let i=0;i<s;i++)n[i]=o[i]|128;n[s]=o[s]}return n}toString(){let t="";if(this.isHexOnly)t=Z.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};Bo.NAME="sidBlock";var js=class extends Mt{constructor({value:t=Dn,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let o=e;for(;n>0;){let s=new Bo;if(o=s.fromBER(t,o,n),o===-1)return this.blockLength=0,this.error=s.error,o;this.value.length===0&&(s.isFirstSid=!0),this.blockLength+=s.blockLength,n-=s.blockLength,this.value.push(s)}return o}toBER(t){let e=[];for(let n=0;n<this.value.length;n++){let o=this.value[n].toBER(t);if(o.byteLength===0)return this.error=this.value[n].error,Ae;e.push(o)}return Vc(e)}fromString(t){this.value=[];let e=0,n=0,o="",s=!1;do if(n=t.indexOf(".",e),n===-1?o=t.substring(e):o=t.substring(e,n),e=n+1,s){let i=this.value[0],a=0;switch(i.valueDec){case 0:break;case 1:a=40;break;case 2:a=80;break;default:this.value=[];return}let c=parseInt(o,10);if(isNaN(c))return;i.valueDec=c+a,s=!1}else{let i=new Bo;if(o>Number.MAX_SAFE_INTEGER){Us();let a=BigInt(o);i.valueBigInt=a}else if(i.valueDec=parseInt(o,10),isNaN(i.valueDec))return;this.value.length||(i.isFirstSid=!0,s=!0),this.value.push(i)}while(n!==-1)}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let o=this.value[n].toString();n!==0&&(t=`${t}.`),e?(o=`{${o}}`,this.value[n].isFirstSid?t=`2.{${o} - 80}`:t+=o):t+=o}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};js.NAME="ObjectIdentifierValueBlock";var eh,ve=class extends Nt{constructor(t={}){super(t,js),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};eh=ve;O.ObjectIdentifier=eh;ve.NAME="OBJECT IDENTIFIER";var ko=class extends sr(er){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(n===0)return e;let o=Z.BufferSourceConverter.toUint8Array(t);if(!or(this,o,e,n))return-1;let s=o.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=s[a]&127,this.blockLength++,!!(s[a]&128));a++);let i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)i[a]=this.valueHexView[a];return this.valueHexView=i,s[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Yr(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let o=this.valueHexView,s=new Uint8Array(this.blockLength);for(let i=0;i<this.blockLength-1;i++)s[i]=o[i]|128;return s[this.blockLength-1]=o[this.blockLength-1],s.buffer}let e=Ir(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Ae;let n=new Uint8Array(e.byteLength);if(!t){let o=new Uint8Array(e),s=e.byteLength-1;for(let i=0;i<s;i++)n[i]=o[i]|128;n[s]=o[s]}return n.buffer}toString(){let t="";return this.isHexOnly?t=Z.Convert.ToHex(this.valueHexView):t=this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};ko.NAME="relativeSidBlock";var Ws=class extends Mt{constructor({value:t=Dn,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let o=e;for(;n>0;){let s=new ko;if(o=s.fromBER(t,o,n),o===-1)return this.blockLength=0,this.error=s.error,o;this.blockLength+=s.blockLength,n-=s.blockLength,this.value.push(s)}return o}toBER(t,e){let n=[];for(let o=0;o<this.value.length;o++){let s=this.value[o].toBER(t);if(s.byteLength===0)return this.error=this.value[o].error,Ae;n.push(s)}return Vc(n)}fromString(t){this.value=[];let e=0,n=0,o="";do{n=t.indexOf(".",e),n===-1?o=t.substring(e):o=t.substring(e,n),e=n+1;let s=new ko;if(s.valueDec=parseInt(o,10),isNaN(s.valueDec))return!0;this.value.push(s)}while(n!==-1);return!0}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let o=this.value[n].toString();n!==0&&(t=`${t}.`),e&&(o=`{${o}}`),t+=o}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Ws.NAME="RelativeObjectIdentifierValueBlock";var rh,Ys=class extends Nt{constructor(t={}){super(t,Ws),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};rh=Ys;O.RelativeObjectIdentifier=rh;Ys.NAME="RelativeObjectIdentifier";var nh,It=class extends Rr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};nh=It;O.Sequence=nh;It.NAME="SEQUENCE";var oh,Zs=class extends Rr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};oh=Zs;O.Set=oh;Zs.NAME="SET";var Js=class extends sr(Mt){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=Dn}toJSON(){return{...super.toJSON(),value:this.value}}};Js.NAME="StringValueBlock";var Xs=class extends Js{};Xs.NAME="SimpleStringValueBlock";var qt=class extends Os{constructor({...t}={}){super(t,Xs)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,Z.BufferSourceConverter.toUint8Array(t))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e);for(let o=0;o<e;o++)n[o]=t.charCodeAt(o);this.valueBlock.value=t}};qt.NAME="SIMPLE STRING";var Qs=class extends qt{fromBuffer(t){this.valueBlock.valueHexView=Z.BufferSourceConverter.toUint8Array(t);try{this.valueBlock.value=Z.Convert.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=Z.Convert.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(Z.Convert.FromUtf8String(t)),this.valueBlock.value=t}};Qs.NAME="Utf8StringValueBlock";var sh,nr=class extends Qs{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};sh=nr;O.Utf8String=sh;nr.NAME="UTF8String";var ti=class extends qt{fromBuffer(t){this.valueBlock.value=Z.Convert.ToUtf16String(t),this.valueBlock.valueHexView=Z.BufferSourceConverter.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(Z.Convert.FromUtf16String(t))}};ti.NAME="BmpStringValueBlock";var ih,ei=class extends ti{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};ih=ei;O.BmpString=ih;ei.NAME="BMPString";var ri=class extends qt{fromBuffer(t){let e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),n=new Uint8Array(e);for(let o=0;o<n.length;o+=4)n[o]=n[o+3],n[o+1]=n[o+2],n[o+2]=0,n[o+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e*4);for(let o=0;o<e;o++){let s=Ir(t.charCodeAt(o),8),i=new Uint8Array(s);if(i.length>4)continue;let a=4-i.length;for(let c=i.length-1;c>=0;c--)n[o*4+c+a]=i[c]}this.valueBlock.value=t}};ri.NAME="UniversalStringValueBlock";var ah,ni=class extends ri{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};ah=ni;O.UniversalString=ah;ni.NAME="UniversalString";var ch,oi=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};ch=oi;O.NumericString=ch;oi.NAME="NumericString";var uh,si=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};uh=si;O.PrintableString=uh;si.NAME="PrintableString";var lh,ii=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};lh=ii;O.TeletexString=lh;ii.NAME="TeletexString";var fh,ai=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};fh=ai;O.VideotexString=fh;ai.NAME="VideotexString";var hh,ci=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};hh=ci;O.IA5String=hh;ci.NAME="IA5String";var dh,ui=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};dh=ui;O.GraphicString=dh;ui.NAME="GraphicString";var ph,So=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};ph=So;O.VisibleString=ph;So.NAME="VisibleString";var mh,li=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};mh=li;O.GeneralString=mh;li.NAME="GeneralString";var gh,fi=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};gh=fi;O.CharacterString=gh;fi.NAME="CharacterString";var yh,Io=class extends So{constructor({value:t,valueDate:e,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let o=0;o<t.length;o++)this.valueBlock.valueHexView[o]=t.charCodeAt(o)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,Z.BufferSourceConverter.toUint8Array(t)))}toBuffer(){let t=this.toString(),e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let o=0;o<t.length;o++)n[o]=t.charCodeAt(o);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(t);if(n===null){this.error="Wrong input string for conversion";return}let o=parseInt(n[1],10);o>=50?this.year=1900+o:this.year=2e3+o,this.month=parseInt(n[2],10),this.day=parseInt(n[3],10),this.hour=parseInt(n[4],10),this.minute=parseInt(n[5],10),this.second=parseInt(n[6],10)}toString(t="iso"){if(t==="iso"){let e=new Array(7);return e[0]=Yt(this.year<2e3?this.year-1900:this.year-2e3,2),e[1]=Yt(this.month,2),e[2]=Yt(this.day,2),e[3]=Yt(this.hour,2),e[4]=Yt(this.minute,2),e[5]=Yt(this.second,2),e[6]="Z",e.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};yh=Io;O.UTCTime=yh;Io.NAME="UTCTime";var wh,hi=class extends Io{constructor(t={}){var e;super(t),(e=this.millisecond)!==null&&e!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(t){let e=!1,n="",o="",s=0,i,a=0,c=0;if(t[t.length-1]==="Z")n=t.substring(0,t.length-1),e=!0;else{let l=new Number(t[t.length-1]);if(isNaN(l.valueOf()))throw new Error("Wrong input string for conversion");n=t}if(e){if(n.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(n.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let l=1,m=n.indexOf("+"),h="";if(m===-1&&(m=n.indexOf("-"),l=-1),m!==-1){if(h=n.substring(m+1),n=n.substring(0,m),h.length!==2&&h.length!==4)throw new Error("Wrong input string for conversion");let p=parseInt(h.substring(0,2),10);if(isNaN(p.valueOf()))throw new Error("Wrong input string for conversion");if(a=l*p,h.length===4){if(p=parseInt(h.substring(2,4),10),isNaN(p.valueOf()))throw new Error("Wrong input string for conversion");c=l*p}}}let u=n.indexOf(".");if(u===-1&&(u=n.indexOf(",")),u!==-1){let l=new Number(`0${n.substring(u)}`);if(isNaN(l.valueOf()))throw new Error("Wrong input string for conversion");s=l.valueOf(),o=n.substring(0,u)}else o=n;switch(!0){case o.length===8:if(i=/(\d{4})(\d{2})(\d{2})/ig,u!==-1)throw new Error("Wrong input string for conversion");break;case o.length===10:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let l=60*s;this.minute=Math.floor(l),l=60*(l-this.minute),this.second=Math.floor(l),l=1e3*(l-this.second),this.millisecond=Math.floor(l)}break;case o.length===12:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let l=60*s;this.second=Math.floor(l),l=1e3*(l-this.second),this.millisecond=Math.floor(l)}break;case o.length===14:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let l=1e3*s;this.millisecond=Math.floor(l)}break;default:throw new Error("Wrong input string for conversion")}let f=i.exec(o);if(f===null)throw new Error("Wrong input string for conversion");for(let l=1;l<f.length;l++)switch(l){case 1:this.year=parseInt(f[l],10);break;case 2:this.month=parseInt(f[l],10);break;case 3:this.day=parseInt(f[l],10);break;case 4:this.hour=parseInt(f[l],10)+a;break;case 5:this.minute=parseInt(f[l],10)+c;break;case 6:this.second=parseInt(f[l],10);break;default:throw new Error("Wrong input string for conversion")}if(e===!1){let l=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=l.getUTCFullYear(),this.month=l.getUTCMonth(),this.day=l.getUTCDay(),this.hour=l.getUTCHours(),this.minute=l.getUTCMinutes(),this.second=l.getUTCSeconds(),this.millisecond=l.getUTCMilliseconds()}}toString(t="iso"){if(t==="iso"){let e=[];return e.push(Yt(this.year,4)),e.push(Yt(this.month,2)),e.push(Yt(this.day,2)),e.push(Yt(this.hour,2)),e.push(Yt(this.minute,2)),e.push(Yt(this.second,2)),this.millisecond!==0&&(e.push("."),e.push(Yt(this.millisecond,3))),e.push("Z"),e.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};wh=hi;O.GeneralizedTime=wh;hi.NAME="GeneralizedTime";var bh,di=class extends nr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};bh=di;O.DATE=bh;di.NAME="DATE";var xh,pi=class extends nr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};xh=pi;O.TimeOfDay=xh;pi.NAME="TimeOfDay";var Eh,mi=class extends nr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};Eh=mi;O.DateTime=Eh;mi.NAME="DateTime";var vh,gi=class extends nr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};vh=gi;O.Duration=vh;gi.NAME="Duration";var Ah,yi=class extends nr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};Ah=yi;O.TIME=Ah;yi.NAME="TIME";function fw(r){let{result:t}=Pn(r),e=t.valueBlock.value;return{n:G(Oe(e[1].toBigInt()),"base64url"),e:G(Oe(e[2].toBigInt()),"base64url"),d:G(Oe(e[3].toBigInt()),"base64url"),p:G(Oe(e[4].toBigInt()),"base64url"),q:G(Oe(e[5].toBigInt()),"base64url"),dp:G(Oe(e[6].toBigInt()),"base64url"),dq:G(Oe(e[7].toBigInt()),"base64url"),qi:G(Oe(e[8].toBigInt()),"base64url"),kty:"RSA",alg:"RS256"}}function hw(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw new D("JWK was missing components","ERR_INVALID_PARAMETERS");let e=new It({value:[new bt({value:0}),bt.fromBigInt(Fe(q(r.n,"base64url"))),bt.fromBigInt(Fe(q(r.e,"base64url"))),bt.fromBigInt(Fe(q(r.d,"base64url"))),bt.fromBigInt(Fe(q(r.p,"base64url"))),bt.fromBigInt(Fe(q(r.q,"base64url"))),bt.fromBigInt(Fe(q(r.dp,"base64url"))),bt.fromBigInt(Fe(q(r.dq,"base64url"))),bt.fromBigInt(Fe(q(r.qi,"base64url")))]}).toBER();return new Uint8Array(e,0,e.byteLength)}function dw(r){let{result:t}=Pn(r),e=t.valueBlock.value[1].valueBlock.value[0].valueBlock.value;return{kty:"RSA",n:G(Oe(e[0].toBigInt()),"base64url"),e:G(Oe(e[1].toBigInt()),"base64url")}}function pw(r){if(r.n==null||r.e==null)throw new D("JWK was missing components","ERR_INVALID_PARAMETERS");let e=new It({value:[new It({value:[new ve({value:"1.2.840.113549.1.1.1"}),new _r]}),new Un({valueHex:new It({value:[bt.fromBigInt(Fe(q(r.n,"base64url"))),bt.fromBigInt(Fe(q(r.e,"base64url")))]}).toBER()})]}).toBER();return new Uint8Array(e,0,e.byteLength)}function Oe(r){let t=r.toString(16);t.length%2>0&&(t=`0${t}`);let e=t.length/2,n=new Uint8Array(e),o=0,s=0;for(;o<e;)n[o]=parseInt(t.slice(s,s+2),16),o+=1,s+=2;return n}function Fe(r){let t=[];return r.forEach(function(e){let n=e.toString(16);n.length%2>0&&(n=`0${n}`),t.push(n)}),BigInt("0x"+t.join(""))}var mw=16,$c=32,Hc=1e4;async function gw(r,t){let e=Kt.get(),o=new It({value:[new bt({value:0}),new It({value:[new ve({value:"1.2.840.113549.1.1.1"}),new _r]}),new rr({valueHex:r.marshal()})]}).toBER(),s=new Uint8Array(o,0,o.byteLength),i=De(mw),a=await Pc(In,t,i,{c:Hc,dkLen:$c}),c=De(16),u=await e.subtle.importKey("raw",a,"AES-CBC",!1,["encrypt"]),f=await e.subtle.encrypt({name:"AES-CBC",iv:c},u,s),l=new It({value:[new rr({valueHex:i}),new bt({value:Hc}),new bt({value:$c}),new It({value:[new ve({value:"1.2.840.113549.2.11"}),new _r]})]}),m=new It({value:[new ve({value:"1.2.840.113549.1.5.13"}),new It({value:[new It({value:[new ve({value:"1.2.840.113549.1.5.12"}),l]}),new It({value:[new ve({value:"2.16.840.1.101.3.4.1.42"}),new rr({valueHex:c})]})]})]}),p=new It({value:[m,new rr({valueHex:f})]}).toBER(),d=new Uint8Array(p,0,p.byteLength);return["-----BEGIN ENCRYPTED PRIVATE KEY-----",...G(d,"base64pad").split(/(.{64})/).filter(Boolean),"-----END ENCRYPTED PRIVATE KEY-----"].join(`
|
|
8
|
-
`)}async function yw(r,t){let e=Kt.get(),n;if(r.includes("-----BEGIN ENCRYPTED PRIVATE KEY-----")){let o=q(r.replace("-----BEGIN ENCRYPTED PRIVATE KEY-----","").replace("-----END ENCRYPTED PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:s}=Pn(o),{iv:i,salt:a,iterations:c,keySize:u,cipherText:f}=ww(s),l=await Pc(In,t,a,{c,dkLen:u}),m=await e.subtle.importKey("raw",l,"AES-CBC",!1,["decrypt"]),h=Ro(await e.subtle.decrypt({name:"AES-CBC",iv:i},m,f)),{result:p}=Pn(h);n=Bh(p)}else if(r.includes("-----BEGIN PRIVATE KEY-----")){let o=q(r.replace("-----BEGIN PRIVATE KEY-----","").replace("-----END PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:s}=Pn(o);n=Bh(s)}else throw new D("Could not parse private key from PEM data","ERR_INVALID_PARAMETERS");return Kc(n)}function ww(r){let t=r.valueBlock.value[0];if(t.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.13")throw new D("Only pkcs5PBES2 encrypted private keys are supported","ERR_INVALID_PARAMS");let n=t.valueBlock.value[1].valueBlock.value[0];if(n.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.12")throw new D("Only pkcs5PBKDF2 key derivation functions are supported","ERR_INVALID_PARAMS");let s=n.valueBlock.value[1],i=Ro(s.valueBlock.value[0].getValue()),a=Hc,c=$c;if(s.valueBlock.value.length===3)a=Number(s.valueBlock.value[1].toBigInt()),c=Number(s.valueBlock.value[2].toBigInt());else if(s.valueBlock.value.length===2)throw new D("Could not derive key size and iterations from PEM file - please use @libp2p/rsa to re-import your key","ERR_INVALID_PARAMS");let u=t.valueBlock.value[1].valueBlock.value[1],f=u.valueBlock.value[0].toString();if(f!=="OBJECT IDENTIFIER : 1.2.840.113549.3.7"){if(f!=="OBJECT IDENTIFIER : 1.3.14.3.2.7"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.2"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.22"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.42")throw new D("Only AES-CBC encryption schemes are supported","ERR_INVALID_PARAMS")}}}}let l=Ro(u.valueBlock.value[1].getValue());return{cipherText:Ro(r.valueBlock.value[1].getValue()),salt:i,iterations:a,keySize:c,iv:l}}function Bh(r){return Ro(r.valueBlock.value[2].getValue())}function Ro(r){return new Uint8Array(r,0,r.byteLength)}async function kh(r){let t=await Kt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),e=await Rh(t);return{privateKey:e[0],publicKey:e[1]}}async function qc(r){let e=[await Kt.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await bw(r)],n=await Rh({privateKey:e[0],publicKey:e[1]});return{privateKey:n[0],publicKey:n[1]}}async function Sh(r,t){let e=await Kt.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Kt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function Ih(r,t,e){let n=await Kt.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Kt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e instanceof Uint8Array?e:e.subarray())}async function Rh(r){if(r.privateKey==null||r.publicKey==null)throw new D("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([Kt.get().subtle.exportKey("jwk",r.privateKey),Kt.get().subtle.exportKey("jwk",r.publicKey)])}async function bw(r){return Kt.get().subtle.importKey("jwk",{kty:r.kty,n:r.n,e:r.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function bi(r){if(r.kty!=="RSA")throw new D("invalid key type","ERR_INVALID_KEY_TYPE");if(r.n==null)throw new D("invalid key modulus","ERR_INVALID_KEY_MODULUS");return q(r.n,"base64url").length*8}var To=8192,_o=class{_key;constructor(t){this._key=t}verify(t,e){return Ih(this._key,e,t)}marshal(){return Tr.jwkToPkix(this._key)}get bytes(){return Ue.encode({Type:gt.RSA,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}hash(){let t=At.digest(this.bytes);return fe(t)?t.then(({bytes:e})=>e):t.bytes}},On=class{_key;_publicKey;constructor(t,e){this._key=t,this._publicKey=e}genSecret(){return De(16)}sign(t){return Sh(this._key,t)}get public(){if(this._publicKey==null)throw new D("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new _o(this._publicKey)}marshal(){return Tr.jwkToPkcs1(this._key)}get bytes(){return Qe.encode({Type:gt.RSA,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}hash(){let t=At.digest(this.bytes);return fe(t)?t.then(({bytes:e})=>e):t.bytes}async id(){let t=await this.public.hash();return G(t,"base58btc")}async export(t,e="pkcs-8"){if(e==="pkcs-8")return Tr.exportToPem(this,t);if(e==="libp2p-key")return Cn(this.bytes,t);throw new D(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};async function Kc(r){let t=Tr.pkcs1ToJwk(r);if(bi(t)>To)throw new D("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await qc(t);return new On(e.privateKey,e.publicKey)}function Ew(r){let t=Tr.pkixToJwk(r);if(bi(t)>To)throw new D("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new _o(t)}async function vw(r){if(bi(r)>To)throw new D("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await qc(r);return new On(t.privateKey,t.publicKey)}async function Aw(r){if(r>To)throw new D("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await kh(r);return new On(t.privateKey,t.publicKey)}var Zc={};vt(Zc,{Secp256k1PrivateKey:()=>No,Secp256k1PublicKey:()=>Co,generateKeyPair:()=>Pw,unmarshalSecp256k1PrivateKey:()=>Uw,unmarshalSecp256k1PublicKey:()=>Dw});var Bw=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Cr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Nr=new Uint32Array(64),Gc=class extends Sn{constructor(){super(64,32,8,!1),this.A=Cr[0]|0,this.B=Cr[1]|0,this.C=Cr[2]|0,this.D=Cr[3]|0,this.E=Cr[4]|0,this.F=Cr[5]|0,this.G=Cr[6]|0,this.H=Cr[7]|0}get(){let{A:t,B:e,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[t,e,n,o,s,i,a,c]}set(t,e,n,o,s,i,a,c){this.A=t|0,this.B=e|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,e){for(let l=0;l<16;l++,e+=4)Nr[l]=t.getUint32(e,!1);for(let l=16;l<64;l++){let m=Nr[l-15],h=Nr[l-2],p=xe(m,7)^xe(m,18)^m>>>3,d=xe(h,17)^xe(h,19)^h>>>10;Nr[l]=d+Nr[l-7]+p+Nr[l-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:u,H:f}=this;for(let l=0;l<64;l++){let m=xe(a,6)^xe(a,11)^xe(a,25),h=f+m+df(a,c,u)+Bw[l]+Nr[l]|0,d=(xe(n,2)^xe(n,13)^xe(n,22))+pf(n,o,s)|0;f=u,u=c,c=a,a=i+h|0,i=s,s=o,o=n,n=h+d|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,f=f+this.H|0,this.set(n,o,s,i,a,c,u,f)}roundClean(){Nr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var _h=bs(()=>new Gc);function kw(r){let t=yo(r);Le(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:e,Fp:n,a:o}=t;if(e){if(!n.eql(o,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:Sw,hexToBytes:Iw}=vs,Zr={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(r){let{Err:t}=Zr;if(r.length<2||r[0]!==2)throw new t("Invalid signature integer tag");let e=r[1],n=r.subarray(2,e+2);if(!e||n.length!==e)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:Sw(n),l:r.subarray(e+2)}},toSig(r){let{Err:t}=Zr,e=typeof r=="string"?Iw(r):r;Rn(e);let n=e.length;if(n<2||e[0]!=48)throw new t("Invalid signature tag");if(e[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:o,l:s}=Zr._parseInt(e.subarray(2)),{d:i,l:a}=Zr._parseInt(s);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:o,s:i}},hexFromSig(r){let t=u=>Number.parseInt(u[0],16)&8?"00"+u:u,e=u=>{let f=u.toString(16);return f.length&1?`0${f}`:f},n=t(e(r.s)),o=t(e(r.r)),s=n.length/2,i=o.length/2,a=e(s),c=e(i);return`30${e(i+s+4)}02${c}${o}02${a}${n}`}},ir=BigInt(0),de=BigInt(1),zA=BigInt(2),Th=BigInt(3),GA=BigInt(4);function Rw(r){let t=kw(r),{Fp:e}=t,n=t.toBytes||((p,d,w)=>{let g=d.toAffine();return Ze(Uint8Array.from([4]),e.toBytes(g.x),e.toBytes(g.y))}),o=t.fromBytes||(p=>{let d=p.subarray(1),w=e.fromBytes(d.subarray(0,e.BYTES)),g=e.fromBytes(d.subarray(e.BYTES,2*e.BYTES));return{x:w,y:g}});function s(p){let{a:d,b:w}=t,g=e.sqr(p),x=e.mul(g,p);return e.add(e.add(x,e.mul(p,d)),w)}if(!e.eql(e.sqr(t.Gy),s(t.Gx)))throw new Error("bad generator point: equation left != right");function i(p){return typeof p=="bigint"&&ir<p&&p<t.n}function a(p){if(!i(p))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(p){let{allowedPrivateKeyLengths:d,nByteLength:w,wrapPrivateKey:g,n:x}=t;if(d&&typeof p!="bigint"){if(Br(p)&&(p=We(p)),typeof p!="string"||!d.includes(p.length))throw new Error("Invalid key");p=p.padStart(w*2,"0")}let b;try{b=typeof p=="bigint"?p:Ye(mt("private key",p,w))}catch{throw new Error(`private key must be ${w} bytes, hex or bigint, not ${typeof p}`)}return g&&(b=at(b,x)),a(b),b}let u=new Map;function f(p){if(!(p instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(d,w,g){if(this.px=d,this.py=w,this.pz=g,d==null||!e.isValid(d))throw new Error("x required");if(w==null||!e.isValid(w))throw new Error("y required");if(g==null||!e.isValid(g))throw new Error("z required")}static fromAffine(d){let{x:w,y:g}=d||{};if(!d||!e.isValid(w)||!e.isValid(g))throw new Error("invalid affine point");if(d instanceof l)throw new Error("projective point not allowed");let x=b=>e.eql(b,e.ZERO);return x(w)&&x(g)?l.ZERO:new l(w,g,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){let w=e.invertBatch(d.map(g=>g.pz));return d.map((g,x)=>g.toAffine(w[x])).map(l.fromAffine)}static fromHex(d){let w=l.fromAffine(o(mt("pointHex",d)));return w.assertValidity(),w}static fromPrivateKey(d){return l.BASE.multiply(c(d))}_setWindowSize(d){this._WINDOW_SIZE=d,u.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!e.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:d,y:w}=this.toAffine();if(!e.isValid(d)||!e.isValid(w))throw new Error("bad point: x or y not FE");let g=e.sqr(w),x=s(d);if(!e.eql(g,x))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:d}=this.toAffine();if(e.isOdd)return!e.isOdd(d);throw new Error("Field doesn't support isOdd")}equals(d){f(d);let{px:w,py:g,pz:x}=this,{px:b,py:B,pz:A}=d,I=e.eql(e.mul(w,A),e.mul(b,x)),v=e.eql(e.mul(g,A),e.mul(B,x));return I&&v}negate(){return new l(this.px,e.neg(this.py),this.pz)}double(){let{a:d,b:w}=t,g=e.mul(w,Th),{px:x,py:b,pz:B}=this,A=e.ZERO,I=e.ZERO,v=e.ZERO,E=e.mul(x,x),U=e.mul(b,b),P=e.mul(B,B),N=e.mul(x,b);return N=e.add(N,N),v=e.mul(x,B),v=e.add(v,v),A=e.mul(d,v),I=e.mul(g,P),I=e.add(A,I),A=e.sub(U,I),I=e.add(U,I),I=e.mul(A,I),A=e.mul(N,A),v=e.mul(g,v),P=e.mul(d,P),N=e.sub(E,P),N=e.mul(d,N),N=e.add(N,v),v=e.add(E,E),E=e.add(v,E),E=e.add(E,P),E=e.mul(E,N),I=e.add(I,E),P=e.mul(b,B),P=e.add(P,P),E=e.mul(P,N),A=e.sub(A,E),v=e.mul(P,U),v=e.add(v,v),v=e.add(v,v),new l(A,I,v)}add(d){f(d);let{px:w,py:g,pz:x}=this,{px:b,py:B,pz:A}=d,I=e.ZERO,v=e.ZERO,E=e.ZERO,U=t.a,P=e.mul(t.b,Th),N=e.mul(w,b),M=e.mul(g,B),C=e.mul(x,A),X=e.add(w,g),S=e.add(b,B);X=e.mul(X,S),S=e.add(N,M),X=e.sub(X,S),S=e.add(w,x);let T=e.add(b,A);return S=e.mul(S,T),T=e.add(N,C),S=e.sub(S,T),T=e.add(g,x),I=e.add(B,A),T=e.mul(T,I),I=e.add(M,C),T=e.sub(T,I),E=e.mul(U,S),I=e.mul(P,C),E=e.add(I,E),I=e.sub(M,E),E=e.add(M,E),v=e.mul(I,E),M=e.add(N,N),M=e.add(M,N),C=e.mul(U,C),S=e.mul(P,S),M=e.add(M,C),C=e.sub(N,C),C=e.mul(U,C),S=e.add(S,C),N=e.mul(M,S),v=e.add(v,N),N=e.mul(T,S),I=e.mul(X,I),I=e.sub(I,N),N=e.mul(X,M),E=e.mul(T,E),E=e.add(E,N),new l(I,v,E)}subtract(d){return this.add(d.negate())}is0(){return this.equals(l.ZERO)}wNAF(d){return h.wNAFCached(this,u,d,w=>{let g=e.invertBatch(w.map(x=>x.pz));return w.map((x,b)=>x.toAffine(g[b])).map(l.fromAffine)})}multiplyUnsafe(d){let w=l.ZERO;if(d===ir)return w;if(a(d),d===de)return this;let{endo:g}=t;if(!g)return h.unsafeLadder(this,d);let{k1neg:x,k1:b,k2neg:B,k2:A}=g.splitScalar(d),I=w,v=w,E=this;for(;b>ir||A>ir;)b&de&&(I=I.add(E)),A&de&&(v=v.add(E)),E=E.double(),b>>=de,A>>=de;return x&&(I=I.negate()),B&&(v=v.negate()),v=new l(e.mul(v.px,g.beta),v.py,v.pz),I.add(v)}multiply(d){a(d);let w=d,g,x,{endo:b}=t;if(b){let{k1neg:B,k1:A,k2neg:I,k2:v}=b.splitScalar(w),{p:E,f:U}=this.wNAF(A),{p:P,f:N}=this.wNAF(v);E=h.constTimeNegate(B,E),P=h.constTimeNegate(I,P),P=new l(e.mul(P.px,b.beta),P.py,P.pz),g=E.add(P),x=U.add(N)}else{let{p:B,f:A}=this.wNAF(w);g=B,x=A}return l.normalizeZ([g,x])[0]}multiplyAndAddUnsafe(d,w,g){let x=l.BASE,b=(A,I)=>I===ir||I===de||!A.equals(x)?A.multiplyUnsafe(I):A.multiply(I),B=b(this,w).add(b(d,g));return B.is0()?void 0:B}toAffine(d){let{px:w,py:g,pz:x}=this,b=this.is0();d==null&&(d=b?e.ONE:e.inv(x));let B=e.mul(w,d),A=e.mul(g,d),I=e.mul(x,d);if(b)return{x:e.ZERO,y:e.ZERO};if(!e.eql(I,e.ONE))throw new Error("invZ was invalid");return{x:B,y:A}}isTorsionFree(){let{h:d,isTorsionFree:w}=t;if(d===de)return!0;if(w)return w(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:d,clearCofactor:w}=t;return d===de?this:w?w(l,this):this.multiplyUnsafe(t.h)}toRawBytes(d=!0){return this.assertValidity(),n(l,this,d)}toHex(d=!0){return We(this.toRawBytes(d))}}l.BASE=new l(t.Gx,t.Gy,e.ONE),l.ZERO=new l(e.ZERO,e.ONE,e.ZERO);let m=t.nBitLength,h=ks(l,t.endo?Math.ceil(m/2):m);return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:i}}function _w(r){let t=yo(r);return Le(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Ch(r){let t=_w(r),{Fp:e,n}=t,o=e.BYTES+1,s=2*e.BYTES+1;function i(S){return ir<S&&S<e.ORDER}function a(S){return at(S,n)}function c(S){return As(S,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:m}=Rw({...t,toBytes(S,T,H){let _=T.toAffine(),k=e.toBytes(_.x),F=Ze;return H?F(Uint8Array.from([T.hasEvenY()?2:3]),k):F(Uint8Array.from([4]),k,e.toBytes(_.y))},fromBytes(S){let T=S.length,H=S[0],_=S.subarray(1);if(T===o&&(H===2||H===3)){let k=Ye(_);if(!i(k))throw new Error("Point is not on curve");let F=l(k),$;try{$=e.sqrt(F)}catch(Y){let rt=Y instanceof Error?": "+Y.message:"";throw new Error("Point is not on curve"+rt)}let K=($&de)===de;return(H&1)===1!==K&&($=e.neg($)),{x:k,y:$}}else if(T===s&&H===4){let k=e.fromBytes(_.subarray(0,e.BYTES)),F=e.fromBytes(_.subarray(e.BYTES,2*e.BYTES));return{x:k,y:F}}else throw new Error(`Point of length ${T} was invalid. Expected ${o} compressed bytes or ${s} uncompressed bytes`)}}),h=S=>We(Sr(S,t.nByteLength));function p(S){let T=n>>de;return S>T}function d(S){return p(S)?a(-S):S}let w=(S,T,H)=>Ye(S.slice(T,H));class g{constructor(T,H,_){this.r=T,this.s=H,this.recovery=_,this.assertValidity()}static fromCompact(T){let H=t.nByteLength;return T=mt("compactSignature",T,H*2),new g(w(T,0,H),w(T,H,2*H))}static fromDER(T){let{r:H,s:_}=Zr.toSig(mt("DER",T));return new g(H,_)}assertValidity(){if(!m(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!m(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(T){return new g(this.r,this.s,T)}recoverPublicKey(T){let{r:H,s:_,recovery:k}=this,F=v(mt("msgHash",T));if(k==null||![0,1,2,3].includes(k))throw new Error("recovery id invalid");let $=k===2||k===3?H+t.n:H;if($>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let K=k&1?"03":"02",W=u.fromHex(K+h($)),Y=c($),rt=a(-F*Y),J=a(_*Y),Q=u.BASE.multiplyAndAddUnsafe(W,rt,J);if(!Q)throw new Error("point at infinify");return Q.assertValidity(),Q}hasHighS(){return p(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return zr(this.toDERHex())}toDERHex(){return Zr.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return zr(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}let x={isValidPrivateKey(S){try{return f(S),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let S=Rc(t.n);return kf(t.randomBytes(S),t.n)},precompute(S=8,T=u.BASE){return T._setWindowSize(S),T.multiply(BigInt(3)),T}};function b(S,T=!0){return u.fromPrivateKey(S).toRawBytes(T)}function B(S){let T=Br(S),H=typeof S=="string",_=(T||H)&&S.length;return T?_===o||_===s:H?_===2*o||_===2*s:S instanceof u}function A(S,T,H=!0){if(B(S))throw new Error("first arg must be private key");if(!B(T))throw new Error("second arg must be public key");return u.fromHex(T).multiply(f(S)).toRawBytes(H)}let I=t.bits2int||function(S){let T=Ye(S),H=S.length*8-t.nBitLength;return H>0?T>>BigInt(H):T},v=t.bits2int_modN||function(S){return a(I(S))},E=go(t.nBitLength);function U(S){if(typeof S!="bigint")throw new Error("bigint expected");if(!(ir<=S&&S<E))throw new Error(`bigint expected < 2^${t.nBitLength}`);return Sr(S,t.nByteLength)}function P(S,T,H=N){if(["recovered","canonical"].some(dt=>dt in H))throw new Error("sign() legacy options not supported");let{hash:_,randomBytes:k}=t,{lowS:F,prehash:$,extraEntropy:K}=H;F==null&&(F=!0),S=mt("msgHash",S),$&&(S=mt("prehashed msgHash",_(S)));let W=v(S),Y=f(T),rt=[U(Y),U(W)];if(K!=null&&K!==!1){let dt=K===!0?k(e.BYTES):K;rt.push(mt("extraEntropy",dt))}let J=Ze(...rt),Q=W;function wt(dt){let _t=I(dt);if(!m(_t))return;let Tt=c(_t),Et=u.BASE.multiply(_t).toAffine(),Ot=a(Et.x);if(Ot===ir)return;let Ke=a(Tt*a(Q+Ot*Y));if(Ke===ir)return;let Fr=(Et.x===Ot?0:2)|Number(Et.y&de),no=Ke;return F&&p(Ke)&&(no=d(Ke),Fr^=1),new g(Ot,no,Fr)}return{seed:J,k2sig:wt}}let N={lowS:t.lowS,prehash:!1},M={lowS:t.lowS,prehash:!1};function C(S,T,H=N){let{seed:_,k2sig:k}=P(S,T,H),F=t;return Bc(F.hash.outputLen,F.nByteLength,F.hmac)(_,k)}u.BASE._setWindowSize(8);function X(S,T,H,_=M){let k=S;if(T=mt("msgHash",T),H=mt("publicKey",H),"strict"in _)throw new Error("options.strict was renamed to lowS");let{lowS:F,prehash:$}=_,K,W;try{if(typeof k=="string"||Br(k))try{K=g.fromDER(k)}catch(Et){if(!(Et instanceof Zr.Err))throw Et;K=g.fromCompact(k)}else if(typeof k=="object"&&typeof k.r=="bigint"&&typeof k.s=="bigint"){let{r:Et,s:Ot}=k;K=new g(Et,Ot)}else throw new Error("PARSE");W=u.fromHex(H)}catch(Et){if(Et.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(F&&K.hasHighS())return!1;$&&(T=t.hash(T));let{r:Y,s:rt}=K,J=v(T),Q=c(rt),wt=a(J*Q),dt=a(Y*Q),_t=u.BASE.multiplyAndAddUnsafe(W,wt,dt)?.toAffine();return _t?a(_t.x)===Y:!1}return{CURVE:t,getPublicKey:b,getSharedSecret:A,sign:C,verify:X,ProjectivePoint:u,Signature:g,utils:x}}function Tw(r){return{hash:r,hmac:(t,...e)=>bo(r,t,ws(...e)),randomBytes:kn}}function Nh(r,t){let e=n=>Ch({...r,...Tw(n)});return Object.freeze({...e(t),create:e})}var Dh=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Lh=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Cw=BigInt(1),jc=BigInt(2),Uh=(r,t)=>(r+t/jc)/t;function Nw(r){let t=Dh,e=BigInt(3),n=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),a=BigInt(44),c=BigInt(88),u=r*r*r%t,f=u*u*r%t,l=lt(f,e,t)*f%t,m=lt(l,e,t)*f%t,h=lt(m,jc,t)*u%t,p=lt(h,o,t)*h%t,d=lt(p,s,t)*p%t,w=lt(d,a,t)*d%t,g=lt(w,c,t)*w%t,x=lt(g,a,t)*d%t,b=lt(x,e,t)*f%t,B=lt(b,i,t)*p%t,A=lt(B,n,t)*u%t,I=lt(A,jc,t);if(!Wc.eql(Wc.sqr(I),r))throw new Error("Cannot find square root");return I}var Wc=Bs(Dh,void 0,void 0,{sqrt:Nw}),Be=Nh({a:BigInt(0),b:BigInt(7),Fp:Wc,n:Lh,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=Lh,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Cw*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=e,i=BigInt("0x100000000000000000000000000000000"),a=Uh(s*r,t),c=Uh(-n*r,t),u=at(r-a*e-c*o,t),f=at(-a*n-c*s,t),l=u>i,m=f>i;if(l&&(u=t-u),m&&(f=t-f),u>i||f>i)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:l,k1:u,k2neg:m,k2:f}}}},_h),e8=BigInt(0);var r8=Be.ProjectivePoint;function Ph(){return Be.utils.randomPrivateKey()}function Oh(r,t){let e=At.digest(t instanceof Uint8Array?t:t.subarray());if(fe(e))return e.then(({digest:n})=>Be.sign(n,r).toDERRawBytes()).catch(n=>{throw new D(String(n),"ERR_INVALID_INPUT")});try{return Be.sign(e.digest,r).toDERRawBytes()}catch(n){throw new D(String(n),"ERR_INVALID_INPUT")}}function Fh(r,t,e){let n=At.digest(e instanceof Uint8Array?e:e.subarray());if(fe(n))return n.then(({digest:o})=>Be.verify(t,o,r)).catch(o=>{throw new D(String(o),"ERR_INVALID_INPUT")});try{return Be.verify(t,n.digest,r)}catch(o){throw new D(String(o),"ERR_INVALID_INPUT")}}function Vh(r){return Be.ProjectivePoint.fromHex(r).toRawBytes(!0)}function Mh(r){try{Be.getPublicKey(r,!0)}catch(t){throw new D(String(t),"ERR_INVALID_PRIVATE_KEY")}}function Yc(r){try{Be.ProjectivePoint.fromHex(r)}catch(t){throw new D(String(t),"ERR_INVALID_PUBLIC_KEY")}}function $h(r){try{return Be.getPublicKey(r,!0)}catch(t){throw new D(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Co=class{_key;constructor(t){Yc(t),this._key=t}verify(t,e){return Fh(this._key,e,t)}marshal(){return Vh(this._key)}get bytes(){return Ue.encode({Type:gt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}async hash(){let t=At.digest(this.bytes),e;return fe(t)?{bytes:e}=await t:e=t.bytes,e}},No=class{_key;_publicKey;constructor(t,e){this._key=t,this._publicKey=e??$h(t),Mh(this._key),Yc(this._publicKey)}sign(t){return Oh(this._key,t)}get public(){return new Co(this._publicKey)}marshal(){return this._key}get bytes(){return Qe.encode({Type:gt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}hash(){let t=At.digest(this.bytes);return fe(t)?t.then(({bytes:e})=>e):t.bytes}async id(){let t=await this.public.hash();return G(t,"base58btc")}async export(t,e="libp2p-key"){if(e==="libp2p-key")return Cn(this.bytes,t);throw new D(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Uw(r){return new No(r)}function Dw(r){return new Co(r)}async function Pw(){let r=Ph();return new No(r)}var xi={rsa:zc,ed25519:Dc,secp256k1:Zc};function Ow(r){let t=Object.keys(xi).join(" / ");return new D(`invalid or unsupported key type ${r}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Jc(r){let t=Ue.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case gt.RSA:return xi.rsa.unmarshalRsaPublicKey(e);case gt.Ed25519:return xi.ed25519.unmarshalEd25519PublicKey(e);case gt.Secp256k1:return xi.secp256k1.unmarshalSecp256k1PublicKey(e);default:throw Ow(t.Type??"unknown")}}var ee=Jt(Yh(),1);ee.default.formatters.b=r=>r==null?"undefined":ht.baseEncode(r);ee.default.formatters.t=r=>r==null?"undefined":Ct.baseEncode(r);ee.default.formatters.m=r=>r==null?"undefined":le.baseEncode(r);ee.default.formatters.p=r=>r==null?"undefined":r.toString();ee.default.formatters.c=r=>r==null?"undefined":r.toString();ee.default.formatters.k=r=>r==null?"undefined":r.toString();ee.default.formatters.a=r=>r==null?"undefined":r.toString();function Zw(r){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=r,t.destroy=()=>!0,t.extend=()=>t,t}function Zh(){return{forComponent(r){return re(r)}}}function re(r){let t=Zw(`${r}:trace`);return ee.default.enabled(`${r}:trace`)&&ee.default.names.map(e=>e.toString()).find(e=>e.includes(":trace"))!=null&&(t=(0,ee.default)(`${r}:trace`)),Object.assign((0,ee.default)(r),{error:(0,ee.default)(`${r}:error`),trace:t})}var Qc=Jt(Xh(),1);var Do=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},tu=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Qh=r=>globalThis.DOMException===void 0?new tu(r):new DOMException(r),td=r=>{let t=r.reason===void 0?Qh("This operation was aborted."):r.reason;return t instanceof Error?t:Qh(t)};function Po(r,t){let{milliseconds:e,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout}}=t,i,c=new Promise((u,f)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(t.signal){let{signal:m}=t;m.aborted&&f(td(m)),m.addEventListener("abort",()=>{f(td(m))})}if(e===Number.POSITIVE_INFINITY){r.then(u,f);return}let l=new Do;i=s.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(m){f(m)}return}typeof r.cancel=="function"&&r.cancel(),o===!1?u():o instanceof Error?f(o):(l.message=o??`Promise timed out after ${e} milliseconds`,f(l))},e),(async()=>{try{u(await r)}catch(m){f(m)}})()}).finally(()=>{c.clear()});return c.clear=()=>{s.clearTimeout.call(void 0,i),i=void 0},c}function eu(r,t,e){let n=0,o=r.length;for(;o>0;){let s=Math.trunc(o/2),i=n+s;e(r[i],t)<=0?(n=++i,o-=s+1):o=s}return n}var Oo=class{#t=[];enqueue(t,e){e={priority:0,...e};let n={priority:e.priority,run:t};if(this.size&&this.#t[this.size-1].priority>=e.priority){this.#t.push(n);return}let o=eu(this.#t,n,(s,i)=>i.priority-s.priority);this.#t.splice(o,0,n)}dequeue(){return this.#t.shift()?.run}filter(t){return this.#t.filter(e=>e.priority===t.priority).map(e=>e.run)}get size(){return this.#t.length}};var Ve=class extends Qc.default{#t;#e;#r=0;#o;#a;#u=0;#s;#l;#n;#m;#i=0;#f;#c;#g;timeout;constructor(t){if(super(),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Oo,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#t=t.carryoverConcurrencyCount,this.#e=t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,this.#o=t.intervalCap,this.#a=t.interval,this.#n=new t.queueClass,this.#m=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#g=t.throwOnTimeout===!0,this.#c=t.autoStart===!1}get#b(){return this.#e||this.#r<this.#o}get#x(){return this.#i<this.#f}#E(){this.#i--,this.#h(),this.emit("next")}#v(){this.#w(),this.#y(),this.#l=void 0}get#A(){let t=Date.now();if(this.#s===void 0){let e=this.#u-t;if(e<0)this.#r=this.#t?this.#i:0;else return this.#l===void 0&&(this.#l=setTimeout(()=>{this.#v()},e)),!0}return!1}#h(){if(this.#n.size===0)return this.#s&&clearInterval(this.#s),this.#s=void 0,this.emit("empty"),this.#i===0&&this.emit("idle"),!1;if(!this.#c){let t=!this.#A;if(this.#b&&this.#x){let e=this.#n.dequeue();return e?(this.emit("active"),e(),t&&this.#y(),!0):!1}}return!1}#y(){this.#e||this.#s!==void 0||(this.#s=setInterval(()=>{this.#w()},this.#a),this.#u=Date.now()+this.#a)}#w(){this.#r===0&&this.#i===0&&this.#s&&(clearInterval(this.#s),this.#s=void 0),this.#r=this.#t?this.#i:0,this.#d()}#d(){for(;this.#h(););}get concurrency(){return this.#f}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#f=t,this.#d()}async#B(t){return new Promise((e,n)=>{t.addEventListener("abort",()=>{n(t.reason)},{once:!0})})}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:this.#g,...e},new Promise((n,o)=>{this.#n.enqueue(async()=>{this.#i++,this.#r++;try{e.signal?.throwIfAborted();let s=t({signal:e.signal});e.timeout&&(s=Po(Promise.resolve(s),{milliseconds:e.timeout})),e.signal&&(s=Promise.race([s,this.#B(e.signal)]));let i=await s;n(i),this.emit("completed",i)}catch(s){if(s instanceof Do&&!e.throwOnTimeout){n();return}o(s),this.emit("error",s)}finally{this.#E()}},e),this.emit("add"),this.#h()})}async addAll(t,e){return Promise.all(t.map(async n=>this.add(n,e)))}start(){return this.#c?(this.#c=!1,this.#d(),this):this}pause(){this.#c=!0}clear(){this.#n=new this.#m}async onEmpty(){this.#n.size!==0&&await this.#p("empty")}async onSizeLessThan(t){this.#n.size<t||await this.#p("next",()=>this.#n.size<t)}async onIdle(){this.#i===0&&this.#n.size===0||await this.#p("idle")}async#p(t,e){return new Promise(n=>{let o=()=>{e&&!e()||(this.off(t,o),n())};this.on(t,o)})}get size(){return this.#n.size}sizeBy(t){return this.#n.filter(t).length}get pending(){return this.#i}get isPaused(){return this.#c}};function ki(r){let t=[ke.A];return r==null?t:Array.isArray(r)?r.length===0?t:r:[r]}var ru=60;function Si(r){return{Status:r.Status??0,TC:r.TC??r.flag_tc??!1,RD:r.RD??r.flag_rd??!1,RA:r.RA??r.flag_ra??!1,AD:r.AD??r.flag_ad??!1,CD:r.CD??r.flag_cd??!1,Question:(r.Question??r.questions??[]).map(t=>({name:t.name,type:ke[t.type]})),Answer:(r.Answer??r.answers??[]).map(t=>({name:t.name,type:ke[t.type],TTL:t.TTL??t.ttl??ru,data:t.data instanceof Uint8Array?G(t.data):t.data}))}}var Qw=4;function nu(r,t={}){let e=new Ve({concurrency:t.queryConcurrency??Qw});return async(n,o={})=>{let s=new URLSearchParams;s.set("name",n),ki(o.types).forEach(a=>{s.append("type",ke[a])}),o.onProgress?.(new nt("dns:query",{detail:n}));let i=await e.add(async()=>{let a=await fetch(`${r}?${s}`,{headers:{accept:"application/dns-json"},signal:o?.signal});if(a.status!==200)throw new Error(`Unexpected HTTP status: ${a.status} - ${a.statusText}`);let c=Si(await a.json());return o.onProgress?.(new nt("dns:response",{detail:c})),c},{signal:o.signal});if(i==null)throw new Error("No DNS response received");return i}}function ed(){return[nu("https://cloudflare-dns.com/dns-query"),nu("https://dns.google/resolve")]}var od=Jt(nd(),1);var ou=class{lru;constructor(t){this.lru=(0,od.default)(t)}get(t,e){let n=!0,o=[];for(let s of e){let i=this.getAnswers(t,s);if(i.length===0){n=!1;break}o.push(...i)}if(n)return Si({answers:o})}getAnswers(t,e){let n=`${t.toLowerCase()}-${e}`,o=this.lru.get(n);if(o!=null){let s=o.filter(i=>i.expires>Date.now()).map(({expires:i,value:a})=>({...a,TTL:Math.round((i-Date.now())/1e3),type:ke[a.type]}));return s.length===0&&this.lru.remove(n),s}return[]}add(t,e){let n=`${t.toLowerCase()}-${e.type}`,o=this.lru.get(n)??[];o.push({expires:Date.now()+(e.TTL??ru)*1e3,value:e}),this.lru.set(n,o)}remove(t,e){let n=`${t.toLowerCase()}-${e}`;this.lru.remove(n)}clear(){this.lru.clear()}};function sd(r){return new ou(r)}var tb=1e3,Ii=class{resolvers;cache;constructor(t){this.resolvers={},this.cache=sd(t.cacheSize??tb),Object.entries(t.resolvers??{}).forEach(([e,n])=>{Array.isArray(n)||(n=[n]),e.endsWith(".")||(e=`${e}.`),this.resolvers[e]=n}),this.resolvers["."]==null&&(this.resolvers["."]=ed())}async query(t,e={}){let n=ki(e.types),o=e.cached!==!1?this.cache.get(t,n):void 0;if(o!=null)return e.onProgress?.(new nt("dns:cache",{detail:o})),o;let s=`${t.split(".").pop()}.`,i=(this.resolvers[s]??this.resolvers["."]).sort(()=>Math.random()>.5?-1:1),a=[];for(let c of i){if(e.signal?.aborted===!0)break;try{let u=await c(t,{...e,types:n});for(let f of u.Answer)this.cache.add(t,f);return u}catch(u){a.push(u),e.onProgress?.(new nt("dns:error",{detail:u}))}}throw a.length===1?a[0]:new AggregateError(a,`DNS lookup of ${t} ${n} failed`)}};var ke;(function(r){r[r.A=1]="A",r[r.CNAME=5]="CNAME",r[r.TXT=16]="TXT",r[r.AAAA=28]="AAAA"})(ke||(ke={}));function id(r={}){return new Ii(r)}var eb=["string","number","bigint","symbol"],rb=["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 ad(r){if(r===null)return"null";if(r===void 0)return"undefined";if(r===!0||r===!1)return"boolean";let t=typeof r;if(eb.includes(t))return t;if(t==="function")return"Function";if(Array.isArray(r))return"Array";if(nb(r))return"Buffer";let e=ob(r);return e||"Object"}function nb(r){return r&&r.constructor&&r.constructor.isBuffer&&r.constructor.isBuffer.call(null,r)}function ob(r){let t=Object.prototype.toString.call(r).slice(8,-1);if(rb.includes(t))return t}var y=class{constructor(t,e,n){this.major=t,this.majorEncoded=t<<5,this.name=e,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(t){return this.major<t.major?-1:this.major>t.major?1:0}};y.uint=new y(0,"uint",!0);y.negint=new y(1,"negint",!0);y.bytes=new y(2,"bytes",!0);y.string=new y(3,"string",!0);y.array=new y(4,"array",!1);y.map=new y(5,"map",!1);y.tag=new y(6,"tag",!1);y.float=new y(7,"float",!0);y.false=new y(7,"false",!0);y.true=new y(7,"true",!0);y.null=new y(7,"null",!0);y.undefined=new y(7,"undefined",!0);y.break=new y(7,"break",!0);var R=class{constructor(t,e,n){this.type=t,this.value=e,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var $n=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",sb=new TextDecoder,ib=new TextEncoder;function Ri(r){return $n&&globalThis.Buffer.isBuffer(r)}function Fo(r){return r instanceof Uint8Array?Ri(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r:Uint8Array.from(r)}var fd=$n?(r,t,e)=>e-t>64?globalThis.Buffer.from(r.subarray(t,e)).toString("utf8"):ud(r,t,e):(r,t,e)=>e-t>64?sb.decode(r.subarray(t,e)):ud(r,t,e),_i=$n?r=>r.length>64?globalThis.Buffer.from(r):cd(r):r=>r.length>64?ib.encode(r):cd(r),Me=r=>Uint8Array.from(r),Hn=$n?(r,t,e)=>Ri(r)?new Uint8Array(r.subarray(t,e)):r.slice(t,e):(r,t,e)=>r.slice(t,e),hd=$n?(r,t)=>(r=r.map(e=>e instanceof Uint8Array?e:globalThis.Buffer.from(e)),Fo(globalThis.Buffer.concat(r,t))):(r,t)=>{let e=new Uint8Array(t),n=0;for(let o of r)n+o.length>e.length&&(o=o.subarray(0,e.length-n)),e.set(o,n),n+=o.length;return e},dd=$n?r=>globalThis.Buffer.allocUnsafe(r):r=>new Uint8Array(r);function pd(r,t){if(Ri(r)&&Ri(t))return r.compare(t);for(let e=0;e<r.length;e++)if(r[e]!==t[e])return r[e]<t[e]?-1:1;return 0}function cd(r){let t=[],e=0;for(let n=0;n<r.length;n++){let o=r.charCodeAt(n);o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&n+1<r.length&&(r.charCodeAt(n+1)&64512)===56320?(o=65536+((o&1023)<<10)+(r.charCodeAt(++n)&1023),t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128)}return t}function ud(r,t,e){let n=[];for(;t<e;){let o=r[t],s=null,i=o>239?4:o>223?3:o>191?2:1;if(t+i<=e){let a,c,u,f;switch(i){case 1:o<128&&(s=o);break;case 2:a=r[t+1],(a&192)===128&&(f=(o&31)<<6|a&63,f>127&&(s=f));break;case 3:a=r[t+1],c=r[t+2],(a&192)===128&&(c&192)===128&&(f=(o&15)<<12|(a&63)<<6|c&63,f>2047&&(f<55296||f>57343)&&(s=f));break;case 4:a=r[t+1],c=r[t+2],u=r[t+3],(a&192)===128&&(c&192)===128&&(u&192)===128&&(f=(o&15)<<18|(a&63)<<12|(c&63)<<6|u&63,f>65535&&f<1114112&&(s=f))}}s===null?(s=65533,i=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),t+=i}return su(n)}var ld=4096;function su(r){let t=r.length;if(t<=ld)return String.fromCharCode.apply(String,r);let e="",n=0;for(;n<t;)e+=String.fromCharCode.apply(String,r.slice(n,n+=ld));return e}var ab=256,Vo=class{constructor(t=ab){this.chunkSize=t,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(t){let e=this.chunks[this.chunks.length-1];if(this.cursor+t.length<=this.maxCursor+1){let o=e.length-(this.maxCursor-this.cursor)-1;e.set(t,o)}else{if(e){let o=e.length-(this.maxCursor-this.cursor)-1;o<e.length&&(this.chunks[this.chunks.length-1]=e.subarray(0,o),this.maxCursor=this.cursor-1)}t.length<64&&t.length<this.chunkSize?(e=dd(this.chunkSize),this.chunks.push(e),this.maxCursor+=e.length,this._initReuseChunk===null&&(this._initReuseChunk=e),e.set(t,0)):(this.chunks.push(t),this.maxCursor+=t.length)}this.cursor+=t.length}toBytes(t=!1){let e;if(this.chunks.length===1){let n=this.chunks[0];t&&this.cursor>n.length/2?(e=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):e=Hn(n,0,this.cursor)}else e=hd(this.chunks,this.cursor);return t&&this.reset(),e}};var V="CBOR decode error:",Kn="CBOR encode error:",Mo=[];Mo[23]=1;Mo[24]=2;Mo[25]=3;Mo[26]=5;Mo[27]=9;function ar(r,t,e){if(r.length-t<e)throw new Error(`${V} not enough data for type`)}var Rt=[24,256,65536,4294967296,BigInt("18446744073709551616")];function ne(r,t,e){ar(r,t,1);let n=r[t];if(e.strict===!0&&n<Rt[0])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);return n}function oe(r,t,e){ar(r,t,2);let n=r[t]<<8|r[t+1];if(e.strict===!0&&n<Rt[1])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);return n}function se(r,t,e){ar(r,t,4);let n=r[t]*16777216+(r[t+1]<<16)+(r[t+2]<<8)+r[t+3];if(e.strict===!0&&n<Rt[2])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);return n}function ie(r,t,e){ar(r,t,8);let n=r[t]*16777216+(r[t+1]<<16)+(r[t+2]<<8)+r[t+3],o=r[t+4]*16777216+(r[t+5]<<16)+(r[t+6]<<8)+r[t+7],s=(BigInt(n)<<BigInt(32))+BigInt(o);if(e.strict===!0&&s<Rt[3])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);if(s<=Number.MAX_SAFE_INTEGER)return Number(s);if(e.allowBigInt===!0)return s;throw new Error(`${V} integers outside of the safe integer range are not supported`)}function md(r,t,e,n){return new R(y.uint,ne(r,t+1,n),2)}function gd(r,t,e,n){return new R(y.uint,oe(r,t+1,n),3)}function yd(r,t,e,n){return new R(y.uint,se(r,t+1,n),5)}function wd(r,t,e,n){return new R(y.uint,ie(r,t+1,n),9)}function pe(r,t){return Lt(r,0,t.value)}function Lt(r,t,e){if(e<Rt[0]){let n=Number(e);r.push([t|n])}else if(e<Rt[1]){let n=Number(e);r.push([t|24,n])}else if(e<Rt[2]){let n=Number(e);r.push([t|25,n>>>8,n&255])}else if(e<Rt[3]){let n=Number(e);r.push([t|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(e);if(n<Rt[4]){let o=[t|27,0,0,0,0,0,0,0],s=Number(n&BigInt(4294967295)),i=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=s&255,s=s>>8,o[7]=s&255,s=s>>8,o[6]=s&255,s=s>>8,o[5]=s&255,o[4]=i&255,i=i>>8,o[3]=i&255,i=i>>8,o[2]=i&255,i=i>>8,o[1]=i&255,r.push(o)}else throw new Error(`${V} encountered BigInt larger than allowable range`)}}pe.encodedSize=function(t){return Lt.encodedSize(t.value)};Lt.encodedSize=function(t){return t<Rt[0]?1:t<Rt[1]?2:t<Rt[2]?3:t<Rt[3]?5:9};pe.compareTokens=function(t,e){return t.value<e.value?-1:t.value>e.value?1:0};function bd(r,t,e,n){return new R(y.negint,-1-ne(r,t+1,n),2)}function xd(r,t,e,n){return new R(y.negint,-1-oe(r,t+1,n),3)}function Ed(r,t,e,n){return new R(y.negint,-1-se(r,t+1,n),5)}var iu=BigInt(-1),vd=BigInt(1);function Ad(r,t,e,n){let o=ie(r,t+1,n);if(typeof o!="bigint"){let s=-1-o;if(s>=Number.MIN_SAFE_INTEGER)return new R(y.negint,s,9)}if(n.allowBigInt!==!0)throw new Error(`${V} integers outside of the safe integer range are not supported`);return new R(y.negint,iu-BigInt(o),9)}function Ti(r,t){let e=t.value,n=typeof e=="bigint"?e*iu-vd:e*-1-1;Lt(r,t.type.majorEncoded,n)}Ti.encodedSize=function(t){let e=t.value,n=typeof e=="bigint"?e*iu-vd:e*-1-1;return n<Rt[0]?1:n<Rt[1]?2:n<Rt[2]?3:n<Rt[3]?5:9};Ti.compareTokens=function(t,e){return t.value<e.value?1:t.value>e.value?-1:0};function $o(r,t,e,n){ar(r,t,e+n);let o=Hn(r,t+e,t+e+n);return new R(y.bytes,o,e+n)}function Bd(r,t,e,n){return $o(r,t,1,e)}function kd(r,t,e,n){return $o(r,t,2,ne(r,t+1,n))}function Sd(r,t,e,n){return $o(r,t,3,oe(r,t+1,n))}function Id(r,t,e,n){return $o(r,t,5,se(r,t+1,n))}function Rd(r,t,e,n){let o=ie(r,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer bytes lengths not supported`);return $o(r,t,9,o)}function Ci(r){return r.encodedBytes===void 0&&(r.encodedBytes=r.type===y.string?_i(r.value):r.value),r.encodedBytes}function qn(r,t){let e=Ci(t);Lt(r,t.type.majorEncoded,e.length),r.push(e)}qn.encodedSize=function(t){let e=Ci(t);return Lt.encodedSize(e.length)+e.length};qn.compareTokens=function(t,e){return ub(Ci(t),Ci(e))};function ub(r,t){return r.length<t.length?-1:r.length>t.length?1:pd(r,t)}function Ho(r,t,e,n,o){let s=e+n;ar(r,t,s);let i=new R(y.string,fd(r,t+e,t+s),s);return o.retainStringBytes===!0&&(i.byteValue=Hn(r,t+e,t+s)),i}function _d(r,t,e,n){return Ho(r,t,1,e,n)}function Td(r,t,e,n){return Ho(r,t,2,ne(r,t+1,n),n)}function Cd(r,t,e,n){return Ho(r,t,3,oe(r,t+1,n),n)}function Nd(r,t,e,n){return Ho(r,t,5,se(r,t+1,n),n)}function Ld(r,t,e,n){let o=ie(r,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer string lengths not supported`);return Ho(r,t,9,o,n)}var Ud=qn;function zn(r,t,e,n){return new R(y.array,n,e)}function Dd(r,t,e,n){return zn(r,t,1,e)}function Pd(r,t,e,n){return zn(r,t,2,ne(r,t+1,n))}function Od(r,t,e,n){return zn(r,t,3,oe(r,t+1,n))}function Fd(r,t,e,n){return zn(r,t,5,se(r,t+1,n))}function Vd(r,t,e,n){let o=ie(r,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer array lengths not supported`);return zn(r,t,9,o)}function Md(r,t,e,n){if(n.allowIndefinite===!1)throw new Error(`${V} indefinite length items not allowed`);return zn(r,t,1,1/0)}function Ni(r,t){Lt(r,y.array.majorEncoded,t.value)}Ni.compareTokens=pe.compareTokens;Ni.encodedSize=function(t){return Lt.encodedSize(t.value)};function Gn(r,t,e,n){return new R(y.map,n,e)}function $d(r,t,e,n){return Gn(r,t,1,e)}function Hd(r,t,e,n){return Gn(r,t,2,ne(r,t+1,n))}function Kd(r,t,e,n){return Gn(r,t,3,oe(r,t+1,n))}function qd(r,t,e,n){return Gn(r,t,5,se(r,t+1,n))}function zd(r,t,e,n){let o=ie(r,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer map lengths not supported`);return Gn(r,t,9,o)}function Gd(r,t,e,n){if(n.allowIndefinite===!1)throw new Error(`${V} indefinite length items not allowed`);return Gn(r,t,1,1/0)}function Li(r,t){Lt(r,y.map.majorEncoded,t.value)}Li.compareTokens=pe.compareTokens;Li.encodedSize=function(t){return Lt.encodedSize(t.value)};function jd(r,t,e,n){return new R(y.tag,e,1)}function Wd(r,t,e,n){return new R(y.tag,ne(r,t+1,n),2)}function Yd(r,t,e,n){return new R(y.tag,oe(r,t+1,n),3)}function Zd(r,t,e,n){return new R(y.tag,se(r,t+1,n),5)}function Jd(r,t,e,n){return new R(y.tag,ie(r,t+1,n),9)}function Ui(r,t){Lt(r,y.tag.majorEncoded,t.value)}Ui.compareTokens=pe.compareTokens;Ui.encodedSize=function(t){return Lt.encodedSize(t.value)};var mb=20,gb=21,yb=22,wb=23;function Xd(r,t,e,n){if(n.allowUndefined===!1)throw new Error(`${V} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new R(y.null,null,1):new R(y.undefined,void 0,1)}function Qd(r,t,e,n){if(n.allowIndefinite===!1)throw new Error(`${V} indefinite length items not allowed`);return new R(y.break,void 0,1)}function au(r,t,e){if(e){if(e.allowNaN===!1&&Number.isNaN(r))throw new Error(`${V} NaN values are not supported`);if(e.allowInfinity===!1&&(r===1/0||r===-1/0))throw new Error(`${V} Infinity values are not supported`)}return new R(y.float,r,t)}function tp(r,t,e,n){return au(cu(r,t+1),3,n)}function ep(r,t,e,n){return au(uu(r,t+1),5,n)}function rp(r,t,e,n){return au(ip(r,t+1),9,n)}function Di(r,t,e){let n=t.value;if(n===!1)r.push([y.float.majorEncoded|mb]);else if(n===!0)r.push([y.float.majorEncoded|gb]);else if(n===null)r.push([y.float.majorEncoded|yb]);else if(n===void 0)r.push([y.float.majorEncoded|wb]);else{let o,s=!1;(!e||e.float64!==!0)&&(op(n),o=cu(Se,1),n===o||Number.isNaN(n)?(Se[0]=249,r.push(Se.slice(0,3)),s=!0):(sp(n),o=uu(Se,1),n===o&&(Se[0]=250,r.push(Se.slice(0,5)),s=!0))),s||(bb(n),o=ip(Se,1),Se[0]=251,r.push(Se.slice(0,9)))}}Di.encodedSize=function(t,e){let n=t.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!e||e.float64!==!0){op(n);let o=cu(Se,1);if(n===o||Number.isNaN(n))return 3;if(sp(n),o=uu(Se,1),n===o)return 5}return 9};var np=new ArrayBuffer(9),me=new DataView(np,1),Se=new Uint8Array(np,0);function op(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 t=me.getUint32(0),e=(t&2139095040)>>23,n=t&8388607;if(e===255)me.setUint16(0,31744,!1);else if(e===0)me.setUint16(0,(r&2147483648)>>16|n>>13,!1);else{let o=e-127;o<-24?me.setUint16(0,0):o<-14?me.setUint16(0,(t&2147483648)>>16|1<<24+o,!1):me.setUint16(0,(t&2147483648)>>16|o+15<<10|n>>13,!1)}}}function cu(r,t){if(r.length-t<2)throw new Error(`${V} not enough data for float16`);let e=(r[t]<<8)+r[t+1];if(e===31744)return 1/0;if(e===64512)return-1/0;if(e===32256)return NaN;let n=e>>10&31,o=e&1023,s;return n===0?s=o*2**-24:n!==31?s=(o+1024)*2**(n-25):s=o===0?1/0:NaN,e&32768?-s:s}function sp(r){me.setFloat32(0,r,!1)}function uu(r,t){if(r.length-t<4)throw new Error(`${V} not enough data for float32`);let e=(r.byteOffset||0)+t;return new DataView(r.buffer,e,4).getFloat32(0,!1)}function bb(r){me.setFloat64(0,r,!1)}function ip(r,t){if(r.length-t<8)throw new Error(`${V} not enough data for float64`);let e=(r.byteOffset||0)+t;return new DataView(r.buffer,e,8).getFloat64(0,!1)}Di.compareTokens=pe.compareTokens;function et(r,t,e){throw new Error(`${V} encountered invalid minor (${e}) for major ${r[t]>>>5}`)}function Pi(r){return()=>{throw new Error(`${V} ${r}`)}}var L=[];for(let r=0;r<=23;r++)L[r]=et;L[24]=md;L[25]=gd;L[26]=yd;L[27]=wd;L[28]=et;L[29]=et;L[30]=et;L[31]=et;for(let r=32;r<=55;r++)L[r]=et;L[56]=bd;L[57]=xd;L[58]=Ed;L[59]=Ad;L[60]=et;L[61]=et;L[62]=et;L[63]=et;for(let r=64;r<=87;r++)L[r]=Bd;L[88]=kd;L[89]=Sd;L[90]=Id;L[91]=Rd;L[92]=et;L[93]=et;L[94]=et;L[95]=Pi("indefinite length bytes/strings are not supported");for(let r=96;r<=119;r++)L[r]=_d;L[120]=Td;L[121]=Cd;L[122]=Nd;L[123]=Ld;L[124]=et;L[125]=et;L[126]=et;L[127]=Pi("indefinite length bytes/strings are not supported");for(let r=128;r<=151;r++)L[r]=Dd;L[152]=Pd;L[153]=Od;L[154]=Fd;L[155]=Vd;L[156]=et;L[157]=et;L[158]=et;L[159]=Md;for(let r=160;r<=183;r++)L[r]=$d;L[184]=Hd;L[185]=Kd;L[186]=qd;L[187]=zd;L[188]=et;L[189]=et;L[190]=et;L[191]=Gd;for(let r=192;r<=215;r++)L[r]=jd;L[216]=Wd;L[217]=Yd;L[218]=Zd;L[219]=Jd;L[220]=et;L[221]=et;L[222]=et;L[223]=et;for(let r=224;r<=243;r++)L[r]=Pi("simple values are not supported");L[244]=et;L[245]=et;L[246]=et;L[247]=Xd;L[248]=Pi("simple values are not supported");L[249]=tp;L[250]=ep;L[251]=rp;L[252]=et;L[253]=et;L[254]=et;L[255]=Qd;var Ie=[];for(let r=0;r<24;r++)Ie[r]=new R(y.uint,r,1);for(let r=-1;r>=-24;r--)Ie[31-r]=new R(y.negint,r,1);Ie[64]=new R(y.bytes,new Uint8Array(0),1);Ie[96]=new R(y.string,"",1);Ie[128]=new R(y.array,0,1);Ie[160]=new R(y.map,0,1);Ie[244]=new R(y.false,!1,1);Ie[245]=new R(y.true,!0,1);Ie[246]=new R(y.null,null,1);function ap(r){switch(r.type){case y.false:return Me([244]);case y.true:return Me([245]);case y.null:return Me([246]);case y.bytes:return r.value.length?void 0:Me([64]);case y.string:return r.value===""?Me([96]):void 0;case y.array:return r.value===0?Me([128]):void 0;case y.map:return r.value===0?Me([160]):void 0;case y.uint:return r.value<24?Me([Number(r.value)]):void 0;case y.negint:if(r.value>=-24)return Me([31-Number(r.value)])}}var Eb={float64:!1,mapSorter:Bb,quickEncodeToken:ap};function vb(){let r=[];return r[y.uint.major]=pe,r[y.negint.major]=Ti,r[y.bytes.major]=qn,r[y.string.major]=Ud,r[y.array.major]=Ni,r[y.map.major]=Li,r[y.tag.major]=Ui,r[y.float.major]=Di,r}var cp=vb(),lu=new Vo,Fi=class r{constructor(t,e){this.obj=t,this.parent=e}includes(t){let e=this;do if(e.obj===t)return!0;while(e=e.parent);return!1}static createCheck(t,e){if(t&&t.includes(e))throw new Error(`${Kn} object contains circular references`);return new r(e,t)}},Lr={null:new R(y.null,null),undefined:new R(y.undefined,void 0),true:new R(y.true,!0),false:new R(y.false,!1),emptyArray:new R(y.array,0),emptyMap:new R(y.map,0)},Ur={number(r,t,e,n){return!Number.isInteger(r)||!Number.isSafeInteger(r)?new R(y.float,r):r>=0?new R(y.uint,r):new R(y.negint,r)},bigint(r,t,e,n){return r>=BigInt(0)?new R(y.uint,r):new R(y.negint,r)},Uint8Array(r,t,e,n){return new R(y.bytes,r)},string(r,t,e,n){return new R(y.string,r)},boolean(r,t,e,n){return r?Lr.true:Lr.false},null(r,t,e,n){return Lr.null},undefined(r,t,e,n){return Lr.undefined},ArrayBuffer(r,t,e,n){return new R(y.bytes,new Uint8Array(r))},DataView(r,t,e,n){return new R(y.bytes,new Uint8Array(r.buffer,r.byteOffset,r.byteLength))},Array(r,t,e,n){if(!r.length)return e.addBreakTokens===!0?[Lr.emptyArray,new R(y.break)]:Lr.emptyArray;n=Fi.createCheck(n,r);let o=[],s=0;for(let i of r)o[s++]=Oi(i,e,n);return e.addBreakTokens?[new R(y.array,r.length),o,new R(y.break)]:[new R(y.array,r.length),o]},Object(r,t,e,n){let o=t!=="Object",s=o?r.keys():Object.keys(r),i=o?r.size:s.length;if(!i)return e.addBreakTokens===!0?[Lr.emptyMap,new R(y.break)]:Lr.emptyMap;n=Fi.createCheck(n,r);let a=[],c=0;for(let u of s)a[c++]=[Oi(u,e,n),Oi(o?r.get(u):r[u],e,n)];return Ab(a,e),e.addBreakTokens?[new R(y.map,i),a,new R(y.break)]:[new R(y.map,i),a]}};Ur.Map=Ur.Object;Ur.Buffer=Ur.Uint8Array;for(let r of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Ur[`${r}Array`]=Ur.DataView;function Oi(r,t={},e){let n=ad(r),o=t&&t.typeEncoders&&t.typeEncoders[n]||Ur[n];if(typeof o=="function"){let i=o(r,n,t,e);if(i!=null)return i}let s=Ur[n];if(!s)throw new Error(`${Kn} unsupported type: ${n}`);return s(r,n,t,e)}function Ab(r,t){t.mapSorter&&r.sort(t.mapSorter)}function Bb(r,t){let e=Array.isArray(r[0])?r[0][0]:r[0],n=Array.isArray(t[0])?t[0][0]:t[0];if(e.type!==n.type)return e.type.compare(n.type);let o=e.type.major,s=cp[o].compareTokens(e,n);return s===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),s}function up(r,t,e,n){if(Array.isArray(t))for(let o of t)up(r,o,e,n);else e[t.type.major](r,t,n)}function lp(r,t,e){let n=Oi(r,e);if(!Array.isArray(n)&&e.quickEncodeToken){let o=e.quickEncodeToken(n);if(o)return o;let s=t[n.type.major];if(s.encodedSize){let i=s.encodedSize(n,e),a=new Vo(i);if(s(a,n,e),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return Fo(a.chunks[0])}}return lu.reset(),up(lu,n,t,e),lu.toBytes(!0)}function jn(r,t){return t=Object.assign({},Eb,t),lp(r,cp,t)}var kb={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},Vi=class{constructor(t,e={}){this._pos=0,this.data=t,this.options=e}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let t=this.data[this._pos],e=Ie[t];if(e===void 0){let n=L[t];if(!n)throw new Error(`${V} no decoder for major type ${t>>>5} (byte 0x${t.toString(16).padStart(2,"0")})`);let o=t&31;e=n(this.data,this._pos,o,this.options)}return this._pos+=e.encodedLength,e}},Ko=Symbol.for("DONE"),Mi=Symbol.for("BREAK");function Sb(r,t,e){let n=[];for(let o=0;o<r.value;o++){let s=Wn(t,e);if(s===Mi){if(r.value===1/0)break;throw new Error(`${V} got unexpected break to lengthed array`)}if(s===Ko)throw new Error(`${V} found array but not enough entries (got ${o}, expected ${r.value})`);n[o]=s}return n}function Ib(r,t,e){let n=e.useMaps===!0,o=n?void 0:{},s=n?new Map:void 0;for(let i=0;i<r.value;i++){let a=Wn(t,e);if(a===Mi){if(r.value===1/0)break;throw new Error(`${V} got unexpected break to lengthed map`)}if(a===Ko)throw new Error(`${V} found map but not enough entries (got ${i} [no key], expected ${r.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${V} non-string keys not supported (got ${typeof a})`);if(e.rejectDuplicateMapKeys===!0&&(n&&s.has(a)||!n&&a in o))throw new Error(`${V} found repeat map key "${a}"`);let c=Wn(t,e);if(c===Ko)throw new Error(`${V} found map but not enough entries (got ${i} [no value], expected ${r.value})`);n?s.set(a,c):o[a]=c}return n?s:o}function Wn(r,t){if(r.done())return Ko;let e=r.next();if(e.type===y.break)return Mi;if(e.type.terminal)return e.value;if(e.type===y.array)return Sb(e,r,t);if(e.type===y.map)return Ib(e,r,t);if(e.type===y.tag){if(t.tags&&typeof t.tags[e.value]=="function"){let n=Wn(r,t);return t.tags[e.value](n)}throw new Error(`${V} tag not supported (${e.value})`)}throw new Error("unsupported")}function fu(r,t){if(!(r instanceof Uint8Array))throw new Error(`${V} data to decode must be a Uint8Array`);t=Object.assign({},kb,t);let e=t.tokenizer||new Vi(r,t),n=Wn(e,t);if(n===Ko)throw new Error(`${V} did not find any content to decode`);if(n===Mi)throw new Error(`${V} got unexpected break`);return[n,r.subarray(e.pos())]}function ge(r,t){let[e,n]=fu(r,t);if(n.length>0)throw new Error(`${V} too many terminals, data makes no sense`);return e}var cr="/",fp=new TextEncoder().encode(cr),Hi=fp[0],Ut=class r{_buf;constructor(t,e){if(typeof t=="string")this._buf=q(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(e==null&&(e=!0),e&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Hi)throw new Error("Invalid key")}toString(t="utf8"){return G(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new r(t.join(cr))}static random(){return new r(Math.random().toString().substring(2))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new r(t):typeof t.uint8Array=="function"?new r(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=fp),this._buf[0]!==Hi){let t=new Uint8Array(this._buf.byteLength+1);t.fill(Hi,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Hi;)this._buf=this._buf.subarray(0,-1)}less(t){let e=this.list(),n=t.list();for(let o=0;o<e.length;o++){if(n.length<o+1)return!1;let s=e[o],i=n[o];if(s<i)return!0;if(s>i)return!1}return e.length<n.length}reverse(){return r.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(cr).slice(1)}type(){return Rb(this.baseNamespace())}name(){return _b(this.baseNamespace())}instance(t){return new r(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(cr)||(t+=cr),t+=this.type(),new r(t)}parent(){let t=this.list();return t.length===1?new r(cr):new r(t.slice(0,-1).join(cr))}child(t){return this.toString()===cr?t:t.toString()===cr?this:new r(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return r.withNamespaces([...this.namespaces(),...Tb(t.map(e=>e.namespaces()))])}};function Rb(r){let t=r.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function _b(r){let t=r.split(":");return t[t.length-1]}function Tb(r){return[].concat(...r)}var mp="/pin/",hp="/pinned-block/",hu=br,dp=1;function pp(r){return r.version===0&&(r=r.toV1()),new Ut(`${mp}${r.toString(hu)}`)}var Ki=class{datastore;blockstore;dagWalkers;constructor(t,e,n){this.datastore=t,this.blockstore=e,this.dagWalkers=n}async*add(t,e={}){let n=pp(t);if(await this.datastore.has(n))throw new Error("Already pinned");let o=Math.round(e.depth??1/0);if(o<0)throw new Error("Depth must be greater than or equal to 0");let s=new qe({concurrency:dp});for await(let a of this.#t(t,s,{...e,depth:o}))await this.#e(a,c=>c.pinnedBy.find(u=>it(u,t.bytes))!=null?!1:(c.pinCount++,c.pinnedBy.push(t.bytes),!0),e),yield a;let i={depth:o,metadata:e.metadata??{}};await this.datastore.put(n,jn(i),e)}async*#t(t,e,n){if(n.depth===-1)return;let o=this.dagWalkers[t.code];if(o==null)throw new Error(`No dag walker found for cid codec ${t.code}`);let s=await this.blockstore.get(t,n);yield t;for await(let i of o.walk(s))yield*await e.add(async()=>this.#t(i,e,{...n,depth:n.depth-1}))}async#e(t,e,n){let o=new Ut(`${hp}${hu.encode(t.multihash.bytes)}`),s={pinCount:0,pinnedBy:[]};try{s=ge(await this.datastore.get(o,n))}catch(a){if(a.code!=="ERR_NOT_FOUND")throw a}if(e(s)){if(s.pinCount===0&&await this.datastore.has(o)){await this.datastore.delete(o);return}await this.datastore.put(o,jn(s),n),n.onProgress?.(new nt("helia:pin:add",t))}}async*rm(t,e={}){let n=pp(t),o=await this.datastore.get(n,e),s=ge(o);await this.datastore.delete(n,e);let i=new qe({concurrency:dp});for await(let a of this.#t(t,i,{...e,depth:s.depth}))await this.#e(a,c=>(c.pinCount--,c.pinnedBy=c.pinnedBy.filter(u=>it(u,t.bytes)),!0),{...e,depth:s.depth}),yield a}async*ls(t={}){for await(let{key:e,value:n}of this.datastore.query({prefix:mp+(t.cid!=null?`${t.cid.toString(br)}`:"")},t)){let o=tt.parse(e.toString().substring(5),br),s=ge(n);yield{cid:o,...s}}}async isPinned(t,e={}){let n=new Ut(`${hp}${hu.encode(t.multihash.bytes)}`);return this.datastore.has(n,e)}};var Cb=5,qi=class{log;routers;providerLookupConcurrency;constructor(t,e){this.log=t.logger.forComponent("helia:routing"),this.routers=e.routers??[],this.providerLookupConcurrency=e.providerLookupConcurrency??Cb}async start(){await mr(...this.routers)}async stop(){await gr(...this.routers)}async*findProviders(t,e={}){if(this.routers.length===0)throw new D("No content routers available","ERR_NO_ROUTERS_AVAILABLE");let n=new is({concurrency:this.providerLookupConcurrency});n.addEventListener("error",()=>{});for await(let o of Hr(n.toGenerator(),...Yn(this.routers,"findProviders").map(s=>s.findProviders(t,e))))if(o!=null){if(o.multiaddrs.length===0){if(n.find(o.id)!=null)continue;n.add(async()=>{try{let s=await this.findPeer(o.id,e);return s.multiaddrs.length===0?null:s}catch(s){return this.log.error("could not load multiaddrs for peer %p",o.id,s),null}},{peerId:o.id,signal:e.signal}).catch(s=>{this.log.error("could not load multiaddrs for peer %p",o.id,s)})}yield o}}async provide(t,e={}){if(this.routers.length===0)throw new D("No content routers available","ERR_NO_ROUTERS_AVAILABLE");await Promise.all(Yn(this.routers,"provide").map(async n=>{await n.provide(t,e)}))}async put(t,e,n){await Promise.all(Yn(this.routers,"put").map(async o=>{await o.put(t,e,n)}))}async get(t,e){return Promise.any(Yn(this.routers,"get").map(async n=>n.get(t,e)))}async findPeer(t,e){if(this.routers.length===0)throw new D("No peer routers available","ERR_NO_ROUTERS_AVAILABLE");let n=this,o=Hr(...Yn(this.routers,"findPeer").map(s=>async function*(){try{yield await s.findPeer(t,e)}catch(i){n.log.error(i)}}()));for await(let s of o)if(s!=null)return s;throw new D("Could not find peer in routing","ERR_NOT_FOUND")}async*getClosestPeers(t,e={}){if(this.routers.length===0)throw new D("No peer routers available","ERR_NO_ROUTERS_AVAILABLE");for await(let n of Hr(...Yn(this.routers,"getClosestPeers").map(o=>o.getClosestPeers(t,e))))n!=null&&(yield n)}};function Yn(r,t){return r.filter(e=>e[t]!=null)}var Dr={},Zn=r=>{r.addEventListener("message",t=>{Zn.dispatchEvent("message",r,t)}),r.port!=null&&r.port.addEventListener("message",t=>{Zn.dispatchEvent("message",r,t)})};Zn.addEventListener=(r,t)=>{Dr[r]==null&&(Dr[r]=[]),Dr[r].push(t)};Zn.removeEventListener=(r,t)=>{Dr[r]!=null&&(Dr[r]=Dr[r].filter(e=>e===t))};Zn.dispatchEvent=function(r,t,e){Dr[r]!=null&&Dr[r].forEach(n=>n(t,e))};var du=Zn;var pu="lock:worker:request-read",mu="lock:worker:release-read",gu="lock:master:grant-read",yu="lock:worker:request-write",wu="lock:worker:release-write",bu="lock:master:grant-write";var gp=(r=21)=>Math.random().toString().substring(2);var yp=(r,t,e,n,o)=>(s,i)=>{if(i.data.type!==e)return;let a={type:i.data.type,name:i.data.name,identifier:i.data.identifier};r.dispatchEvent(new MessageEvent(t,{data:{name:a.name,handler:async()=>{s.postMessage({type:o,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=f=>{if(f==null||f.data==null)return;let l={type:f.data.type,name:f.data.name,identifier:f.data.identifier};l.type===n&&l.identifier===a.identifier&&(s.removeEventListener("message",u),c())};s.addEventListener("message",u)})}}}))},wp=(r,t,e,n)=>async()=>{let o=gp();return globalThis.postMessage({type:t,identifier:o,name:r}),new Promise(s=>{let i=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===e&&c.identifier===o&&(globalThis.removeEventListener("message",i),s(()=>{globalThis.postMessage({type:n,identifier:o,name:r})}))};globalThis.addEventListener("message",i)})},Nb={singleProcess:!1},bp=r=>{if(r=Object.assign({},Nb,r),!!globalThis.document||r.singleProcess){let e=new EventTarget;return du.addEventListener("message",yp(e,"requestReadLock",pu,mu,gu)),du.addEventListener("message",yp(e,"requestWriteLock",yu,wu,bu)),e}return{isWorker:!0,readLock:e=>wp(e,pu,gu,mu),writeLock:e=>wp(e,yu,bu,wu)}};var Qr={},Pr;async function xu(r,t){let e,n=new Promise(o=>{e=o});return r.add(async()=>Po((async()=>{await new Promise(o=>{e(()=>{o()})})})(),{milliseconds:t.timeout})),n}var Lb=(r,t)=>{if(Pr.isWorker===!0)return{readLock:Pr.readLock(r,t),writeLock:Pr.writeLock(r,t)};let e=new Ve({concurrency:1}),n;return{async readLock(){if(n!=null)return xu(n,t);n=new Ve({concurrency:t.concurrency,autoStart:!1});let o=n,s=xu(n,t);return e.add(async()=>{o.start(),await o.onIdle().then(()=>{n===o&&(n=null)})}),s},async writeLock(){return n=null,xu(e,t)}}},Ub={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Eu(r){let t=Object.assign({},Ub,r);return Pr==null&&(Pr=bp(t),Pr.isWorker!==!0&&(Pr.addEventListener("requestReadLock",e=>{Qr[e.data.name]!=null&&Qr[e.data.name].readLock().then(async n=>e.data.handler().finally(()=>{n()}))}),Pr.addEventListener("requestWriteLock",async e=>{Qr[e.data.name]!=null&&Qr[e.data.name].writeLock().then(async n=>e.data.handler().finally(()=>{n()}))}))),Qr[t.name]==null&&(Qr[t.name]=Lb(t.name,t)),Qr[t.name]}var zi=class{lock;child;pins;started;constructor(t,e,n={}){this.child=t,this.pins=e,this.lock=Eu({singleProcess:n.holdGcLock}),this.started=!1}isStarted(){return this.started}async start(){await mr(this.child),this.started=!0}async stop(){await gr(this.child),this.started=!1}unwrap(){return this.child}async put(t,e,n={}){n?.signal?.throwIfAborted();let o=await this.lock.readLock();try{return await this.child.put(t,e,n)}finally{o()}}async*putMany(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.readLock();try{yield*this.child.putMany(t,e)}finally{n()}}async get(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.readLock();try{return await this.child.get(t,e)}finally{n()}}async*getMany(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.readLock();try{yield*this.child.getMany(t,e)}finally{n()}}async delete(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.writeLock();try{if(await this.pins.isPinned(t))throw new Error("CID was pinned");await this.child.delete(t,e)}finally{n()}}async*deleteMany(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.writeLock();try{let o=this;yield*this.child.deleteMany(async function*(){for await(let s of t){if(await o.pins.isPinned(s))throw new Error("CID was pinned");yield s}}(),e)}finally{n()}}async has(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.readLock();try{return await this.child.has(t,e)}finally{n()}}async*getAll(t={}){t?.signal?.throwIfAborted();let e=await this.lock.readLock();try{yield*this.child.getAll(t)}finally{e()}}createSession(t,e){return e?.signal?.throwIfAborted(),this.child.createSession(t,e)}};var Ep=42;function Db(r){if(r.asCID!==r&&r["/"]!==r.bytes)return null;let t=tt.asCID(r);if(!t)return null;let e=new Uint8Array(t.bytes.byteLength+1);return e.set(t.bytes,1),[new R(y.tag,Ep),new R(y.bytes,e)]}function Pb(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function Ob(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 xp={float64:!0,typeEncoders:{Object:Db,undefined:Pb,number:Ob}},Lk={...xp,typeEncoders:{...xp.typeEncoders}};function Fb(r){if(r[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");return tt.decode(r.subarray(1))}var vu={allowIndefinite:!1,coerceUndefinedToNull:!0,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};vu.tags[Ep]=Fb;var Uk={...vu,tags:vu.tags.slice()};var vp=113;var Ap=class extends Array{constructor(){super(),this.inRecursive=[]}prefix(t){let e=this.inRecursive[this.inRecursive.length-1];e&&(e.type===y.array&&(e.elements++,e.elements!==1&&t.push([44])),e.type===y.map&&(e.elements++,e.elements!==1&&(e.elements%2===1?t.push([44]):t.push([58]))))}[y.uint.major](t,e){this.prefix(t);let n=String(e.value),o=[];for(let s=0;s<n.length;s++)o[s]=n.charCodeAt(s);t.push(o)}[y.negint.major](t,e){this[y.uint.major](t,e)}[y.bytes.major](t,e){throw new Error(`${Kn} unsupported type: Uint8Array`)}[y.string.major](t,e){this.prefix(t);let n=_i(JSON.stringify(e.value));t.push(n.length>32?Fo(n):n)}[y.array.major](t,e){this.prefix(t),this.inRecursive.push({type:y.array,elements:0}),t.push([91])}[y.map.major](t,e){this.prefix(t),this.inRecursive.push({type:y.map,elements:0}),t.push([123])}[y.tag.major](t,e){}[y.float.major](t,e){if(e.type.name==="break"){let i=this.inRecursive.pop();if(i){if(i.type===y.array)t.push([93]);else if(i.type===y.map)t.push([125]);else throw new Error("Unexpected recursive type; this should not happen!");return}throw new Error("Unexpected break; this should not happen!")}if(e.value===void 0)throw new Error(`${Kn} unsupported type: undefined`);if(this.prefix(t),e.type.name==="true"){t.push([116,114,117,101]);return}else if(e.type.name==="false"){t.push([102,97,108,115,101]);return}else if(e.type.name==="null"){t.push([110,117,108,108]);return}let n=String(e.value),o=[],s=!1;for(let i=0;i<n.length;i++)o[i]=n.charCodeAt(i),!s&&(o[i]===46||o[i]===101||o[i]===69)&&(s=!0);s||(o.push(46),o.push(48)),t.push(o)}};var tn=class{constructor(t,e={}){this._pos=0,this.data=t,this.options=e,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 t=this.ch();for(;t===32||t===9||t===13||t===10;)t=this.data[++this._pos]}expect(t){if(this.data.length-this._pos<t.length)throw new Error(`${V} unexpected end of input at position ${this._pos}`);for(let e=0;e<t.length;e++)if(this.data[this._pos++]!==t[e])throw new Error(`${V} unexpected token at position ${this._pos}, expected to find '${String.fromCharCode(...t)}'`)}parseNumber(){let t=this._pos,e=!1,n=!1,o=a=>{for(;!this.done();){let c=this.ch();if(a.includes(c))this._pos++;else break}};if(this.ch()===45&&(e=!0,this._pos++),this.ch()===48)if(this._pos++,this.ch()===46)this._pos++,n=!0;else return new R(y.uint,0,this._pos-t);if(o([48,49,50,51,52,53,54,55,56,57]),e&&this._pos===t+1)throw new Error(`${V} unexpected token at position ${this._pos}`);if(!this.done()&&this.ch()===46){if(n)throw new Error(`${V} unexpected token at position ${this._pos}`);n=!0,this._pos++,o([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++,o([48,49,50,51,52,53,54,55,56,57]));let s=String.fromCharCode.apply(null,this.data.subarray(t,this._pos)),i=parseFloat(s);return n?new R(y.float,i,this._pos-t):this.options.allowBigInt!==!0||Number.isSafeInteger(i)?new R(i>=0?y.uint:y.negint,i,this._pos-t):new R(i>=0?y.uint:y.negint,BigInt(s),this._pos-t)}parseString(){if(this.ch()!==34)throw new Error(`${V} unexpected character at position ${this._pos}; this shouldn't happen`);this._pos++;for(let s=this._pos,i=0;s<this.data.length&&i<65536;s++,i++){let a=this.data[s];if(a===92||a<32||a>=128)break;if(a===34){let c=String.fromCharCode.apply(null,this.data.subarray(this._pos,s));return this._pos=s+1,new R(y.string,c,i)}}let t=this._pos,e=[],n=()=>{if(this._pos+4>=this.data.length)throw new Error(`${V} unexpected end of unicode escape sequence at position ${this._pos}`);let s=0;for(let i=0;i<4;i++){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(`${V} unexpected unicode escape character at position ${this._pos}`);s=s*16+a,this._pos++}return s},o=()=>{let s=this.ch(),i=null,a=s>239?4:s>223?3:s>191?2:1;if(this._pos+a>this.data.length)throw new Error(`${V} unexpected unicode sequence at position ${this._pos}`);let c,u,f,l;switch(a){case 1:s<128&&(i=s);break;case 2:c=this.data[this._pos+1],(c&192)===128&&(l=(s&31)<<6|c&63,l>127&&(i=l));break;case 3:c=this.data[this._pos+1],u=this.data[this._pos+2],(c&192)===128&&(u&192)===128&&(l=(s&15)<<12|(c&63)<<6|u&63,l>2047&&(l<55296||l>57343)&&(i=l));break;case 4:c=this.data[this._pos+1],u=this.data[this._pos+2],f=this.data[this._pos+3],(c&192)===128&&(u&192)===128&&(f&192)===128&&(l=(s&15)<<18|(c&63)<<12|(u&63)<<6|f&63,l>65535&&l<1114112&&(i=l))}i===null?(i=65533,a=1):i>65535&&(i-=65536,e.push(i>>>10&1023|55296),i=56320|i&1023),e.push(i),this._pos+=a};for(;!this.done();){let s=this.ch(),i;switch(s){case 92:if(this._pos++,this.done())throw new Error(`${V} unexpected string termination at position ${this._pos}`);switch(i=this.ch(),this._pos++,i){case 34:case 39:case 92:case 47:e.push(i);break;case 98:e.push(8);break;case 116:e.push(9);break;case 110:e.push(10);break;case 102:e.push(12);break;case 114:e.push(13);break;case 117:e.push(n());break;default:throw new Error(`${V} unexpected string escape character at position ${this._pos}`)}break;case 34:return this._pos++,new R(y.string,su(e),this._pos-t);default:if(s<32)throw new Error(`${V} invalid control character at position ${this._pos}`);s<128?(e.push(s),this._pos++):o()}}throw new Error(`${V} unexpected end of string at position ${this._pos}`)}parseValue(){switch(this.ch()){case 123:return this.modeStack.push("obj-start"),this._pos++,new R(y.map,1/0,1);case 91:return this.modeStack.push("array-start"),this._pos++,new R(y.array,1/0,1);case 34:return this.parseString();case 110:return this.expect([110,117,108,108]),new R(y.null,null,4);case 102:return this.expect([102,97,108,115,101]),new R(y.false,!1,5);case 116:return this.expect([116,114,117,101]),new R(y.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(`${V} 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 R(y.break,void 0,1);if(this.ch()!==44)throw new Error(`${V} 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 R(y.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 R(y.break,void 0,1);if(this.ch()!==44)throw new Error(`${V} 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 R(y.break,void 0,1);let t=this.parseString();if(this.skipWhitespace(),this.ch()!==58)throw new Error(`${V} 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"),t}case"obj-value":return this.modeStack.pop(),this.modeStack.push("obj-key"),this.skipWhitespace(),this.parseValue();default:throw new Error(`${V} unexpected parse state at position ${this._pos}; this shouldn't happen`)}}};function Gi(r,t){return t=Object.assign({tokenizer:new tn(r,t)},t),ge(r,t)}var $b={allowIndefinite:!1,allowUndefined:!1,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};$b.tags[42]=tt.parse;var kp=297;var Jk=new TextDecoder;var Xk=new TextEncoder;var Kb=new TextDecoder;function Au(r,t){let e=0;for(let n=0;;n+=7){if(n>=64)throw new Error("protobuf: varint overflow");if(t>=r.length)throw new Error("protobuf: unexpected end of data");let o=r[t++];if(e+=n<28?(o&127)<<n:(o&127)*2**n,o<128)break}return[e,t]}function ji(r,t){let e;[e,t]=Au(r,t);let n=t+e;if(e<0||n<0)throw new Error("protobuf: invalid length");if(n>r.length)throw new Error("protobuf: unexpected end of data");return[r.subarray(t,n),n]}function Sp(r,t){let e;return[e,t]=Au(r,t),[e&7,e>>3,t]}function qb(r){let t={},e=r.length,n=0;for(;n<e;){let o,s;if([o,s,n]=Sp(r,n),s===1){if(t.Hash)throw new Error("protobuf: (PBLink) duplicate Hash section");if(o!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Hash`);if(t.Name!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Name before Hash");if(t.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Hash");[t.Hash,n]=ji(r,n)}else if(s===2){if(t.Name!==void 0)throw new Error("protobuf: (PBLink) duplicate Name section");if(o!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Name`);if(t.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Name");let i;[i,n]=ji(r,n),t.Name=Kb.decode(i)}else if(s===3){if(t.Tsize!==void 0)throw new Error("protobuf: (PBLink) duplicate Tsize section");if(o!==0)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Tsize`);[t.Tsize,n]=Au(r,n)}else throw new Error(`protobuf: (PBLink) invalid fieldNumber, expected 1, 2 or 3, got ${s}`)}if(n>e)throw new Error("protobuf: (PBLink) unexpected end of data");return t}function Ip(r){let t=r.length,e=0,n,o=!1,s;for(;e<t;){let a,c;if([a,c,e]=Sp(r,e),a!==2)throw new Error(`protobuf: (PBNode) invalid wireType, expected 2, got ${a}`);if(c===1){if(s)throw new Error("protobuf: (PBNode) duplicate Data section");[s,e]=ji(r,e),n&&(o=!0)}else if(c===2){if(o)throw new Error("protobuf: (PBNode) duplicate Links section");n||(n=[]);let u;[u,e]=ji(r,e),n.push(qb(u))}else throw new Error(`protobuf: (PBNode) invalid fieldNumber, expected 1 or 2, got ${c}`)}if(e>t)throw new Error("protobuf: (PBNode) unexpected end of data");let i={};return s&&(i.Data=s),i.Links=n||[],i}var tS=new TextEncoder,eS=2**32,rS=2**31;var sS=new TextEncoder;function Rp(r){return r instanceof ArrayBuffer?new Uint8Array(r,0,r.byteLength):r}var _p=112;function Tp(r){let t=Rp(r),e=Ip(t),n={};return e.Data&&(n.Data=e.Data),e.Links&&(n.Links=e.Links.map(o=>{let s={};try{s.Hash=tt.decode(o.Hash)}catch{}if(!s.Hash)throw new Error("Invalid Hash field found in link, expected CID");return o.Name!==void 0&&(s.Name=o.Name),o.Tsize!==void 0&&(s.Tsize=o.Tsize),s})),n}var Gb={codec:_p,*walk(r){yield*Tp(r).Links.map(e=>e.Hash)}},jb={codec:fs,*walk(){}},Cp=42,Wb={codec:vp,*walk(r){let t=[],e=[];e[Cp]=n=>{if(n[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");let o=tt.decode(n.subarray(1));return t.push(o),o},ge(r,{tags:e}),yield*t}},Bu=class extends tn{tokenBuffer;constructor(t,e){super(t,e),this.tokenBuffer=[]}done(){return this.tokenBuffer.length===0&&super.done()}_next(){return this.tokenBuffer.length>0?this.tokenBuffer.pop():super.next()}next(){let t=this._next();if(t.type===y.map){let e=this._next();if(e.type===y.string&&e.value==="/"){let n=this._next();if(n.type===y.string){if(this._next().type!==y.break)throw new Error("Invalid encoded CID form");return this.tokenBuffer.push(n),new R(y.tag,42,0)}if(n.type===y.map){let o=this._next();if(o.type===y.string&&o.value==="bytes"){let s=this._next();if(s.type===y.string){for(let a=0;a<2;a++)if(this._next().type!==y.break)throw new Error("Invalid encoded Bytes form");let i=le.decode(`m${s.value}`);return new R(y.bytes,i,s.value.length)}this.tokenBuffer.push(s)}this.tokenBuffer.push(o)}this.tokenBuffer.push(n)}this.tokenBuffer.push(e)}return t}},Yb={codec:kp,*walk(r){let t=[],e=[];e[Cp]=n=>{let o=tt.parse(n);return t.push(o),o},Gi(r,{tags:e,tokenizer:new Bu(r,{tags:e,allowIndefinite:!0,allowUndefined:!0,allowNaN:!0,allowInfinity:!0,allowBigInt:!0,strict:!1,rejectDuplicateMapKeys:!1})}),yield*t}},Zb={codec:zl,*walk(){}};function Np(r=[]){let t={};return[Gb,jb,Wb,Yb,Zb,...r].forEach(e=>{t[e.codec]=e}),t}var ku=new Ut("/version"),Lp=1;async function Up(r){if(!await r.has(ku)){await r.put(ku,q(`${Lp}`));return}let t=await r.get(ku),e=G(t);if(parseInt(e,10)!==Lp)throw new Error("Unknown datastore version, a datastore migration may be required")}function Dp(r=[]){let t={};return[At,ic,Wt,...r].forEach(e=>{t[e.code]=e}),t}var ur=class{has(t,e){return Promise.reject(new Error(".has is not implemented"))}put(t,e,n){return Promise.reject(new Error(".put is not implemented"))}async*putMany(t,e){for await(let{cid:n,block:o}of t)await this.put(n,o,e),yield n}get(t,e){return Promise.reject(new Error(".get is not implemented"))}async*getMany(t,e){for await(let n of t)yield{cid:n,block:await this.get(n,e)}}delete(t,e){return Promise.reject(new Error(".delete is not implemented"))}async*deleteMany(t,e){for await(let n of t)await this.delete(n,e),yield n}async*getAll(t){throw new Error(".getAll is not implemented")}};var Jn={};vt(Jn,{abortedError:()=>ex,closeFailedError:()=>Xb,deleteFailedError:()=>Op,getFailedError:()=>Qb,hasFailedError:()=>tx,notFoundError:()=>qo,openFailedError:()=>Jb,putFailedError:()=>Pp});var lr=Jt(sn(),1);function Jb(r){return r=r??new Error("Open failed"),(0,lr.default)(r,"ERR_OPEN_FAILED")}function Xb(r){return r=r??new Error("Close failed"),(0,lr.default)(r,"ERR_CLOSE_FAILED")}function Pp(r){return r=r??new Error("Put failed"),(0,lr.default)(r,"ERR_PUT_FAILED")}function Qb(r){return r=r??new Error("Get failed"),(0,lr.default)(r,"ERR_GET_FAILED")}function Op(r){return r=r??new Error("Delete failed"),(0,lr.default)(r,"ERR_DELETE_FAILED")}function tx(r){return r=r??new Error("Has failed"),(0,lr.default)(r,"ERR_HAS_FAILED")}function qo(r){return r=r??new Error("Not Found"),(0,lr.default)(r,"ERR_NOT_FOUND")}function ex(r){return r=r??new Error("Aborted"),(0,lr.default)(r,"ERR_ABORTED")}var zo=class extends ur{data;constructor(){super(),this.data=new Map}put(t,e){return this.data.set(Ct.encode(t.multihash.bytes),e),t}get(t){let e=this.data.get(Ct.encode(t.multihash.bytes));if(e==null)throw qo();return e}has(t){return this.data.has(Ct.encode(t.multihash.bytes))}async delete(t){this.data.delete(Ct.encode(t.multihash.bytes))}async*getAll(){for(let[t,e]of this.data.entries())yield{cid:tt.createV1(fs,Ne(Ct.decode(t))),block:e}}};function rx(r){return r[Symbol.asyncIterator]!=null}function nx(r,t){let e=0;if(rx(r))return async function*(){for await(let c of r)await t(c,e++)&&(yield c)}();let n=an(r),{value:o,done:s}=n.next();if(s===!0)return function*(){}();let i=t(o,e++);if(typeof i.then=="function")return async function*(){await i&&(yield o);for await(let c of n)await t(c,e++)&&(yield c)}();let a=t;return function*(){i===!0&&(yield o);for(let c of n)a(c,e++)&&(yield c)}()}var Re=nx;var HS=re("blockstore:core:tiered");var Fp={...Jn};var Wi=0,Yi=class extends ur{child;constructor(t){super(),this.child=t}put(t,e){return t.multihash.code===Wi||this.child==null?t:this.child.put(t,e)}get(t){if(t.multihash.code===Wi)return t.multihash.digest;if(this.child==null)throw Fp.notFoundError();return this.child.get(t)}has(t){return t.multihash.code===Wi?!0:this.child==null?!1:this.child.has(t)}delete(t){if(t.code!==Wi&&this.child!=null)return this.child.delete(t)}getAll(t){return this.child!=null?this.child.getAll(t):[]}};function ox(r){return r[Symbol.asyncIterator]!=null}function Vp(r){return r?.then!=null}function sx(r,t){let e=0;if(ox(r))return async function*(){for await(let c of r){let u=t(c,e++);Vp(u)&&await u,yield c}}();let n=an(r),{value:o,done:s}=n.next();if(s===!0)return function*(){}();if(typeof t(o,e++)?.then=="function")return async function*(){yield o;for await(let c of n){let u=t(c,e++);Vp(u)&&await u,yield c}}();let a=t;return function*(){yield o;for(let c of n)a(c,e++),yield c}()}var Su=sx;var Zi=class{child;hashers;log;logger;components;constructor(t){this.log=t.logger.forComponent("helia:networked-storage"),this.logger=t.logger,this.components=t,this.child=new Yi(t.blockstore),this.hashers=t.hashers??{}}async put(t,e,n={}){return await this.child.has(t,n)?(n.onProgress?.(new nt("blocks:put:duplicate",t)),t):(n.onProgress?.(new nt("blocks:put:providers:notify",t)),await Promise.all(this.components.blockBrokers.map(async o=>o.announce?.(t,e,n))),n.onProgress?.(new nt("blocks:put:blockstore:put",t)),this.child.put(t,e,n))}async*putMany(t,e={}){let n=Re(t,async({cid:s})=>{let i=await this.child.has(s,e);return i&&e.onProgress?.(new nt("blocks:put-many:duplicate",s)),!i}),o=Su(n,async({cid:s,block:i})=>{e.onProgress?.(new nt("blocks:put-many:providers:notify",s)),await Promise.all(this.components.blockBrokers.map(async a=>a.announce?.(s,i,e)))});e.onProgress?.(new nt("blocks:put-many:blockstore:put-many")),yield*this.child.putMany(o,e)}async get(t,e={}){if(e.offline!==!0&&!await this.child.has(t,e)){e.onProgress?.(new nt("blocks:get:providers:get",t));let n=await Mp(t,this.components.blockBrokers,this.hashers[t.multihash.code],{...e,log:this.log});return e.onProgress?.(new nt("blocks:get:blockstore:put",t)),await this.child.put(t,n,e),e.onProgress?.(new nt("blocks:get:providers:notify",t)),await Promise.all(this.components.blockBrokers.map(async o=>o.announce?.(t,n,e))),n}return e.onProgress?.(new nt("blocks:get:blockstore:get",t)),this.child.get(t,e)}async*getMany(t,e={}){e.onProgress?.(new nt("blocks:get-many:blockstore:get-many")),yield*this.child.getMany(Su(t,async n=>{if(e.offline!==!0&&!await this.child.has(n,e)){e.onProgress?.(new nt("blocks:get-many:providers:get",n));let o=await Mp(n,this.components.blockBrokers,this.hashers[n.multihash.code],{...e,log:this.log});e.onProgress?.(new nt("blocks:get-many:blockstore:put",n)),await this.child.put(n,o,e),e.onProgress?.(new nt("blocks:get-many:providers:notify",n)),await Promise.all(this.components.blockBrokers.map(async s=>s.announce?.(n,o,e)))}}))}async delete(t,e={}){e.onProgress?.(new nt("blocks:delete:blockstore:delete",t)),await this.child.delete(t,e)}async*deleteMany(t,e={}){e.onProgress?.(new nt("blocks:delete-many:blockstore:delete-many")),yield*this.child.deleteMany(async function*(){for await(let n of t)yield n}(),e)}async has(t,e={}){return this.child.has(t,e)}async*getAll(t={}){t.onProgress?.(new nt("blocks:get-all:blockstore:get-many")),yield*this.child.getAll(t)}},Ji=class extends Zi{started;constructor(t){super(t),this.started=!1}isStarted(){return this.started}async start(){await mr(this.child,...this.components.blockBrokers),this.started=!0}async stop(){await gr(this.child,...this.components.blockBrokers),this.started=!1}unwrap(){return this.child}createSession(t,e){let n=this.components.blockBrokers.map(o=>o.createSession==null?o:o.createSession(e));return new Iu({blockstore:this.child,blockBrokers:n,hashers:this.hashers,logger:this.logger},{root:t})}},Iu=class extends Zi{closeController;constructor(t,e){super(t),this.closeController=new AbortController,ft(1/0,this.closeController.signal),this.log=t.logger.forComponent(`helia:session-storage${e.root}`)}close(){this.closeController.abort()}async put(t,e,n={}){let o=Ht([this.closeController.signal,n.signal]);ft(1/0,o);try{return await super.put(t,e,{...n,signal:o})}finally{o.clear()}}async*putMany(t,e={}){let n=Ht([this.closeController.signal,e.signal]);ft(1/0,n);try{yield*super.putMany(t,{...e,signal:n})}finally{n.clear()}}async get(t,e={}){let n=Ht([this.closeController.signal,e.signal]);ft(1/0,n);try{return await super.get(t,{...e,signal:n})}finally{n.clear()}}async*getMany(t,e={}){let n=Ht([this.closeController.signal,e.signal]);ft(1/0,n);try{yield*super.getMany(t,{...e,signal:n})}finally{n.clear()}}async delete(t,e={}){let n=Ht([this.closeController.signal,e.signal]);ft(1/0,n);try{await super.delete(t,{...e,signal:n})}finally{n.clear()}}async*deleteMany(t,e={}){let n=Ht([this.closeController.signal,e.signal]);ft(1/0,n);try{yield*super.deleteMany(t,{...e,signal:n})}finally{n.clear()}}async has(t,e={}){let n=Ht([this.closeController.signal,e.signal]);ft(1/0,n);try{return await super.has(t,{...e,signal:n})}finally{n.clear()}}async*getAll(t={}){let e=Ht([this.closeController.signal,t.signal]);ft(1/0,e);try{yield*super.getAll({...t,signal:e})}finally{e.clear()}}};function ix(r){return typeof r.retrieve=="function"}var ax=(r,t)=>{if(t==null)throw new D(`No hasher configured for multihash code 0x${r.multihash.code.toString(16)}, please configure one. You can look up which hash this is at https://github.com/multiformats/multicodec/blob/master/table.csv`,"ERR_UNKNOWN_HASH_ALG");return async e=>{let n=await t.digest(e);if(!it(n.digest,r.multihash.digest))throw new D("Hash of downloaded block did not match multihash from passed CID","ERR_HASH_MISMATCH")}};async function Mp(r,t,e,n){let o=ax(r,e),s=new AbortController,i=Ht([s.signal,n.signal]);ft(1/0,s.signal,i);let a=[];for(let c of t)ix(c)&&a.push(c);try{return await Promise.any(a.map(async c=>{try{let u=!1,f=await c.retrieve(r,{...n,signal:i,validateFn:async l=>{await o(l),u=!0}});return u||await o(f),f}catch(u){throw n.log.error("could not retrieve verified block for %c",r,u),u}}))}finally{s.abort(),i.clear()}}var $p=1,Hp=5;var Ru=Jt(qh(),1);var cx=Math.LN2*Math.LN2,Xi=class r{static create(t,e=.005){let n=ux(t,e);return new r(n)}seeds;bits;buffer;constructor(t={}){t.seeds!=null?this.seeds=t.seeds:this.seeds=lx(t.hashes??8),this.bits=t.bits??1024,this.buffer=we(Math.ceil(this.bits/8))}add(t){typeof t=="string"&&(t=q(t));for(let e=0;e<this.seeds.length;e++){let o=Ru.default.x86.hash32(t,this.seeds[e])%this.bits;this.setbit(o)}}has(t){typeof t=="string"&&(t=q(t));for(let e=0;e<this.seeds.length;e++){let o=Ru.default.x86.hash32(t,this.seeds[e])%this.bits;if(!this.getbit(o))return!1}return!0}clear(){this.buffer.fill(0)}setbit(t){let e=0,n=t;for(;n>7;)e++,n-=8;let o=this.buffer[e];o|=1<<n,this.buffer[e]=o}getbit(t){let e=0,n=t;for(;n>7;)e++,n-=8;return(this.buffer[e]&1<<n)!==0}};function ux(r,t=.005){let e=Math.round(-1*r*Math.log(t)/cx),n=Math.round(e/r*Math.LN2);return{bits:e,hashes:n}}function lx(r){let t,e,n=[];for(let o=0;o<r;o++)for(t=new cs(De(4)),n[o]=t.getUint32(0,!0),e=0;e<o;e++)if(n[o]===n[e]){o--;break}return n}var Go=class extends rn{intialPeerSearchComplete;requests;name;log;logger;minProviders;maxProviders;providers;evictionFilter;constructor(t,e){super(),ft(1/0,this),this.name=e.name,this.logger=t.logger,this.log=t.logger.forComponent(this.name),this.requests=new Map,this.minProviders=e.minProviders??1,this.maxProviders=e.maxProviders??5,this.providers=[],this.evictionFilter=Xi.create(this.maxProviders)}async retrieve(t,e={}){let n=le.encode(t.multihash.bytes),o=this.requests.get(n);if(o!=null)return this.log("join existing request for %c",t),o;let s=kt();if(this.requests.set(n,s.promise),this.providers.length===0){let u=!1;this.intialPeerSearchComplete==null&&(u=!0,this.log=this.logger.forComponent(`${this.name}:${t}`),this.intialPeerSearchComplete=this.findProviders(t,this.minProviders,e)),await this.intialPeerSearchComplete,u&&this.log("found initial session peers for %c",t)}let i=!1,a=new qe({concurrency:this.maxProviders});a.addEventListener("error",()=>{}),a.addEventListener("failure",u=>{this.log.error("error querying provider %o, evicting from session",u.detail.job.options.provider,u.detail.error),this.evict(u.detail.job.options.provider)}),a.addEventListener("success",u=>{i=!0,s.resolve(u.detail.result)}),a.addEventListener("idle",()=>{i||e.signal?.aborted===!0||Promise.resolve().then(async()=>{this.log("no session peers had block for for %c, finding new providers",t);for(let u=0;u<this.minProviders&&this.providers.length!==0;u++){let f=this.providers[Math.floor(Math.random()*this.providers.length)];this.evict(f)}await this.findProviders(t,this.minProviders,e),this.log("found new providers re-retrieving %c",t),this.requests.delete(n),s.resolve(await this.retrieve(t,e))}).catch(u=>{this.log.error("could not find new providers for %c",t,u),s.reject(u)})});let c=u=>{a.add(async()=>this.queryProvider(t,u.detail,e),{provider:u.detail}).catch(f=>{e.signal?.aborted!==!0&&this.log.error("error retrieving session block for %c",t,f)})};this.addEventListener("provider",c),Promise.all([...this.providers].map(async u=>a.add(async()=>this.queryProvider(t,u,e),{provider:u}))).catch(u=>{e.signal?.aborted!==!0&&this.log.error("error retrieving session block for %c",t,u)});try{return await s.promise}finally{this.removeEventListener("provider",c),a.clear(),this.requests.delete(n)}}evict(t){this.evictionFilter.add(this.toEvictionKey(t));let e=this.providers.findIndex(n=>this.equals(n,t));e!==-1&&this.providers.splice(e,1)}isEvicted(t){return this.providers.some(e=>this.equals(e,t))}hasProvider(t){return!!(this.providers.find(e=>this.equals(e,t))!=null||this.isEvicted(t))}async findProviders(t,e,n){let o=kt(),s=0;return Promise.resolve().then(async()=>{this.log("finding %d-%d new provider(s) for %c",e,this.maxProviders,t);for await(let i of this.findNewProviders(t,n)){if(s===this.maxProviders||n.signal?.aborted===!0)break;if(!this.hasProvider(i)&&(this.log("found %d/%d new providers",s,this.maxProviders),this.providers.push(i),this.safeDispatchEvent("provider",{detail:i}),s++,s===e&&(this.log("session is ready"),o.resolve()),this.providers.length===this.maxProviders)){this.log("found max session peers",s);break}}if(this.log("found %d/%d new session peers",s,this.maxProviders),s<e)throw new D(`Found ${s} of ${e} ${this.name} providers for ${t}`,"ERR_INSUFFICIENT_PROVIDERS_FOUND")}).catch(i=>{this.log.error("error searching routing for potential session peers for %c",t,i.errors??i),o.reject(i)}),o.promise}};var Qi=class{blockstore;datastore;pins;logger;routing;dagWalkers;hashers;dns;metrics;log;constructor(t){this.logger=t.logger??Zh(),this.log=this.logger.forComponent("helia"),this.hashers=Dp(t.hashers),this.dagWalkers=Np(t.dagWalkers),this.dns=t.dns??id(),this.metrics=t.metrics;let e={blockstore:t.blockstore,datastore:t.datastore,hashers:this.hashers,dagWalkers:this.dagWalkers,logger:this.logger,blockBrokers:[],dns:this.dns,metrics:this.metrics,...t.components??{}};this.routing=e.routing=new qi(e,{routers:(t.routers??[]).flatMap(o=>{let s=[o];return o[oo]!=null&&s.push(o[oo]),o[io]!=null&&s.push(o[io]),s}),providerLookupConcurrency:t.providerLookupConcurrency});let n=new Ji(e);this.pins=new Ki(t.datastore,n,this.dagWalkers),this.blockstore=new zi(n,this.pins,{holdGcLock:t.holdGcLock??!0}),this.datastore=t.datastore,e.blockBrokers=t.blockBrokers.map(o=>o(e))}async start(){await Up(this.datastore),await mr(this.blockstore,this.datastore,this.routing)}async stop(){await gr(this.blockstore,this.datastore,this.routing)}async gc(t={}){let e=await this.blockstore.lock.writeLock();try{let n=this,o=this.blockstore.unwrap();this.log("gc start"),await Mr(o.deleteMany(async function*(){for await(let{cid:s}of o.getAll())try{if(await n.pins.isPinned(s,t))continue;yield s,t.onProgress?.(new nt("helia:gc:deleted",s))}catch(i){n.log.error("Error during gc",i),t.onProgress?.(new nt("helia:gc:error",i))}}()))}finally{e()}this.log("gc finished")}};var ta=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,o){return this.readAtomically(()=>{let s=0,i=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*o)-1;for(;;){let f=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let m=Number.parseInt(l,t);if(!Number.isNaN(m))return m});if(f===void 0)break;if(s*=t,s+=f,s>u||(i+=1,e!==void 0&&i>e))return}if(i!==0)return!n&&c&&i>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let o=n*2;if(n<e.length-3){let i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return e[o]=i[0],e[o+1]=i[1],e[o+2]=i[2],e[o+3]=i[3],[o+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[o,!1];e[o]=s>>8,e[o+1]=s&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,o]=t(e);if(n===16)return e;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),i=16-(n+2),[a]=t(s.subarray(0,i));return e.set(s.subarray(0,a),16-a),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Kp=45,fx=15,Xn=new ta;function _u(r){if(!(r.length>fx))return Xn.new(r).parseWith(()=>Xn.readIPv4Addr())}function Tu(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>Kp))return Xn.new(r).parseWith(()=>Xn.readIPv6Addr())}function ea(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>Kp))return Xn.new(r).parseWith(()=>Xn.readIPAddr())}function Qn(r){return!!_u(r)}function to(r){return!!Tu(r)}function ra(r){return!!ea(r)}var zp=Jt(qp(),1),hx=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],dx=hx.map(r=>new zp.Netmask(r));function px(r){for(let t of dx)if(t.contains(r))return!0;return!1}function mx(r){return/^::$/.test(r)||/^::1$/.test(r)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(r)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(r)||/^ff([0-9a-fA-F]{2,2}):/i.test(r)}function Gp(r){return Qn(r)?px(r):to(r)?mx(r):void 0}var JI=parseInt("0xFFFF",16),XI=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Yp=Qn,xx=to,Cu=function(r){let t=0;if(r=r.toString().trim(),Yp(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(xx(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let s=Yp(e[n]),i;s&&(i=Cu(e[n]),e[n]=G(i.slice(0,2),"base16")),i!=null&&++n<8&&e.splice(n,0,G(i.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let s=[n,1];for(n=9-e.length;n>0;n--)s.push("0");e.splice.apply(e,s)}let o=new Uint8Array(t+16);for(n=0;n<e.length;n++){let s=parseInt(e[n],16);o[t++]=s>>8&255,o[t++]=s&255}return o}throw new Error("invalid ip address")},Zp=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let o=[];for(let s=0;s<e;s++)o.push(r[t+s]);return o.join(".")}if(e===16){let o=[];for(let s=0;s<e;s+=2)o.push(n.getUint16(t+s).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var eo={},Nu={},vx=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];vx.forEach(r=>{let t=Ax(...r);Nu[t.code]=t,eo[t.name]=t});function Ax(r,t,e,n,o){return{code:r,size:t,name:e,resolvable:!!n,path:!!o}}function j(r){if(typeof r=="number"){if(Nu[r]!=null)return Nu[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(eo[r]!=null)return eo[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var L6=j("ip4"),U6=j("ip6"),D6=j("ipcidr");function Uu(r,t){switch(j(r).code){case 4:case 41:return kx(t);case 42:return Qp(t);case 6:case 273:case 33:case 132:return e0(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Qp(t);case 421:return _x(t);case 444:return t0(t);case 445:return t0(t);case 466:return Rx(t);default:return G(t,"base16")}}function Du(r,t){switch(j(r).code){case 4:return Jp(t);case 41:return Jp(t);case 42:return Xp(t);case 6:case 273:case 33:case 132:return Pu(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Xp(t);case 421:return Sx(t);case 444:return Tx(t);case 445:return Cx(t);case 466:return Ix(t);default:return q(t,"base16")}}var Lu=Object.values(xr).map(r=>r.decoder),Bx=function(){let r=Lu[0].or(Lu[1]);return Lu.slice(2).forEach(t=>r=r.or(t)),r}();function Jp(r){if(!ra(r))throw new Error("invalid ip address");return Cu(r)}function kx(r){let t=Zp(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!ra(t))throw new Error("invalid ip address");return t}function Pu(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function e0(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Xp(r){let t=q(r),e=Uint8Array.from(on(t.length));return St([e,t],e.length+t.length)}function Qp(r){let t=$r(r);if(r=r.slice(jt(t)),r.length!==t)throw new Error("inconsistent lengths");return G(r)}function Sx(r){let t;r[0]==="Q"||r[0]==="1"?t=Ne(ht.decode(`z${r}`)).bytes:t=tt.parse(r).multihash.bytes;let e=Uint8Array.from(on(t.length));return St([e,t],e.length+t.length)}function Ix(r){let t=Bx.decode(r),e=Uint8Array.from(on(t.length));return St([e,t],e.length+t.length)}function Rx(r){let t=$r(r),e=r.slice(jt(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+G(e,"base64url")}function _x(r){let t=$r(r),e=r.slice(jt(t));if(e.length!==t)throw new Error("inconsistent lengths");return G(e,"base58btc")}function Tx(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=Ct.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Pu(n);return St([e,o],e.length+o.length)}function Cx(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=Ct.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Pu(n);return St([e,o],e.length+o.length)}function t0(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=G(t,"base32"),o=e0(e);return`${n}:${o}`}function r0(r){r=Ou(r);let t=[],e=[],n=null,o=r.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let s=0;s<o.length;s++){let i=o[s],a=j(i);if(a.size===0){t.push([a.code]),e.push([a.code]);continue}if(s++,s>=o.length)throw o0("invalid address: "+r);if(a.path===!0){n=Ou(o.slice(s).join("/")),t.push([a.code,Du(a.code,n)]),e.push([a.code,n]);break}let c=Du(a.code,o[s]);t.push([a.code,c]),e.push([a.code,Uu(a.code,c)])}return{string:n0(e),bytes:Vu(t),tuples:t,stringTuples:e,path:n}}function Fu(r){let t=[],e=[],n=null,o=0;for(;o<r.length;){let s=$r(r,o),i=jt(s),a=j(s),c=Nx(a,r.slice(o+i));if(c===0){t.push([s]),e.push([s]),o+=i;continue}let u=r.slice(o+i,o+i+c);if(o+=c+i,o>r.length)throw o0("Invalid address Uint8Array: "+G(r,"base16"));t.push([s,u]);let f=Uu(s,u);if(e.push([s,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(r),string:n0(e),tuples:t,stringTuples:e,path:n}}function n0(r){let t=[];return r.map(e=>{let n=j(e[0]);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),Ou(t.join("/"))}function Vu(r){return St(r.map(t=>{let e=j(t[0]),n=Uint8Array.from(on(e.code));return t.length>1&&t[1]!=null&&(n=St([n,t[1]])),n}))}function Nx(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=$r(t instanceof Uint8Array?t:Uint8Array.from(t));return e+jt(e)}}function Ou(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function o0(r){return new Error("Error parsing address: "+r)}var Lx=Symbol.for("nodejs.util.inspect.custom"),Mu=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Ux=[j("dns").code,j("dns4").code,j("dns6").code,j("dnsaddr").code],na=class r{bytes;#t;#e;#r;#o;[Mu]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=Fu(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=r0(t)}else if(i0(t))e=Fu(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#t=e.string,this.#e=e.tuples,this.#r=e.stringTuples,this.#o=e.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,e,n,o,s="",i=j("tcp"),a=j("udp"),c=j("ip4"),u=j("ip6"),f=j("dns6"),l=j("ip6zone");for(let[h,p]of this.stringTuples())h===l.code&&(s=`%${p??""}`),Ux.includes(h)&&(e=i.name,o=443,n=`${p??""}${s}`,t=h===f.code?6:4),(h===i.code||h===a.code)&&(e=j(h).name,o=parseInt(p??"")),(h===c.code||h===u.code)&&(e=j(h).name,n=`${p??""}${s}`,t=h===u.code?6:4);if(t==null||e==null||n==null||o==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:e,port:o}}protos(){return this.#e.map(([t])=>Object.assign({},j(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>j(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new r(t),new r(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),o=n.lastIndexOf(e);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(n.slice(0,o))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new r(Vu(e.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,o])=>{n===eo.p2p.code&&t.push([n,o]),n===eo["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?G(ht.decode(`z${n}`),"base58btc"):G(tt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#o}equals(t){return it(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(s=>s.resolvable);if(e==null)return[this];let n=s0.get(e.name);if(n==null)throw new D(`no available resolver for ${e.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(s=>fr(s))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let e=(t??this).protos();return!(e.length!==2||e[0].code!==4&&e[0].code!==41||e[1].code!==6&&e[1].code!==273)}[Lx](){return`Multiaddr(${this.#t})`}};var s0=new Map;function i0(r){return!!r?.[Mu]}function fr(r){return new na(r)}var Dx=r=>r.toString().split("/").slice(1),Wo=r=>({match:t=>t.length<1?!1:r(t[0])?t.slice(1):!1,pattern:"fn"}),ot=r=>({match:t=>Wo(e=>e===r).match(t),pattern:r}),ia=()=>({match:r=>Wo(t=>typeof t=="string").match(r),pattern:"{string}"}),aa=()=>({match:r=>Wo(t=>!isNaN(parseInt(t))).match(r),pattern:"{number}"}),Dt=()=>({match:r=>{if(r.length<2||r[0]!=="p2p"&&r[0]!=="ipfs")return!1;if(r[1].startsWith("Q")||r[1].startsWith("1"))try{ht.decode(`z${r[1]}`)}catch{return!1}else return!1;return r.slice(2)},pattern:"/p2p/{peerid}"}),oa=()=>({match:r=>{if(r.length<2||r[0]!=="certhash")return!1;try{Ja.decode(r[1])}catch{return!1}return r.slice(2)},pattern:"/certhash/{certhash}"}),Pt=r=>({match:t=>{let e=r.match(t);return e===!1?t:e},pattern:`optional(${r.pattern})`}),ae=(...r)=>({match:t=>{let e;for(let n of r){let o=n.match(t);o!==!1&&(e==null||o.length<e.length)&&(e=o)}return e??!1},pattern:`or(${r.map(t=>t.pattern).join(", ")})`}),ct=(...r)=>({match:t=>{for(let e of r){let n=e.match(t);if(n===!1)return!1;t=n}return t},pattern:`and(${r.map(t=>t.pattern).join(", ")})`});function yt(...r){function t(o){let s=Dx(o);for(let i of r){let a=i.match(s);if(a===!1)return!1;s=a}return s}function e(o){return t(o)!==!1}function n(o){let s=t(o);return s===!1?!1:s.length===0}return{matches:e,exactMatch:n}}var Hu=ct(ot("dns4"),ia()),Ku=ct(ot("dns6"),ia()),qu=ct(ot("dnsaddr"),ia()),a0=ct(ot("dns"),ia()),l4=yt(Hu),f4=yt(Ku),h4=yt(qu),c0=yt(ae(a0,qu,Hu,Ku)),u0=ct(ot("ip4"),Wo(Qn)),l0=ct(ot("ip6"),Wo(to)),f0=ae(u0,l0),$e=ae(f0,a0,Hu,Ku,qu),d4=yt($e),p4=yt(u0),m4=yt(l0),g4=yt(f0),ca=ct($e,ot("tcp"),aa()),Yo=ct($e,ot("udp"),aa()),Px=ae(ca,Yo),y4=yt(ca),w4=yt(Yo),zu=ct(Yo,ot("quic")),ua=ct(Yo,ot("quic-v1")),Ox=ae(zu,ua),b4=yt(zu),x4=yt(ua),$u=ae($e,ca,Yo,zu,ua),h0=ae(ct($u,ot("ws"),Pt(Dt()))),E4=yt(h0),d0=ae(ct($u,ot("wss"),Pt(Dt())),ct($u,ot("tls"),ot("ws"),Pt(Dt()))),v4=yt(d0),p0=ct(Px,ot("webrtc-direct"),oa(),Pt(oa()),Pt(Dt())),A4=yt(p0),m0=ct(ua,ot("webtransport"),Pt(oa()),Pt(oa()),Pt(Dt())),B4=yt(m0),sa=ae(h0,d0,ct(ca,Pt(Dt())),ct(Ox,Pt(Dt())),ct($e,Pt(Dt())),p0,m0,Dt()),k4=yt(sa),Fx=ct(sa,ot("p2p-circuit"),Dt()),S4=yt(Fx),Vx=ae(ct(sa,ot("p2p-circuit"),ot("webrtc"),Dt()),ct(sa,ot("webrtc"),Pt(Dt())),ot("webrtc")),I4=yt(Vx),Mx=ae(ct($e,ot("tcp"),aa(),ot("http"),Pt(Dt())),ct($e,ot("http"),Pt(Dt()))),g0=yt(Mx),$x=ae(ct($e,ot("tcp"),ae(ct(ot("443"),ot("http")),ct(aa(),ot("https"))),Pt(Dt())),ct($e,ot("tls"),ot("http"),Pt(Dt())),ct($e,ot("https"),Pt(Dt()))),y0=yt($x);var Hx=[j("tcp").code,j("dns").code,j("dnsaddr").code,j("dns4").code,j("dns6").code];function w0(r){let t;try{t=j("sni").code}catch{return null}for(let[e,n]of r)if(e===t&&n!==void 0)return n;return null}function b0(r){return r.some(([t,e])=>t===j("tls").code)}function ce(r,t,e){let n=x0[j(r).name];if(n===void 0)throw new Error(`Can't interpret protocol ${j(r).name}`);let o=n(t,e);return r===j("ip6").code?`[${o}]`:o}var x0={ip4:(r,t)=>r,ip6:(r,t)=>t.length===0?r:`[${r}]`,tcp:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`tcp://${ce(e[0],e[1]??"",t)}:${r}`},udp:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`udp://${ce(e[0],e[1]??"",t)}:${r}`},dnsaddr:(r,t)=>r,dns4:(r,t)=>r,dns6:(r,t)=>r,dns:(r,t)=>r,ipfs:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`${ce(e[0],e[1]??"",t)}/ipfs/${r}`},p2p:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`${ce(e[0],e[1]??"",t)}/p2p/${r}`},http:(r,t)=>{let e=b0(t),n=w0(t);if(e&&n!==null)return`https://${n}`;let o=e?"https://":"http://",s=t.pop();if(s===void 0)throw new Error("Unexpected end of multiaddr");let i=ce(s[0],s[1]??"",t);return i=i.replace("tcp://",""),`${o}${i}`},tls:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return ce(e[0],e[1]??"",t)},sni:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return ce(e[0],e[1]??"",t)},https:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");let n=ce(e[0],e[1]??"",t);return n=n.replace("tcp://",""),`https://${n}`},ws:(r,t)=>{let e=b0(t),n=w0(t);if(e&&n!==null)return`wss://${n}`;let o=e?"wss://":"ws://",s=t.pop();if(s===void 0)throw new Error("Unexpected end of multiaddr");let i=ce(s[0],s[1]??"",t);return i=i.replace("tcp://",""),`${o}${i}`},wss:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");let n=ce(e[0],e[1]??"",t);return n=n.replace("tcp://",""),`wss://${n}`},"p2p-websocket-star":(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`${ce(e[0],e[1]??"",t)}/p2p-websocket-star`},"p2p-webrtc-star":(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`${ce(e[0],e[1]??"",t)}/p2p-webrtc-star`},"p2p-webrtc-direct":(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`${ce(e[0],e[1]??"",t)}/p2p-webrtc-direct`}};function E0(r,t){let n=fr(r).stringTuples(),o=n.pop();if(o===void 0)throw new Error("Unexpected end of multiaddr");let s=j(o[0]),i=x0[s.name];if(i==null)throw new Error(`No interpreter found for ${s.name}`);let a=i(o[1]??"",n);return t?.assumeHttp!==!1&&Hx.includes(o[0])&&(a=a.replace(/^.*:\/\//,""),o[1]==="443"?a=`https://${a}`:a=`http://${a}`),(a.startsWith("http://")||a.startsWith("https://"))&&(a=new URL(a).toString(),a.endsWith("/")&&(a=a.substring(0,a.length-1))),a}var la=class{url;#t=0;#e=0;#r=0;#o=0;#a=new Map;log;constructor(t,e){this.url=t instanceof URL?t:new URL(t),this.log=e.forComponent(`helia:trustless-gateway-block-broker:${this.url.hostname}`)}#u(t){let e=t.multihash.bytes;return le.encode(e)}async getRawBlock(t,e){let n=new URL(this.url.toString());if(n.pathname=`/ipfs/${t.toString()}`,n.search="?format=raw",e?.aborted===!0)throw new Error(`Signal to fetch raw block for CID ${t} from gateway ${this.url} was aborted prior to fetch`);let o=this.#u(t),s=new AbortController,i=()=>{s.abort()};e?.addEventListener("abort",i);try{let a=this.#a.get(o);return a==null&&(this.#t++,a=fetch(n.toString(),{signal:s.signal,headers:{Accept:"application/vnd.ipld.raw"},cache:"force-cache"}).then(async c=>{if(this.log("GET %s %d",n,c.status),!c.ok)throw this.#e++,new Error(`unable to fetch raw block for CID ${t} from gateway ${this.url}`);return this.#o++,new Uint8Array(await c.arrayBuffer())}),this.#a.set(o,a)),await a}catch{throw e?.aborted===!0?new Error(`fetching raw block for CID ${t} from gateway ${this.url} was aborted`):(this.#e++,new Error(`unable to fetch raw block for CID ${t}`))}finally{e?.removeEventListener("abort",i),this.#a.delete(o)}}reliability(){return this.#t===0?1:this.#r>0?-1/0:this.#o/(this.#t+this.#e*3)}incrementInvalidBlocks(){this.#r++}getStats(){return{attempts:this.#t,errors:this.#e,invalidBlocks:this.#r,successes:this.#o,pendingResponses:this.#a.size}}};function Kx(r,t,e){return r.filter(n=>y0.matches(n)||t&&g0.matches(n)?e||c0.matches(n)?!0:Gp(n.toOptions().host)===!1:!1)}async function*fa(r,t,e,n,o,s){for await(let i of t.findProviders(r,s)){let a=Kx(i.multiaddrs,n,o);if(a.length===0)continue;let c=E0(a[0]);yield new la(c,e)}}var Gu=class extends Go{routing;allowInsecure;allowLocal;constructor(t,e){super(t,{...e,name:"helia:trustless-gateway:session"}),this.routing=t.routing,this.allowInsecure=e.allowInsecure??ha,this.allowLocal=e.allowLocal??da}async queryProvider(t,e,n){this.log("fetching BLOCK for %c from %s",t,e.url);let o=await e.getRawBlock(t,n.signal);return this.log.trace("got block for %c from %s",t,e.url),await n.validateFn?.(o),o}async*findNewProviders(t,e={}){yield*fa(t,this.routing,this.logger,this.allowInsecure,this.allowLocal,e)}toEvictionKey(t){return t.url.toString()}equals(t,e){return t.url.toString()===e.url.toString()}};function v0(r,t){return new Gu(r,t)}var pa=class{allowInsecure;allowLocal;routing;log;logger;constructor(t,e={}){this.log=t.logger.forComponent("helia:trustless-gateway-block-broker"),this.logger=t.logger,this.routing=t.routing,this.allowInsecure=e.allowInsecure??ha,this.allowLocal=e.allowLocal??da}async retrieve(t,e={}){let n=[];for await(let o of fa(t,this.routing,this.logger,this.allowInsecure,this.allowLocal,e)){this.log("getting block for %c from %s",t,o.url);try{let s=await o.getRawBlock(t,e.signal);this.log.trace("got block for %c from %s",t,o.url);try{await e.validateFn?.(s)}catch(i){this.log.error("failed to validate block for %c from %s",t,o.url,i);continue}return s}catch(s){if(this.log.error("failed to get block for %c from %s",t,o.url,s),s instanceof Error?n.push(s):n.push(new Error(`Unable to fetch raw block for CID ${t} from gateway ${o.url}`)),e.signal?.aborted===!0){this.log.trace("request aborted while fetching raw block for CID %c from gateway %s",t,o.url);break}}}throw n.length>0?new AggregateError(n,`Unable to fetch raw block for CID ${t} from any gateway`):new Error(`Unable to fetch raw block for CID ${t} from any gateway`)}createSession(t={}){return v0({logger:this.logger,routing:this.routing},t)}};var ha=!1,da=!1;function ju(r={}){return t=>new pa(t,r)}async function*ma(r,t={}){let e=r.getReader();try{for(;;){let n=await e.read();if(n.done)return;yield n.value}}finally{t.preventCancel!==!0&&await e.cancel(),e.releaseLock()}}var jx=Jt(sn(),1);var Wx=Jt(Yu(),1);var A0="ERR_IPNS_EXPIRED_RECORD",ga="ERR_UNRECOGNIZED_VALIDITY";var hr="ERR_SIGNATURE_VERIFICATION";var Zu="ERR_UNDEFINED_PARAMETER",B0="ERR_INVALID_RECORD_DATA",k0="ERR_INVALID_VALUE",S0="ERR_INVALID_EMBEDDED_KEY";var I0="ERR_RECORD_TOO_LARGE";var _e;(function(r){let t;(function(o){o.EOL="EOL"})(t=r.ValidityType||(r.ValidityType={}));let e;(function(o){o[o.EOL=0]="EOL"})(e||(e={})),function(o){o.codec=()=>ho(e)}(t=r.ValidityType||(r.ValidityType={}));let n;r.codec=()=>(n==null&&(n=gn((o,s,i={})=>{i.lengthDelimited!==!1&&s.fork(),o.value!=null&&(s.uint32(10),s.bytes(o.value)),o.signatureV1!=null&&(s.uint32(18),s.bytes(o.signatureV1)),o.validityType!=null&&(s.uint32(24),r.ValidityType.codec().encode(o.validityType,s)),o.validity!=null&&(s.uint32(34),s.bytes(o.validity)),o.sequence!=null&&(s.uint32(40),s.uint64(o.sequence)),o.ttl!=null&&(s.uint32(48),s.uint64(o.ttl)),o.pubKey!=null&&(s.uint32(58),s.bytes(o.pubKey)),o.signatureV2!=null&&(s.uint32(66),s.bytes(o.signatureV2)),o.data!=null&&(s.uint32(74),s.bytes(o.data)),i.lengthDelimited!==!1&&s.ldelim()},(o,s)=>{let i={},a=s==null?o.len:o.pos+s;for(;o.pos<a;){let c=o.uint32();switch(c>>>3){case 1:i.value=o.bytes();break;case 2:i.signatureV1=o.bytes();break;case 3:i.validityType=r.ValidityType.codec().decode(o);break;case 4:i.validity=o.bytes();break;case 5:i.sequence=o.uint64();break;case 6:i.ttl=o.uint64();break;case 7:i.pubKey=o.bytes();break;case 8:i.signatureV2=o.bytes();break;case 9:i.data=o.bytes();break;default:o.skipType(c&7);break}}return i})),n),r.encode=o=>pn(o,r.codec()),r.decode=o=>un(o,r.codec())})(_e||(_e={}));var ue=Jt(sn(),1);var _0=re("ipns:utils"),T0=q("/ipns/"),qx=114,C0=async(r,t)=>{if(t==null||r==null){let n=new Error("one or more of the provided parameters are not defined");throw _0.error(n),(0,ue.default)(n,Zu)}let e;if(t.pubKey!=null){try{e=Jc(t.pubKey)}catch(o){throw _0.error(o),o}if(!(await uf(t.pubKey)).equals(r))throw(0,ue.default)(new Error("Embedded public key did not match PeerID"),S0)}else r.publicKey!=null&&(e=Jc(r.publicKey));if(e!=null)return e;throw(0,ue.default)(new Error("no public key is available"),Zu)};var N0=r=>{let t=q("ipns-signature:");return St([t,r])},en=r=>"signatureV1"in r?_e.encode({value:q(r.value),signatureV1:r.signatureV1,validityType:r.validityType,validity:q(r.validity),sequence:r.sequence,ttl:r.ttl,pubKey:r.pubKey,signatureV2:r.signatureV2,data:r.data}):_e.encode({pubKey:r.pubKey,signatureV2:r.signatureV2,data:r.data});function He(r){let t=_e.decode(r);if(t.sequence!=null&&(t.sequence=BigInt(t.sequence)),t.ttl!=null&&(t.ttl=BigInt(t.ttl)),t.signatureV2==null||t.data==null)throw(0,ue.default)(new Error("missing data or signatureV2"),hr);let e=L0(t.data),n=zx(e.Value),o=G(e.Validity);if(t.value!=null&&t.signatureV1!=null)return Gx(t),{value:n,validityType:_e.ValidityType.EOL,validity:o,sequence:e.Sequence,ttl:e.TTL,pubKey:t.pubKey,signatureV1:t.signatureV1,signatureV2:t.signatureV2,data:t.data};if(t.signatureV2!=null)return{value:n,validityType:_e.ValidityType.EOL,validity:o,sequence:e.Sequence,ttl:e.TTL,pubKey:t.pubKey,signatureV2:t.signatureV2,data:t.data};throw new Error("invalid record: does not include signatureV1 or signatureV2")}var Ju=r=>St([T0,r.toBytes()]),ro=r=>mo(r.slice(T0.length));var L0=r=>{let t=ge(r);if(t.ValidityType===0)t.ValidityType=_e.ValidityType.EOL;else throw(0,ue.default)(new Error("Unknown validity type"),ga);return Number.isInteger(t.Sequence)&&(t.Sequence=BigInt(t.Sequence)),Number.isInteger(t.TTL)&&(t.TTL=BigInt(t.TTL)),t},zx=r=>{if(r!=null){if(El(r))return`/ipns/${r.toCID().toString(br)}`;if(r instanceof Uint8Array){let n=G(r);n.startsWith("/")&&(r=n)}let t=r.toString().trim();if(t.startsWith("/")&&t.length>1)return t;let e=tt.asCID(r);if(e!=null)return e.code===qx?`/ipns/${e.toString(br)}`:`/ipfs/${e.toV1().toString()}`;try{return r instanceof Uint8Array?`/ipfs/${tt.decode(r).toV1().toString()}`:`/ipfs/${tt.parse(t).toV1().toString()}`}catch{}}throw(0,ue.default)(new Error("Value must be a valid content path starting with /"),k0)},Gx=r=>{if(r.data==null)throw(0,ue.default)(new Error("Record data is missing"),B0);let t=L0(r.data);if(!it(t.Value,r.value??new Uint8Array(0)))throw(0,ue.default)(new Error('Field "value" did not match between protobuf and CBOR'),hr);if(!it(t.Validity,r.validity??new Uint8Array(0)))throw(0,ue.default)(new Error('Field "validity" did not match between protobuf and CBOR'),hr);if(t.ValidityType!==r.validityType)throw(0,ue.default)(new Error('Field "validityType" did not match between protobuf and CBOR'),hr);if(t.Sequence!==r.sequence)throw(0,ue.default)(new Error('Field "sequence" did not match between protobuf and CBOR'),hr);if(t.TTL!==r.ttl)throw(0,ue.default)(new Error('Field "ttl" did not match between protobuf and CBOR'),hr)};var E3=re("ipns"),v3=Wt.code,A3=60*60*1e9,Yx="/ipns/",B3=Yx.length;var Zo=Jt(sn(),1),U0=Jt(Yu(),1);var ya=re("ipns:validator"),Zx=1024*10,Jx=async(r,t)=>{let e=He(t),n;try{let o=N0(e.data);n=await r.verify(o,e.signatureV2)}catch{n=!1}if(!n)throw ya.error("record signature verification failed"),(0,Zo.default)(new Error("record signature verification failed"),hr);if(e.validityType===_e.ValidityType.EOL){if(U0.default.fromString(e.validity).toDate().getTime()<Date.now())throw ya.error("record has expired"),(0,Zo.default)(new Error("record has expired"),A0)}else if(e.validityType!=null)throw ya.error("unrecognized validity type"),(0,Zo.default)(new Error("unrecognized validity type"),ga);ya("ipns record for %s is valid",e.value)};async function D0(r,t){if(t.byteLength>Zx)throw(0,Zo.default)(new Error("record too large"),I0);let e=ro(r),n=He(t),o=await C0(e,n);await Jx(o,t)}async function*Jo(r){let t=/\r?\n/,e=new TextDecoder("utf8"),n="";for await(let o of r){typeof o=="string"&&(o=new TextEncoder().encode(o)),n+=e.decode(o,{stream:!0});let s=n.split(t);n=s.pop()??"";for(let i=0;i<s.length;i++)yield JSON.parse(s[i])}n+=e.decode(),n!==""&&(yield JSON.parse(n))}function Xx(r){return r[Symbol.asyncIterator]!=null}function Qx(r){if(Xx(r))return(async()=>{for await(let t of r)return t})();for(let t of r)return t}var wa=Qx;var Xu=q("/ipns/");function P0(r){return it(r.subarray(0,Xu.byteLength),Xu)}var O0=r=>mo(r.slice(Xu.length)),ba=class{client;constructor(t){this.client=t}async*findProviders(t,e={}){yield*cn(this.client.getProviders(t,e),n=>({id:n.ID,multiaddrs:n.Addrs??[]}))}async provide(){}async put(t,e,n){if(!P0(t))return;let o=O0(t),s=He(e);await this.client.putIPNS(o,s,n)}async get(t,e){if(!P0(t))throw new D("Not found","ERR_NOT_FOUND");let n=O0(t);try{let o=await this.client.getIPNS(n,e);return en(o)}catch(o){throw o.code==="ERR_BAD_RESPONSE"?new D("Not found","ERR_NOT_FOUND"):o}}},xa=class{client;constructor(t){this.client=t}async findPeer(t,e={}){let n=await wa(this.client.getPeers(t,e));if(n!=null)return{id:n.ID,multiaddrs:n.Addrs??[]};throw new D("Not found","ERR_NOT_FOUND")}async*getClosestPeers(t,e={}){}};var Zt=re("delegated-routing-v1-http-api-client"),F0={concurrentRequests:4,timeout:3e4},Ea=class{started;httpQueue;shutDownController;clientUrl;timeout;contentRouting;peerRouting;constructor(t,e={}){this.started=!1,this.shutDownController=new AbortController,ft(1/0,this.shutDownController.signal),this.httpQueue=new Ve({concurrency:e.concurrentRequests??F0.concurrentRequests}),this.clientUrl=t instanceof URL?t:new URL(t),this.timeout=e.timeout??F0.timeout,this.contentRouting=new ba(this),this.peerRouting=new xa(this)}get[oo](){return this.contentRouting}get[io](){return this.peerRouting}isStarted(){return this.started}start(){this.started=!0}stop(){this.httpQueue.clear(),this.shutDownController.abort(),this.started=!1}async*getProviders(t,e={}){Zt("getProviders starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=Ht([this.shutDownController.signal,n,e.signal]);ft(1/0,n,o);let s=kt(),i=kt();this.httpQueue.add(async()=>(s.resolve(),i.promise));try{await s.promise;let a=`${this.clientUrl}routing/v1/providers/${t.toString()}`,u=await fetch(a,{headers:{Accept:"application/x-ndjson"},signal:o});if(u.status===404)throw new D("No matching records found.","ERR_NOT_FOUND");if(u.status===422)throw new D("Request does not conform to schema or semantic constraints.","ERR_INVALID_REQUEST");if(u.body==null)throw new D("Routing response had no body","ERR_BAD_RESPONSE");if(u.headers.get("Content-Type")==="application/json"){let l=await u.json();for(let m of l.Providers){let h=this.#t(m);h!=null&&(yield h)}}else for await(let l of Jo(ma(u.body))){let m=this.#t(l);m!=null&&(yield m)}}catch(a){Zt.error("getProviders errored:",a)}finally{o.clear(),i.resolve(),Zt("getProviders finished: %c",t)}}async*getPeers(t,e={}){Zt("getPeers starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=Ht([this.shutDownController.signal,n,e.signal]);ft(1/0,n,o);let s=kt(),i=kt();this.httpQueue.add(async()=>(s.resolve(),i.promise));try{await s.promise;let a=`${this.clientUrl}routing/v1/peers/${t.toCID().toString()}`,u=await fetch(a,{headers:{Accept:"application/x-ndjson"},signal:o});if(u.status===404)throw new D("No matching records found.","ERR_NOT_FOUND");if(u.status===422)throw new D("Request does not conform to schema or semantic constraints.","ERR_INVALID_REQUEST");if(u.body==null)throw new D("Routing response had no body","ERR_BAD_RESPONSE");if(u.headers.get("Content-Type")==="application/json"){let l=await u.json();for(let m of l.Peers){let h=this.#t(m);h!=null&&(yield h)}}else for await(let l of Jo(ma(u.body))){let m=this.#t(l);m!=null&&(yield m)}}catch(a){Zt.error("getPeers errored:",a)}finally{o.clear(),i.resolve(),Zt("getPeers finished: %c",t)}}async getIPNS(t,e={}){Zt("getIPNS starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=Ht([this.shutDownController.signal,n,e.signal]);ft(1/0,n,o);let s=kt(),i=kt();this.httpQueue.add(async()=>(s.resolve(),i.promise));let a=`${this.clientUrl}routing/v1/ipns/${t.toCID().toString()}`;try{await s.promise;let u=await fetch(a,{headers:{Accept:"application/vnd.ipfs.ipns-record"},signal:o});if(Zt("getIPNS GET %s %d",a,u.status),u.status===404)throw new D("No matching records found.","ERR_NOT_FOUND");if(u.status===422)throw new D("Request does not conform to schema or semantic constraints.","ERR_INVALID_REQUEST");if(u.body==null)throw new D("GET ipns response had no body","ERR_BAD_RESPONSE");let f=await u.arrayBuffer(),l=new Uint8Array(f,0,f.byteLength);return e.validate!==!1&&await D0(Ju(t),l),He(l)}catch(c){throw Zt.error("getIPNS GET %s error:",a,c),c}finally{o.clear(),i.resolve(),Zt("getIPNS finished: %c",t)}}async putIPNS(t,e,n={}){Zt("putIPNS starts: %c",t);let o=AbortSignal.timeout(this.timeout),s=Ht([this.shutDownController.signal,o,n.signal]);ft(1/0,o,s);let i=kt(),a=kt();this.httpQueue.add(async()=>(i.resolve(),a.promise));let c=`${this.clientUrl}routing/v1/ipns/${t.toCID().toString()}`;try{await i.promise;let u=en(e),l=await fetch(c,{method:"PUT",headers:{"Content-Type":"application/vnd.ipfs.ipns-record"},body:u,signal:s});if(Zt("putIPNS PUT %s %d",c,l.status),l.status!==200)throw new D("PUT ipns response had status other than 200","ERR_BAD_RESPONSE")}catch(u){throw Zt.error("putIPNS PUT %s error:",c,u.stack),u}finally{s.clear(),a.resolve(),Zt("putIPNS finished: %c",t)}}#t(t){let e=[],n=t.Addrs?.map(fr)??[];return t.Protocols!=null&&e.push(...t.Protocols),t.Protocol!=null&&(e.push(t.Protocol),delete t.Protocol),{...t,Schema:"peer",ID:wc(t.ID),Addrs:n,Protocols:e}}};function V0(r,t={}){return new Ea(new URL(r),t)}var M0=q("/ipns/");function $0(r){return it(r.subarray(0,M0.byteLength),M0)}var Qu=class{client;constructor(t){this.client=V0(t)}async provide(t,e){}async*findProviders(t,e){yield*cn(this.client.getProviders(t,e),n=>({id:n.ID,multiaddrs:n.Addrs,protocols:n.Protocols}))}async put(t,e,n){if(!$0(t))return;let o=ro(t),s=He(e);await this.client.putIPNS(o,s,n)}async get(t,e){if(!$0(t))throw new D("Not found","ERR_NOT_FOUND");let n=ro(t);try{let o=await this.client.getIPNS(n,e);return en(o)}catch(o){throw o.code==="ERR_BAD_RESPONSE"?new D("Not found","ERR_NOT_FOUND"):o}}async findPeer(t,e){let n=await wa(this.client.getPeers(t,e));if(n!=null)return{id:n.ID,multiaddrs:n.Addrs??[]};throw new D("Not found","ERR_NOT_FOUND")}async*getClosestPeers(t,e){}};function tl(r){return new Qu(new URL(r))}var H0="[a-fA-F\\d:]",Or=r=>r&&r.includeBoundaries?`(?:(?<=\\s|^)(?=${H0})|(?<=${H0})(?=\\s|$))`:"",Te="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",xt="[a-fA-F\\d]{1,4}",va=`
|
|
7
|
+
`)}`:`${e} :`}};jf=Rr;O.Constructed=jf;Rr.NAME="CONSTRUCTED";var Ms=class extends Mt{fromBER(t,e,n){return e}toBER(t){return Ae}};Ms.override="EndOfContentValueBlock";var Gf,$s=class extends Nt{constructor(t={}){super(t,Ms),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};Gf=$s;O.EndOfContent=Gf;$s.NAME=vo;var Wf,_r=class extends Nt{constructor(t={}){super(t,Mt),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,n){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=n,e+n>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+n}toBER(t,e){let n=new ArrayBuffer(2);if(!t){let o=new Uint8Array(n);o[0]=5,o[1]=0}return e&&e.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};Wf=_r;O.Null=Wf;_r.NAME="NULL";var Hs=class extends sr(Mt){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=Z.BufferSourceConverter.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}get value(){for(let t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}fromBER(t,e,n){let o=Z.BufferSourceConverter.toUint8Array(t);return or(this,o,e,n)?(this.valueHexView=o.subarray(e,e+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,Fc.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};Hs.NAME="BooleanValueBlock";var Yf,Ks=class extends Nt{constructor(t={}){super(t,Hs),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};Yf=Ks;O.Boolean=Yf;Ks.NAME="BOOLEAN";var qs=class extends sr(Pe){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,n){let o=0;if(this.isConstructed){if(this.isHexOnly=!1,o=Pe.prototype.fromBER.call(this,t,e,n),o===-1)return o;for(let s=0;s<this.value.length;s++){let i=this.value[s].constructor.NAME;if(i===vo){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(i!==Hf)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,o=super.fromBER(t,e,n),this.blockLength=n;return o}toBER(t,e){return this.isConstructed?Pe.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};qs.NAME="OctetStringValueBlock";var Zf,rr=class r extends Nt{constructor({idBlock:t={},lenBlock:e={},...n}={}){var o,s;(o=n.isConstructed)!==null&&o!==void 0||(n.isConstructed=!!(!((s=n.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},qs),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,n){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,n===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){let s=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+n);try{if(s.byteLength){let i=wi(s,0,s.byteLength);i.offset!==-1&&i.offset===n&&(this.valueBlock.value=[i.result])}}catch{}}return super.fromBER(t,e,n)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?Rr.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${Z.Convert.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let t=[];for(let e of this.valueBlock.value)e instanceof r&&t.push(e.valueBlock.valueHexView);return Z.BufferSourceConverter.concat(t)}};Zf=rr;O.OctetString=Zf;rr.NAME=Hf;var zs=class extends sr(Pe){constructor({unusedBits:t=0,isConstructed:e=!1,...n}={}){super(n),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,n){if(!n)return e;let o=-1;if(this.isConstructed){if(o=Pe.prototype.fromBER.call(this,t,e,n),o===-1)return o;for(let a of this.value){let c=a.constructor.NAME;if(c===vo){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==Kf)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let u=a.valueBlock;if(this.unusedBits>0&&u.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=u.unusedBits}return o}let s=Z.BufferSourceConverter.toUint8Array(t);if(!or(this,s,e,n))return-1;let i=s.subarray(e,e+n);if(this.unusedBits=i[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=i.subarray(1);try{if(a.byteLength){let c=wi(a,0,a.byteLength);c.offset!==-1&&c.offset===n-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=i.subarray(1),this.blockLength=i.length,e+n}toBER(t,e){if(this.isConstructed)return Pe.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Ae;let n=new Uint8Array(this.valueHexView.length+1);return n[0]=this.unusedBits,n.set(this.valueHexView,1),n.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};zs.NAME="BitStringValueBlock";var Jf,Un=class extends Nt{constructor({idBlock:t={},lenBlock:e={},...n}={}){var o,s;(o=n.isConstructed)!==null&&o!==void 0||(n.isConstructed=!!(!((s=n.value)===null||s===void 0)&&s.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},zs),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Rr.prototype.onAsciiEncoding.call(this);{let t=[],e=this.valueBlock.valueHexView;for(let o of e)t.push(o.toString(2).padStart(8,"0"));let n=t.join("");return`${this.constructor.NAME} : ${n.substring(0,n.length-this.valueBlock.unusedBits)}`}}};Jf=Un;O.BitString=Jf;Un.NAME=Kf;var Xf;function aw(r,t){let e=new Uint8Array([0]),n=new Uint8Array(r),o=new Uint8Array(t),s=n.slice(0),i=s.length-1,a=o.slice(0),c=a.length-1,u=0,f=c<i?i:c,l=0;for(let m=f;m>=0;m--,l++){switch(!0){case l<a.length:u=s[i-l]+a[c-l]+e[0];break;default:u=s[i-l]+e[0]}switch(e[0]=u/10,!0){case l>=s.length:s=Ls(new Uint8Array([u%10]),s);break;default:s[i-l]=u%10}}return e[0]>0&&(s=Ls(e,s)),s}function $f(r){if(r>=xo.length)for(let t=xo.length;t<=r;t++){let e=new Uint8Array([0]),n=xo[t-1].slice(0);for(let o=n.length-1;o>=0;o--){let s=new Uint8Array([(n[o]<<1)+e[0]]);e[0]=s[0]/10,n[o]=s[0]%10}e[0]>0&&(n=Ls(e,n)),xo.push(n)}return xo[r]}function cw(r,t){let e=0,n=new Uint8Array(r),o=new Uint8Array(t),s=n.slice(0),i=s.length-1,a=o.slice(0),c=a.length-1,u,f=0;for(let l=c;l>=0;l--,f++)switch(u=s[i-f]-a[c-f]-e,!0){case u<0:e=1,s[i-f]=u+10;break;default:e=0,s[i-f]=u}if(e>0)for(let l=i-c+1;l>=0;l--,f++)if(u=s[i-f]-e,u<0)e=1,s[i-f]=u+10;else{e=0,s[i-f]=u;break}return s.slice()}var Ao=class extends sr(Mt){constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),t!==void 0&&(this.valueDec=t)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=Fc.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(Ff(t))}get valueDec(){return this._valueDec}fromDER(t,e,n,o=0){let s=this.fromBER(t,e,n);if(s===-1)return s;let i=this.valueHexView;return i[0]===0&&i[1]&128?this.valueHexView=i.subarray(1):o!==0&&i.length<o&&(o-i.length>1&&(o=i.length+1),this.valueHexView=i.subarray(o-i.length)),s}toDER(t=!1){let e=this.valueHexView;switch(!0){case(e[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(e,1),this.valueHexView=n}break;case(e[0]===0&&(e[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(t)}fromBER(t,e,n){let o=super.fromBER(t,e,n);return o===-1||this.setValueHex(),o}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let t=this.valueHexView.length*8-1,e=new Uint8Array(this.valueHexView.length*8/3),n=0,o,s=this.valueHexView,i="",a=!1;for(let c=s.byteLength-1;c>=0;c--){o=s[c];for(let u=0;u<8;u++){if((o&1)===1)switch(n){case t:e=cw($f(n),e),i="-";break;default:e=aw(e,$f(n))}n++,o>>=1}}for(let c=0;c<e.length;c++)e[c]&&(a=!0),a&&(i+=Mf.charAt(e[c]));return a===!1&&(i+=Mf.charAt(0)),i}};Xf=Ao;Ao.NAME="IntegerValueBlock";Object.defineProperty(Xf.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var Qf,bt=class r extends Nt{constructor(t={}){super(t,Ao),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return Us(),BigInt(this.valueBlock.toString())}static fromBigInt(t){Us();let e=BigInt(t),n=new Eo,o=e.toString(16).replace(/^-/,""),s=new Uint8Array(Z.Convert.FromHex(o));if(e<0){let a=new Uint8Array(s.length+(s[0]&128?1:0));a[0]|=128;let u=BigInt(`0x${Z.Convert.ToHex(a)}`)+e,f=Z.BufferSourceConverter.toUint8Array(Z.Convert.FromHex(u.toString(16)));f[0]|=128,n.write(f)}else s[0]&128&&n.write(new Uint8Array([0])),n.write(s);return new r({valueHex:n.final()})}convertToDER(){let t=new r({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new r({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}};Qf=bt;O.Integer=Qf;bt.NAME="INTEGER";var th,js=class extends bt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};th=js;O.Enumerated=th;js.NAME="ENUMERATED";var Bo=class extends sr(Mt){constructor({valueDec:t=-1,isFirstSid:e=!1,...n}={}){super(n),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,n){if(!n)return e;let o=Z.BufferSourceConverter.toUint8Array(t);if(!or(this,o,e,n))return-1;let s=o.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=s[a]&127,this.blockLength++,!!(s[a]&128));a++);let i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)i[a]=this.valueHexView[a];return this.valueHexView=i,s[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Yr(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){Us();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;let n=new Uint8Array(e.length/7);for(let o=0;o<n.length;o++)n[o]=parseInt(e.slice(o*7,o*7+7),2)+(o+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let o=this.valueHexView,s=new Uint8Array(this.blockLength);for(let i=0;i<this.blockLength-1;i++)s[i]=o[i]|128;return s[this.blockLength-1]=o[this.blockLength-1],s.buffer}let e=Ir(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Ae;let n=new Uint8Array(e.byteLength);if(!t){let o=new Uint8Array(e),s=e.byteLength-1;for(let i=0;i<s;i++)n[i]=o[i]|128;n[s]=o[s]}return n}toString(){let t="";if(this.isHexOnly)t=Z.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};Bo.NAME="sidBlock";var Gs=class extends Mt{constructor({value:t=Dn,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let o=e;for(;n>0;){let s=new Bo;if(o=s.fromBER(t,o,n),o===-1)return this.blockLength=0,this.error=s.error,o;this.value.length===0&&(s.isFirstSid=!0),this.blockLength+=s.blockLength,n-=s.blockLength,this.value.push(s)}return o}toBER(t){let e=[];for(let n=0;n<this.value.length;n++){let o=this.value[n].toBER(t);if(o.byteLength===0)return this.error=this.value[n].error,Ae;e.push(o)}return Vc(e)}fromString(t){this.value=[];let e=0,n=0,o="",s=!1;do if(n=t.indexOf(".",e),n===-1?o=t.substring(e):o=t.substring(e,n),e=n+1,s){let i=this.value[0],a=0;switch(i.valueDec){case 0:break;case 1:a=40;break;case 2:a=80;break;default:this.value=[];return}let c=parseInt(o,10);if(isNaN(c))return;i.valueDec=c+a,s=!1}else{let i=new Bo;if(o>Number.MAX_SAFE_INTEGER){Us();let a=BigInt(o);i.valueBigInt=a}else if(i.valueDec=parseInt(o,10),isNaN(i.valueDec))return;this.value.length||(i.isFirstSid=!0,s=!0),this.value.push(i)}while(n!==-1)}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let o=this.value[n].toString();n!==0&&(t=`${t}.`),e?(o=`{${o}}`,this.value[n].isFirstSid?t=`2.{${o} - 80}`:t+=o):t+=o}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Gs.NAME="ObjectIdentifierValueBlock";var eh,ve=class extends Nt{constructor(t={}){super(t,Gs),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};eh=ve;O.ObjectIdentifier=eh;ve.NAME="OBJECT IDENTIFIER";var ko=class extends sr(er){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(n===0)return e;let o=Z.BufferSourceConverter.toUint8Array(t);if(!or(this,o,e,n))return-1;let s=o.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=s[a]&127,this.blockLength++,!!(s[a]&128));a++);let i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)i[a]=this.valueHexView[a];return this.valueHexView=i,s[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Yr(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let o=this.valueHexView,s=new Uint8Array(this.blockLength);for(let i=0;i<this.blockLength-1;i++)s[i]=o[i]|128;return s[this.blockLength-1]=o[this.blockLength-1],s.buffer}let e=Ir(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Ae;let n=new Uint8Array(e.byteLength);if(!t){let o=new Uint8Array(e),s=e.byteLength-1;for(let i=0;i<s;i++)n[i]=o[i]|128;n[s]=o[s]}return n.buffer}toString(){let t="";return this.isHexOnly?t=Z.Convert.ToHex(this.valueHexView):t=this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};ko.NAME="relativeSidBlock";var Ws=class extends Mt{constructor({value:t=Dn,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let o=e;for(;n>0;){let s=new ko;if(o=s.fromBER(t,o,n),o===-1)return this.blockLength=0,this.error=s.error,o;this.blockLength+=s.blockLength,n-=s.blockLength,this.value.push(s)}return o}toBER(t,e){let n=[];for(let o=0;o<this.value.length;o++){let s=this.value[o].toBER(t);if(s.byteLength===0)return this.error=this.value[o].error,Ae;n.push(s)}return Vc(n)}fromString(t){this.value=[];let e=0,n=0,o="";do{n=t.indexOf(".",e),n===-1?o=t.substring(e):o=t.substring(e,n),e=n+1;let s=new ko;if(s.valueDec=parseInt(o,10),isNaN(s.valueDec))return!0;this.value.push(s)}while(n!==-1);return!0}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let o=this.value[n].toString();n!==0&&(t=`${t}.`),e&&(o=`{${o}}`),t+=o}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Ws.NAME="RelativeObjectIdentifierValueBlock";var rh,Ys=class extends Nt{constructor(t={}){super(t,Ws),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};rh=Ys;O.RelativeObjectIdentifier=rh;Ys.NAME="RelativeObjectIdentifier";var nh,It=class extends Rr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};nh=It;O.Sequence=nh;It.NAME="SEQUENCE";var oh,Zs=class extends Rr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};oh=Zs;O.Set=oh;Zs.NAME="SET";var Js=class extends sr(Mt){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=Dn}toJSON(){return{...super.toJSON(),value:this.value}}};Js.NAME="StringValueBlock";var Xs=class extends Js{};Xs.NAME="SimpleStringValueBlock";var qt=class extends Os{constructor({...t}={}){super(t,Xs)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,Z.BufferSourceConverter.toUint8Array(t))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e);for(let o=0;o<e;o++)n[o]=t.charCodeAt(o);this.valueBlock.value=t}};qt.NAME="SIMPLE STRING";var Qs=class extends qt{fromBuffer(t){this.valueBlock.valueHexView=Z.BufferSourceConverter.toUint8Array(t);try{this.valueBlock.value=Z.Convert.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=Z.Convert.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(Z.Convert.FromUtf8String(t)),this.valueBlock.value=t}};Qs.NAME="Utf8StringValueBlock";var sh,nr=class extends Qs{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};sh=nr;O.Utf8String=sh;nr.NAME="UTF8String";var ti=class extends qt{fromBuffer(t){this.valueBlock.value=Z.Convert.ToUtf16String(t),this.valueBlock.valueHexView=Z.BufferSourceConverter.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(Z.Convert.FromUtf16String(t))}};ti.NAME="BmpStringValueBlock";var ih,ei=class extends ti{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};ih=ei;O.BmpString=ih;ei.NAME="BMPString";var ri=class extends qt{fromBuffer(t){let e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),n=new Uint8Array(e);for(let o=0;o<n.length;o+=4)n[o]=n[o+3],n[o+1]=n[o+2],n[o+2]=0,n[o+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e*4);for(let o=0;o<e;o++){let s=Ir(t.charCodeAt(o),8),i=new Uint8Array(s);if(i.length>4)continue;let a=4-i.length;for(let c=i.length-1;c>=0;c--)n[o*4+c+a]=i[c]}this.valueBlock.value=t}};ri.NAME="UniversalStringValueBlock";var ah,ni=class extends ri{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};ah=ni;O.UniversalString=ah;ni.NAME="UniversalString";var ch,oi=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};ch=oi;O.NumericString=ch;oi.NAME="NumericString";var uh,si=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};uh=si;O.PrintableString=uh;si.NAME="PrintableString";var lh,ii=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};lh=ii;O.TeletexString=lh;ii.NAME="TeletexString";var fh,ai=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};fh=ai;O.VideotexString=fh;ai.NAME="VideotexString";var hh,ci=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};hh=ci;O.IA5String=hh;ci.NAME="IA5String";var dh,ui=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};dh=ui;O.GraphicString=dh;ui.NAME="GraphicString";var ph,So=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};ph=So;O.VisibleString=ph;So.NAME="VisibleString";var mh,li=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};mh=li;O.GeneralString=mh;li.NAME="GeneralString";var gh,fi=class extends qt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};gh=fi;O.CharacterString=gh;fi.NAME="CharacterString";var yh,Io=class extends So{constructor({value:t,valueDate:e,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let o=0;o<t.length;o++)this.valueBlock.valueHexView[o]=t.charCodeAt(o)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,Z.BufferSourceConverter.toUint8Array(t)))}toBuffer(){let t=this.toString(),e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let o=0;o<t.length;o++)n[o]=t.charCodeAt(o);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(t);if(n===null){this.error="Wrong input string for conversion";return}let o=parseInt(n[1],10);o>=50?this.year=1900+o:this.year=2e3+o,this.month=parseInt(n[2],10),this.day=parseInt(n[3],10),this.hour=parseInt(n[4],10),this.minute=parseInt(n[5],10),this.second=parseInt(n[6],10)}toString(t="iso"){if(t==="iso"){let e=new Array(7);return e[0]=Yt(this.year<2e3?this.year-1900:this.year-2e3,2),e[1]=Yt(this.month,2),e[2]=Yt(this.day,2),e[3]=Yt(this.hour,2),e[4]=Yt(this.minute,2),e[5]=Yt(this.second,2),e[6]="Z",e.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};yh=Io;O.UTCTime=yh;Io.NAME="UTCTime";var wh,hi=class extends Io{constructor(t={}){var e;super(t),(e=this.millisecond)!==null&&e!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(t){let e=!1,n="",o="",s=0,i,a=0,c=0;if(t[t.length-1]==="Z")n=t.substring(0,t.length-1),e=!0;else{let l=new Number(t[t.length-1]);if(isNaN(l.valueOf()))throw new Error("Wrong input string for conversion");n=t}if(e){if(n.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(n.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let l=1,m=n.indexOf("+"),h="";if(m===-1&&(m=n.indexOf("-"),l=-1),m!==-1){if(h=n.substring(m+1),n=n.substring(0,m),h.length!==2&&h.length!==4)throw new Error("Wrong input string for conversion");let p=parseInt(h.substring(0,2),10);if(isNaN(p.valueOf()))throw new Error("Wrong input string for conversion");if(a=l*p,h.length===4){if(p=parseInt(h.substring(2,4),10),isNaN(p.valueOf()))throw new Error("Wrong input string for conversion");c=l*p}}}let u=n.indexOf(".");if(u===-1&&(u=n.indexOf(",")),u!==-1){let l=new Number(`0${n.substring(u)}`);if(isNaN(l.valueOf()))throw new Error("Wrong input string for conversion");s=l.valueOf(),o=n.substring(0,u)}else o=n;switch(!0){case o.length===8:if(i=/(\d{4})(\d{2})(\d{2})/ig,u!==-1)throw new Error("Wrong input string for conversion");break;case o.length===10:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let l=60*s;this.minute=Math.floor(l),l=60*(l-this.minute),this.second=Math.floor(l),l=1e3*(l-this.second),this.millisecond=Math.floor(l)}break;case o.length===12:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let l=60*s;this.second=Math.floor(l),l=1e3*(l-this.second),this.millisecond=Math.floor(l)}break;case o.length===14:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let l=1e3*s;this.millisecond=Math.floor(l)}break;default:throw new Error("Wrong input string for conversion")}let f=i.exec(o);if(f===null)throw new Error("Wrong input string for conversion");for(let l=1;l<f.length;l++)switch(l){case 1:this.year=parseInt(f[l],10);break;case 2:this.month=parseInt(f[l],10);break;case 3:this.day=parseInt(f[l],10);break;case 4:this.hour=parseInt(f[l],10)+a;break;case 5:this.minute=parseInt(f[l],10)+c;break;case 6:this.second=parseInt(f[l],10);break;default:throw new Error("Wrong input string for conversion")}if(e===!1){let l=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=l.getUTCFullYear(),this.month=l.getUTCMonth(),this.day=l.getUTCDay(),this.hour=l.getUTCHours(),this.minute=l.getUTCMinutes(),this.second=l.getUTCSeconds(),this.millisecond=l.getUTCMilliseconds()}}toString(t="iso"){if(t==="iso"){let e=[];return e.push(Yt(this.year,4)),e.push(Yt(this.month,2)),e.push(Yt(this.day,2)),e.push(Yt(this.hour,2)),e.push(Yt(this.minute,2)),e.push(Yt(this.second,2)),this.millisecond!==0&&(e.push("."),e.push(Yt(this.millisecond,3))),e.push("Z"),e.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};wh=hi;O.GeneralizedTime=wh;hi.NAME="GeneralizedTime";var bh,di=class extends nr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};bh=di;O.DATE=bh;di.NAME="DATE";var xh,pi=class extends nr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};xh=pi;O.TimeOfDay=xh;pi.NAME="TimeOfDay";var Eh,mi=class extends nr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};Eh=mi;O.DateTime=Eh;mi.NAME="DateTime";var vh,gi=class extends nr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};vh=gi;O.Duration=vh;gi.NAME="Duration";var Ah,yi=class extends nr{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};Ah=yi;O.TIME=Ah;yi.NAME="TIME";function lw(r){let{result:t}=Pn(r),e=t.valueBlock.value;return{n:j(Oe(e[1].toBigInt()),"base64url"),e:j(Oe(e[2].toBigInt()),"base64url"),d:j(Oe(e[3].toBigInt()),"base64url"),p:j(Oe(e[4].toBigInt()),"base64url"),q:j(Oe(e[5].toBigInt()),"base64url"),dp:j(Oe(e[6].toBigInt()),"base64url"),dq:j(Oe(e[7].toBigInt()),"base64url"),qi:j(Oe(e[8].toBigInt()),"base64url"),kty:"RSA",alg:"RS256"}}function fw(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw new D("JWK was missing components","ERR_INVALID_PARAMETERS");let e=new It({value:[new bt({value:0}),bt.fromBigInt(Fe(q(r.n,"base64url"))),bt.fromBigInt(Fe(q(r.e,"base64url"))),bt.fromBigInt(Fe(q(r.d,"base64url"))),bt.fromBigInt(Fe(q(r.p,"base64url"))),bt.fromBigInt(Fe(q(r.q,"base64url"))),bt.fromBigInt(Fe(q(r.dp,"base64url"))),bt.fromBigInt(Fe(q(r.dq,"base64url"))),bt.fromBigInt(Fe(q(r.qi,"base64url")))]}).toBER();return new Uint8Array(e,0,e.byteLength)}function hw(r){let{result:t}=Pn(r),e=t.valueBlock.value[1].valueBlock.value[0].valueBlock.value;return{kty:"RSA",n:j(Oe(e[0].toBigInt()),"base64url"),e:j(Oe(e[1].toBigInt()),"base64url")}}function dw(r){if(r.n==null||r.e==null)throw new D("JWK was missing components","ERR_INVALID_PARAMETERS");let e=new It({value:[new It({value:[new ve({value:"1.2.840.113549.1.1.1"}),new _r]}),new Un({valueHex:new It({value:[bt.fromBigInt(Fe(q(r.n,"base64url"))),bt.fromBigInt(Fe(q(r.e,"base64url")))]}).toBER()})]}).toBER();return new Uint8Array(e,0,e.byteLength)}function Oe(r){let t=r.toString(16);t.length%2>0&&(t=`0${t}`);let e=t.length/2,n=new Uint8Array(e),o=0,s=0;for(;o<e;)n[o]=parseInt(t.slice(s,s+2),16),o+=1,s+=2;return n}function Fe(r){let t=[];return r.forEach(function(e){let n=e.toString(16);n.length%2>0&&(n=`0${n}`),t.push(n)}),BigInt("0x"+t.join(""))}var pw=16,$c=32,Hc=1e4;async function mw(r,t){let e=Kt.get(),o=new It({value:[new bt({value:0}),new It({value:[new ve({value:"1.2.840.113549.1.1.1"}),new _r]}),new rr({valueHex:r.marshal()})]}).toBER(),s=new Uint8Array(o,0,o.byteLength),i=De(pw),a=await Pc(In,t,i,{c:Hc,dkLen:$c}),c=De(16),u=await e.subtle.importKey("raw",a,"AES-CBC",!1,["encrypt"]),f=await e.subtle.encrypt({name:"AES-CBC",iv:c},u,s),l=new It({value:[new rr({valueHex:i}),new bt({value:Hc}),new bt({value:$c}),new It({value:[new ve({value:"1.2.840.113549.2.11"}),new _r]})]}),m=new It({value:[new ve({value:"1.2.840.113549.1.5.13"}),new It({value:[new It({value:[new ve({value:"1.2.840.113549.1.5.12"}),l]}),new It({value:[new ve({value:"2.16.840.1.101.3.4.1.42"}),new rr({valueHex:c})]})]})]}),p=new It({value:[m,new rr({valueHex:f})]}).toBER(),d=new Uint8Array(p,0,p.byteLength);return["-----BEGIN ENCRYPTED PRIVATE KEY-----",...j(d,"base64pad").split(/(.{64})/).filter(Boolean),"-----END ENCRYPTED PRIVATE KEY-----"].join(`
|
|
8
|
+
`)}async function gw(r,t){let e=Kt.get(),n;if(r.includes("-----BEGIN ENCRYPTED PRIVATE KEY-----")){let o=q(r.replace("-----BEGIN ENCRYPTED PRIVATE KEY-----","").replace("-----END ENCRYPTED PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:s}=Pn(o),{iv:i,salt:a,iterations:c,keySize:u,cipherText:f}=yw(s),l=await Pc(In,t,a,{c,dkLen:u}),m=await e.subtle.importKey("raw",l,"AES-CBC",!1,["decrypt"]),h=Ro(await e.subtle.decrypt({name:"AES-CBC",iv:i},m,f)),{result:p}=Pn(h);n=Bh(p)}else if(r.includes("-----BEGIN PRIVATE KEY-----")){let o=q(r.replace("-----BEGIN PRIVATE KEY-----","").replace("-----END PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:s}=Pn(o);n=Bh(s)}else throw new D("Could not parse private key from PEM data","ERR_INVALID_PARAMETERS");return Kc(n)}function yw(r){let t=r.valueBlock.value[0];if(t.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.13")throw new D("Only pkcs5PBES2 encrypted private keys are supported","ERR_INVALID_PARAMS");let n=t.valueBlock.value[1].valueBlock.value[0];if(n.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.12")throw new D("Only pkcs5PBKDF2 key derivation functions are supported","ERR_INVALID_PARAMS");let s=n.valueBlock.value[1],i=Ro(s.valueBlock.value[0].getValue()),a=Hc,c=$c;if(s.valueBlock.value.length===3)a=Number(s.valueBlock.value[1].toBigInt()),c=Number(s.valueBlock.value[2].toBigInt());else if(s.valueBlock.value.length===2)throw new D("Could not derive key size and iterations from PEM file - please use @libp2p/rsa to re-import your key","ERR_INVALID_PARAMS");let u=t.valueBlock.value[1].valueBlock.value[1],f=u.valueBlock.value[0].toString();if(f!=="OBJECT IDENTIFIER : 1.2.840.113549.3.7"){if(f!=="OBJECT IDENTIFIER : 1.3.14.3.2.7"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.2"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.22"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.42")throw new D("Only AES-CBC encryption schemes are supported","ERR_INVALID_PARAMS")}}}}let l=Ro(u.valueBlock.value[1].getValue());return{cipherText:Ro(r.valueBlock.value[1].getValue()),salt:i,iterations:a,keySize:c,iv:l}}function Bh(r){return Ro(r.valueBlock.value[2].getValue())}function Ro(r){return new Uint8Array(r,0,r.byteLength)}async function kh(r){let t=await Kt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),e=await Rh(t);return{privateKey:e[0],publicKey:e[1]}}async function qc(r){let e=[await Kt.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await ww(r)],n=await Rh({privateKey:e[0],publicKey:e[1]});return{privateKey:n[0],publicKey:n[1]}}async function Sh(r,t){let e=await Kt.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Kt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function Ih(r,t,e){let n=await Kt.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Kt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e instanceof Uint8Array?e:e.subarray())}async function Rh(r){if(r.privateKey==null||r.publicKey==null)throw new D("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([Kt.get().subtle.exportKey("jwk",r.privateKey),Kt.get().subtle.exportKey("jwk",r.publicKey)])}async function ww(r){return Kt.get().subtle.importKey("jwk",{kty:r.kty,n:r.n,e:r.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function bi(r){if(r.kty!=="RSA")throw new D("invalid key type","ERR_INVALID_KEY_TYPE");if(r.n==null)throw new D("invalid key modulus","ERR_INVALID_KEY_MODULUS");return q(r.n,"base64url").length*8}var To=8192,_o=class{_key;constructor(t){this._key=t}verify(t,e){return Ih(this._key,e,t)}marshal(){return Tr.jwkToPkix(this._key)}get bytes(){return Ue.encode({Type:gt.RSA,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}hash(){let t=At.digest(this.bytes);return fe(t)?t.then(({bytes:e})=>e):t.bytes}},On=class{_key;_publicKey;constructor(t,e){this._key=t,this._publicKey=e}genSecret(){return De(16)}sign(t){return Sh(this._key,t)}get public(){if(this._publicKey==null)throw new D("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new _o(this._publicKey)}marshal(){return Tr.jwkToPkcs1(this._key)}get bytes(){return Qe.encode({Type:gt.RSA,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}hash(){let t=At.digest(this.bytes);return fe(t)?t.then(({bytes:e})=>e):t.bytes}async id(){let t=await this.public.hash();return j(t,"base58btc")}async export(t,e="pkcs-8"){if(e==="pkcs-8")return Tr.exportToPem(this,t);if(e==="libp2p-key")return Cn(this.bytes,t);throw new D(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};async function Kc(r){let t=Tr.pkcs1ToJwk(r);if(bi(t)>To)throw new D("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await qc(t);return new On(e.privateKey,e.publicKey)}function xw(r){let t=Tr.pkixToJwk(r);if(bi(t)>To)throw new D("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new _o(t)}async function Ew(r){if(bi(r)>To)throw new D("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await qc(r);return new On(t.privateKey,t.publicKey)}async function vw(r){if(r>To)throw new D("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await kh(r);return new On(t.privateKey,t.publicKey)}var Zc={};vt(Zc,{Secp256k1PrivateKey:()=>No,Secp256k1PublicKey:()=>Co,generateKeyPair:()=>Dw,unmarshalSecp256k1PrivateKey:()=>Lw,unmarshalSecp256k1PublicKey:()=>Uw});var Aw=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Cr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Nr=new Uint32Array(64),jc=class extends Sn{constructor(){super(64,32,8,!1),this.A=Cr[0]|0,this.B=Cr[1]|0,this.C=Cr[2]|0,this.D=Cr[3]|0,this.E=Cr[4]|0,this.F=Cr[5]|0,this.G=Cr[6]|0,this.H=Cr[7]|0}get(){let{A:t,B:e,C:n,D:o,E:s,F:i,G:a,H:c}=this;return[t,e,n,o,s,i,a,c]}set(t,e,n,o,s,i,a,c){this.A=t|0,this.B=e|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,e){for(let l=0;l<16;l++,e+=4)Nr[l]=t.getUint32(e,!1);for(let l=16;l<64;l++){let m=Nr[l-15],h=Nr[l-2],p=xe(m,7)^xe(m,18)^m>>>3,d=xe(h,17)^xe(h,19)^h>>>10;Nr[l]=d+Nr[l-7]+p+Nr[l-16]|0}let{A:n,B:o,C:s,D:i,E:a,F:c,G:u,H:f}=this;for(let l=0;l<64;l++){let m=xe(a,6)^xe(a,11)^xe(a,25),h=f+m+df(a,c,u)+Aw[l]+Nr[l]|0,d=(xe(n,2)^xe(n,13)^xe(n,22))+pf(n,o,s)|0;f=u,u=c,c=a,a=i+h|0,i=s,s=o,o=n,n=h+d|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,f=f+this.H|0,this.set(n,o,s,i,a,c,u,f)}roundClean(){Nr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var _h=bs(()=>new jc);function Bw(r){let t=yo(r);Le(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:e,Fp:n,a:o}=t;if(e){if(!n.eql(o,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:kw,hexToBytes:Sw}=vs,Zr={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(r){let{Err:t}=Zr;if(r.length<2||r[0]!==2)throw new t("Invalid signature integer tag");let e=r[1],n=r.subarray(2,e+2);if(!e||n.length!==e)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:kw(n),l:r.subarray(e+2)}},toSig(r){let{Err:t}=Zr,e=typeof r=="string"?Sw(r):r;Rn(e);let n=e.length;if(n<2||e[0]!=48)throw new t("Invalid signature tag");if(e[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:o,l:s}=Zr._parseInt(e.subarray(2)),{d:i,l:a}=Zr._parseInt(s);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:o,s:i}},hexFromSig(r){let t=u=>Number.parseInt(u[0],16)&8?"00"+u:u,e=u=>{let f=u.toString(16);return f.length&1?`0${f}`:f},n=t(e(r.s)),o=t(e(r.r)),s=n.length/2,i=o.length/2,a=e(s),c=e(i);return`30${e(i+s+4)}02${c}${o}02${a}${n}`}},ir=BigInt(0),de=BigInt(1),qA=BigInt(2),Th=BigInt(3),zA=BigInt(4);function Iw(r){let t=Bw(r),{Fp:e}=t,n=t.toBytes||((p,d,w)=>{let g=d.toAffine();return Ze(Uint8Array.from([4]),e.toBytes(g.x),e.toBytes(g.y))}),o=t.fromBytes||(p=>{let d=p.subarray(1),w=e.fromBytes(d.subarray(0,e.BYTES)),g=e.fromBytes(d.subarray(e.BYTES,2*e.BYTES));return{x:w,y:g}});function s(p){let{a:d,b:w}=t,g=e.sqr(p),x=e.mul(g,p);return e.add(e.add(x,e.mul(p,d)),w)}if(!e.eql(e.sqr(t.Gy),s(t.Gx)))throw new Error("bad generator point: equation left != right");function i(p){return typeof p=="bigint"&&ir<p&&p<t.n}function a(p){if(!i(p))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(p){let{allowedPrivateKeyLengths:d,nByteLength:w,wrapPrivateKey:g,n:x}=t;if(d&&typeof p!="bigint"){if(Br(p)&&(p=We(p)),typeof p!="string"||!d.includes(p.length))throw new Error("Invalid key");p=p.padStart(w*2,"0")}let b;try{b=typeof p=="bigint"?p:Ye(mt("private key",p,w))}catch{throw new Error(`private key must be ${w} bytes, hex or bigint, not ${typeof p}`)}return g&&(b=at(b,x)),a(b),b}let u=new Map;function f(p){if(!(p instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(d,w,g){if(this.px=d,this.py=w,this.pz=g,d==null||!e.isValid(d))throw new Error("x required");if(w==null||!e.isValid(w))throw new Error("y required");if(g==null||!e.isValid(g))throw new Error("z required")}static fromAffine(d){let{x:w,y:g}=d||{};if(!d||!e.isValid(w)||!e.isValid(g))throw new Error("invalid affine point");if(d instanceof l)throw new Error("projective point not allowed");let x=b=>e.eql(b,e.ZERO);return x(w)&&x(g)?l.ZERO:new l(w,g,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){let w=e.invertBatch(d.map(g=>g.pz));return d.map((g,x)=>g.toAffine(w[x])).map(l.fromAffine)}static fromHex(d){let w=l.fromAffine(o(mt("pointHex",d)));return w.assertValidity(),w}static fromPrivateKey(d){return l.BASE.multiply(c(d))}_setWindowSize(d){this._WINDOW_SIZE=d,u.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!e.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:d,y:w}=this.toAffine();if(!e.isValid(d)||!e.isValid(w))throw new Error("bad point: x or y not FE");let g=e.sqr(w),x=s(d);if(!e.eql(g,x))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:d}=this.toAffine();if(e.isOdd)return!e.isOdd(d);throw new Error("Field doesn't support isOdd")}equals(d){f(d);let{px:w,py:g,pz:x}=this,{px:b,py:B,pz:A}=d,I=e.eql(e.mul(w,A),e.mul(b,x)),v=e.eql(e.mul(g,A),e.mul(B,x));return I&&v}negate(){return new l(this.px,e.neg(this.py),this.pz)}double(){let{a:d,b:w}=t,g=e.mul(w,Th),{px:x,py:b,pz:B}=this,A=e.ZERO,I=e.ZERO,v=e.ZERO,E=e.mul(x,x),U=e.mul(b,b),P=e.mul(B,B),N=e.mul(x,b);return N=e.add(N,N),v=e.mul(x,B),v=e.add(v,v),A=e.mul(d,v),I=e.mul(g,P),I=e.add(A,I),A=e.sub(U,I),I=e.add(U,I),I=e.mul(A,I),A=e.mul(N,A),v=e.mul(g,v),P=e.mul(d,P),N=e.sub(E,P),N=e.mul(d,N),N=e.add(N,v),v=e.add(E,E),E=e.add(v,E),E=e.add(E,P),E=e.mul(E,N),I=e.add(I,E),P=e.mul(b,B),P=e.add(P,P),E=e.mul(P,N),A=e.sub(A,E),v=e.mul(P,U),v=e.add(v,v),v=e.add(v,v),new l(A,I,v)}add(d){f(d);let{px:w,py:g,pz:x}=this,{px:b,py:B,pz:A}=d,I=e.ZERO,v=e.ZERO,E=e.ZERO,U=t.a,P=e.mul(t.b,Th),N=e.mul(w,b),M=e.mul(g,B),C=e.mul(x,A),X=e.add(w,g),S=e.add(b,B);X=e.mul(X,S),S=e.add(N,M),X=e.sub(X,S),S=e.add(w,x);let T=e.add(b,A);return S=e.mul(S,T),T=e.add(N,C),S=e.sub(S,T),T=e.add(g,x),I=e.add(B,A),T=e.mul(T,I),I=e.add(M,C),T=e.sub(T,I),E=e.mul(U,S),I=e.mul(P,C),E=e.add(I,E),I=e.sub(M,E),E=e.add(M,E),v=e.mul(I,E),M=e.add(N,N),M=e.add(M,N),C=e.mul(U,C),S=e.mul(P,S),M=e.add(M,C),C=e.sub(N,C),C=e.mul(U,C),S=e.add(S,C),N=e.mul(M,S),v=e.add(v,N),N=e.mul(T,S),I=e.mul(X,I),I=e.sub(I,N),N=e.mul(X,M),E=e.mul(T,E),E=e.add(E,N),new l(I,v,E)}subtract(d){return this.add(d.negate())}is0(){return this.equals(l.ZERO)}wNAF(d){return h.wNAFCached(this,u,d,w=>{let g=e.invertBatch(w.map(x=>x.pz));return w.map((x,b)=>x.toAffine(g[b])).map(l.fromAffine)})}multiplyUnsafe(d){let w=l.ZERO;if(d===ir)return w;if(a(d),d===de)return this;let{endo:g}=t;if(!g)return h.unsafeLadder(this,d);let{k1neg:x,k1:b,k2neg:B,k2:A}=g.splitScalar(d),I=w,v=w,E=this;for(;b>ir||A>ir;)b&de&&(I=I.add(E)),A&de&&(v=v.add(E)),E=E.double(),b>>=de,A>>=de;return x&&(I=I.negate()),B&&(v=v.negate()),v=new l(e.mul(v.px,g.beta),v.py,v.pz),I.add(v)}multiply(d){a(d);let w=d,g,x,{endo:b}=t;if(b){let{k1neg:B,k1:A,k2neg:I,k2:v}=b.splitScalar(w),{p:E,f:U}=this.wNAF(A),{p:P,f:N}=this.wNAF(v);E=h.constTimeNegate(B,E),P=h.constTimeNegate(I,P),P=new l(e.mul(P.px,b.beta),P.py,P.pz),g=E.add(P),x=U.add(N)}else{let{p:B,f:A}=this.wNAF(w);g=B,x=A}return l.normalizeZ([g,x])[0]}multiplyAndAddUnsafe(d,w,g){let x=l.BASE,b=(A,I)=>I===ir||I===de||!A.equals(x)?A.multiplyUnsafe(I):A.multiply(I),B=b(this,w).add(b(d,g));return B.is0()?void 0:B}toAffine(d){let{px:w,py:g,pz:x}=this,b=this.is0();d==null&&(d=b?e.ONE:e.inv(x));let B=e.mul(w,d),A=e.mul(g,d),I=e.mul(x,d);if(b)return{x:e.ZERO,y:e.ZERO};if(!e.eql(I,e.ONE))throw new Error("invZ was invalid");return{x:B,y:A}}isTorsionFree(){let{h:d,isTorsionFree:w}=t;if(d===de)return!0;if(w)return w(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:d,clearCofactor:w}=t;return d===de?this:w?w(l,this):this.multiplyUnsafe(t.h)}toRawBytes(d=!0){return this.assertValidity(),n(l,this,d)}toHex(d=!0){return We(this.toRawBytes(d))}}l.BASE=new l(t.Gx,t.Gy,e.ONE),l.ZERO=new l(e.ZERO,e.ONE,e.ZERO);let m=t.nBitLength,h=ks(l,t.endo?Math.ceil(m/2):m);return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:i}}function Rw(r){let t=yo(r);return Le(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Ch(r){let t=Rw(r),{Fp:e,n}=t,o=e.BYTES+1,s=2*e.BYTES+1;function i(S){return ir<S&&S<e.ORDER}function a(S){return at(S,n)}function c(S){return As(S,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:m}=Iw({...t,toBytes(S,T,H){let _=T.toAffine(),k=e.toBytes(_.x),F=Ze;return H?F(Uint8Array.from([T.hasEvenY()?2:3]),k):F(Uint8Array.from([4]),k,e.toBytes(_.y))},fromBytes(S){let T=S.length,H=S[0],_=S.subarray(1);if(T===o&&(H===2||H===3)){let k=Ye(_);if(!i(k))throw new Error("Point is not on curve");let F=l(k),$;try{$=e.sqrt(F)}catch(Y){let rt=Y instanceof Error?": "+Y.message:"";throw new Error("Point is not on curve"+rt)}let K=($&de)===de;return(H&1)===1!==K&&($=e.neg($)),{x:k,y:$}}else if(T===s&&H===4){let k=e.fromBytes(_.subarray(0,e.BYTES)),F=e.fromBytes(_.subarray(e.BYTES,2*e.BYTES));return{x:k,y:F}}else throw new Error(`Point of length ${T} was invalid. Expected ${o} compressed bytes or ${s} uncompressed bytes`)}}),h=S=>We(Sr(S,t.nByteLength));function p(S){let T=n>>de;return S>T}function d(S){return p(S)?a(-S):S}let w=(S,T,H)=>Ye(S.slice(T,H));class g{constructor(T,H,_){this.r=T,this.s=H,this.recovery=_,this.assertValidity()}static fromCompact(T){let H=t.nByteLength;return T=mt("compactSignature",T,H*2),new g(w(T,0,H),w(T,H,2*H))}static fromDER(T){let{r:H,s:_}=Zr.toSig(mt("DER",T));return new g(H,_)}assertValidity(){if(!m(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!m(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(T){return new g(this.r,this.s,T)}recoverPublicKey(T){let{r:H,s:_,recovery:k}=this,F=v(mt("msgHash",T));if(k==null||![0,1,2,3].includes(k))throw new Error("recovery id invalid");let $=k===2||k===3?H+t.n:H;if($>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let K=k&1?"03":"02",W=u.fromHex(K+h($)),Y=c($),rt=a(-F*Y),J=a(_*Y),Q=u.BASE.multiplyAndAddUnsafe(W,rt,J);if(!Q)throw new Error("point at infinify");return Q.assertValidity(),Q}hasHighS(){return p(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return zr(this.toDERHex())}toDERHex(){return Zr.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return zr(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}let x={isValidPrivateKey(S){try{return f(S),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let S=Rc(t.n);return kf(t.randomBytes(S),t.n)},precompute(S=8,T=u.BASE){return T._setWindowSize(S),T.multiply(BigInt(3)),T}};function b(S,T=!0){return u.fromPrivateKey(S).toRawBytes(T)}function B(S){let T=Br(S),H=typeof S=="string",_=(T||H)&&S.length;return T?_===o||_===s:H?_===2*o||_===2*s:S instanceof u}function A(S,T,H=!0){if(B(S))throw new Error("first arg must be private key");if(!B(T))throw new Error("second arg must be public key");return u.fromHex(T).multiply(f(S)).toRawBytes(H)}let I=t.bits2int||function(S){let T=Ye(S),H=S.length*8-t.nBitLength;return H>0?T>>BigInt(H):T},v=t.bits2int_modN||function(S){return a(I(S))},E=go(t.nBitLength);function U(S){if(typeof S!="bigint")throw new Error("bigint expected");if(!(ir<=S&&S<E))throw new Error(`bigint expected < 2^${t.nBitLength}`);return Sr(S,t.nByteLength)}function P(S,T,H=N){if(["recovered","canonical"].some(dt=>dt in H))throw new Error("sign() legacy options not supported");let{hash:_,randomBytes:k}=t,{lowS:F,prehash:$,extraEntropy:K}=H;F==null&&(F=!0),S=mt("msgHash",S),$&&(S=mt("prehashed msgHash",_(S)));let W=v(S),Y=f(T),rt=[U(Y),U(W)];if(K!=null&&K!==!1){let dt=K===!0?k(e.BYTES):K;rt.push(mt("extraEntropy",dt))}let J=Ze(...rt),Q=W;function wt(dt){let _t=I(dt);if(!m(_t))return;let Tt=c(_t),Et=u.BASE.multiply(_t).toAffine(),Ot=a(Et.x);if(Ot===ir)return;let Ke=a(Tt*a(Q+Ot*Y));if(Ke===ir)return;let Fr=(Et.x===Ot?0:2)|Number(Et.y&de),no=Ke;return F&&p(Ke)&&(no=d(Ke),Fr^=1),new g(Ot,no,Fr)}return{seed:J,k2sig:wt}}let N={lowS:t.lowS,prehash:!1},M={lowS:t.lowS,prehash:!1};function C(S,T,H=N){let{seed:_,k2sig:k}=P(S,T,H),F=t;return Bc(F.hash.outputLen,F.nByteLength,F.hmac)(_,k)}u.BASE._setWindowSize(8);function X(S,T,H,_=M){let k=S;if(T=mt("msgHash",T),H=mt("publicKey",H),"strict"in _)throw new Error("options.strict was renamed to lowS");let{lowS:F,prehash:$}=_,K,W;try{if(typeof k=="string"||Br(k))try{K=g.fromDER(k)}catch(Et){if(!(Et instanceof Zr.Err))throw Et;K=g.fromCompact(k)}else if(typeof k=="object"&&typeof k.r=="bigint"&&typeof k.s=="bigint"){let{r:Et,s:Ot}=k;K=new g(Et,Ot)}else throw new Error("PARSE");W=u.fromHex(H)}catch(Et){if(Et.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(F&&K.hasHighS())return!1;$&&(T=t.hash(T));let{r:Y,s:rt}=K,J=v(T),Q=c(rt),wt=a(J*Q),dt=a(Y*Q),_t=u.BASE.multiplyAndAddUnsafe(W,wt,dt)?.toAffine();return _t?a(_t.x)===Y:!1}return{CURVE:t,getPublicKey:b,getSharedSecret:A,sign:C,verify:X,ProjectivePoint:u,Signature:g,utils:x}}function _w(r){return{hash:r,hmac:(t,...e)=>bo(r,t,ws(...e)),randomBytes:kn}}function Nh(r,t){let e=n=>Ch({...r,..._w(n)});return Object.freeze({...e(t),create:e})}var Dh=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Lh=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Tw=BigInt(1),Gc=BigInt(2),Uh=(r,t)=>(r+t/Gc)/t;function Cw(r){let t=Dh,e=BigInt(3),n=BigInt(6),o=BigInt(11),s=BigInt(22),i=BigInt(23),a=BigInt(44),c=BigInt(88),u=r*r*r%t,f=u*u*r%t,l=lt(f,e,t)*f%t,m=lt(l,e,t)*f%t,h=lt(m,Gc,t)*u%t,p=lt(h,o,t)*h%t,d=lt(p,s,t)*p%t,w=lt(d,a,t)*d%t,g=lt(w,c,t)*w%t,x=lt(g,a,t)*d%t,b=lt(x,e,t)*f%t,B=lt(b,i,t)*p%t,A=lt(B,n,t)*u%t,I=lt(A,Gc,t);if(!Wc.eql(Wc.sqr(I),r))throw new Error("Cannot find square root");return I}var Wc=Bs(Dh,void 0,void 0,{sqrt:Cw}),Be=Nh({a:BigInt(0),b:BigInt(7),Fp:Wc,n:Lh,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=Lh,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Tw*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=e,i=BigInt("0x100000000000000000000000000000000"),a=Uh(s*r,t),c=Uh(-n*r,t),u=at(r-a*e-c*o,t),f=at(-a*n-c*s,t),l=u>i,m=f>i;if(l&&(u=t-u),m&&(f=t-f),u>i||f>i)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:l,k1:u,k2neg:m,k2:f}}}},_h),t8=BigInt(0);var e8=Be.ProjectivePoint;function Ph(){return Be.utils.randomPrivateKey()}function Oh(r,t){let e=At.digest(t instanceof Uint8Array?t:t.subarray());if(fe(e))return e.then(({digest:n})=>Be.sign(n,r).toDERRawBytes()).catch(n=>{throw new D(String(n),"ERR_INVALID_INPUT")});try{return Be.sign(e.digest,r).toDERRawBytes()}catch(n){throw new D(String(n),"ERR_INVALID_INPUT")}}function Fh(r,t,e){let n=At.digest(e instanceof Uint8Array?e:e.subarray());if(fe(n))return n.then(({digest:o})=>Be.verify(t,o,r)).catch(o=>{throw new D(String(o),"ERR_INVALID_INPUT")});try{return Be.verify(t,n.digest,r)}catch(o){throw new D(String(o),"ERR_INVALID_INPUT")}}function Vh(r){return Be.ProjectivePoint.fromHex(r).toRawBytes(!0)}function Mh(r){try{Be.getPublicKey(r,!0)}catch(t){throw new D(String(t),"ERR_INVALID_PRIVATE_KEY")}}function Yc(r){try{Be.ProjectivePoint.fromHex(r)}catch(t){throw new D(String(t),"ERR_INVALID_PUBLIC_KEY")}}function $h(r){try{return Be.getPublicKey(r,!0)}catch(t){throw new D(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Co=class{_key;constructor(t){Yc(t),this._key=t}verify(t,e){return Fh(this._key,e,t)}marshal(){return Vh(this._key)}get bytes(){return Ue.encode({Type:gt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}async hash(){let t=At.digest(this.bytes),e;return fe(t)?{bytes:e}=await t:e=t.bytes,e}},No=class{_key;_publicKey;constructor(t,e){this._key=t,this._publicKey=e??$h(t),Mh(this._key),Yc(this._publicKey)}sign(t){return Oh(this._key,t)}get public(){return new Co(this._publicKey)}marshal(){return this._key}get bytes(){return Qe.encode({Type:gt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}hash(){let t=At.digest(this.bytes);return fe(t)?t.then(({bytes:e})=>e):t.bytes}async id(){let t=await this.public.hash();return j(t,"base58btc")}async export(t,e="libp2p-key"){if(e==="libp2p-key")return Cn(this.bytes,t);throw new D(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Lw(r){return new No(r)}function Uw(r){return new Co(r)}async function Dw(){let r=Ph();return new No(r)}var xi={rsa:zc,ed25519:Dc,secp256k1:Zc};function Pw(r){let t=Object.keys(xi).join(" / ");return new D(`invalid or unsupported key type ${r}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Jc(r){let t=Ue.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case gt.RSA:return xi.rsa.unmarshalRsaPublicKey(e);case gt.Ed25519:return xi.ed25519.unmarshalEd25519PublicKey(e);case gt.Secp256k1:return xi.secp256k1.unmarshalSecp256k1PublicKey(e);default:throw Pw(t.Type??"unknown")}}var ee=Jt(Yh(),1);ee.default.formatters.b=r=>r==null?"undefined":ht.baseEncode(r);ee.default.formatters.t=r=>r==null?"undefined":Ct.baseEncode(r);ee.default.formatters.m=r=>r==null?"undefined":le.baseEncode(r);ee.default.formatters.p=r=>r==null?"undefined":r.toString();ee.default.formatters.c=r=>r==null?"undefined":r.toString();ee.default.formatters.k=r=>r==null?"undefined":r.toString();ee.default.formatters.a=r=>r==null?"undefined":r.toString();function Yw(r){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=r,t.destroy=()=>!0,t.extend=()=>t,t}function Zh(){return{forComponent(r){return re(r)}}}function re(r){let t=Yw(`${r}:trace`);return ee.default.enabled(`${r}:trace`)&&ee.default.names.map(e=>e.toString()).find(e=>e.includes(":trace"))!=null&&(t=(0,ee.default)(`${r}:trace`)),Object.assign((0,ee.default)(r),{error:(0,ee.default)(`${r}:error`),trace:t})}var Qc=Jt(Xh(),1);var Do=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},tu=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Qh=r=>globalThis.DOMException===void 0?new tu(r):new DOMException(r),td=r=>{let t=r.reason===void 0?Qh("This operation was aborted."):r.reason;return t instanceof Error?t:Qh(t)};function Po(r,t){let{milliseconds:e,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout}}=t,i,c=new Promise((u,f)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(t.signal){let{signal:m}=t;m.aborted&&f(td(m)),m.addEventListener("abort",()=>{f(td(m))})}if(e===Number.POSITIVE_INFINITY){r.then(u,f);return}let l=new Do;i=s.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(m){f(m)}return}typeof r.cancel=="function"&&r.cancel(),o===!1?u():o instanceof Error?f(o):(l.message=o??`Promise timed out after ${e} milliseconds`,f(l))},e),(async()=>{try{u(await r)}catch(m){f(m)}})()}).finally(()=>{c.clear()});return c.clear=()=>{s.clearTimeout.call(void 0,i),i=void 0},c}function eu(r,t,e){let n=0,o=r.length;for(;o>0;){let s=Math.trunc(o/2),i=n+s;e(r[i],t)<=0?(n=++i,o-=s+1):o=s}return n}var Oo=class{#t=[];enqueue(t,e){e={priority:0,...e};let n={priority:e.priority,run:t};if(this.size&&this.#t[this.size-1].priority>=e.priority){this.#t.push(n);return}let o=eu(this.#t,n,(s,i)=>i.priority-s.priority);this.#t.splice(o,0,n)}dequeue(){return this.#t.shift()?.run}filter(t){return this.#t.filter(e=>e.priority===t.priority).map(e=>e.run)}get size(){return this.#t.length}};var Ve=class extends Qc.default{#t;#e;#r=0;#o;#a;#u=0;#s;#l;#n;#m;#i=0;#f;#c;#g;timeout;constructor(t){if(super(),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Oo,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#t=t.carryoverConcurrencyCount,this.#e=t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,this.#o=t.intervalCap,this.#a=t.interval,this.#n=new t.queueClass,this.#m=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#g=t.throwOnTimeout===!0,this.#c=t.autoStart===!1}get#b(){return this.#e||this.#r<this.#o}get#x(){return this.#i<this.#f}#E(){this.#i--,this.#h(),this.emit("next")}#v(){this.#w(),this.#y(),this.#l=void 0}get#A(){let t=Date.now();if(this.#s===void 0){let e=this.#u-t;if(e<0)this.#r=this.#t?this.#i:0;else return this.#l===void 0&&(this.#l=setTimeout(()=>{this.#v()},e)),!0}return!1}#h(){if(this.#n.size===0)return this.#s&&clearInterval(this.#s),this.#s=void 0,this.emit("empty"),this.#i===0&&this.emit("idle"),!1;if(!this.#c){let t=!this.#A;if(this.#b&&this.#x){let e=this.#n.dequeue();return e?(this.emit("active"),e(),t&&this.#y(),!0):!1}}return!1}#y(){this.#e||this.#s!==void 0||(this.#s=setInterval(()=>{this.#w()},this.#a),this.#u=Date.now()+this.#a)}#w(){this.#r===0&&this.#i===0&&this.#s&&(clearInterval(this.#s),this.#s=void 0),this.#r=this.#t?this.#i:0,this.#d()}#d(){for(;this.#h(););}get concurrency(){return this.#f}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#f=t,this.#d()}async#B(t){return new Promise((e,n)=>{t.addEventListener("abort",()=>{n(t.reason)},{once:!0})})}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:this.#g,...e},new Promise((n,o)=>{this.#n.enqueue(async()=>{this.#i++,this.#r++;try{e.signal?.throwIfAborted();let s=t({signal:e.signal});e.timeout&&(s=Po(Promise.resolve(s),{milliseconds:e.timeout})),e.signal&&(s=Promise.race([s,this.#B(e.signal)]));let i=await s;n(i),this.emit("completed",i)}catch(s){if(s instanceof Do&&!e.throwOnTimeout){n();return}o(s),this.emit("error",s)}finally{this.#E()}},e),this.emit("add"),this.#h()})}async addAll(t,e){return Promise.all(t.map(async n=>this.add(n,e)))}start(){return this.#c?(this.#c=!1,this.#d(),this):this}pause(){this.#c=!0}clear(){this.#n=new this.#m}async onEmpty(){this.#n.size!==0&&await this.#p("empty")}async onSizeLessThan(t){this.#n.size<t||await this.#p("next",()=>this.#n.size<t)}async onIdle(){this.#i===0&&this.#n.size===0||await this.#p("idle")}async#p(t,e){return new Promise(n=>{let o=()=>{e&&!e()||(this.off(t,o),n())};this.on(t,o)})}get size(){return this.#n.size}sizeBy(t){return this.#n.filter(t).length}get pending(){return this.#i}get isPaused(){return this.#c}};function ki(r){let t=[ke.A];return r==null?t:Array.isArray(r)?r.length===0?t:r:[r]}var ru=60;function Si(r){return{Status:r.Status??0,TC:r.TC??r.flag_tc??!1,RD:r.RD??r.flag_rd??!1,RA:r.RA??r.flag_ra??!1,AD:r.AD??r.flag_ad??!1,CD:r.CD??r.flag_cd??!1,Question:(r.Question??r.questions??[]).map(t=>({name:t.name,type:ke[t.type]})),Answer:(r.Answer??r.answers??[]).map(t=>({name:t.name,type:ke[t.type],TTL:t.TTL??t.ttl??ru,data:t.data instanceof Uint8Array?j(t.data):t.data}))}}var Xw=4;function nu(r,t={}){let e=new Ve({concurrency:t.queryConcurrency??Xw});return async(n,o={})=>{let s=new URLSearchParams;s.set("name",n),ki(o.types).forEach(a=>{s.append("type",ke[a])}),o.onProgress?.(new nt("dns:query",{detail:n}));let i=await e.add(async()=>{let a=await fetch(`${r}?${s}`,{headers:{accept:"application/dns-json"},signal:o?.signal});if(a.status!==200)throw new Error(`Unexpected HTTP status: ${a.status} - ${a.statusText}`);let c=Si(await a.json());return o.onProgress?.(new nt("dns:response",{detail:c})),c},{signal:o.signal});if(i==null)throw new Error("No DNS response received");return i}}function ed(){return[nu("https://cloudflare-dns.com/dns-query"),nu("https://dns.google/resolve")]}var od=Jt(nd(),1);var ou=class{lru;constructor(t){this.lru=(0,od.default)(t)}get(t,e){let n=!0,o=[];for(let s of e){let i=this.getAnswers(t,s);if(i.length===0){n=!1;break}o.push(...i)}if(n)return Si({answers:o})}getAnswers(t,e){let n=`${t.toLowerCase()}-${e}`,o=this.lru.get(n);if(o!=null){let s=o.filter(i=>i.expires>Date.now()).map(({expires:i,value:a})=>({...a,TTL:Math.round((i-Date.now())/1e3),type:ke[a.type]}));return s.length===0&&this.lru.remove(n),s}return[]}add(t,e){let n=`${t.toLowerCase()}-${e.type}`,o=this.lru.get(n)??[];o.push({expires:Date.now()+(e.TTL??ru)*1e3,value:e}),this.lru.set(n,o)}remove(t,e){let n=`${t.toLowerCase()}-${e}`;this.lru.remove(n)}clear(){this.lru.clear()}};function sd(r){return new ou(r)}var Qw=1e3,Ii=class{resolvers;cache;constructor(t){this.resolvers={},this.cache=sd(t.cacheSize??Qw),Object.entries(t.resolvers??{}).forEach(([e,n])=>{Array.isArray(n)||(n=[n]),e.endsWith(".")||(e=`${e}.`),this.resolvers[e]=n}),this.resolvers["."]==null&&(this.resolvers["."]=ed())}async query(t,e={}){let n=ki(e.types),o=e.cached!==!1?this.cache.get(t,n):void 0;if(o!=null)return e.onProgress?.(new nt("dns:cache",{detail:o})),o;let s=`${t.split(".").pop()}.`,i=(this.resolvers[s]??this.resolvers["."]).sort(()=>Math.random()>.5?-1:1),a=[];for(let c of i){if(e.signal?.aborted===!0)break;try{let u=await c(t,{...e,types:n});for(let f of u.Answer)this.cache.add(t,f);return u}catch(u){a.push(u),e.onProgress?.(new nt("dns:error",{detail:u}))}}throw a.length===1?a[0]:new AggregateError(a,`DNS lookup of ${t} ${n} failed`)}};var ke;(function(r){r[r.A=1]="A",r[r.CNAME=5]="CNAME",r[r.TXT=16]="TXT",r[r.AAAA=28]="AAAA"})(ke||(ke={}));function id(r={}){return new Ii(r)}var tb=["string","number","bigint","symbol"],eb=["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 ad(r){if(r===null)return"null";if(r===void 0)return"undefined";if(r===!0||r===!1)return"boolean";let t=typeof r;if(tb.includes(t))return t;if(t==="function")return"Function";if(Array.isArray(r))return"Array";if(rb(r))return"Buffer";let e=nb(r);return e||"Object"}function rb(r){return r&&r.constructor&&r.constructor.isBuffer&&r.constructor.isBuffer.call(null,r)}function nb(r){let t=Object.prototype.toString.call(r).slice(8,-1);if(eb.includes(t))return t}var y=class{constructor(t,e,n){this.major=t,this.majorEncoded=t<<5,this.name=e,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(t){return this.major<t.major?-1:this.major>t.major?1:0}};y.uint=new y(0,"uint",!0);y.negint=new y(1,"negint",!0);y.bytes=new y(2,"bytes",!0);y.string=new y(3,"string",!0);y.array=new y(4,"array",!1);y.map=new y(5,"map",!1);y.tag=new y(6,"tag",!1);y.float=new y(7,"float",!0);y.false=new y(7,"false",!0);y.true=new y(7,"true",!0);y.null=new y(7,"null",!0);y.undefined=new y(7,"undefined",!0);y.break=new y(7,"break",!0);var R=class{constructor(t,e,n){this.type=t,this.value=e,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var $n=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",ob=new TextDecoder,sb=new TextEncoder;function Ri(r){return $n&&globalThis.Buffer.isBuffer(r)}function Fo(r){return r instanceof Uint8Array?Ri(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r:Uint8Array.from(r)}var fd=$n?(r,t,e)=>e-t>64?globalThis.Buffer.from(r.subarray(t,e)).toString("utf8"):ud(r,t,e):(r,t,e)=>e-t>64?ob.decode(r.subarray(t,e)):ud(r,t,e),_i=$n?r=>r.length>64?globalThis.Buffer.from(r):cd(r):r=>r.length>64?sb.encode(r):cd(r),Me=r=>Uint8Array.from(r),Hn=$n?(r,t,e)=>Ri(r)?new Uint8Array(r.subarray(t,e)):r.slice(t,e):(r,t,e)=>r.slice(t,e),hd=$n?(r,t)=>(r=r.map(e=>e instanceof Uint8Array?e:globalThis.Buffer.from(e)),Fo(globalThis.Buffer.concat(r,t))):(r,t)=>{let e=new Uint8Array(t),n=0;for(let o of r)n+o.length>e.length&&(o=o.subarray(0,e.length-n)),e.set(o,n),n+=o.length;return e},dd=$n?r=>globalThis.Buffer.allocUnsafe(r):r=>new Uint8Array(r);function pd(r,t){if(Ri(r)&&Ri(t))return r.compare(t);for(let e=0;e<r.length;e++)if(r[e]!==t[e])return r[e]<t[e]?-1:1;return 0}function cd(r){let t=[],e=0;for(let n=0;n<r.length;n++){let o=r.charCodeAt(n);o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&n+1<r.length&&(r.charCodeAt(n+1)&64512)===56320?(o=65536+((o&1023)<<10)+(r.charCodeAt(++n)&1023),t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128)}return t}function ud(r,t,e){let n=[];for(;t<e;){let o=r[t],s=null,i=o>239?4:o>223?3:o>191?2:1;if(t+i<=e){let a,c,u,f;switch(i){case 1:o<128&&(s=o);break;case 2:a=r[t+1],(a&192)===128&&(f=(o&31)<<6|a&63,f>127&&(s=f));break;case 3:a=r[t+1],c=r[t+2],(a&192)===128&&(c&192)===128&&(f=(o&15)<<12|(a&63)<<6|c&63,f>2047&&(f<55296||f>57343)&&(s=f));break;case 4:a=r[t+1],c=r[t+2],u=r[t+3],(a&192)===128&&(c&192)===128&&(u&192)===128&&(f=(o&15)<<18|(a&63)<<12|(c&63)<<6|u&63,f>65535&&f<1114112&&(s=f))}}s===null?(s=65533,i=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),t+=i}return su(n)}var ld=4096;function su(r){let t=r.length;if(t<=ld)return String.fromCharCode.apply(String,r);let e="",n=0;for(;n<t;)e+=String.fromCharCode.apply(String,r.slice(n,n+=ld));return e}var ib=256,Vo=class{constructor(t=ib){this.chunkSize=t,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(t){let e=this.chunks[this.chunks.length-1];if(this.cursor+t.length<=this.maxCursor+1){let o=e.length-(this.maxCursor-this.cursor)-1;e.set(t,o)}else{if(e){let o=e.length-(this.maxCursor-this.cursor)-1;o<e.length&&(this.chunks[this.chunks.length-1]=e.subarray(0,o),this.maxCursor=this.cursor-1)}t.length<64&&t.length<this.chunkSize?(e=dd(this.chunkSize),this.chunks.push(e),this.maxCursor+=e.length,this._initReuseChunk===null&&(this._initReuseChunk=e),e.set(t,0)):(this.chunks.push(t),this.maxCursor+=t.length)}this.cursor+=t.length}toBytes(t=!1){let e;if(this.chunks.length===1){let n=this.chunks[0];t&&this.cursor>n.length/2?(e=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):e=Hn(n,0,this.cursor)}else e=hd(this.chunks,this.cursor);return t&&this.reset(),e}};var V="CBOR decode error:",Kn="CBOR encode error:",Mo=[];Mo[23]=1;Mo[24]=2;Mo[25]=3;Mo[26]=5;Mo[27]=9;function ar(r,t,e){if(r.length-t<e)throw new Error(`${V} not enough data for type`)}var Rt=[24,256,65536,4294967296,BigInt("18446744073709551616")];function ne(r,t,e){ar(r,t,1);let n=r[t];if(e.strict===!0&&n<Rt[0])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);return n}function oe(r,t,e){ar(r,t,2);let n=r[t]<<8|r[t+1];if(e.strict===!0&&n<Rt[1])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);return n}function se(r,t,e){ar(r,t,4);let n=r[t]*16777216+(r[t+1]<<16)+(r[t+2]<<8)+r[t+3];if(e.strict===!0&&n<Rt[2])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);return n}function ie(r,t,e){ar(r,t,8);let n=r[t]*16777216+(r[t+1]<<16)+(r[t+2]<<8)+r[t+3],o=r[t+4]*16777216+(r[t+5]<<16)+(r[t+6]<<8)+r[t+7],s=(BigInt(n)<<BigInt(32))+BigInt(o);if(e.strict===!0&&s<Rt[3])throw new Error(`${V} integer encoded in more bytes than necessary (strict decode)`);if(s<=Number.MAX_SAFE_INTEGER)return Number(s);if(e.allowBigInt===!0)return s;throw new Error(`${V} integers outside of the safe integer range are not supported`)}function md(r,t,e,n){return new R(y.uint,ne(r,t+1,n),2)}function gd(r,t,e,n){return new R(y.uint,oe(r,t+1,n),3)}function yd(r,t,e,n){return new R(y.uint,se(r,t+1,n),5)}function wd(r,t,e,n){return new R(y.uint,ie(r,t+1,n),9)}function pe(r,t){return Lt(r,0,t.value)}function Lt(r,t,e){if(e<Rt[0]){let n=Number(e);r.push([t|n])}else if(e<Rt[1]){let n=Number(e);r.push([t|24,n])}else if(e<Rt[2]){let n=Number(e);r.push([t|25,n>>>8,n&255])}else if(e<Rt[3]){let n=Number(e);r.push([t|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(e);if(n<Rt[4]){let o=[t|27,0,0,0,0,0,0,0],s=Number(n&BigInt(4294967295)),i=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=s&255,s=s>>8,o[7]=s&255,s=s>>8,o[6]=s&255,s=s>>8,o[5]=s&255,o[4]=i&255,i=i>>8,o[3]=i&255,i=i>>8,o[2]=i&255,i=i>>8,o[1]=i&255,r.push(o)}else throw new Error(`${V} encountered BigInt larger than allowable range`)}}pe.encodedSize=function(t){return Lt.encodedSize(t.value)};Lt.encodedSize=function(t){return t<Rt[0]?1:t<Rt[1]?2:t<Rt[2]?3:t<Rt[3]?5:9};pe.compareTokens=function(t,e){return t.value<e.value?-1:t.value>e.value?1:0};function bd(r,t,e,n){return new R(y.negint,-1-ne(r,t+1,n),2)}function xd(r,t,e,n){return new R(y.negint,-1-oe(r,t+1,n),3)}function Ed(r,t,e,n){return new R(y.negint,-1-se(r,t+1,n),5)}var iu=BigInt(-1),vd=BigInt(1);function Ad(r,t,e,n){let o=ie(r,t+1,n);if(typeof o!="bigint"){let s=-1-o;if(s>=Number.MIN_SAFE_INTEGER)return new R(y.negint,s,9)}if(n.allowBigInt!==!0)throw new Error(`${V} integers outside of the safe integer range are not supported`);return new R(y.negint,iu-BigInt(o),9)}function Ti(r,t){let e=t.value,n=typeof e=="bigint"?e*iu-vd:e*-1-1;Lt(r,t.type.majorEncoded,n)}Ti.encodedSize=function(t){let e=t.value,n=typeof e=="bigint"?e*iu-vd:e*-1-1;return n<Rt[0]?1:n<Rt[1]?2:n<Rt[2]?3:n<Rt[3]?5:9};Ti.compareTokens=function(t,e){return t.value<e.value?1:t.value>e.value?-1:0};function $o(r,t,e,n){ar(r,t,e+n);let o=Hn(r,t+e,t+e+n);return new R(y.bytes,o,e+n)}function Bd(r,t,e,n){return $o(r,t,1,e)}function kd(r,t,e,n){return $o(r,t,2,ne(r,t+1,n))}function Sd(r,t,e,n){return $o(r,t,3,oe(r,t+1,n))}function Id(r,t,e,n){return $o(r,t,5,se(r,t+1,n))}function Rd(r,t,e,n){let o=ie(r,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer bytes lengths not supported`);return $o(r,t,9,o)}function Ci(r){return r.encodedBytes===void 0&&(r.encodedBytes=r.type===y.string?_i(r.value):r.value),r.encodedBytes}function qn(r,t){let e=Ci(t);Lt(r,t.type.majorEncoded,e.length),r.push(e)}qn.encodedSize=function(t){let e=Ci(t);return Lt.encodedSize(e.length)+e.length};qn.compareTokens=function(t,e){return cb(Ci(t),Ci(e))};function cb(r,t){return r.length<t.length?-1:r.length>t.length?1:pd(r,t)}function Ho(r,t,e,n,o){let s=e+n;ar(r,t,s);let i=new R(y.string,fd(r,t+e,t+s),s);return o.retainStringBytes===!0&&(i.byteValue=Hn(r,t+e,t+s)),i}function _d(r,t,e,n){return Ho(r,t,1,e,n)}function Td(r,t,e,n){return Ho(r,t,2,ne(r,t+1,n),n)}function Cd(r,t,e,n){return Ho(r,t,3,oe(r,t+1,n),n)}function Nd(r,t,e,n){return Ho(r,t,5,se(r,t+1,n),n)}function Ld(r,t,e,n){let o=ie(r,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer string lengths not supported`);return Ho(r,t,9,o,n)}var Ud=qn;function zn(r,t,e,n){return new R(y.array,n,e)}function Dd(r,t,e,n){return zn(r,t,1,e)}function Pd(r,t,e,n){return zn(r,t,2,ne(r,t+1,n))}function Od(r,t,e,n){return zn(r,t,3,oe(r,t+1,n))}function Fd(r,t,e,n){return zn(r,t,5,se(r,t+1,n))}function Vd(r,t,e,n){let o=ie(r,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer array lengths not supported`);return zn(r,t,9,o)}function Md(r,t,e,n){if(n.allowIndefinite===!1)throw new Error(`${V} indefinite length items not allowed`);return zn(r,t,1,1/0)}function Ni(r,t){Lt(r,y.array.majorEncoded,t.value)}Ni.compareTokens=pe.compareTokens;Ni.encodedSize=function(t){return Lt.encodedSize(t.value)};function jn(r,t,e,n){return new R(y.map,n,e)}function $d(r,t,e,n){return jn(r,t,1,e)}function Hd(r,t,e,n){return jn(r,t,2,ne(r,t+1,n))}function Kd(r,t,e,n){return jn(r,t,3,oe(r,t+1,n))}function qd(r,t,e,n){return jn(r,t,5,se(r,t+1,n))}function zd(r,t,e,n){let o=ie(r,t+1,n);if(typeof o=="bigint")throw new Error(`${V} 64-bit integer map lengths not supported`);return jn(r,t,9,o)}function jd(r,t,e,n){if(n.allowIndefinite===!1)throw new Error(`${V} indefinite length items not allowed`);return jn(r,t,1,1/0)}function Li(r,t){Lt(r,y.map.majorEncoded,t.value)}Li.compareTokens=pe.compareTokens;Li.encodedSize=function(t){return Lt.encodedSize(t.value)};function Gd(r,t,e,n){return new R(y.tag,e,1)}function Wd(r,t,e,n){return new R(y.tag,ne(r,t+1,n),2)}function Yd(r,t,e,n){return new R(y.tag,oe(r,t+1,n),3)}function Zd(r,t,e,n){return new R(y.tag,se(r,t+1,n),5)}function Jd(r,t,e,n){return new R(y.tag,ie(r,t+1,n),9)}function Ui(r,t){Lt(r,y.tag.majorEncoded,t.value)}Ui.compareTokens=pe.compareTokens;Ui.encodedSize=function(t){return Lt.encodedSize(t.value)};var pb=20,mb=21,gb=22,yb=23;function Xd(r,t,e,n){if(n.allowUndefined===!1)throw new Error(`${V} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new R(y.null,null,1):new R(y.undefined,void 0,1)}function Qd(r,t,e,n){if(n.allowIndefinite===!1)throw new Error(`${V} indefinite length items not allowed`);return new R(y.break,void 0,1)}function au(r,t,e){if(e){if(e.allowNaN===!1&&Number.isNaN(r))throw new Error(`${V} NaN values are not supported`);if(e.allowInfinity===!1&&(r===1/0||r===-1/0))throw new Error(`${V} Infinity values are not supported`)}return new R(y.float,r,t)}function tp(r,t,e,n){return au(cu(r,t+1),3,n)}function ep(r,t,e,n){return au(uu(r,t+1),5,n)}function rp(r,t,e,n){return au(ip(r,t+1),9,n)}function Di(r,t,e){let n=t.value;if(n===!1)r.push([y.float.majorEncoded|pb]);else if(n===!0)r.push([y.float.majorEncoded|mb]);else if(n===null)r.push([y.float.majorEncoded|gb]);else if(n===void 0)r.push([y.float.majorEncoded|yb]);else{let o,s=!1;(!e||e.float64!==!0)&&(op(n),o=cu(Se,1),n===o||Number.isNaN(n)?(Se[0]=249,r.push(Se.slice(0,3)),s=!0):(sp(n),o=uu(Se,1),n===o&&(Se[0]=250,r.push(Se.slice(0,5)),s=!0))),s||(wb(n),o=ip(Se,1),Se[0]=251,r.push(Se.slice(0,9)))}}Di.encodedSize=function(t,e){let n=t.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!e||e.float64!==!0){op(n);let o=cu(Se,1);if(n===o||Number.isNaN(n))return 3;if(sp(n),o=uu(Se,1),n===o)return 5}return 9};var np=new ArrayBuffer(9),me=new DataView(np,1),Se=new Uint8Array(np,0);function op(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 t=me.getUint32(0),e=(t&2139095040)>>23,n=t&8388607;if(e===255)me.setUint16(0,31744,!1);else if(e===0)me.setUint16(0,(r&2147483648)>>16|n>>13,!1);else{let o=e-127;o<-24?me.setUint16(0,0):o<-14?me.setUint16(0,(t&2147483648)>>16|1<<24+o,!1):me.setUint16(0,(t&2147483648)>>16|o+15<<10|n>>13,!1)}}}function cu(r,t){if(r.length-t<2)throw new Error(`${V} not enough data for float16`);let e=(r[t]<<8)+r[t+1];if(e===31744)return 1/0;if(e===64512)return-1/0;if(e===32256)return NaN;let n=e>>10&31,o=e&1023,s;return n===0?s=o*2**-24:n!==31?s=(o+1024)*2**(n-25):s=o===0?1/0:NaN,e&32768?-s:s}function sp(r){me.setFloat32(0,r,!1)}function uu(r,t){if(r.length-t<4)throw new Error(`${V} not enough data for float32`);let e=(r.byteOffset||0)+t;return new DataView(r.buffer,e,4).getFloat32(0,!1)}function wb(r){me.setFloat64(0,r,!1)}function ip(r,t){if(r.length-t<8)throw new Error(`${V} not enough data for float64`);let e=(r.byteOffset||0)+t;return new DataView(r.buffer,e,8).getFloat64(0,!1)}Di.compareTokens=pe.compareTokens;function et(r,t,e){throw new Error(`${V} encountered invalid minor (${e}) for major ${r[t]>>>5}`)}function Pi(r){return()=>{throw new Error(`${V} ${r}`)}}var L=[];for(let r=0;r<=23;r++)L[r]=et;L[24]=md;L[25]=gd;L[26]=yd;L[27]=wd;L[28]=et;L[29]=et;L[30]=et;L[31]=et;for(let r=32;r<=55;r++)L[r]=et;L[56]=bd;L[57]=xd;L[58]=Ed;L[59]=Ad;L[60]=et;L[61]=et;L[62]=et;L[63]=et;for(let r=64;r<=87;r++)L[r]=Bd;L[88]=kd;L[89]=Sd;L[90]=Id;L[91]=Rd;L[92]=et;L[93]=et;L[94]=et;L[95]=Pi("indefinite length bytes/strings are not supported");for(let r=96;r<=119;r++)L[r]=_d;L[120]=Td;L[121]=Cd;L[122]=Nd;L[123]=Ld;L[124]=et;L[125]=et;L[126]=et;L[127]=Pi("indefinite length bytes/strings are not supported");for(let r=128;r<=151;r++)L[r]=Dd;L[152]=Pd;L[153]=Od;L[154]=Fd;L[155]=Vd;L[156]=et;L[157]=et;L[158]=et;L[159]=Md;for(let r=160;r<=183;r++)L[r]=$d;L[184]=Hd;L[185]=Kd;L[186]=qd;L[187]=zd;L[188]=et;L[189]=et;L[190]=et;L[191]=jd;for(let r=192;r<=215;r++)L[r]=Gd;L[216]=Wd;L[217]=Yd;L[218]=Zd;L[219]=Jd;L[220]=et;L[221]=et;L[222]=et;L[223]=et;for(let r=224;r<=243;r++)L[r]=Pi("simple values are not supported");L[244]=et;L[245]=et;L[246]=et;L[247]=Xd;L[248]=Pi("simple values are not supported");L[249]=tp;L[250]=ep;L[251]=rp;L[252]=et;L[253]=et;L[254]=et;L[255]=Qd;var Ie=[];for(let r=0;r<24;r++)Ie[r]=new R(y.uint,r,1);for(let r=-1;r>=-24;r--)Ie[31-r]=new R(y.negint,r,1);Ie[64]=new R(y.bytes,new Uint8Array(0),1);Ie[96]=new R(y.string,"",1);Ie[128]=new R(y.array,0,1);Ie[160]=new R(y.map,0,1);Ie[244]=new R(y.false,!1,1);Ie[245]=new R(y.true,!0,1);Ie[246]=new R(y.null,null,1);function ap(r){switch(r.type){case y.false:return Me([244]);case y.true:return Me([245]);case y.null:return Me([246]);case y.bytes:return r.value.length?void 0:Me([64]);case y.string:return r.value===""?Me([96]):void 0;case y.array:return r.value===0?Me([128]):void 0;case y.map:return r.value===0?Me([160]):void 0;case y.uint:return r.value<24?Me([Number(r.value)]):void 0;case y.negint:if(r.value>=-24)return Me([31-Number(r.value)])}}var xb={float64:!1,mapSorter:Ab,quickEncodeToken:ap};function Eb(){let r=[];return r[y.uint.major]=pe,r[y.negint.major]=Ti,r[y.bytes.major]=qn,r[y.string.major]=Ud,r[y.array.major]=Ni,r[y.map.major]=Li,r[y.tag.major]=Ui,r[y.float.major]=Di,r}var cp=Eb(),lu=new Vo,Fi=class r{constructor(t,e){this.obj=t,this.parent=e}includes(t){let e=this;do if(e.obj===t)return!0;while(e=e.parent);return!1}static createCheck(t,e){if(t&&t.includes(e))throw new Error(`${Kn} object contains circular references`);return new r(e,t)}},Lr={null:new R(y.null,null),undefined:new R(y.undefined,void 0),true:new R(y.true,!0),false:new R(y.false,!1),emptyArray:new R(y.array,0),emptyMap:new R(y.map,0)},Ur={number(r,t,e,n){return!Number.isInteger(r)||!Number.isSafeInteger(r)?new R(y.float,r):r>=0?new R(y.uint,r):new R(y.negint,r)},bigint(r,t,e,n){return r>=BigInt(0)?new R(y.uint,r):new R(y.negint,r)},Uint8Array(r,t,e,n){return new R(y.bytes,r)},string(r,t,e,n){return new R(y.string,r)},boolean(r,t,e,n){return r?Lr.true:Lr.false},null(r,t,e,n){return Lr.null},undefined(r,t,e,n){return Lr.undefined},ArrayBuffer(r,t,e,n){return new R(y.bytes,new Uint8Array(r))},DataView(r,t,e,n){return new R(y.bytes,new Uint8Array(r.buffer,r.byteOffset,r.byteLength))},Array(r,t,e,n){if(!r.length)return e.addBreakTokens===!0?[Lr.emptyArray,new R(y.break)]:Lr.emptyArray;n=Fi.createCheck(n,r);let o=[],s=0;for(let i of r)o[s++]=Oi(i,e,n);return e.addBreakTokens?[new R(y.array,r.length),o,new R(y.break)]:[new R(y.array,r.length),o]},Object(r,t,e,n){let o=t!=="Object",s=o?r.keys():Object.keys(r),i=o?r.size:s.length;if(!i)return e.addBreakTokens===!0?[Lr.emptyMap,new R(y.break)]:Lr.emptyMap;n=Fi.createCheck(n,r);let a=[],c=0;for(let u of s)a[c++]=[Oi(u,e,n),Oi(o?r.get(u):r[u],e,n)];return vb(a,e),e.addBreakTokens?[new R(y.map,i),a,new R(y.break)]:[new R(y.map,i),a]}};Ur.Map=Ur.Object;Ur.Buffer=Ur.Uint8Array;for(let r of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Ur[`${r}Array`]=Ur.DataView;function Oi(r,t={},e){let n=ad(r),o=t&&t.typeEncoders&&t.typeEncoders[n]||Ur[n];if(typeof o=="function"){let i=o(r,n,t,e);if(i!=null)return i}let s=Ur[n];if(!s)throw new Error(`${Kn} unsupported type: ${n}`);return s(r,n,t,e)}function vb(r,t){t.mapSorter&&r.sort(t.mapSorter)}function Ab(r,t){let e=Array.isArray(r[0])?r[0][0]:r[0],n=Array.isArray(t[0])?t[0][0]:t[0];if(e.type!==n.type)return e.type.compare(n.type);let o=e.type.major,s=cp[o].compareTokens(e,n);return s===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),s}function up(r,t,e,n){if(Array.isArray(t))for(let o of t)up(r,o,e,n);else e[t.type.major](r,t,n)}function lp(r,t,e){let n=Oi(r,e);if(!Array.isArray(n)&&e.quickEncodeToken){let o=e.quickEncodeToken(n);if(o)return o;let s=t[n.type.major];if(s.encodedSize){let i=s.encodedSize(n,e),a=new Vo(i);if(s(a,n,e),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return Fo(a.chunks[0])}}return lu.reset(),up(lu,n,t,e),lu.toBytes(!0)}function Gn(r,t){return t=Object.assign({},xb,t),lp(r,cp,t)}var Bb={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},Vi=class{constructor(t,e={}){this._pos=0,this.data=t,this.options=e}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let t=this.data[this._pos],e=Ie[t];if(e===void 0){let n=L[t];if(!n)throw new Error(`${V} no decoder for major type ${t>>>5} (byte 0x${t.toString(16).padStart(2,"0")})`);let o=t&31;e=n(this.data,this._pos,o,this.options)}return this._pos+=e.encodedLength,e}},Ko=Symbol.for("DONE"),Mi=Symbol.for("BREAK");function kb(r,t,e){let n=[];for(let o=0;o<r.value;o++){let s=Wn(t,e);if(s===Mi){if(r.value===1/0)break;throw new Error(`${V} got unexpected break to lengthed array`)}if(s===Ko)throw new Error(`${V} found array but not enough entries (got ${o}, expected ${r.value})`);n[o]=s}return n}function Sb(r,t,e){let n=e.useMaps===!0,o=n?void 0:{},s=n?new Map:void 0;for(let i=0;i<r.value;i++){let a=Wn(t,e);if(a===Mi){if(r.value===1/0)break;throw new Error(`${V} got unexpected break to lengthed map`)}if(a===Ko)throw new Error(`${V} found map but not enough entries (got ${i} [no key], expected ${r.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${V} non-string keys not supported (got ${typeof a})`);if(e.rejectDuplicateMapKeys===!0&&(n&&s.has(a)||!n&&a in o))throw new Error(`${V} found repeat map key "${a}"`);let c=Wn(t,e);if(c===Ko)throw new Error(`${V} found map but not enough entries (got ${i} [no value], expected ${r.value})`);n?s.set(a,c):o[a]=c}return n?s:o}function Wn(r,t){if(r.done())return Ko;let e=r.next();if(e.type===y.break)return Mi;if(e.type.terminal)return e.value;if(e.type===y.array)return kb(e,r,t);if(e.type===y.map)return Sb(e,r,t);if(e.type===y.tag){if(t.tags&&typeof t.tags[e.value]=="function"){let n=Wn(r,t);return t.tags[e.value](n)}throw new Error(`${V} tag not supported (${e.value})`)}throw new Error("unsupported")}function fu(r,t){if(!(r instanceof Uint8Array))throw new Error(`${V} data to decode must be a Uint8Array`);t=Object.assign({},Bb,t);let e=t.tokenizer||new Vi(r,t),n=Wn(e,t);if(n===Ko)throw new Error(`${V} did not find any content to decode`);if(n===Mi)throw new Error(`${V} got unexpected break`);return[n,r.subarray(e.pos())]}function ge(r,t){let[e,n]=fu(r,t);if(n.length>0)throw new Error(`${V} too many terminals, data makes no sense`);return e}var cr="/",fp=new TextEncoder().encode(cr),Hi=fp[0],Ut=class r{_buf;constructor(t,e){if(typeof t=="string")this._buf=q(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(e==null&&(e=!0),e&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Hi)throw new Error("Invalid key")}toString(t="utf8"){return j(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new r(t.join(cr))}static random(){return new r(Math.random().toString().substring(2))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new r(t):typeof t.uint8Array=="function"?new r(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=fp),this._buf[0]!==Hi){let t=new Uint8Array(this._buf.byteLength+1);t.fill(Hi,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Hi;)this._buf=this._buf.subarray(0,-1)}less(t){let e=this.list(),n=t.list();for(let o=0;o<e.length;o++){if(n.length<o+1)return!1;let s=e[o],i=n[o];if(s<i)return!0;if(s>i)return!1}return e.length<n.length}reverse(){return r.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(cr).slice(1)}type(){return Ib(this.baseNamespace())}name(){return Rb(this.baseNamespace())}instance(t){return new r(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(cr)||(t+=cr),t+=this.type(),new r(t)}parent(){let t=this.list();return t.length===1?new r(cr):new r(t.slice(0,-1).join(cr))}child(t){return this.toString()===cr?t:t.toString()===cr?this:new r(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return r.withNamespaces([...this.namespaces(),..._b(t.map(e=>e.namespaces()))])}};function Ib(r){let t=r.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function Rb(r){let t=r.split(":");return t[t.length-1]}function _b(r){return[].concat(...r)}var mp="/pin/",hp="/pinned-block/",hu=br,dp=1;function pp(r){return r.version===0&&(r=r.toV1()),new Ut(`${mp}${r.toString(hu)}`)}var Ki=class{datastore;blockstore;dagWalkers;constructor(t,e,n){this.datastore=t,this.blockstore=e,this.dagWalkers=n}async*add(t,e={}){let n=pp(t);if(await this.datastore.has(n))throw new Error("Already pinned");let o=Math.round(e.depth??1/0);if(o<0)throw new Error("Depth must be greater than or equal to 0");let s=new qe({concurrency:dp});for await(let a of this.#t(t,s,{...e,depth:o}))await this.#e(a,c=>c.pinnedBy.find(u=>it(u,t.bytes))!=null?!1:(c.pinCount++,c.pinnedBy.push(t.bytes),!0),e),yield a;let i={depth:o,metadata:e.metadata??{}};await this.datastore.put(n,Gn(i),e)}async*#t(t,e,n){if(n.depth===-1)return;let o=this.dagWalkers[t.code];if(o==null)throw new Error(`No dag walker found for cid codec ${t.code}`);let s=await this.blockstore.get(t,n);yield t;for await(let i of o.walk(s))yield*await e.add(async()=>this.#t(i,e,{...n,depth:n.depth-1}))}async#e(t,e,n){let o=new Ut(`${hp}${hu.encode(t.multihash.bytes)}`),s={pinCount:0,pinnedBy:[]};try{s=ge(await this.datastore.get(o,n))}catch(a){if(a.code!=="ERR_NOT_FOUND")throw a}if(e(s)){if(s.pinCount===0&&await this.datastore.has(o)){await this.datastore.delete(o);return}await this.datastore.put(o,Gn(s),n),n.onProgress?.(new nt("helia:pin:add",t))}}async*rm(t,e={}){let n=pp(t),o=await this.datastore.get(n,e),s=ge(o);await this.datastore.delete(n,e);let i=new qe({concurrency:dp});for await(let a of this.#t(t,i,{...e,depth:s.depth}))await this.#e(a,c=>(c.pinCount--,c.pinnedBy=c.pinnedBy.filter(u=>it(u,t.bytes)),!0),{...e,depth:s.depth}),yield a}async*ls(t={}){for await(let{key:e,value:n}of this.datastore.query({prefix:mp+(t.cid!=null?`${t.cid.toString(br)}`:"")},t)){let o=tt.parse(e.toString().substring(5),br),s=ge(n);yield{cid:o,...s}}}async isPinned(t,e={}){let n=new Ut(`${hp}${hu.encode(t.multihash.bytes)}`);return this.datastore.has(n,e)}};var Tb=5,qi=class{log;routers;providerLookupConcurrency;constructor(t,e){this.log=t.logger.forComponent("helia:routing"),this.routers=e.routers??[],this.providerLookupConcurrency=e.providerLookupConcurrency??Tb}async start(){await mr(...this.routers)}async stop(){await gr(...this.routers)}async*findProviders(t,e={}){if(this.routers.length===0)throw new D("No content routers available","ERR_NO_ROUTERS_AVAILABLE");let n=new is({concurrency:this.providerLookupConcurrency});n.addEventListener("error",()=>{});for await(let o of Hr(n.toGenerator(),...Yn(this.routers,"findProviders").map(s=>s.findProviders(t,e))))if(o!=null){if(o.multiaddrs.length===0){if(n.find(o.id)!=null)continue;n.add(async()=>{try{let s=await this.findPeer(o.id,e);return s.multiaddrs.length===0?null:s}catch(s){return this.log.error("could not load multiaddrs for peer %p",o.id,s),null}},{peerId:o.id,signal:e.signal}).catch(s=>{this.log.error("could not load multiaddrs for peer %p",o.id,s)})}yield o}}async provide(t,e={}){if(this.routers.length===0)throw new D("No content routers available","ERR_NO_ROUTERS_AVAILABLE");await Promise.all(Yn(this.routers,"provide").map(async n=>{await n.provide(t,e)}))}async put(t,e,n){await Promise.all(Yn(this.routers,"put").map(async o=>{await o.put(t,e,n)}))}async get(t,e){return Promise.any(Yn(this.routers,"get").map(async n=>n.get(t,e)))}async findPeer(t,e){if(this.routers.length===0)throw new D("No peer routers available","ERR_NO_ROUTERS_AVAILABLE");let n=this,o=Hr(...Yn(this.routers,"findPeer").map(s=>async function*(){try{yield await s.findPeer(t,e)}catch(i){n.log.error(i)}}()));for await(let s of o)if(s!=null)return s;throw new D("Could not find peer in routing","ERR_NOT_FOUND")}async*getClosestPeers(t,e={}){if(this.routers.length===0)throw new D("No peer routers available","ERR_NO_ROUTERS_AVAILABLE");for await(let n of Hr(...Yn(this.routers,"getClosestPeers").map(o=>o.getClosestPeers(t,e))))n!=null&&(yield n)}};function Yn(r,t){return r.filter(e=>e[t]!=null)}var Dr={},Zn=r=>{r.addEventListener("message",t=>{Zn.dispatchEvent("message",r,t)}),r.port!=null&&r.port.addEventListener("message",t=>{Zn.dispatchEvent("message",r,t)})};Zn.addEventListener=(r,t)=>{Dr[r]==null&&(Dr[r]=[]),Dr[r].push(t)};Zn.removeEventListener=(r,t)=>{Dr[r]!=null&&(Dr[r]=Dr[r].filter(e=>e===t))};Zn.dispatchEvent=function(r,t,e){Dr[r]!=null&&Dr[r].forEach(n=>n(t,e))};var du=Zn;var pu="lock:worker:request-read",mu="lock:worker:release-read",gu="lock:master:grant-read",yu="lock:worker:request-write",wu="lock:worker:release-write",bu="lock:master:grant-write";var gp=(r=21)=>Math.random().toString().substring(2);var yp=(r,t,e,n,o)=>(s,i)=>{if(i.data.type!==e)return;let a={type:i.data.type,name:i.data.name,identifier:i.data.identifier};r.dispatchEvent(new MessageEvent(t,{data:{name:a.name,handler:async()=>{s.postMessage({type:o,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=f=>{if(f==null||f.data==null)return;let l={type:f.data.type,name:f.data.name,identifier:f.data.identifier};l.type===n&&l.identifier===a.identifier&&(s.removeEventListener("message",u),c())};s.addEventListener("message",u)})}}}))},wp=(r,t,e,n)=>async()=>{let o=gp();return globalThis.postMessage({type:t,identifier:o,name:r}),new Promise(s=>{let i=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===e&&c.identifier===o&&(globalThis.removeEventListener("message",i),s(()=>{globalThis.postMessage({type:n,identifier:o,name:r})}))};globalThis.addEventListener("message",i)})},Cb={singleProcess:!1},bp=r=>{if(r=Object.assign({},Cb,r),!!globalThis.document||r.singleProcess){let e=new EventTarget;return du.addEventListener("message",yp(e,"requestReadLock",pu,mu,gu)),du.addEventListener("message",yp(e,"requestWriteLock",yu,wu,bu)),e}return{isWorker:!0,readLock:e=>wp(e,pu,gu,mu),writeLock:e=>wp(e,yu,bu,wu)}};var Qr={},Pr;async function xu(r,t){let e,n=new Promise(o=>{e=o});return r.add(async()=>Po((async()=>{await new Promise(o=>{e(()=>{o()})})})(),{milliseconds:t.timeout})),n}var Nb=(r,t)=>{if(Pr.isWorker===!0)return{readLock:Pr.readLock(r,t),writeLock:Pr.writeLock(r,t)};let e=new Ve({concurrency:1}),n;return{async readLock(){if(n!=null)return xu(n,t);n=new Ve({concurrency:t.concurrency,autoStart:!1});let o=n,s=xu(n,t);return e.add(async()=>{o.start(),await o.onIdle().then(()=>{n===o&&(n=null)})}),s},async writeLock(){return n=null,xu(e,t)}}},Lb={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Eu(r){let t=Object.assign({},Lb,r);return Pr==null&&(Pr=bp(t),Pr.isWorker!==!0&&(Pr.addEventListener("requestReadLock",e=>{Qr[e.data.name]!=null&&Qr[e.data.name].readLock().then(async n=>e.data.handler().finally(()=>{n()}))}),Pr.addEventListener("requestWriteLock",async e=>{Qr[e.data.name]!=null&&Qr[e.data.name].writeLock().then(async n=>e.data.handler().finally(()=>{n()}))}))),Qr[t.name]==null&&(Qr[t.name]=Nb(t.name,t)),Qr[t.name]}var zi=class{lock;child;pins;started;constructor(t,e,n={}){this.child=t,this.pins=e,this.lock=Eu({singleProcess:n.holdGcLock}),this.started=!1}isStarted(){return this.started}async start(){await mr(this.child),this.started=!0}async stop(){await gr(this.child),this.started=!1}unwrap(){return this.child}async put(t,e,n={}){n?.signal?.throwIfAborted();let o=await this.lock.readLock();try{return await this.child.put(t,e,n)}finally{o()}}async*putMany(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.readLock();try{yield*this.child.putMany(t,e)}finally{n()}}async get(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.readLock();try{return await this.child.get(t,e)}finally{n()}}async*getMany(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.readLock();try{yield*this.child.getMany(t,e)}finally{n()}}async delete(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.writeLock();try{if(await this.pins.isPinned(t))throw new Error("CID was pinned");await this.child.delete(t,e)}finally{n()}}async*deleteMany(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.writeLock();try{let o=this;yield*this.child.deleteMany(async function*(){for await(let s of t){if(await o.pins.isPinned(s))throw new Error("CID was pinned");yield s}}(),e)}finally{n()}}async has(t,e={}){e?.signal?.throwIfAborted();let n=await this.lock.readLock();try{return await this.child.has(t,e)}finally{n()}}async*getAll(t={}){t?.signal?.throwIfAborted();let e=await this.lock.readLock();try{yield*this.child.getAll(t)}finally{e()}}createSession(t,e){return e?.signal?.throwIfAborted(),this.child.createSession(t,e)}};var Ep=42;function Ub(r){if(r.asCID!==r&&r["/"]!==r.bytes)return null;let t=tt.asCID(r);if(!t)return null;let e=new Uint8Array(t.bytes.byteLength+1);return e.set(t.bytes,1),[new R(y.tag,Ep),new R(y.bytes,e)]}function Db(){throw new Error("`undefined` is not supported by the IPLD Data Model and cannot be encoded")}function Pb(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 xp={float64:!0,typeEncoders:{Object:Ub,undefined:Db,number:Pb}},Nk={...xp,typeEncoders:{...xp.typeEncoders}};function Ob(r){if(r[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");return tt.decode(r.subarray(1))}var vu={allowIndefinite:!1,coerceUndefinedToNull:!0,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};vu.tags[Ep]=Ob;var Lk={...vu,tags:vu.tags.slice()};var vp=113;var Ap=class extends Array{constructor(){super(),this.inRecursive=[]}prefix(t){let e=this.inRecursive[this.inRecursive.length-1];e&&(e.type===y.array&&(e.elements++,e.elements!==1&&t.push([44])),e.type===y.map&&(e.elements++,e.elements!==1&&(e.elements%2===1?t.push([44]):t.push([58]))))}[y.uint.major](t,e){this.prefix(t);let n=String(e.value),o=[];for(let s=0;s<n.length;s++)o[s]=n.charCodeAt(s);t.push(o)}[y.negint.major](t,e){this[y.uint.major](t,e)}[y.bytes.major](t,e){throw new Error(`${Kn} unsupported type: Uint8Array`)}[y.string.major](t,e){this.prefix(t);let n=_i(JSON.stringify(e.value));t.push(n.length>32?Fo(n):n)}[y.array.major](t,e){this.prefix(t),this.inRecursive.push({type:y.array,elements:0}),t.push([91])}[y.map.major](t,e){this.prefix(t),this.inRecursive.push({type:y.map,elements:0}),t.push([123])}[y.tag.major](t,e){}[y.float.major](t,e){if(e.type.name==="break"){let i=this.inRecursive.pop();if(i){if(i.type===y.array)t.push([93]);else if(i.type===y.map)t.push([125]);else throw new Error("Unexpected recursive type; this should not happen!");return}throw new Error("Unexpected break; this should not happen!")}if(e.value===void 0)throw new Error(`${Kn} unsupported type: undefined`);if(this.prefix(t),e.type.name==="true"){t.push([116,114,117,101]);return}else if(e.type.name==="false"){t.push([102,97,108,115,101]);return}else if(e.type.name==="null"){t.push([110,117,108,108]);return}let n=String(e.value),o=[],s=!1;for(let i=0;i<n.length;i++)o[i]=n.charCodeAt(i),!s&&(o[i]===46||o[i]===101||o[i]===69)&&(s=!0);s||(o.push(46),o.push(48)),t.push(o)}};var tn=class{constructor(t,e={}){this._pos=0,this.data=t,this.options=e,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 t=this.ch();for(;t===32||t===9||t===13||t===10;)t=this.data[++this._pos]}expect(t){if(this.data.length-this._pos<t.length)throw new Error(`${V} unexpected end of input at position ${this._pos}`);for(let e=0;e<t.length;e++)if(this.data[this._pos++]!==t[e])throw new Error(`${V} unexpected token at position ${this._pos}, expected to find '${String.fromCharCode(...t)}'`)}parseNumber(){let t=this._pos,e=!1,n=!1,o=a=>{for(;!this.done();){let c=this.ch();if(a.includes(c))this._pos++;else break}};if(this.ch()===45&&(e=!0,this._pos++),this.ch()===48)if(this._pos++,this.ch()===46)this._pos++,n=!0;else return new R(y.uint,0,this._pos-t);if(o([48,49,50,51,52,53,54,55,56,57]),e&&this._pos===t+1)throw new Error(`${V} unexpected token at position ${this._pos}`);if(!this.done()&&this.ch()===46){if(n)throw new Error(`${V} unexpected token at position ${this._pos}`);n=!0,this._pos++,o([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++,o([48,49,50,51,52,53,54,55,56,57]));let s=String.fromCharCode.apply(null,this.data.subarray(t,this._pos)),i=parseFloat(s);return n?new R(y.float,i,this._pos-t):this.options.allowBigInt!==!0||Number.isSafeInteger(i)?new R(i>=0?y.uint:y.negint,i,this._pos-t):new R(i>=0?y.uint:y.negint,BigInt(s),this._pos-t)}parseString(){if(this.ch()!==34)throw new Error(`${V} unexpected character at position ${this._pos}; this shouldn't happen`);this._pos++;for(let s=this._pos,i=0;s<this.data.length&&i<65536;s++,i++){let a=this.data[s];if(a===92||a<32||a>=128)break;if(a===34){let c=String.fromCharCode.apply(null,this.data.subarray(this._pos,s));return this._pos=s+1,new R(y.string,c,i)}}let t=this._pos,e=[],n=()=>{if(this._pos+4>=this.data.length)throw new Error(`${V} unexpected end of unicode escape sequence at position ${this._pos}`);let s=0;for(let i=0;i<4;i++){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(`${V} unexpected unicode escape character at position ${this._pos}`);s=s*16+a,this._pos++}return s},o=()=>{let s=this.ch(),i=null,a=s>239?4:s>223?3:s>191?2:1;if(this._pos+a>this.data.length)throw new Error(`${V} unexpected unicode sequence at position ${this._pos}`);let c,u,f,l;switch(a){case 1:s<128&&(i=s);break;case 2:c=this.data[this._pos+1],(c&192)===128&&(l=(s&31)<<6|c&63,l>127&&(i=l));break;case 3:c=this.data[this._pos+1],u=this.data[this._pos+2],(c&192)===128&&(u&192)===128&&(l=(s&15)<<12|(c&63)<<6|u&63,l>2047&&(l<55296||l>57343)&&(i=l));break;case 4:c=this.data[this._pos+1],u=this.data[this._pos+2],f=this.data[this._pos+3],(c&192)===128&&(u&192)===128&&(f&192)===128&&(l=(s&15)<<18|(c&63)<<12|(u&63)<<6|f&63,l>65535&&l<1114112&&(i=l))}i===null?(i=65533,a=1):i>65535&&(i-=65536,e.push(i>>>10&1023|55296),i=56320|i&1023),e.push(i),this._pos+=a};for(;!this.done();){let s=this.ch(),i;switch(s){case 92:if(this._pos++,this.done())throw new Error(`${V} unexpected string termination at position ${this._pos}`);switch(i=this.ch(),this._pos++,i){case 34:case 39:case 92:case 47:e.push(i);break;case 98:e.push(8);break;case 116:e.push(9);break;case 110:e.push(10);break;case 102:e.push(12);break;case 114:e.push(13);break;case 117:e.push(n());break;default:throw new Error(`${V} unexpected string escape character at position ${this._pos}`)}break;case 34:return this._pos++,new R(y.string,su(e),this._pos-t);default:if(s<32)throw new Error(`${V} invalid control character at position ${this._pos}`);s<128?(e.push(s),this._pos++):o()}}throw new Error(`${V} unexpected end of string at position ${this._pos}`)}parseValue(){switch(this.ch()){case 123:return this.modeStack.push("obj-start"),this._pos++,new R(y.map,1/0,1);case 91:return this.modeStack.push("array-start"),this._pos++,new R(y.array,1/0,1);case 34:return this.parseString();case 110:return this.expect([110,117,108,108]),new R(y.null,null,4);case 102:return this.expect([102,97,108,115,101]),new R(y.false,!1,5);case 116:return this.expect([116,114,117,101]),new R(y.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(`${V} 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 R(y.break,void 0,1);if(this.ch()!==44)throw new Error(`${V} 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 R(y.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 R(y.break,void 0,1);if(this.ch()!==44)throw new Error(`${V} 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 R(y.break,void 0,1);let t=this.parseString();if(this.skipWhitespace(),this.ch()!==58)throw new Error(`${V} 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"),t}case"obj-value":return this.modeStack.pop(),this.modeStack.push("obj-key"),this.skipWhitespace(),this.parseValue();default:throw new Error(`${V} unexpected parse state at position ${this._pos}; this shouldn't happen`)}}};function ji(r,t){return t=Object.assign({tokenizer:new tn(r,t)},t),ge(r,t)}var Mb={allowIndefinite:!1,allowUndefined:!1,allowNaN:!1,allowInfinity:!1,allowBigInt:!0,strict:!0,useMaps:!1,rejectDuplicateMapKeys:!0,tags:[]};Mb.tags[42]=tt.parse;var kp=297;var Zk=new TextDecoder;var Jk=new TextEncoder;var Hb=new TextDecoder;function Au(r,t){let e=0;for(let n=0;;n+=7){if(n>=64)throw new Error("protobuf: varint overflow");if(t>=r.length)throw new Error("protobuf: unexpected end of data");let o=r[t++];if(e+=n<28?(o&127)<<n:(o&127)*2**n,o<128)break}return[e,t]}function Gi(r,t){let e;[e,t]=Au(r,t);let n=t+e;if(e<0||n<0)throw new Error("protobuf: invalid length");if(n>r.length)throw new Error("protobuf: unexpected end of data");return[r.subarray(t,n),n]}function Sp(r,t){let e;return[e,t]=Au(r,t),[e&7,e>>3,t]}function Kb(r){let t={},e=r.length,n=0;for(;n<e;){let o,s;if([o,s,n]=Sp(r,n),s===1){if(t.Hash)throw new Error("protobuf: (PBLink) duplicate Hash section");if(o!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Hash`);if(t.Name!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Name before Hash");if(t.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Hash");[t.Hash,n]=Gi(r,n)}else if(s===2){if(t.Name!==void 0)throw new Error("protobuf: (PBLink) duplicate Name section");if(o!==2)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Name`);if(t.Tsize!==void 0)throw new Error("protobuf: (PBLink) invalid order, found Tsize before Name");let i;[i,n]=Gi(r,n),t.Name=Hb.decode(i)}else if(s===3){if(t.Tsize!==void 0)throw new Error("protobuf: (PBLink) duplicate Tsize section");if(o!==0)throw new Error(`protobuf: (PBLink) wrong wireType (${o}) for Tsize`);[t.Tsize,n]=Au(r,n)}else throw new Error(`protobuf: (PBLink) invalid fieldNumber, expected 1, 2 or 3, got ${s}`)}if(n>e)throw new Error("protobuf: (PBLink) unexpected end of data");return t}function Ip(r){let t=r.length,e=0,n,o=!1,s;for(;e<t;){let a,c;if([a,c,e]=Sp(r,e),a!==2)throw new Error(`protobuf: (PBNode) invalid wireType, expected 2, got ${a}`);if(c===1){if(s)throw new Error("protobuf: (PBNode) duplicate Data section");[s,e]=Gi(r,e),n&&(o=!0)}else if(c===2){if(o)throw new Error("protobuf: (PBNode) duplicate Links section");n||(n=[]);let u;[u,e]=Gi(r,e),n.push(Kb(u))}else throw new Error(`protobuf: (PBNode) invalid fieldNumber, expected 1 or 2, got ${c}`)}if(e>t)throw new Error("protobuf: (PBNode) unexpected end of data");let i={};return s&&(i.Data=s),i.Links=n||[],i}var Qk=new TextEncoder,tS=2**32,eS=2**31;var oS=new TextEncoder;function Rp(r){return r instanceof ArrayBuffer?new Uint8Array(r,0,r.byteLength):r}var _p=112;function Tp(r){let t=Rp(r),e=Ip(t),n={};return e.Data&&(n.Data=e.Data),e.Links&&(n.Links=e.Links.map(o=>{let s={};try{s.Hash=tt.decode(o.Hash)}catch{}if(!s.Hash)throw new Error("Invalid Hash field found in link, expected CID");return o.Name!==void 0&&(s.Name=o.Name),o.Tsize!==void 0&&(s.Tsize=o.Tsize),s})),n}var zb={codec:_p,*walk(r){yield*Tp(r).Links.map(e=>e.Hash)}},jb={codec:fs,*walk(){}},Cp=42,Gb={codec:vp,*walk(r){let t=[],e=[];e[Cp]=n=>{if(n[0]!==0)throw new Error("Invalid CID for CBOR tag 42; expected leading 0x00");let o=tt.decode(n.subarray(1));return t.push(o),o},ge(r,{tags:e}),yield*t}},Bu=class extends tn{tokenBuffer;constructor(t,e){super(t,e),this.tokenBuffer=[]}done(){return this.tokenBuffer.length===0&&super.done()}_next(){return this.tokenBuffer.length>0?this.tokenBuffer.pop():super.next()}next(){let t=this._next();if(t.type===y.map){let e=this._next();if(e.type===y.string&&e.value==="/"){let n=this._next();if(n.type===y.string){if(this._next().type!==y.break)throw new Error("Invalid encoded CID form");return this.tokenBuffer.push(n),new R(y.tag,42,0)}if(n.type===y.map){let o=this._next();if(o.type===y.string&&o.value==="bytes"){let s=this._next();if(s.type===y.string){for(let a=0;a<2;a++)if(this._next().type!==y.break)throw new Error("Invalid encoded Bytes form");let i=le.decode(`m${s.value}`);return new R(y.bytes,i,s.value.length)}this.tokenBuffer.push(s)}this.tokenBuffer.push(o)}this.tokenBuffer.push(n)}this.tokenBuffer.push(e)}return t}},Wb={codec:kp,*walk(r){let t=[],e=[];e[Cp]=n=>{let o=tt.parse(n);return t.push(o),o},ji(r,{tags:e,tokenizer:new Bu(r,{tags:e,allowIndefinite:!0,allowUndefined:!0,allowNaN:!0,allowInfinity:!0,allowBigInt:!0,strict:!1,rejectDuplicateMapKeys:!1})}),yield*t}},Yb={codec:zl,*walk(){}};function Np(r=[]){let t={};return[zb,jb,Gb,Wb,Yb,...r].forEach(e=>{t[e.codec]=e}),t}var ku=new Ut("/version"),Lp=1;async function Up(r){if(!await r.has(ku)){await r.put(ku,q(`${Lp}`));return}let t=await r.get(ku),e=j(t);if(parseInt(e,10)!==Lp)throw new Error("Unknown datastore version, a datastore migration may be required")}function Dp(r=[]){let t={};return[At,ic,Wt,...r].forEach(e=>{t[e.code]=e}),t}var ur=class{has(t,e){return Promise.reject(new Error(".has is not implemented"))}put(t,e,n){return Promise.reject(new Error(".put is not implemented"))}async*putMany(t,e){for await(let{cid:n,block:o}of t)await this.put(n,o,e),yield n}get(t,e){return Promise.reject(new Error(".get is not implemented"))}async*getMany(t,e){for await(let n of t)yield{cid:n,block:await this.get(n,e)}}delete(t,e){return Promise.reject(new Error(".delete is not implemented"))}async*deleteMany(t,e){for await(let n of t)await this.delete(n,e),yield n}async*getAll(t){throw new Error(".getAll is not implemented")}};var Jn={};vt(Jn,{abortedError:()=>tx,closeFailedError:()=>Jb,deleteFailedError:()=>Op,getFailedError:()=>Xb,hasFailedError:()=>Qb,notFoundError:()=>qo,openFailedError:()=>Zb,putFailedError:()=>Pp});var lr=Jt(sn(),1);function Zb(r){return r=r??new Error("Open failed"),(0,lr.default)(r,"ERR_OPEN_FAILED")}function Jb(r){return r=r??new Error("Close failed"),(0,lr.default)(r,"ERR_CLOSE_FAILED")}function Pp(r){return r=r??new Error("Put failed"),(0,lr.default)(r,"ERR_PUT_FAILED")}function Xb(r){return r=r??new Error("Get failed"),(0,lr.default)(r,"ERR_GET_FAILED")}function Op(r){return r=r??new Error("Delete failed"),(0,lr.default)(r,"ERR_DELETE_FAILED")}function Qb(r){return r=r??new Error("Has failed"),(0,lr.default)(r,"ERR_HAS_FAILED")}function qo(r){return r=r??new Error("Not Found"),(0,lr.default)(r,"ERR_NOT_FOUND")}function tx(r){return r=r??new Error("Aborted"),(0,lr.default)(r,"ERR_ABORTED")}var zo=class extends ur{data;constructor(){super(),this.data=new Map}put(t,e){return this.data.set(Ct.encode(t.multihash.bytes),e),t}get(t){let e=this.data.get(Ct.encode(t.multihash.bytes));if(e==null)throw qo();return e}has(t){return this.data.has(Ct.encode(t.multihash.bytes))}async delete(t){this.data.delete(Ct.encode(t.multihash.bytes))}async*getAll(){for(let[t,e]of this.data.entries())yield{cid:tt.createV1(fs,Ne(Ct.decode(t))),block:e}}};function ex(r){return r[Symbol.asyncIterator]!=null}function rx(r,t){let e=0;if(ex(r))return async function*(){for await(let c of r)await t(c,e++)&&(yield c)}();let n=an(r),{value:o,done:s}=n.next();if(s===!0)return function*(){}();let i=t(o,e++);if(typeof i.then=="function")return async function*(){await i&&(yield o);for await(let c of n)await t(c,e++)&&(yield c)}();let a=t;return function*(){i===!0&&(yield o);for(let c of n)a(c,e++)&&(yield c)}()}var Re=rx;var $S=re("blockstore:core:tiered");var Fp={...Jn};var Wi=0,Yi=class extends ur{child;constructor(t){super(),this.child=t}put(t,e){return t.multihash.code===Wi||this.child==null?t:this.child.put(t,e)}get(t){if(t.multihash.code===Wi)return t.multihash.digest;if(this.child==null)throw Fp.notFoundError();return this.child.get(t)}has(t){return t.multihash.code===Wi?!0:this.child==null?!1:this.child.has(t)}delete(t){if(t.code!==Wi&&this.child!=null)return this.child.delete(t)}getAll(t){return this.child!=null?this.child.getAll(t):[]}};function nx(r){return r[Symbol.asyncIterator]!=null}function Vp(r){return r?.then!=null}function ox(r,t){let e=0;if(nx(r))return async function*(){for await(let c of r){let u=t(c,e++);Vp(u)&&await u,yield c}}();let n=an(r),{value:o,done:s}=n.next();if(s===!0)return function*(){}();if(typeof t(o,e++)?.then=="function")return async function*(){yield o;for await(let c of n){let u=t(c,e++);Vp(u)&&await u,yield c}}();let a=t;return function*(){yield o;for(let c of n)a(c,e++),yield c}()}var Su=ox;var Zi=class{child;hashers;log;logger;components;constructor(t){this.log=t.logger.forComponent("helia:networked-storage"),this.logger=t.logger,this.components=t,this.child=new Yi(t.blockstore),this.hashers=t.hashers??{}}async put(t,e,n={}){return await this.child.has(t,n)?(n.onProgress?.(new nt("blocks:put:duplicate",t)),t):(n.onProgress?.(new nt("blocks:put:providers:notify",t)),await Promise.all(this.components.blockBrokers.map(async o=>o.announce?.(t,e,n))),n.onProgress?.(new nt("blocks:put:blockstore:put",t)),this.child.put(t,e,n))}async*putMany(t,e={}){let n=Re(t,async({cid:s})=>{let i=await this.child.has(s,e);return i&&e.onProgress?.(new nt("blocks:put-many:duplicate",s)),!i}),o=Su(n,async({cid:s,block:i})=>{e.onProgress?.(new nt("blocks:put-many:providers:notify",s)),await Promise.all(this.components.blockBrokers.map(async a=>a.announce?.(s,i,e)))});e.onProgress?.(new nt("blocks:put-many:blockstore:put-many")),yield*this.child.putMany(o,e)}async get(t,e={}){if(e.offline!==!0&&!await this.child.has(t,e)){e.onProgress?.(new nt("blocks:get:providers:get",t));let n=await Mp(t,this.components.blockBrokers,this.hashers[t.multihash.code],{...e,log:this.log});return e.onProgress?.(new nt("blocks:get:blockstore:put",t)),await this.child.put(t,n,e),e.onProgress?.(new nt("blocks:get:providers:notify",t)),await Promise.all(this.components.blockBrokers.map(async o=>o.announce?.(t,n,e))),n}return e.onProgress?.(new nt("blocks:get:blockstore:get",t)),this.child.get(t,e)}async*getMany(t,e={}){e.onProgress?.(new nt("blocks:get-many:blockstore:get-many")),yield*this.child.getMany(Su(t,async n=>{if(e.offline!==!0&&!await this.child.has(n,e)){e.onProgress?.(new nt("blocks:get-many:providers:get",n));let o=await Mp(n,this.components.blockBrokers,this.hashers[n.multihash.code],{...e,log:this.log});e.onProgress?.(new nt("blocks:get-many:blockstore:put",n)),await this.child.put(n,o,e),e.onProgress?.(new nt("blocks:get-many:providers:notify",n)),await Promise.all(this.components.blockBrokers.map(async s=>s.announce?.(n,o,e)))}}))}async delete(t,e={}){e.onProgress?.(new nt("blocks:delete:blockstore:delete",t)),await this.child.delete(t,e)}async*deleteMany(t,e={}){e.onProgress?.(new nt("blocks:delete-many:blockstore:delete-many")),yield*this.child.deleteMany(async function*(){for await(let n of t)yield n}(),e)}async has(t,e={}){return this.child.has(t,e)}async*getAll(t={}){t.onProgress?.(new nt("blocks:get-all:blockstore:get-many")),yield*this.child.getAll(t)}},Ji=class extends Zi{started;constructor(t){super(t),this.started=!1}isStarted(){return this.started}async start(){await mr(this.child,...this.components.blockBrokers),this.started=!0}async stop(){await gr(this.child,...this.components.blockBrokers),this.started=!1}unwrap(){return this.child}createSession(t,e){let n=this.components.blockBrokers.map(o=>o.createSession==null?o:o.createSession(e));return new Iu({blockstore:this.child,blockBrokers:n,hashers:this.hashers,logger:this.logger},{root:t})}},Iu=class extends Zi{closeController;constructor(t,e){super(t),this.closeController=new AbortController,ft(1/0,this.closeController.signal),this.log=t.logger.forComponent(`helia:session-storage${e.root}`)}close(){this.closeController.abort()}async put(t,e,n={}){let o=Ht([this.closeController.signal,n.signal]);ft(1/0,o);try{return await super.put(t,e,{...n,signal:o})}finally{o.clear()}}async*putMany(t,e={}){let n=Ht([this.closeController.signal,e.signal]);ft(1/0,n);try{yield*super.putMany(t,{...e,signal:n})}finally{n.clear()}}async get(t,e={}){let n=Ht([this.closeController.signal,e.signal]);ft(1/0,n);try{return await super.get(t,{...e,signal:n})}finally{n.clear()}}async*getMany(t,e={}){let n=Ht([this.closeController.signal,e.signal]);ft(1/0,n);try{yield*super.getMany(t,{...e,signal:n})}finally{n.clear()}}async delete(t,e={}){let n=Ht([this.closeController.signal,e.signal]);ft(1/0,n);try{await super.delete(t,{...e,signal:n})}finally{n.clear()}}async*deleteMany(t,e={}){let n=Ht([this.closeController.signal,e.signal]);ft(1/0,n);try{yield*super.deleteMany(t,{...e,signal:n})}finally{n.clear()}}async has(t,e={}){let n=Ht([this.closeController.signal,e.signal]);ft(1/0,n);try{return await super.has(t,{...e,signal:n})}finally{n.clear()}}async*getAll(t={}){let e=Ht([this.closeController.signal,t.signal]);ft(1/0,e);try{yield*super.getAll({...t,signal:e})}finally{e.clear()}}};function sx(r){return typeof r.retrieve=="function"}var ix=(r,t)=>{if(t==null)throw new D(`No hasher configured for multihash code 0x${r.multihash.code.toString(16)}, please configure one. You can look up which hash this is at https://github.com/multiformats/multicodec/blob/master/table.csv`,"ERR_UNKNOWN_HASH_ALG");return async e=>{let n=await t.digest(e);if(!it(n.digest,r.multihash.digest))throw new D("Hash of downloaded block did not match multihash from passed CID","ERR_HASH_MISMATCH")}};async function Mp(r,t,e,n){let o=ix(r,e),s=new AbortController,i=Ht([s.signal,n.signal]);ft(1/0,s.signal,i);let a=[];for(let c of t)sx(c)&&a.push(c);try{return await Promise.any(a.map(async c=>{try{let u=!1,f=await c.retrieve(r,{...n,signal:i,validateFn:async l=>{await o(l),u=!0}});return u||await o(f),f}catch(u){throw n.log.error("could not retrieve verified block for %c",r,u),u}}))}finally{s.abort(),i.clear()}}var $p=1,Hp=5;var Ru=Jt(qh(),1);var ax=Math.LN2*Math.LN2,Xi=class r{static create(t,e=.005){let n=cx(t,e);return new r(n)}seeds;bits;buffer;constructor(t={}){t.seeds!=null?this.seeds=t.seeds:this.seeds=ux(t.hashes??8),this.bits=t.bits??1024,this.buffer=we(Math.ceil(this.bits/8))}add(t){typeof t=="string"&&(t=q(t));for(let e=0;e<this.seeds.length;e++){let o=Ru.default.x86.hash32(t,this.seeds[e])%this.bits;this.setbit(o)}}has(t){typeof t=="string"&&(t=q(t));for(let e=0;e<this.seeds.length;e++){let o=Ru.default.x86.hash32(t,this.seeds[e])%this.bits;if(!this.getbit(o))return!1}return!0}clear(){this.buffer.fill(0)}setbit(t){let e=0,n=t;for(;n>7;)e++,n-=8;let o=this.buffer[e];o|=1<<n,this.buffer[e]=o}getbit(t){let e=0,n=t;for(;n>7;)e++,n-=8;return(this.buffer[e]&1<<n)!==0}};function cx(r,t=.005){let e=Math.round(-1*r*Math.log(t)/ax),n=Math.round(e/r*Math.LN2);return{bits:e,hashes:n}}function ux(r){let t,e,n=[];for(let o=0;o<r;o++)for(t=new cs(De(4)),n[o]=t.getUint32(0,!0),e=0;e<o;e++)if(n[o]===n[e]){o--;break}return n}var jo=class extends rn{intialPeerSearchComplete;requests;name;log;logger;minProviders;maxProviders;providers;evictionFilter;constructor(t,e){super(),ft(1/0,this),this.name=e.name,this.logger=t.logger,this.log=t.logger.forComponent(this.name),this.requests=new Map,this.minProviders=e.minProviders??1,this.maxProviders=e.maxProviders??5,this.providers=[],this.evictionFilter=Xi.create(this.maxProviders)}async retrieve(t,e={}){let n=le.encode(t.multihash.bytes),o=this.requests.get(n);if(o!=null)return this.log("join existing request for %c",t),o;let s=kt();if(this.requests.set(n,s.promise),this.providers.length===0){let u=!1;this.intialPeerSearchComplete==null&&(u=!0,this.log=this.logger.forComponent(`${this.name}:${t}`),this.intialPeerSearchComplete=this.findProviders(t,this.minProviders,e)),await this.intialPeerSearchComplete,u&&this.log("found initial session peers for %c",t)}let i=!1,a=new qe({concurrency:this.maxProviders});a.addEventListener("error",()=>{}),a.addEventListener("failure",u=>{this.log.error("error querying provider %o, evicting from session",u.detail.job.options.provider,u.detail.error),this.evict(u.detail.job.options.provider)}),a.addEventListener("success",u=>{i=!0,s.resolve(u.detail.result)}),a.addEventListener("idle",()=>{i||e.signal?.aborted===!0||Promise.resolve().then(async()=>{this.log("no session peers had block for for %c, finding new providers",t);for(let u=0;u<this.minProviders&&this.providers.length!==0;u++){let f=this.providers[Math.floor(Math.random()*this.providers.length)];this.evict(f)}await this.findProviders(t,this.minProviders,e),this.log("found new providers re-retrieving %c",t),this.requests.delete(n),s.resolve(await this.retrieve(t,e))}).catch(u=>{this.log.error("could not find new providers for %c",t,u),s.reject(u)})});let c=u=>{a.add(async()=>this.queryProvider(t,u.detail,e),{provider:u.detail}).catch(f=>{e.signal?.aborted!==!0&&this.log.error("error retrieving session block for %c",t,f)})};this.addEventListener("provider",c),Promise.all([...this.providers].map(async u=>a.add(async()=>this.queryProvider(t,u,e),{provider:u}))).catch(u=>{e.signal?.aborted!==!0&&this.log.error("error retrieving session block for %c",t,u)});try{return await s.promise}finally{this.removeEventListener("provider",c),a.clear(),this.requests.delete(n)}}evict(t){this.evictionFilter.add(this.toEvictionKey(t));let e=this.providers.findIndex(n=>this.equals(n,t));e!==-1&&this.providers.splice(e,1)}isEvicted(t){return this.providers.some(e=>this.equals(e,t))}hasProvider(t){return!!(this.providers.find(e=>this.equals(e,t))!=null||this.isEvicted(t))}async findProviders(t,e,n){let o=kt(),s=0;return Promise.resolve().then(async()=>{this.log("finding %d-%d new provider(s) for %c",e,this.maxProviders,t);for await(let i of this.findNewProviders(t,n)){if(s===this.maxProviders||n.signal?.aborted===!0)break;if(!this.hasProvider(i)&&(this.log("found %d/%d new providers",s,this.maxProviders),this.providers.push(i),this.safeDispatchEvent("provider",{detail:i}),s++,s===e&&(this.log("session is ready"),o.resolve()),this.providers.length===this.maxProviders)){this.log("found max session peers",s);break}}if(this.log("found %d/%d new session peers",s,this.maxProviders),s<e)throw new D(`Found ${s} of ${e} ${this.name} providers for ${t}`,"ERR_INSUFFICIENT_PROVIDERS_FOUND")}).catch(i=>{this.log.error("error searching routing for potential session peers for %c",t,i.errors??i),o.reject(i)}),o.promise}};var Qi=class{blockstore;datastore;pins;logger;routing;dagWalkers;hashers;dns;metrics;log;constructor(t){this.logger=t.logger??Zh(),this.log=this.logger.forComponent("helia"),this.hashers=Dp(t.hashers),this.dagWalkers=Np(t.dagWalkers),this.dns=t.dns??id(),this.metrics=t.metrics;let e={blockstore:t.blockstore,datastore:t.datastore,hashers:this.hashers,dagWalkers:this.dagWalkers,logger:this.logger,blockBrokers:[],dns:this.dns,metrics:this.metrics,...t.components??{}};this.routing=e.routing=new qi(e,{routers:(t.routers??[]).flatMap(o=>{let s=[o];return o[oo]!=null&&s.push(o[oo]),o[io]!=null&&s.push(o[io]),s}),providerLookupConcurrency:t.providerLookupConcurrency});let n=new Ji(e);this.pins=new Ki(t.datastore,n,this.dagWalkers),this.blockstore=new zi(n,this.pins,{holdGcLock:t.holdGcLock??!0}),this.datastore=t.datastore,e.blockBrokers=t.blockBrokers.map(o=>o(e))}async start(){await Up(this.datastore),await mr(this.blockstore,this.datastore,this.routing)}async stop(){await gr(this.blockstore,this.datastore,this.routing)}async gc(t={}){let e=await this.blockstore.lock.writeLock();try{let n=this,o=this.blockstore.unwrap();this.log("gc start"),await Mr(o.deleteMany(async function*(){for await(let{cid:s}of o.getAll())try{if(await n.pins.isPinned(s,t))continue;yield s,t.onProgress?.(new nt("helia:gc:deleted",s))}catch(i){n.log.error("Error during gc",i),t.onProgress?.(new nt("helia:gc:error",i))}}()))}finally{e()}this.log("gc finished")}};var ta=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,o){return this.readAtomically(()=>{let s=0,i=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*o)-1;for(;;){let f=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let m=Number.parseInt(l,t);if(!Number.isNaN(m))return m});if(f===void 0)break;if(s*=t,s+=f,s>u||(i+=1,e!==void 0&&i>e))return}if(i!==0)return!n&&c&&i>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let o=n*2;if(n<e.length-3){let i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return e[o]=i[0],e[o+1]=i[1],e[o+2]=i[2],e[o+3]=i[3],[o+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[o,!1];e[o]=s>>8,e[o+1]=s&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,o]=t(e);if(n===16)return e;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),i=16-(n+2),[a]=t(s.subarray(0,i));return e.set(s.subarray(0,a),16-a),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Kp=45,lx=15,Xn=new ta;function _u(r){if(!(r.length>lx))return Xn.new(r).parseWith(()=>Xn.readIPv4Addr())}function Tu(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>Kp))return Xn.new(r).parseWith(()=>Xn.readIPv6Addr())}function ea(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>Kp))return Xn.new(r).parseWith(()=>Xn.readIPAddr())}function Qn(r){return!!_u(r)}function to(r){return!!Tu(r)}function ra(r){return!!ea(r)}var zp=Jt(qp(),1),fx=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],hx=fx.map(r=>new zp.Netmask(r));function dx(r){for(let t of hx)if(t.contains(r))return!0;return!1}function px(r){return/^::$/.test(r)||/^::1$/.test(r)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(r)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(r)||/^ff([0-9a-fA-F]{2,2}):/i.test(r)}function jp(r){return Qn(r)?dx(r):to(r)?px(r):void 0}var ZI=parseInt("0xFFFF",16),JI=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Yp=Qn,bx=to,Cu=function(r){let t=0;if(r=r.toString().trim(),Yp(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(bx(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let s=Yp(e[n]),i;s&&(i=Cu(e[n]),e[n]=j(i.slice(0,2),"base16")),i!=null&&++n<8&&e.splice(n,0,j(i.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let s=[n,1];for(n=9-e.length;n>0;n--)s.push("0");e.splice.apply(e,s)}let o=new Uint8Array(t+16);for(n=0;n<e.length;n++){let s=parseInt(e[n],16);o[t++]=s>>8&255,o[t++]=s&255}return o}throw new Error("invalid ip address")},Zp=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let o=[];for(let s=0;s<e;s++)o.push(r[t+s]);return o.join(".")}if(e===16){let o=[];for(let s=0;s<e;s+=2)o.push(n.getUint16(t+s).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var eo={},Nu={},Ex=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];Ex.forEach(r=>{let t=vx(...r);Nu[t.code]=t,eo[t.name]=t});function vx(r,t,e,n,o){return{code:r,size:t,name:e,resolvable:!!n,path:!!o}}function G(r){if(typeof r=="number"){if(Nu[r]!=null)return Nu[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(eo[r]!=null)return eo[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var N6=G("ip4"),L6=G("ip6"),U6=G("ipcidr");function Uu(r,t){switch(G(r).code){case 4:case 41:return Bx(t);case 42:return Qp(t);case 6:case 273:case 33:case 132:return e0(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Qp(t);case 421:return Rx(t);case 444:return t0(t);case 445:return t0(t);case 466:return Ix(t);default:return j(t,"base16")}}function Du(r,t){switch(G(r).code){case 4:return Jp(t);case 41:return Jp(t);case 42:return Xp(t);case 6:case 273:case 33:case 132:return Pu(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Xp(t);case 421:return kx(t);case 444:return _x(t);case 445:return Tx(t);case 466:return Sx(t);default:return q(t,"base16")}}var Lu=Object.values(xr).map(r=>r.decoder),Ax=function(){let r=Lu[0].or(Lu[1]);return Lu.slice(2).forEach(t=>r=r.or(t)),r}();function Jp(r){if(!ra(r))throw new Error("invalid ip address");return Cu(r)}function Bx(r){let t=Zp(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!ra(t))throw new Error("invalid ip address");return t}function Pu(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function e0(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Xp(r){let t=q(r),e=Uint8Array.from(on(t.length));return St([e,t],e.length+t.length)}function Qp(r){let t=$r(r);if(r=r.slice(Gt(t)),r.length!==t)throw new Error("inconsistent lengths");return j(r)}function kx(r){let t;r[0]==="Q"||r[0]==="1"?t=Ne(ht.decode(`z${r}`)).bytes:t=tt.parse(r).multihash.bytes;let e=Uint8Array.from(on(t.length));return St([e,t],e.length+t.length)}function Sx(r){let t=Ax.decode(r),e=Uint8Array.from(on(t.length));return St([e,t],e.length+t.length)}function Ix(r){let t=$r(r),e=r.slice(Gt(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+j(e,"base64url")}function Rx(r){let t=$r(r),e=r.slice(Gt(t));if(e.length!==t)throw new Error("inconsistent lengths");return j(e,"base58btc")}function _x(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=Ct.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Pu(n);return St([e,o],e.length+o.length)}function Tx(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=Ct.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Pu(n);return St([e,o],e.length+o.length)}function t0(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=j(t,"base32"),o=e0(e);return`${n}:${o}`}function r0(r){r=Ou(r);let t=[],e=[],n=null,o=r.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let s=0;s<o.length;s++){let i=o[s],a=G(i);if(a.size===0){t.push([a.code]),e.push([a.code]);continue}if(s++,s>=o.length)throw o0("invalid address: "+r);if(a.path===!0){n=Ou(o.slice(s).join("/")),t.push([a.code,Du(a.code,n)]),e.push([a.code,n]);break}let c=Du(a.code,o[s]);t.push([a.code,c]),e.push([a.code,Uu(a.code,c)])}return{string:n0(e),bytes:Vu(t),tuples:t,stringTuples:e,path:n}}function Fu(r){let t=[],e=[],n=null,o=0;for(;o<r.length;){let s=$r(r,o),i=Gt(s),a=G(s),c=Cx(a,r.slice(o+i));if(c===0){t.push([s]),e.push([s]),o+=i;continue}let u=r.slice(o+i,o+i+c);if(o+=c+i,o>r.length)throw o0("Invalid address Uint8Array: "+j(r,"base16"));t.push([s,u]);let f=Uu(s,u);if(e.push([s,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(r),string:n0(e),tuples:t,stringTuples:e,path:n}}function n0(r){let t=[];return r.map(e=>{let n=G(e[0]);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),Ou(t.join("/"))}function Vu(r){return St(r.map(t=>{let e=G(t[0]),n=Uint8Array.from(on(e.code));return t.length>1&&t[1]!=null&&(n=St([n,t[1]])),n}))}function Cx(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=$r(t instanceof Uint8Array?t:Uint8Array.from(t));return e+Gt(e)}}function Ou(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function o0(r){return new Error("Error parsing address: "+r)}var Nx=Symbol.for("nodejs.util.inspect.custom"),Mu=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Lx=[G("dns").code,G("dns4").code,G("dns6").code,G("dnsaddr").code],na=class r{bytes;#t;#e;#r;#o;[Mu]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=Fu(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=r0(t)}else if(i0(t))e=Fu(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#t=e.string,this.#e=e.tuples,this.#r=e.stringTuples,this.#o=e.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,e,n,o,s="",i=G("tcp"),a=G("udp"),c=G("ip4"),u=G("ip6"),f=G("dns6"),l=G("ip6zone");for(let[h,p]of this.stringTuples())h===l.code&&(s=`%${p??""}`),Lx.includes(h)&&(e=i.name,o=443,n=`${p??""}${s}`,t=h===f.code?6:4),(h===i.code||h===a.code)&&(e=G(h).name,o=parseInt(p??"")),(h===c.code||h===u.code)&&(e=G(h).name,n=`${p??""}${s}`,t=h===u.code?6:4);if(t==null||e==null||n==null||o==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:e,port:o}}protos(){return this.#e.map(([t])=>Object.assign({},G(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>G(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new r(t),new r(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),o=n.lastIndexOf(e);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(n.slice(0,o))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new r(Vu(e.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,o])=>{n===eo.p2p.code&&t.push([n,o]),n===eo["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?j(ht.decode(`z${n}`),"base58btc"):j(tt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#o}equals(t){return it(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(s=>s.resolvable);if(e==null)return[this];let n=s0.get(e.name);if(n==null)throw new D(`no available resolver for ${e.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(s=>fr(s))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let e=(t??this).protos();return!(e.length!==2||e[0].code!==4&&e[0].code!==41||e[1].code!==6&&e[1].code!==273)}[Nx](){return`Multiaddr(${this.#t})`}};var s0=new Map;function i0(r){return!!r?.[Mu]}function fr(r){return new na(r)}var Ux=r=>r.toString().split("/").slice(1),Wo=r=>({match:t=>t.length<1?!1:r(t[0])?t.slice(1):!1,pattern:"fn"}),ot=r=>({match:t=>Wo(e=>e===r).match(t),pattern:r}),ia=()=>({match:r=>Wo(t=>typeof t=="string").match(r),pattern:"{string}"}),aa=()=>({match:r=>Wo(t=>!isNaN(parseInt(t))).match(r),pattern:"{number}"}),Dt=()=>({match:r=>{if(r.length<2||r[0]!=="p2p"&&r[0]!=="ipfs")return!1;if(r[1].startsWith("Q")||r[1].startsWith("1"))try{ht.decode(`z${r[1]}`)}catch{return!1}else return!1;return r.slice(2)},pattern:"/p2p/{peerid}"}),oa=()=>({match:r=>{if(r.length<2||r[0]!=="certhash")return!1;try{Ja.decode(r[1])}catch{return!1}return r.slice(2)},pattern:"/certhash/{certhash}"}),Pt=r=>({match:t=>{let e=r.match(t);return e===!1?t:e},pattern:`optional(${r.pattern})`}),ae=(...r)=>({match:t=>{let e;for(let n of r){let o=n.match(t);o!==!1&&(e==null||o.length<e.length)&&(e=o)}return e??!1},pattern:`or(${r.map(t=>t.pattern).join(", ")})`}),ct=(...r)=>({match:t=>{for(let e of r){let n=e.match(t);if(n===!1)return!1;t=n}return t},pattern:`and(${r.map(t=>t.pattern).join(", ")})`});function yt(...r){function t(o){let s=Ux(o);for(let i of r){let a=i.match(s);if(a===!1)return!1;s=a}return s}function e(o){return t(o)!==!1}function n(o){let s=t(o);return s===!1?!1:s.length===0}return{matches:e,exactMatch:n}}var Hu=ct(ot("dns4"),ia()),Ku=ct(ot("dns6"),ia()),qu=ct(ot("dnsaddr"),ia()),a0=ct(ot("dns"),ia()),u4=yt(Hu),l4=yt(Ku),f4=yt(qu),c0=yt(ae(a0,qu,Hu,Ku)),u0=ct(ot("ip4"),Wo(Qn)),l0=ct(ot("ip6"),Wo(to)),f0=ae(u0,l0),$e=ae(f0,a0,Hu,Ku,qu),h4=yt($e),d4=yt(u0),p4=yt(l0),m4=yt(f0),ca=ct($e,ot("tcp"),aa()),Yo=ct($e,ot("udp"),aa()),Dx=ae(ca,Yo),g4=yt(ca),y4=yt(Yo),zu=ct(Yo,ot("quic")),ua=ct(Yo,ot("quic-v1")),Px=ae(zu,ua),w4=yt(zu),b4=yt(ua),$u=ae($e,ca,Yo,zu,ua),h0=ae(ct($u,ot("ws"),Pt(Dt()))),x4=yt(h0),d0=ae(ct($u,ot("wss"),Pt(Dt())),ct($u,ot("tls"),ot("ws"),Pt(Dt()))),E4=yt(d0),p0=ct(Dx,ot("webrtc-direct"),oa(),Pt(oa()),Pt(Dt())),v4=yt(p0),m0=ct(ua,ot("webtransport"),Pt(oa()),Pt(oa()),Pt(Dt())),A4=yt(m0),sa=ae(h0,d0,ct(ca,Pt(Dt())),ct(Px,Pt(Dt())),ct($e,Pt(Dt())),p0,m0,Dt()),B4=yt(sa),Ox=ct(sa,ot("p2p-circuit"),Dt()),k4=yt(Ox),Fx=ae(ct(sa,ot("p2p-circuit"),ot("webrtc"),Dt()),ct(sa,ot("webrtc"),Pt(Dt())),ot("webrtc")),S4=yt(Fx),Vx=ae(ct($e,ot("tcp"),aa(),ot("http"),Pt(Dt())),ct($e,ot("http"),Pt(Dt()))),g0=yt(Vx),Mx=ae(ct($e,ot("tcp"),ae(ct(ot("443"),ot("http")),ct(aa(),ot("https"))),Pt(Dt())),ct($e,ot("tls"),ot("http"),Pt(Dt())),ct($e,ot("https"),Pt(Dt()))),y0=yt(Mx);var $x=[G("tcp").code,G("dns").code,G("dnsaddr").code,G("dns4").code,G("dns6").code];function w0(r){let t;try{t=G("sni").code}catch{return null}for(let[e,n]of r)if(e===t&&n!==void 0)return n;return null}function b0(r){return r.some(([t,e])=>t===G("tls").code)}function ce(r,t,e){let n=x0[G(r).name];if(n===void 0)throw new Error(`Can't interpret protocol ${G(r).name}`);let o=n(t,e);return r===G("ip6").code?`[${o}]`:o}var x0={ip4:(r,t)=>r,ip6:(r,t)=>t.length===0?r:`[${r}]`,tcp:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`tcp://${ce(e[0],e[1]??"",t)}:${r}`},udp:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`udp://${ce(e[0],e[1]??"",t)}:${r}`},dnsaddr:(r,t)=>r,dns4:(r,t)=>r,dns6:(r,t)=>r,dns:(r,t)=>r,ipfs:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`${ce(e[0],e[1]??"",t)}/ipfs/${r}`},p2p:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`${ce(e[0],e[1]??"",t)}/p2p/${r}`},http:(r,t)=>{let e=b0(t),n=w0(t);if(e&&n!==null)return`https://${n}`;let o=e?"https://":"http://",s=t.pop();if(s===void 0)throw new Error("Unexpected end of multiaddr");let i=ce(s[0],s[1]??"",t);return i=i.replace("tcp://",""),`${o}${i}`},tls:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return ce(e[0],e[1]??"",t)},sni:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return ce(e[0],e[1]??"",t)},https:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");let n=ce(e[0],e[1]??"",t);return n=n.replace("tcp://",""),`https://${n}`},ws:(r,t)=>{let e=b0(t),n=w0(t);if(e&&n!==null)return`wss://${n}`;let o=e?"wss://":"ws://",s=t.pop();if(s===void 0)throw new Error("Unexpected end of multiaddr");let i=ce(s[0],s[1]??"",t);return i=i.replace("tcp://",""),`${o}${i}`},wss:(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");let n=ce(e[0],e[1]??"",t);return n=n.replace("tcp://",""),`wss://${n}`},"p2p-websocket-star":(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`${ce(e[0],e[1]??"",t)}/p2p-websocket-star`},"p2p-webrtc-star":(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`${ce(e[0],e[1]??"",t)}/p2p-webrtc-star`},"p2p-webrtc-direct":(r,t)=>{let e=t.pop();if(e===void 0)throw new Error("Unexpected end of multiaddr");return`${ce(e[0],e[1]??"",t)}/p2p-webrtc-direct`}};function E0(r,t){let n=fr(r).stringTuples(),o=n.pop();if(o===void 0)throw new Error("Unexpected end of multiaddr");let s=G(o[0]),i=x0[s.name];if(i==null)throw new Error(`No interpreter found for ${s.name}`);let a=i(o[1]??"",n);return t?.assumeHttp!==!1&&$x.includes(o[0])&&(a=a.replace(/^.*:\/\//,""),o[1]==="443"?a=`https://${a}`:a=`http://${a}`),(a.startsWith("http://")||a.startsWith("https://"))&&(a=new URL(a).toString(),a.endsWith("/")&&(a=a.substring(0,a.length-1))),a}var la=class{url;#t=0;#e=0;#r=0;#o=0;#a=new Map;log;constructor(t,e){this.url=t instanceof URL?t:new URL(t),this.log=e.forComponent(`helia:trustless-gateway-block-broker:${this.url.hostname}`)}#u(t){let e=t.multihash.bytes;return le.encode(e)}async getRawBlock(t,e){let n=new URL(this.url.toString());if(n.pathname=`/ipfs/${t.toString()}`,n.search="?format=raw",e?.aborted===!0)throw new Error(`Signal to fetch raw block for CID ${t} from gateway ${this.url} was aborted prior to fetch`);let o=this.#u(t),s=new AbortController,i=()=>{s.abort()};e?.addEventListener("abort",i);try{let a=this.#a.get(o);return a==null&&(this.#t++,a=fetch(n.toString(),{signal:s.signal,headers:{Accept:"application/vnd.ipld.raw"},cache:"force-cache"}).then(async c=>{if(this.log("GET %s %d",n,c.status),!c.ok)throw this.#e++,new Error(`unable to fetch raw block for CID ${t} from gateway ${this.url}`);return this.#o++,new Uint8Array(await c.arrayBuffer())}),this.#a.set(o,a)),await a}catch{throw e?.aborted===!0?new Error(`fetching raw block for CID ${t} from gateway ${this.url} was aborted`):(this.#e++,new Error(`unable to fetch raw block for CID ${t}`))}finally{e?.removeEventListener("abort",i),this.#a.delete(o)}}reliability(){return this.#t===0?1:this.#r>0?-1/0:this.#o/(this.#t+this.#e*3)}incrementInvalidBlocks(){this.#r++}getStats(){return{attempts:this.#t,errors:this.#e,invalidBlocks:this.#r,successes:this.#o,pendingResponses:this.#a.size}}};function Hx(r,t,e){return r.filter(n=>y0.matches(n)||t&&g0.matches(n)?e||c0.matches(n)?!0:jp(n.toOptions().host)===!1:!1)}async function*fa(r,t,e,n,o,s){for await(let i of t.findProviders(r,s)){let a=Hx(i.multiaddrs,n,o);if(a.length===0)continue;let c=E0(a[0]);yield new la(c,e)}}var ju=class extends jo{routing;allowInsecure;allowLocal;constructor(t,e){super(t,{...e,name:"helia:trustless-gateway:session"}),this.routing=t.routing,this.allowInsecure=e.allowInsecure??ha,this.allowLocal=e.allowLocal??da}async queryProvider(t,e,n){this.log("fetching BLOCK for %c from %s",t,e.url);let o=await e.getRawBlock(t,n.signal);return this.log.trace("got block for %c from %s",t,e.url),await n.validateFn?.(o),o}async*findNewProviders(t,e={}){yield*fa(t,this.routing,this.logger,this.allowInsecure,this.allowLocal,e)}toEvictionKey(t){return t.url.toString()}equals(t,e){return t.url.toString()===e.url.toString()}};function v0(r,t){return new ju(r,t)}var pa=class{allowInsecure;allowLocal;routing;log;logger;constructor(t,e={}){this.log=t.logger.forComponent("helia:trustless-gateway-block-broker"),this.logger=t.logger,this.routing=t.routing,this.allowInsecure=e.allowInsecure??ha,this.allowLocal=e.allowLocal??da}async retrieve(t,e={}){let n=[];for await(let o of fa(t,this.routing,this.logger,this.allowInsecure,this.allowLocal,e)){this.log("getting block for %c from %s",t,o.url);try{let s=await o.getRawBlock(t,e.signal);this.log.trace("got block for %c from %s",t,o.url);try{await e.validateFn?.(s)}catch(i){this.log.error("failed to validate block for %c from %s",t,o.url,i);continue}return s}catch(s){if(this.log.error("failed to get block for %c from %s",t,o.url,s),s instanceof Error?n.push(s):n.push(new Error(`Unable to fetch raw block for CID ${t} from gateway ${o.url}`)),e.signal?.aborted===!0){this.log.trace("request aborted while fetching raw block for CID %c from gateway %s",t,o.url);break}}}throw n.length>0?new AggregateError(n,`Unable to fetch raw block for CID ${t} from any gateway`):new Error(`Unable to fetch raw block for CID ${t} from any gateway`)}createSession(t={}){return v0({logger:this.logger,routing:this.routing},t)}};var ha=!1,da=!1;function Gu(r={}){return t=>new pa(t,r)}async function*ma(r,t={}){let e=r.getReader();try{for(;;){let n=await e.read();if(n.done)return;yield n.value}}finally{t.preventCancel!==!0&&await e.cancel(),e.releaseLock()}}var jx=Jt(sn(),1);var Gx=Jt(Yu(),1);var A0="ERR_IPNS_EXPIRED_RECORD",ga="ERR_UNRECOGNIZED_VALIDITY";var hr="ERR_SIGNATURE_VERIFICATION";var Zu="ERR_UNDEFINED_PARAMETER",B0="ERR_INVALID_RECORD_DATA",k0="ERR_INVALID_VALUE",S0="ERR_INVALID_EMBEDDED_KEY";var I0="ERR_RECORD_TOO_LARGE";var _e;(function(r){let t;(function(o){o.EOL="EOL"})(t=r.ValidityType||(r.ValidityType={}));let e;(function(o){o[o.EOL=0]="EOL"})(e||(e={})),function(o){o.codec=()=>ho(e)}(t=r.ValidityType||(r.ValidityType={}));let n;r.codec=()=>(n==null&&(n=gn((o,s,i={})=>{i.lengthDelimited!==!1&&s.fork(),o.value!=null&&(s.uint32(10),s.bytes(o.value)),o.signatureV1!=null&&(s.uint32(18),s.bytes(o.signatureV1)),o.validityType!=null&&(s.uint32(24),r.ValidityType.codec().encode(o.validityType,s)),o.validity!=null&&(s.uint32(34),s.bytes(o.validity)),o.sequence!=null&&(s.uint32(40),s.uint64(o.sequence)),o.ttl!=null&&(s.uint32(48),s.uint64(o.ttl)),o.pubKey!=null&&(s.uint32(58),s.bytes(o.pubKey)),o.signatureV2!=null&&(s.uint32(66),s.bytes(o.signatureV2)),o.data!=null&&(s.uint32(74),s.bytes(o.data)),i.lengthDelimited!==!1&&s.ldelim()},(o,s)=>{let i={},a=s==null?o.len:o.pos+s;for(;o.pos<a;){let c=o.uint32();switch(c>>>3){case 1:i.value=o.bytes();break;case 2:i.signatureV1=o.bytes();break;case 3:i.validityType=r.ValidityType.codec().decode(o);break;case 4:i.validity=o.bytes();break;case 5:i.sequence=o.uint64();break;case 6:i.ttl=o.uint64();break;case 7:i.pubKey=o.bytes();break;case 8:i.signatureV2=o.bytes();break;case 9:i.data=o.bytes();break;default:o.skipType(c&7);break}}return i})),n),r.encode=o=>pn(o,r.codec()),r.decode=o=>un(o,r.codec())})(_e||(_e={}));var ue=Jt(sn(),1);var _0=re("ipns:utils"),T0=q("/ipns/"),Kx=114,C0=async(r,t)=>{if(t==null||r==null){let n=new Error("one or more of the provided parameters are not defined");throw _0.error(n),(0,ue.default)(n,Zu)}let e;if(t.pubKey!=null){try{e=Jc(t.pubKey)}catch(o){throw _0.error(o),o}if(!(await uf(t.pubKey)).equals(r))throw(0,ue.default)(new Error("Embedded public key did not match PeerID"),S0)}else r.publicKey!=null&&(e=Jc(r.publicKey));if(e!=null)return e;throw(0,ue.default)(new Error("no public key is available"),Zu)};var N0=r=>{let t=q("ipns-signature:");return St([t,r])},en=r=>"signatureV1"in r?_e.encode({value:q(r.value),signatureV1:r.signatureV1,validityType:r.validityType,validity:q(r.validity),sequence:r.sequence,ttl:r.ttl,pubKey:r.pubKey,signatureV2:r.signatureV2,data:r.data}):_e.encode({pubKey:r.pubKey,signatureV2:r.signatureV2,data:r.data});function He(r){let t=_e.decode(r);if(t.sequence!=null&&(t.sequence=BigInt(t.sequence)),t.ttl!=null&&(t.ttl=BigInt(t.ttl)),t.signatureV2==null||t.data==null)throw(0,ue.default)(new Error("missing data or signatureV2"),hr);let e=L0(t.data),n=qx(e.Value),o=j(e.Validity);if(t.value!=null&&t.signatureV1!=null)return zx(t),{value:n,validityType:_e.ValidityType.EOL,validity:o,sequence:e.Sequence,ttl:e.TTL,pubKey:t.pubKey,signatureV1:t.signatureV1,signatureV2:t.signatureV2,data:t.data};if(t.signatureV2!=null)return{value:n,validityType:_e.ValidityType.EOL,validity:o,sequence:e.Sequence,ttl:e.TTL,pubKey:t.pubKey,signatureV2:t.signatureV2,data:t.data};throw new Error("invalid record: does not include signatureV1 or signatureV2")}var Ju=r=>St([T0,r.toBytes()]),ro=r=>mo(r.slice(T0.length));var L0=r=>{let t=ge(r);if(t.ValidityType===0)t.ValidityType=_e.ValidityType.EOL;else throw(0,ue.default)(new Error("Unknown validity type"),ga);return Number.isInteger(t.Sequence)&&(t.Sequence=BigInt(t.Sequence)),Number.isInteger(t.TTL)&&(t.TTL=BigInt(t.TTL)),t},qx=r=>{if(r!=null){if(El(r))return`/ipns/${r.toCID().toString(br)}`;if(r instanceof Uint8Array){let n=j(r);n.startsWith("/")&&(r=n)}let t=r.toString().trim();if(t.startsWith("/")&&t.length>1)return t;let e=tt.asCID(r);if(e!=null)return e.code===Kx?`/ipns/${e.toString(br)}`:`/ipfs/${e.toV1().toString()}`;try{return r instanceof Uint8Array?`/ipfs/${tt.decode(r).toV1().toString()}`:`/ipfs/${tt.parse(t).toV1().toString()}`}catch{}}throw(0,ue.default)(new Error("Value must be a valid content path starting with /"),k0)},zx=r=>{if(r.data==null)throw(0,ue.default)(new Error("Record data is missing"),B0);let t=L0(r.data);if(!it(t.Value,r.value??new Uint8Array(0)))throw(0,ue.default)(new Error('Field "value" did not match between protobuf and CBOR'),hr);if(!it(t.Validity,r.validity??new Uint8Array(0)))throw(0,ue.default)(new Error('Field "validity" did not match between protobuf and CBOR'),hr);if(t.ValidityType!==r.validityType)throw(0,ue.default)(new Error('Field "validityType" did not match between protobuf and CBOR'),hr);if(t.Sequence!==r.sequence)throw(0,ue.default)(new Error('Field "sequence" did not match between protobuf and CBOR'),hr);if(t.TTL!==r.ttl)throw(0,ue.default)(new Error('Field "ttl" did not match between protobuf and CBOR'),hr)};var x3=re("ipns"),E3=Wt.code,v3=60*60*1e9,Wx="/ipns/",A3=Wx.length;var Zo=Jt(sn(),1),U0=Jt(Yu(),1);var ya=re("ipns:validator"),Yx=1024*10,Zx=async(r,t)=>{let e=He(t),n;try{let o=N0(e.data);n=await r.verify(o,e.signatureV2)}catch{n=!1}if(!n)throw ya.error("record signature verification failed"),(0,Zo.default)(new Error("record signature verification failed"),hr);if(e.validityType===_e.ValidityType.EOL){if(U0.default.fromString(e.validity).toDate().getTime()<Date.now())throw ya.error("record has expired"),(0,Zo.default)(new Error("record has expired"),A0)}else if(e.validityType!=null)throw ya.error("unrecognized validity type"),(0,Zo.default)(new Error("unrecognized validity type"),ga);ya("ipns record for %s is valid",e.value)};async function D0(r,t){if(t.byteLength>Yx)throw(0,Zo.default)(new Error("record too large"),I0);let e=ro(r),n=He(t),o=await C0(e,n);await Zx(o,t)}async function*Jo(r){let t=/\r?\n/,e=new TextDecoder("utf8"),n="";for await(let o of r){typeof o=="string"&&(o=new TextEncoder().encode(o)),n+=e.decode(o,{stream:!0});let s=n.split(t);n=s.pop()??"";for(let i=0;i<s.length;i++)yield JSON.parse(s[i])}n+=e.decode(),n!==""&&(yield JSON.parse(n))}function Jx(r){return r[Symbol.asyncIterator]!=null}function Xx(r){if(Jx(r))return(async()=>{for await(let t of r)return t})();for(let t of r)return t}var wa=Xx;var Xu=q("/ipns/");function P0(r){return it(r.subarray(0,Xu.byteLength),Xu)}var O0=r=>mo(r.slice(Xu.length)),ba=class{client;constructor(t){this.client=t}async*findProviders(t,e={}){yield*cn(this.client.getProviders(t,e),n=>({id:n.ID,multiaddrs:n.Addrs??[]}))}async provide(){}async put(t,e,n){if(!P0(t))return;let o=O0(t),s=He(e);await this.client.putIPNS(o,s,n)}async get(t,e){if(!P0(t))throw new D("Not found","ERR_NOT_FOUND");let n=O0(t);try{let o=await this.client.getIPNS(n,e);return en(o)}catch(o){throw o.code==="ERR_BAD_RESPONSE"?new D("Not found","ERR_NOT_FOUND"):o}}},xa=class{client;constructor(t){this.client=t}async findPeer(t,e={}){let n=await wa(this.client.getPeers(t,e));if(n!=null)return{id:n.ID,multiaddrs:n.Addrs??[]};throw new D("Not found","ERR_NOT_FOUND")}async*getClosestPeers(t,e={}){}};var Zt=re("delegated-routing-v1-http-api-client"),F0={concurrentRequests:4,timeout:3e4},Ea=class{started;httpQueue;shutDownController;clientUrl;timeout;contentRouting;peerRouting;constructor(t,e={}){this.started=!1,this.shutDownController=new AbortController,ft(1/0,this.shutDownController.signal),this.httpQueue=new Ve({concurrency:e.concurrentRequests??F0.concurrentRequests}),this.clientUrl=t instanceof URL?t:new URL(t),this.timeout=e.timeout??F0.timeout,this.contentRouting=new ba(this),this.peerRouting=new xa(this)}get[oo](){return this.contentRouting}get[io](){return this.peerRouting}isStarted(){return this.started}start(){this.started=!0}stop(){this.httpQueue.clear(),this.shutDownController.abort(),this.started=!1}async*getProviders(t,e={}){Zt("getProviders starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=Ht([this.shutDownController.signal,n,e.signal]);ft(1/0,n,o);let s=kt(),i=kt();this.httpQueue.add(async()=>(s.resolve(),i.promise));try{await s.promise;let a=`${this.clientUrl}routing/v1/providers/${t.toString()}`,u=await fetch(a,{headers:{Accept:"application/x-ndjson"},signal:o});if(u.status===404)throw new D("No matching records found.","ERR_NOT_FOUND");if(u.status===422)throw new D("Request does not conform to schema or semantic constraints.","ERR_INVALID_REQUEST");if(u.body==null)throw new D("Routing response had no body","ERR_BAD_RESPONSE");if(u.headers.get("Content-Type")==="application/json"){let l=await u.json();for(let m of l.Providers){let h=this.#t(m);h!=null&&(yield h)}}else for await(let l of Jo(ma(u.body))){let m=this.#t(l);m!=null&&(yield m)}}catch(a){Zt.error("getProviders errored:",a)}finally{o.clear(),i.resolve(),Zt("getProviders finished: %c",t)}}async*getPeers(t,e={}){Zt("getPeers starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=Ht([this.shutDownController.signal,n,e.signal]);ft(1/0,n,o);let s=kt(),i=kt();this.httpQueue.add(async()=>(s.resolve(),i.promise));try{await s.promise;let a=`${this.clientUrl}routing/v1/peers/${t.toCID().toString()}`,u=await fetch(a,{headers:{Accept:"application/x-ndjson"},signal:o});if(u.status===404)throw new D("No matching records found.","ERR_NOT_FOUND");if(u.status===422)throw new D("Request does not conform to schema or semantic constraints.","ERR_INVALID_REQUEST");if(u.body==null)throw new D("Routing response had no body","ERR_BAD_RESPONSE");if(u.headers.get("Content-Type")==="application/json"){let l=await u.json();for(let m of l.Peers){let h=this.#t(m);h!=null&&(yield h)}}else for await(let l of Jo(ma(u.body))){let m=this.#t(l);m!=null&&(yield m)}}catch(a){Zt.error("getPeers errored:",a)}finally{o.clear(),i.resolve(),Zt("getPeers finished: %c",t)}}async getIPNS(t,e={}){Zt("getIPNS starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=Ht([this.shutDownController.signal,n,e.signal]);ft(1/0,n,o);let s=kt(),i=kt();this.httpQueue.add(async()=>(s.resolve(),i.promise));let a=`${this.clientUrl}routing/v1/ipns/${t.toCID().toString()}`;try{await s.promise;let u=await fetch(a,{headers:{Accept:"application/vnd.ipfs.ipns-record"},signal:o});if(Zt("getIPNS GET %s %d",a,u.status),u.status===404)throw new D("No matching records found.","ERR_NOT_FOUND");if(u.status===422)throw new D("Request does not conform to schema or semantic constraints.","ERR_INVALID_REQUEST");if(u.body==null)throw new D("GET ipns response had no body","ERR_BAD_RESPONSE");let f=await u.arrayBuffer(),l=new Uint8Array(f,0,f.byteLength);return e.validate!==!1&&await D0(Ju(t),l),He(l)}catch(c){throw Zt.error("getIPNS GET %s error:",a,c),c}finally{o.clear(),i.resolve(),Zt("getIPNS finished: %c",t)}}async putIPNS(t,e,n={}){Zt("putIPNS starts: %c",t);let o=AbortSignal.timeout(this.timeout),s=Ht([this.shutDownController.signal,o,n.signal]);ft(1/0,o,s);let i=kt(),a=kt();this.httpQueue.add(async()=>(i.resolve(),a.promise));let c=`${this.clientUrl}routing/v1/ipns/${t.toCID().toString()}`;try{await i.promise;let u=en(e),l=await fetch(c,{method:"PUT",headers:{"Content-Type":"application/vnd.ipfs.ipns-record"},body:u,signal:s});if(Zt("putIPNS PUT %s %d",c,l.status),l.status!==200)throw new D("PUT ipns response had status other than 200","ERR_BAD_RESPONSE")}catch(u){throw Zt.error("putIPNS PUT %s error:",c,u.stack),u}finally{s.clear(),a.resolve(),Zt("putIPNS finished: %c",t)}}#t(t){let e=[],n=t.Addrs?.map(fr)??[];return t.Protocols!=null&&e.push(...t.Protocols),t.Protocol!=null&&(e.push(t.Protocol),delete t.Protocol),{...t,Schema:"peer",ID:wc(t.ID),Addrs:n,Protocols:e}}};function V0(r,t={}){return new Ea(new URL(r),t)}var M0=q("/ipns/");function $0(r){return it(r.subarray(0,M0.byteLength),M0)}var Qu=class{client;constructor(t){this.client=V0(t)}async provide(t,e){}async*findProviders(t,e){yield*cn(this.client.getProviders(t,e),n=>({id:n.ID,multiaddrs:n.Addrs,protocols:n.Protocols}))}async put(t,e,n){if(!$0(t))return;let o=ro(t),s=He(e);await this.client.putIPNS(o,s,n)}async get(t,e){if(!$0(t))throw new D("Not found","ERR_NOT_FOUND");let n=ro(t);try{let o=await this.client.getIPNS(n,e);return en(o)}catch(o){throw o.code==="ERR_BAD_RESPONSE"?new D("Not found","ERR_NOT_FOUND"):o}}async findPeer(t,e){let n=await wa(this.client.getPeers(t,e));if(n!=null)return{id:n.ID,multiaddrs:n.Addrs??[]};throw new D("Not found","ERR_NOT_FOUND")}async*getClosestPeers(t,e){}};function tl(r){return new Qu(new URL(r))}var H0="[a-fA-F\\d:]",Or=r=>r&&r.includeBoundaries?`(?:(?<=\\s|^)(?=${H0})|(?<=${H0})(?=\\s|$))`:"",Te="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",xt="[a-fA-F\\d]{1,4}",va=`
|
|
9
9
|
(?:
|
|
10
10
|
(?:${xt}:){7}(?:${xt}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
11
11
|
(?:${xt}:){6}(?:${Te}|:${xt}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
|
|
@@ -16,7 +16,7 @@ ${t.join(`
|
|
|
16
16
|
(?:${xt}:){1}(?:(?::${xt}){0,4}:${Te}|(?::${xt}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
17
17
|
(?::(?:(?::${xt}){0,5}:${Te}|(?::${xt}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
|
|
18
18
|
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
|
|
19
|
-
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),
|
|
19
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Qx=new RegExp(`(?:^${Te}$)|(?:^${va}$)`),t1=new RegExp(`^${Te}$`),e1=new RegExp(`^${va}$`),el=r=>r&&r.exact?Qx:new RegExp(`(?:${Or(r)}${Te}${Or(r)})|(?:${Or(r)}${va}${Or(r)})`,"g");el.v4=r=>r&&r.exact?t1:new RegExp(`${Or(r)}${Te}${Or(r)}`,"g");el.v6=r=>r&&r.exact?e1:new RegExp(`${Or(r)}${va}${Or(r)}`,"g");var rl=el;function nl(r){let t=(...e)=>r(...e);return Object.defineProperty(t,"name",{value:`functionTimeout(${r.name||"<anonymous>"})`,configurable:!0}),t}function K0(){return!1}var{toString:r1}=Object.prototype;function ol(r){return r1.call(r)==="[object RegExp]"}var q0={global:"g",ignoreCase:"i",multiline:"m",dotAll:"s",sticky:"y",unicode:"u"};function sl(r,t={}){if(!ol(r))throw new TypeError("Expected a RegExp instance");let e=Object.keys(q0).map(o=>(typeof t[o]=="boolean"?t[o]:r[o])?q0[o]:"").join(""),n=new RegExp(t.source||r.source,e);return n.lastIndex=typeof t.lastIndex=="number"?t.lastIndex:r.lastIndex,n}function il(r,t,{timeout:e}={}){try{return nl(()=>sl(r).test(t),{timeout:e})()}catch(n){if(K0(n))return!1;throw n}}var n1=15,o1=45,z0={timeout:400};function al(r){return r.length>o1?!1:il(rl.v6({exact:!0}),r,z0)}function j0(r){return r.length>n1?!1:il(rl.v4({exact:!0}),r,z0)}var G0={http:"80",https:"443",ws:"80",wss:"443"},s1=["http","https","ws","wss"];function W0(r,t){t=t??{};let e=t.defaultDnsType??"dns4",{scheme:n,hostname:o,port:s}=i1(r),a="/"+[a1(o,e),c1(s,n),u1(n)].filter(c=>!!c).reduce((c,u)=>c.concat(u),[]).join("/");return fr(a)}function i1(r){let[t]=r.split(":");s1.includes(t)||(r="http"+r.substring(t.length));let{protocol:e,hostname:n,port:o}=new URL(r);if(o==null||o===""){let s=l1(t);s!=null&&(o=s),s==null&&e==="http:"&&(o="80")}return{scheme:t,hostname:n,port:o}}function a1(r,t){if(!(r==null||r==="")){if(j0(r))return["ip4",r];if(al(r))return["ip6",r];if(r[0]==="["){let e=r.substring(1,r.length-1);if(al(e))return["ip6",e]}return[t,r]}}function c1(r,t){if(!(r==null||r===""))return t==="udp"?["udp",r]:["tcp",r]}function u1(r){if(r.match(/^tcp$|^udp$/)==null)return[r]}function l1(r){if(!(r==null||r===""||G0[r]==null))return G0[r]}var f1=["https://trustless-gateway.link","https://4everland.io"],h1=2336,d1=Symbol.for("nodejs.util.inspect.custom"),cl=class{type="url";multihash;privateKey;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Wt.digest(q(this.url))}[d1](){return`PeerId(${this.url})`}[so]=!0;toString(){return this.toCID().toString()}toCID(){return tt.createV1(h1,this.multihash)}toBytes(){return this.toCID().bytes}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=j(t)),t.toString()===this.toString())}};function p1(r){return r=r.toString(),{id:new cl(new URL(r)),multiaddrs:[W0(r)]}}var ul=class{gateways;constructor(t={}){this.gateways=(t.gateways??f1).map(e=>p1(e))}async*findProviders(t,e){yield*this.gateways.toSorted(()=>Math.random()>.5?1:-1).map(n=>({...n,protocols:["transport-ipfs-gateway-http"]}))}};function ll(r={}){return new ul(r)}var Y0=Jt(sn(),1);function Aa(r){return r=r??new Error("Not Found"),(0,Y0.default)(r,"ERR_NOT_FOUND")}var Z0="SHARDING";function g1(r){return r[Symbol.asyncIterator]!=null}function y1(r){if(g1(r))return(async()=>{let e=[];for await(let n of r)e.push(n);return e})();let t=[];for(let e of r)t.push(e);return t}var fl=y1;function w1(r){return r[Symbol.asyncIterator]!=null}function b1(r,t){return w1(r)?async function*(){yield*(await fl(r)).sort(t)}():function*(){yield*fl(r).sort(t)}()}var Ba=b1;var dr=class{put(t,e,n){return Promise.reject(new Error(".put is not implemented"))}get(t,e){return Promise.reject(new Error(".get is not implemented"))}has(t,e){return Promise.reject(new Error(".has is not implemented"))}delete(t,e){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(t,e={}){for await(let{key:n,value:o}of t)await this.put(n,o,e),yield n}async*getMany(t,e={}){for await(let n of t)yield{key:n,value:await this.get(n,e)}}async*deleteMany(t,e={}){for await(let n of t)await this.delete(n,e),yield n}batch(){let t=[],e=[];return{put(n,o){t.push({key:n,value:o})},delete(n){e.push(n)},commit:async n=>{await Mr(this.putMany(t,n)),t=[],await Mr(this.deleteMany(e,n)),e=[]}}}async*_all(t,e){throw new Error("._all is not implemented")}async*_allKeys(t,e){throw new Error("._allKeys is not implemented")}query(t,e){let n=this._all(t,e);if(t.prefix!=null){let o=t.prefix;n=Re(n,s=>s.key.toString().startsWith(o))}if(Array.isArray(t.filters)&&(n=t.filters.reduce((o,s)=>Re(o,s),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((o,s)=>Ba(o,s),n)),t.offset!=null){let o=0,s=t.offset;n=Re(n,()=>o++>=s)}return t.limit!=null&&(n=us(n,t.limit)),n}queryKeys(t,e){let n=this._allKeys(t,e);if(t.prefix!=null){let o=t.prefix;n=Re(n,s=>s.toString().startsWith(o))}if(Array.isArray(t.filters)&&(n=t.filters.reduce((o,s)=>Re(o,s),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((o,s)=>Ba(o,s),n)),t.offset!=null){let o=t.offset,s=0;n=Re(n,()=>s++>=o)}return t.limit!=null&&(n=us(n,t.limit)),n}};var Qo=class extends dr{data;constructor(){super(),this.data=new Map}put(t,e){return this.data.set(t.toString(),e),t}get(t){let e=this.data.get(t.toString());if(e==null)throw Aa();return e}has(t){return this.data.has(t.toString())}delete(t){this.data.delete(t.toString())}*_all(){for(let[t,e]of this.data.entries())yield{key:new Ut(t),value:e}}*_allKeys(){for(let t of this.data.keys())yield new Ut(t)}};var d_=new Ut(Z0);var k_=re("datastore:core:tiered");async function v1(r={}){let t=r.datastore??new Qo,e=r.blockstore??new zo,n=new Qi({...r,datastore:t,blockstore:e,blockBrokers:r.blockBrokers??[Gu()],routers:r.routers??[tl("https://delegated-ipfs.dev"),ll()]});return r.start!==!1&&await n.start(),n}return fm(A1);})();
|
|
20
20
|
/*! Bundled license information:
|
|
21
21
|
|
|
22
22
|
pvtsutils/build/index.js:
|