@helia/routers 4.0.4 → 4.0.5-574ac5e4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -1,16 +1,16 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.HeliaRouters = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var HeliaRouters=(()=>{var Kf=Object.create;var dn=Object.defineProperty;var Vf=Object.getOwnPropertyDescriptor;var Mf=Object.getOwnPropertyNames;var $f=Object.getPrototypeOf,Ff=Object.prototype.hasOwnProperty;var qs=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),St=(e,t)=>{for(var r in t)dn(e,r,{get:t[r],enumerable:!0})},Hs=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Mf(t))!Ff.call(e,o)&&o!==r&&dn(e,o,{get:()=>t[o],enumerable:!(n=Vf(t,o))||n.enumerable});return e};var Io=(e,t,r)=>(r=e!=null?Kf($f(e)):{},Hs(t||!e||!e.__esModule?dn(r,"default",{value:e,enumerable:!0}):r,e)),qf=e=>Hs(dn({},"__esModule",{value:!0}),e);var xs=qs((Bw,gs)=>{var Cw=(function(){typeof gs<"u"&&(gs.exports=T);var e=86400,t=3200,r=146097*t/400,n=e*r,o=1e3*n,i=864e13,s=4294967296,c=1e6,a="000000000",f=Math.trunc||function(h){var p=h-h%1;return p==0&&(h<0||h===0&&1/h!=1/0)?-0:p},u=T.prototype,l=(T.fromDate=function(h){return new T(+h)},T.fromInt64BE=N(0,1,2,3,0,4),T.fromInt64LE=N(3,2,1,0,4,0),T.fromString=function(D){var p,_=new T,D=(D+="").replace(/^\s*[+\-]?\d+/,function(m){var m=+m,g=1970+(m-1970)%400;return _.year=m-g,g}).replace(/(?:Z|([+\-]\d{2}):?(\d{2}))$/,function(A,m,g){return m<0&&(g*=-1),p=6e4*(60*+m+ +g),""}).replace(/\.\d+$/,function(A){return _.nano=+(A+a).substr(1,9),""}).split(/\D+/);if(1<D.length?D[1]--:D[1]=0,_.time=p=Date.UTC.apply(Date,D)-(p||0),isNaN(p))throw new TypeError("Invalid Date");return I(_)},T.fromTimeT=function(h){return C(h,0)},u.year=0,u.time=0,u.nano=0,u.addNano=function(h){return this.nano+=+h||0,this},u.getNano=function(){var h=I(this);return(h.time%1e3*c+ +h.nano+1e9)%1e9},u.getTimeT=function(){var p=I(this),h=Math.floor(p.time/1e3),p=p.year;return p&&(h+=p*r*e/t),h},u.getYear=function(){return this.toDate().getUTCFullYear()+this.year},u.toDate=function(){return w(I(this).time)},u.toJSON=function(){return this.toString().replace(/0{1,6}Z$/,"Z")},u.toString=function(h){var p=this,_=p.toDate(),D={H:function(){return M(_.getUTCHours())},L:function(){return V(_.getUTCMilliseconds(),3)},M:function(){return M(_.getUTCMinutes())},N:function(){return V(p.getNano(),9)},S:function(){return M(_.getUTCSeconds())},Y:function(){var A=p.getYear();return 999999<A?"+"+A:9999<A?"+"+V(A,6):0<=A?V(A,4):-999999<=A?"-"+V(-A,6):A},a:function(){return v[_.getUTCDay()]},b:function(){return y[_.getUTCMonth()]},d:function(){return M(_.getUTCDate())},e:function(){return(function(A){return(9<A?"":" ")+(0|A)})(_.getUTCDate())},m:function(){return M(_.getUTCMonth()+1)}};return(function A(m){return m.replace(/%./g,function(g){var E=g[1],d=b[E],E=D[E];return d?A(d):E?E():g})})(h||l)},u.writeInt64BE=S(0,1,2,3,0,4),u.writeInt64LE=S(3,2,1,0,4,0),"%Y-%m-%dT%H:%M:%S.%NZ"),y=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],v=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],b={"%":"%",F:"%Y-%m-%d",n:`
3
- `,R:"%H:%M",T:"%H:%M:%S",t:" ",X:"%T",Z:"GMT",z:"+0000"};return T;function T(h,p,_){var D=this;if(!(D instanceof T))return new T(h,p,_);D.time=+h||0,D.nano=+p||0,D.year=+_||0,I(D)}function I(h){var p,_,D,A=h.year,m=h.time,g=h.nano,d=((g<0||c<=g)&&(g-=(_=Math.floor(g/c))*c,m+=_,_=1),A%t);return(m<-i||i<m||d)&&((p=f(m/o))&&(A+=p*t,m-=p*o),(D=w(m)).setUTCFullYear(d+D.getUTCFullYear()),D=(m=+D)+(p=f((A-=d)/t))*o,p&&-i<=D&&D<=i&&(A-=p*t,m=D),_=1),_&&(h.year=A,h.time=m,h.nano=g),h}function w(h){var p=new Date(0);return p.setTime(h),p}function C(A,D){A=+A||0;var _=f((D=(D|0)*s)/n)+f(A/n),D=D%n+A%n,A=f(D/n);return A&&(_+=A,D-=A*n),new T(1e3*D,0,_*t)}function S(h,p,_,D,A,m){return function(d,E){var L=I(this);d=d||new Array(8),k(d,E|=0);var U=Math.floor(L.time/1e3),L=L.year*(r*e/t),R=f(L/s)+f(U/s),L=L%s+U%s,U=Math.floor(L/s);return U&&(R+=U,L-=U*s),g(d,E+A,R),g(d,E+m,L),d};function g(d,E,R){d[E+h]=R>>24&255,d[E+p]=R>>16&255,d[E+_]=R>>8&255,d[E+D]=255&R}}function N(h,p,_,D,A,m){return function(d,E){k(d,E|=0);var R=g(d,E+A);return C(g(d,E+m),R)};function g(d,E){return 16777216*d[E+h]+(d[E+p]<<16|d[E+_]<<8|d[E+D])}}function k(h,p){if(h=h&&h.length,h==null)throw new TypeError("Invalid Buffer");if(h<p+8)throw new RangeError("Out of range")}function M(h){return(9<h?"":"0")+(0|h)}function V(h,p){return(a+(0|h)).substr(-p)}})()});var wf=qs((p2,Cs)=>{"use strict";var m0=Object.prototype.hasOwnProperty,Et="~";function an(){}Object.create&&(an.prototype=Object.create(null),new an().__proto__||(Et=!1));function y0(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function bf(e,t,r,n,o){if(typeof r!="function")throw new TypeError("The listener must be a function");var i=new y0(r,n||e,o),s=Et?Et+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],i]:e._events[s].push(i):(e._events[s]=i,e._eventsCount++),e}function yo(e,t){--e._eventsCount===0?e._events=new an:delete e._events[t]}function bt(){this._events=new an,this._eventsCount=0}bt.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)m0.call(r,n)&&t.push(Et?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};bt.prototype.listeners=function(t){var r=Et?Et+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,i=n.length,s=new Array(i);o<i;o++)s[o]=n[o].fn;return s};bt.prototype.listenerCount=function(t){var r=Et?Et+t:t,n=this._events[r];return n?n.fn?1:n.length:0};bt.prototype.emit=function(t,r,n,o,i,s){var c=Et?Et+t:t;if(!this._events[c])return!1;var a=this._events[c],f=arguments.length,u,l;if(a.fn){switch(a.once&&this.removeListener(t,a.fn,void 0,!0),f){case 1:return a.fn.call(a.context),!0;case 2:return a.fn.call(a.context,r),!0;case 3:return a.fn.call(a.context,r,n),!0;case 4:return a.fn.call(a.context,r,n,o),!0;case 5:return a.fn.call(a.context,r,n,o,i),!0;case 6:return a.fn.call(a.context,r,n,o,i,s),!0}for(l=1,u=new Array(f-1);l<f;l++)u[l-1]=arguments[l];a.fn.apply(a.context,u)}else{var y=a.length,v;for(l=0;l<y;l++)switch(a[l].once&&this.removeListener(t,a[l].fn,void 0,!0),f){case 1:a[l].fn.call(a[l].context);break;case 2:a[l].fn.call(a[l].context,r);break;case 3:a[l].fn.call(a[l].context,r,n);break;case 4:a[l].fn.call(a[l].context,r,n,o);break;default:if(!u)for(v=1,u=new Array(f-1);v<f;v++)u[v-1]=arguments[v];a[l].fn.apply(a[l].context,u)}}return!0};bt.prototype.on=function(t,r,n){return bf(this,t,r,n,!1)};bt.prototype.once=function(t,r,n){return bf(this,t,r,n,!0)};bt.prototype.removeListener=function(t,r,n,o){var i=Et?Et+t:t;if(!this._events[i])return this;if(!r)return yo(this,i),this;var s=this._events[i];if(s.fn)s.fn===r&&(!o||s.once)&&(!n||s.context===n)&&yo(this,i);else{for(var c=0,a=[],f=s.length;c<f;c++)(s[c].fn!==r||o&&!s[c].once||n&&s[c].context!==n)&&a.push(s[c]);a.length?this._events[i]=a.length===1?a[0]:a:yo(this,i)}return this};bt.prototype.removeAllListeners=function(t){var r;return t?(r=Et?Et+t:t,this._events[r]&&yo(this,r)):(this._events=new an,this._eventsCount=0),this};bt.prototype.off=bt.prototype.removeListener;bt.prototype.addListener=bt.prototype.on;bt.prefixed=Et;bt.EventEmitter=bt;typeof Cs<"u"&&(Cs.exports=bt)});var K0={};St(K0,{delegatedHTTPRouting:()=>Bf,delegatedHTTPRoutingDefaults:()=>fn,httpGatewayRouting:()=>Of,libp2pRouting:()=>kf});var Do={};St(Do,{base32:()=>jt,base32hex:()=>Qf,base32hexpad:()=>el,base32hexpadupper:()=>rl,base32hexupper:()=>tl,base32pad:()=>Xf,base32padupper:()=>Jf,base32upper:()=>Wf,base32z:()=>nl});var M0=new Uint8Array(0);function zs(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function ne(e){if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")}function Gs(e){return new TextEncoder().encode(e)}function Zs(e){return new TextDecoder().decode(e)}function Hf(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<e.length;o++){var i=e.charAt(o),s=i.charCodeAt(0);if(r[s]!==255)throw new TypeError(i+" is ambiguous");r[s]=o}var c=e.length,a=e.charAt(0),f=Math.log(c)/Math.log(256),u=Math.log(256)/Math.log(c);function l(b){if(b instanceof Uint8Array||(ArrayBuffer.isView(b)?b=new Uint8Array(b.buffer,b.byteOffset,b.byteLength):Array.isArray(b)&&(b=Uint8Array.from(b))),!(b instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(b.length===0)return"";for(var T=0,I=0,w=0,C=b.length;w!==C&&b[w]===0;)w++,T++;for(var S=(C-w)*u+1>>>0,N=new Uint8Array(S);w!==C;){for(var k=b[w],M=0,V=S-1;(k!==0||M<I)&&V!==-1;V--,M++)k+=256*N[V]>>>0,N[V]=k%c>>>0,k=k/c>>>0;if(k!==0)throw new Error("Non-zero carry");I=M,w++}for(var h=S-I;h!==S&&N[h]===0;)h++;for(var p=a.repeat(T);h<S;++h)p+=e.charAt(N[h]);return p}function y(b){if(typeof b!="string")throw new TypeError("Expected String");if(b.length===0)return new Uint8Array;var T=0;if(b[T]!==" "){for(var I=0,w=0;b[T]===a;)I++,T++;for(var C=(b.length-T)*f+1>>>0,S=new Uint8Array(C);b[T];){var N=r[b.charCodeAt(T)];if(N===255)return;for(var k=0,M=C-1;(N!==0||k<w)&&M!==-1;M--,k++)N+=c*S[M]>>>0,S[M]=N%256>>>0,N=N/256>>>0;if(N!==0)throw new Error("Non-zero carry");w=k,T++}if(b[T]!==" "){for(var V=C-w;V!==C&&S[V]===0;)V++;for(var h=new Uint8Array(I+(C-V)),p=I;V!==C;)h[p++]=S[V++];return h}}}function v(b){var T=y(b);if(T)return T;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:y,decode:v}}var zf=Hf,Gf=zf,Ys=Gf;var To=class{name;prefix;baseEncode;constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Co=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,r,n){this.name=t,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,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 Ws(this,t)}},Bo=class{decoders;constructor(t){this.decoders=t}or(t){return Ws(this,t)}decode(t){let r=t[0],n=this.decoders[r];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 Ws(e,t){return new Bo({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}var _o=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,r,n,o){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new To(t,r,n),this.decoder=new Co(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function ze({name:e,prefix:t,encode:r,decode:n}){return new _o(e,t,r,n)}function ge({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=Ys(r,e);return ze({prefix:t,name:e,encode:n,decode:i=>ne(o(i))})}function Zf(e,t,r,n){let o=e.length;for(;e[o-1]==="=";)--o;let i=new Uint8Array(o*r/8|0),s=0,c=0,a=0;for(let f=0;f<o;++f){let u=t[e[f]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|u,s+=r,s>=8&&(s-=8,i[a++]=255&c>>s)}if(s>=r||(255&c<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return i}function jf(e,t,r){let n=t[t.length-1]==="=",o=(1<<r)-1,i="",s=0,c=0;for(let a=0;a<e.length;++a)for(c=c<<8|e[a],s+=8;s>r;)s-=r,i+=t[o&c>>s];if(s!==0&&(i+=t[o&c<<r-s]),n)for(;(i.length*r&7)!==0;)i+="=";return i}function Yf(e){let t={};for(let r=0;r<e.length;++r)t[e[r]]=r;return t}function nt({name:e,prefix:t,bitsPerChar:r,alphabet:n}){let o=Yf(n);return ze({prefix:t,name:e,encode(i){return jf(i,n,r)},decode(i){return Zf(i,o,r,e)}})}var jt=nt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Wf=nt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Xf=nt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Jf=nt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Qf=nt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),tl=nt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),el=nt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),rl=nt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),nl=nt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ro={};St(Ro,{base58btc:()=>X,base58flickr:()=>ol});var X=ge({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ol=ge({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var No={};St(No,{base64:()=>Po,base64pad:()=>il,base64url:()=>Lo,base64urlpad:()=>sl});var Po=nt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),il=nt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Lo=nt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),sl=nt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function al(e,t){if(typeof e=="string")return cl(e);if(typeof e=="number")return ll(e,t);throw Error(`Value provided to ms() must be a string or number. value=${JSON.stringify(e)}`)}var hn=al;function cl(e){if(typeof e!="string"||e.length===0||e.length>100)throw Error(`Value provided to ms.parse() must be a string with length between 1 and 99. value=${JSON.stringify(e)}`);let t=/^(?<value>-?\d*\.?\d+) *(?<unit>milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|months?|mo|years?|yrs?|y)?$/i.exec(e);if(!t?.groups)return NaN;let{value:r,unit:n="ms"}=t.groups,o=parseFloat(r),i=n.toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return o*315576e5;case"months":case"month":case"mo":return o*26298e5;case"weeks":case"week":case"w":return o*6048e5;case"days":case"day":case"d":return o*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return o*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return o*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return o*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:throw Error(`Unknown unit "${i}" provided to ms.parse(). value=${JSON.stringify(e)}`)}}function ul(e){let t=Math.abs(e);return t>=315576e5?`${Math.round(e/315576e5)}y`:t>=26298e5?`${Math.round(e/26298e5)}mo`:t>=6048e5?`${Math.round(e/6048e5)}w`:t>=864e5?`${Math.round(e/864e5)}d`:t>=36e5?`${Math.round(e/36e5)}h`:t>=6e4?`${Math.round(e/6e4)}m`:t>=1e3?`${Math.round(e/1e3)}s`:`${e}ms`}function fl(e){let t=Math.abs(e);return t>=315576e5?De(e,t,315576e5,"year"):t>=26298e5?De(e,t,26298e5,"month"):t>=6048e5?De(e,t,6048e5,"week"):t>=864e5?De(e,t,864e5,"day"):t>=36e5?De(e,t,36e5,"hour"):t>=6e4?De(e,t,6e4,"minute"):t>=1e3?De(e,t,1e3,"second"):`${e} ms`}function ll(e,t){if(typeof e!="number"||!Number.isFinite(e))throw Error("Value provided to ms.format() must be of type number.");return t?.long?fl(e):ul(e)}function De(e,t,r,n){let o=t>=r*1.5;return`${Math.round(e/r)} ${n}${o?"s":""}`}function Uo(e){r.debug=r,r.default=r,r.coerce=a,r.disable=i,r.enable=o,r.enabled=s,r.humanize=hn,r.destroy=f,Object.keys(e).forEach(u=>{r[u]=e[u]}),r.names=[],r.skips=[],r.formatters={};function t(u){let l=0;for(let y=0;y<u.length;y++)l=(l<<5)-l+u.charCodeAt(y),l|=0;return r.colors[Math.abs(l)%r.colors.length]}r.selectColor=t;function r(u,l){let y,v=null,b,T;function I(...w){if(!I.enabled)return;let C=I,S=Number(new Date),N=S-(y||S);C.diff=N,C.prev=y,C.curr=S,y=S,w[0]=r.coerce(w[0]),typeof w[0]!="string"&&w.unshift("%O");let k=0;w[0]=w[0].replace(/%([a-zA-Z%])/g,(V,h)=>{if(V==="%%")return"%";k++;let p=r.formatters[h];if(typeof p=="function"){let _=w[k];V=p.call(C,_),w.splice(k,1),k--}return V}),r.formatArgs.call(C,w),l?.onLog!=null&&l.onLog(...w),(C.log||r.log).apply(C,w)}return I.namespace=u,I.useColors=r.useColors(),I.color=r.selectColor(u),I.extend=n,I.destroy=r.destroy,Object.defineProperty(I,"enabled",{enumerable:!0,configurable:!1,get:()=>v!==null?v:(b!==r.namespaces&&(b=r.namespaces,T=r.enabled(u)),T),set:w=>{v=w}}),typeof r.init=="function"&&r.init(I),I}function n(u,l){let y=r(this.namespace+(typeof l>"u"?":":l)+u);return y.log=this.log,y}function o(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let l,y=(typeof u=="string"?u:"").split(/[\s,]+/),v=y.length;for(l=0;l<v;l++)y[l]&&(u=y[l].replace(/\*/g,".*?"),u[0]==="-"?r.skips.push(new RegExp("^"+u.substr(1)+"$")):r.names.push(new RegExp("^"+u+"$")))}function i(){let u=[...r.names.map(c),...r.skips.map(c).map(l=>"-"+l)].join(",");return r.enable(""),u}function s(u){if(u[u.length-1]==="*")return!0;let l,y;for(l=0,y=r.skips.length;l<y;l++)if(r.skips[l].test(u))return!1;for(l=0,y=r.names.length;l<y;l++)if(r.names[l].test(u))return!0;return!1}function c(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function a(u){return u instanceof Error?u.stack??u.message:u}function f(){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 r.setupFormatters(r.formatters),r.enable(r.load()),r}var pn=xl(),dl=["#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 hl(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/(edge|trident)\/(\d+)/)!=null?!1:typeof document<"u"&&document.documentElement?.style?.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/firefox\/(\d+)/)!=null&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/applewebkit\/(\d+)/)}function pl(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+hn(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),e.splice(n,0,t)}var ml=console.debug??console.log??(()=>{});function yl(e){try{e?pn?.setItem("debug",e):pn?.removeItem("debug")}catch{}}function gl(){let e;try{e=pn?.getItem("debug")}catch{}return!e&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(e=globalThis.process.env.DEBUG),e}function xl(){try{return localStorage}catch{}}function bl(e){e.j=function(t){try{return JSON.stringify(t)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}}var Xs=Uo({formatArgs:pl,save:yl,load:gl,useColors:hl,setupFormatters:bl,colors:dl,storage:pn,log:ml});var vt=Xs;vt.formatters.b=e=>e==null?"undefined":X.baseEncode(e);vt.formatters.t=e=>e==null?"undefined":jt.baseEncode(e);vt.formatters.m=e=>e==null?"undefined":Po.baseEncode(e);vt.formatters.p=e=>e==null?"undefined":e.toString();vt.formatters.c=e=>e==null?"undefined":e.toString();vt.formatters.k=e=>e==null?"undefined":e.toString();vt.formatters.a=e=>e==null?"undefined":e.toString();function Js(e,t=""){let r=Qs(e.message),n=Qs(e.stack);return r!=null&&n!=null?n.includes(r)?`${n.split(`
2
+ "use strict";var HeliaRouters=(()=>{var Kf=Object.create;var dn=Object.defineProperty;var Vf=Object.getOwnPropertyDescriptor;var Mf=Object.getOwnPropertyNames;var $f=Object.getPrototypeOf,Ff=Object.prototype.hasOwnProperty;var qs=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),St=(e,t)=>{for(var r in t)dn(e,r,{get:t[r],enumerable:!0})},Hs=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Mf(t))!Ff.call(e,o)&&o!==r&&dn(e,o,{get:()=>t[o],enumerable:!(n=Vf(t,o))||n.enumerable});return e};var Io=(e,t,r)=>(r=e!=null?Kf($f(e)):{},Hs(t||!e||!e.__esModule?dn(r,"default",{value:e,enumerable:!0}):r,e)),qf=e=>Hs(dn({},"__esModule",{value:!0}),e);var xs=qs((_w,gs)=>{var Bw=(function(){typeof gs<"u"&&(gs.exports=T);var e=86400,t=3200,r=146097*t/400,n=e*r,o=1e3*n,i=864e13,s=4294967296,c=1e6,a="000000000",l=Math.trunc||function(h){var p=h-h%1;return p==0&&(h<0||h===0&&1/h!=1/0)?-0:p},u=T.prototype,f=(T.fromDate=function(h){return new T(+h)},T.fromInt64BE=N(0,1,2,3,0,4),T.fromInt64LE=N(3,2,1,0,4,0),T.fromString=function(D){var p,_=new T,D=(D+="").replace(/^\s*[+\-]?\d+/,function(m){var m=+m,y=1970+(m-1970)%400;return _.year=m-y,y}).replace(/(?:Z|([+\-]\d{2}):?(\d{2}))$/,function(A,m,y){return m<0&&(y*=-1),p=6e4*(60*+m+ +y),""}).replace(/\.\d+$/,function(A){return _.nano=+(A+a).substr(1,9),""}).split(/\D+/);if(1<D.length?D[1]--:D[1]=0,_.time=p=Date.UTC.apply(Date,D)-(p||0),isNaN(p))throw new TypeError("Invalid Date");return I(_)},T.fromTimeT=function(h){return C(h,0)},u.year=0,u.time=0,u.nano=0,u.addNano=function(h){return this.nano+=+h||0,this},u.getNano=function(){var h=I(this);return(h.time%1e3*c+ +h.nano+1e9)%1e9},u.getTimeT=function(){var p=I(this),h=Math.floor(p.time/1e3),p=p.year;return p&&(h+=p*r*e/t),h},u.getYear=function(){return this.toDate().getUTCFullYear()+this.year},u.toDate=function(){return w(I(this).time)},u.toJSON=function(){return this.toString().replace(/0{1,6}Z$/,"Z")},u.toString=function(h){var p=this,_=p.toDate(),D={H:function(){return M(_.getUTCHours())},L:function(){return V(_.getUTCMilliseconds(),3)},M:function(){return M(_.getUTCMinutes())},N:function(){return V(p.getNano(),9)},S:function(){return M(_.getUTCSeconds())},Y:function(){var A=p.getYear();return 999999<A?"+"+A:9999<A?"+"+V(A,6):0<=A?V(A,4):-999999<=A?"-"+V(-A,6):A},a:function(){return v[_.getUTCDay()]},b:function(){return x[_.getUTCMonth()]},d:function(){return M(_.getUTCDate())},e:function(){return(function(A){return(9<A?"":" ")+(0|A)})(_.getUTCDate())},m:function(){return M(_.getUTCMonth()+1)}};return(function A(m){return m.replace(/%./g,function(y){var E=y[1],d=b[E],E=D[E];return d?A(d):E?E():y})})(h||f)},u.writeInt64BE=S(0,1,2,3,0,4),u.writeInt64LE=S(3,2,1,0,4,0),"%Y-%m-%dT%H:%M:%S.%NZ"),x=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],v=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],b={"%":"%",F:"%Y-%m-%d",n:`
3
+ `,R:"%H:%M",T:"%H:%M:%S",t:" ",X:"%T",Z:"GMT",z:"+0000"};return T;function T(h,p,_){var D=this;if(!(D instanceof T))return new T(h,p,_);D.time=+h||0,D.nano=+p||0,D.year=+_||0,I(D)}function I(h){var p,_,D,A=h.year,m=h.time,y=h.nano,d=((y<0||c<=y)&&(y-=(_=Math.floor(y/c))*c,m+=_,_=1),A%t);return(m<-i||i<m||d)&&((p=l(m/o))&&(A+=p*t,m-=p*o),(D=w(m)).setUTCFullYear(d+D.getUTCFullYear()),D=(m=+D)+(p=l((A-=d)/t))*o,p&&-i<=D&&D<=i&&(A-=p*t,m=D),_=1),_&&(h.year=A,h.time=m,h.nano=y),h}function w(h){var p=new Date(0);return p.setTime(h),p}function C(A,D){A=+A||0;var _=l((D=(D|0)*s)/n)+l(A/n),D=D%n+A%n,A=l(D/n);return A&&(_+=A,D-=A*n),new T(1e3*D,0,_*t)}function S(h,p,_,D,A,m){return function(d,E){var L=I(this);d=d||new Array(8),k(d,E|=0);var U=Math.floor(L.time/1e3),L=L.year*(r*e/t),R=l(L/s)+l(U/s),L=L%s+U%s,U=Math.floor(L/s);return U&&(R+=U,L-=U*s),y(d,E+A,R),y(d,E+m,L),d};function y(d,E,R){d[E+h]=R>>24&255,d[E+p]=R>>16&255,d[E+_]=R>>8&255,d[E+D]=255&R}}function N(h,p,_,D,A,m){return function(d,E){k(d,E|=0);var R=y(d,E+A);return C(y(d,E+m),R)};function y(d,E){return 16777216*d[E+h]+(d[E+p]<<16|d[E+_]<<8|d[E+D])}}function k(h,p){if(h=h&&h.length,h==null)throw new TypeError("Invalid Buffer");if(h<p+8)throw new RangeError("Out of range")}function M(h){return(9<h?"":"0")+(0|h)}function V(h,p){return(a+(0|h)).substr(-p)}})()});var wf=qs((m2,Cs)=>{"use strict";var m0=Object.prototype.hasOwnProperty,Et="~";function an(){}Object.create&&(an.prototype=Object.create(null),new an().__proto__||(Et=!1));function y0(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function bf(e,t,r,n,o){if(typeof r!="function")throw new TypeError("The listener must be a function");var i=new y0(r,n||e,o),s=Et?Et+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],i]:e._events[s].push(i):(e._events[s]=i,e._eventsCount++),e}function yo(e,t){--e._eventsCount===0?e._events=new an:delete e._events[t]}function bt(){this._events=new an,this._eventsCount=0}bt.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)m0.call(r,n)&&t.push(Et?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};bt.prototype.listeners=function(t){var r=Et?Et+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,i=n.length,s=new Array(i);o<i;o++)s[o]=n[o].fn;return s};bt.prototype.listenerCount=function(t){var r=Et?Et+t:t,n=this._events[r];return n?n.fn?1:n.length:0};bt.prototype.emit=function(t,r,n,o,i,s){var c=Et?Et+t:t;if(!this._events[c])return!1;var a=this._events[c],l=arguments.length,u,f;if(a.fn){switch(a.once&&this.removeListener(t,a.fn,void 0,!0),l){case 1:return a.fn.call(a.context),!0;case 2:return a.fn.call(a.context,r),!0;case 3:return a.fn.call(a.context,r,n),!0;case 4:return a.fn.call(a.context,r,n,o),!0;case 5:return a.fn.call(a.context,r,n,o,i),!0;case 6:return a.fn.call(a.context,r,n,o,i,s),!0}for(f=1,u=new Array(l-1);f<l;f++)u[f-1]=arguments[f];a.fn.apply(a.context,u)}else{var x=a.length,v;for(f=0;f<x;f++)switch(a[f].once&&this.removeListener(t,a[f].fn,void 0,!0),l){case 1:a[f].fn.call(a[f].context);break;case 2:a[f].fn.call(a[f].context,r);break;case 3:a[f].fn.call(a[f].context,r,n);break;case 4:a[f].fn.call(a[f].context,r,n,o);break;default:if(!u)for(v=1,u=new Array(l-1);v<l;v++)u[v-1]=arguments[v];a[f].fn.apply(a[f].context,u)}}return!0};bt.prototype.on=function(t,r,n){return bf(this,t,r,n,!1)};bt.prototype.once=function(t,r,n){return bf(this,t,r,n,!0)};bt.prototype.removeListener=function(t,r,n,o){var i=Et?Et+t:t;if(!this._events[i])return this;if(!r)return yo(this,i),this;var s=this._events[i];if(s.fn)s.fn===r&&(!o||s.once)&&(!n||s.context===n)&&yo(this,i);else{for(var c=0,a=[],l=s.length;c<l;c++)(s[c].fn!==r||o&&!s[c].once||n&&s[c].context!==n)&&a.push(s[c]);a.length?this._events[i]=a.length===1?a[0]:a:yo(this,i)}return this};bt.prototype.removeAllListeners=function(t){var r;return t?(r=Et?Et+t:t,this._events[r]&&yo(this,r)):(this._events=new an,this._eventsCount=0),this};bt.prototype.off=bt.prototype.removeListener;bt.prototype.addListener=bt.prototype.on;bt.prefixed=Et;bt.EventEmitter=bt;typeof Cs<"u"&&(Cs.exports=bt)});var V0={};St(V0,{delegatedHTTPRouting:()=>Bf,delegatedHTTPRoutingDefaults:()=>fn,httpGatewayRouting:()=>Of,libp2pRouting:()=>kf});var Do={};St(Do,{base32:()=>Zt,base32hex:()=>Qf,base32hexpad:()=>el,base32hexpadupper:()=>rl,base32hexupper:()=>tl,base32pad:()=>Xf,base32padupper:()=>Jf,base32upper:()=>Wf,base32z:()=>nl});var $0=new Uint8Array(0);function zs(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function ne(e){if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")}function Gs(e){return new TextEncoder().encode(e)}function js(e){return new TextDecoder().decode(e)}function Hf(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var o=0;o<e.length;o++){var i=e.charAt(o),s=i.charCodeAt(0);if(r[s]!==255)throw new TypeError(i+" is ambiguous");r[s]=o}var c=e.length,a=e.charAt(0),l=Math.log(c)/Math.log(256),u=Math.log(256)/Math.log(c);function f(b){if(b instanceof Uint8Array||(ArrayBuffer.isView(b)?b=new Uint8Array(b.buffer,b.byteOffset,b.byteLength):Array.isArray(b)&&(b=Uint8Array.from(b))),!(b instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(b.length===0)return"";for(var T=0,I=0,w=0,C=b.length;w!==C&&b[w]===0;)w++,T++;for(var S=(C-w)*u+1>>>0,N=new Uint8Array(S);w!==C;){for(var k=b[w],M=0,V=S-1;(k!==0||M<I)&&V!==-1;V--,M++)k+=256*N[V]>>>0,N[V]=k%c>>>0,k=k/c>>>0;if(k!==0)throw new Error("Non-zero carry");I=M,w++}for(var h=S-I;h!==S&&N[h]===0;)h++;for(var p=a.repeat(T);h<S;++h)p+=e.charAt(N[h]);return p}function x(b){if(typeof b!="string")throw new TypeError("Expected String");if(b.length===0)return new Uint8Array;var T=0;if(b[T]!==" "){for(var I=0,w=0;b[T]===a;)I++,T++;for(var C=(b.length-T)*l+1>>>0,S=new Uint8Array(C);b[T];){var N=r[b.charCodeAt(T)];if(N===255)return;for(var k=0,M=C-1;(N!==0||k<w)&&M!==-1;M--,k++)N+=c*S[M]>>>0,S[M]=N%256>>>0,N=N/256>>>0;if(N!==0)throw new Error("Non-zero carry");w=k,T++}if(b[T]!==" "){for(var V=C-w;V!==C&&S[V]===0;)V++;for(var h=new Uint8Array(I+(C-V)),p=I;V!==C;)h[p++]=S[V++];return h}}}function v(b){var T=x(b);if(T)return T;throw new Error(`Non-${t} character`)}return{encode:f,decodeUnsafe:x,decode:v}}var zf=Hf,Gf=zf,Ys=Gf;var To=class{name;prefix;baseEncode;constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Co=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,r,n){this.name=t,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,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 Ws(this,t)}},Bo=class{decoders;constructor(t){this.decoders=t}or(t){return Ws(this,t)}decode(t){let r=t[0],n=this.decoders[r];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 Ws(e,t){return new Bo({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}var _o=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,r,n,o){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new To(t,r,n),this.decoder=new Co(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function ze({name:e,prefix:t,encode:r,decode:n}){return new _o(e,t,r,n)}function ge({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=Ys(r,e);return ze({prefix:t,name:e,encode:n,decode:i=>ne(o(i))})}function jf(e,t,r,n){let o=e.length;for(;e[o-1]==="=";)--o;let i=new Uint8Array(o*r/8|0),s=0,c=0,a=0;for(let l=0;l<o;++l){let u=t[e[l]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|u,s+=r,s>=8&&(s-=8,i[a++]=255&c>>s)}if(s>=r||(255&c<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return i}function Zf(e,t,r){let n=t[t.length-1]==="=",o=(1<<r)-1,i="",s=0,c=0;for(let a=0;a<e.length;++a)for(c=c<<8|e[a],s+=8;s>r;)s-=r,i+=t[o&c>>s];if(s!==0&&(i+=t[o&c<<r-s]),n)for(;(i.length*r&7)!==0;)i+="=";return i}function Yf(e){let t={};for(let r=0;r<e.length;++r)t[e[r]]=r;return t}function nt({name:e,prefix:t,bitsPerChar:r,alphabet:n}){let o=Yf(n);return ze({prefix:t,name:e,encode(i){return Zf(i,n,r)},decode(i){return jf(i,o,r,e)}})}var Zt=nt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Wf=nt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Xf=nt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Jf=nt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Qf=nt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),tl=nt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),el=nt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),rl=nt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),nl=nt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ro={};St(Ro,{base58btc:()=>X,base58flickr:()=>ol});var X=ge({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ol=ge({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var No={};St(No,{base64:()=>Po,base64pad:()=>il,base64url:()=>Lo,base64urlpad:()=>sl});var Po=nt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),il=nt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Lo=nt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),sl=nt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function al(e,t){if(typeof e=="string")return cl(e);if(typeof e=="number")return ll(e,t);throw Error(`Value provided to ms() must be a string or number. value=${JSON.stringify(e)}`)}var hn=al;function cl(e){if(typeof e!="string"||e.length===0||e.length>100)throw Error(`Value provided to ms.parse() must be a string with length between 1 and 99. value=${JSON.stringify(e)}`);let t=/^(?<value>-?\d*\.?\d+) *(?<unit>milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|months?|mo|years?|yrs?|y)?$/i.exec(e);if(!t?.groups)return NaN;let{value:r,unit:n="ms"}=t.groups,o=parseFloat(r),i=n.toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return o*315576e5;case"months":case"month":case"mo":return o*26298e5;case"weeks":case"week":case"w":return o*6048e5;case"days":case"day":case"d":return o*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return o*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return o*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return o*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:throw Error(`Unknown unit "${i}" provided to ms.parse(). value=${JSON.stringify(e)}`)}}function ul(e){let t=Math.abs(e);return t>=315576e5?`${Math.round(e/315576e5)}y`:t>=26298e5?`${Math.round(e/26298e5)}mo`:t>=6048e5?`${Math.round(e/6048e5)}w`:t>=864e5?`${Math.round(e/864e5)}d`:t>=36e5?`${Math.round(e/36e5)}h`:t>=6e4?`${Math.round(e/6e4)}m`:t>=1e3?`${Math.round(e/1e3)}s`:`${e}ms`}function fl(e){let t=Math.abs(e);return t>=315576e5?De(e,t,315576e5,"year"):t>=26298e5?De(e,t,26298e5,"month"):t>=6048e5?De(e,t,6048e5,"week"):t>=864e5?De(e,t,864e5,"day"):t>=36e5?De(e,t,36e5,"hour"):t>=6e4?De(e,t,6e4,"minute"):t>=1e3?De(e,t,1e3,"second"):`${e} ms`}function ll(e,t){if(typeof e!="number"||!Number.isFinite(e))throw Error("Value provided to ms.format() must be of type number.");return t?.long?fl(e):ul(e)}function De(e,t,r,n){let o=t>=r*1.5;return`${Math.round(e/r)} ${n}${o?"s":""}`}function Uo(e){r.debug=r,r.default=r,r.coerce=a,r.disable=i,r.enable=o,r.enabled=s,r.humanize=hn,r.destroy=l,Object.keys(e).forEach(u=>{r[u]=e[u]}),r.names=[],r.skips=[],r.formatters={};function t(u){let f=0;for(let x=0;x<u.length;x++)f=(f<<5)-f+u.charCodeAt(x),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=t;function r(u,f){let x,v=null,b,T;function I(...w){if(!I.enabled)return;let C=I,S=Number(new Date),N=S-(x||S);C.diff=N,C.prev=x,C.curr=S,x=S,w[0]=r.coerce(w[0]),typeof w[0]!="string"&&w.unshift("%O");let k=0;w[0]=w[0].replace(/%([a-zA-Z%])/g,(V,h)=>{if(V==="%%")return"%";k++;let p=r.formatters[h];if(typeof p=="function"){let _=w[k];V=p.call(C,_),w.splice(k,1),k--}return V}),r.formatArgs.call(C,w),f?.onLog!=null&&f.onLog(...w),(C.log||r.log).apply(C,w)}return I.namespace=u,I.useColors=r.useColors(),I.color=r.selectColor(u),I.extend=n,I.destroy=r.destroy,Object.defineProperty(I,"enabled",{enumerable:!0,configurable:!1,get:()=>v!==null?v:(b!==r.namespaces&&(b=r.namespaces,T=r.enabled(u)),T),set:w=>{v=w}}),typeof r.init=="function"&&r.init(I),I}function n(u,f){let x=r(this.namespace+(typeof f>"u"?":":f)+u);return x.log=this.log,x}function o(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let f,x=(typeof u=="string"?u:"").split(/[\s,]+/),v=x.length;for(f=0;f<v;f++)x[f]&&(u=x[f].replace(/\*/g,".*?"),u[0]==="-"?r.skips.push(new RegExp("^"+u.substr(1)+"$")):r.names.push(new RegExp("^"+u+"$")))}function i(){let u=[...r.names.map(c),...r.skips.map(c).map(f=>"-"+f)].join(",");return r.enable(""),u}function s(u){if(u[u.length-1]==="*")return!0;let f,x;for(f=0,x=r.skips.length;f<x;f++)if(r.skips[f].test(u))return!1;for(f=0,x=r.names.length;f<x;f++)if(r.names[f].test(u))return!0;return!1}function c(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function a(u){return u instanceof Error?u.stack??u.message:u}function l(){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 r.setupFormatters(r.formatters),r.enable(r.load()),r}var pn=xl(),dl=["#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 hl(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/(edge|trident)\/(\d+)/)!=null?!1:typeof document<"u"&&document.documentElement?.style?.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/firefox\/(\d+)/)!=null&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/applewebkit\/(\d+)/)}function pl(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+hn(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),e.splice(n,0,t)}var ml=console.debug??console.log??(()=>{});function yl(e){try{e?pn?.setItem("debug",e):pn?.removeItem("debug")}catch{}}function gl(){let e;try{e=pn?.getItem("debug")}catch{}return!e&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(e=globalThis.process.env.DEBUG),e}function xl(){try{return localStorage}catch{}}function bl(e){e.j=function(t){try{return JSON.stringify(t)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}}var Xs=Uo({formatArgs:pl,save:yl,load:gl,useColors:hl,setupFormatters:bl,colors:dl,storage:pn,log:ml});var vt=Xs;vt.formatters.b=e=>e==null?"undefined":X.baseEncode(e);vt.formatters.t=e=>e==null?"undefined":Zt.baseEncode(e);vt.formatters.m=e=>e==null?"undefined":Po.baseEncode(e);vt.formatters.p=e=>e==null?"undefined":e.toString();vt.formatters.c=e=>e==null?"undefined":e.toString();vt.formatters.k=e=>e==null?"undefined":e.toString();vt.formatters.a=e=>e==null?"undefined":e.toString();function Js(e,t=""){let r=Qs(e.message),n=Qs(e.stack);return r!=null&&n!=null?n.includes(r)?`${n.split(`
4
4
  `).join(`
5
5
  ${t}`)}`:`${r}
6
6
  ${t}${n.split(`
7
7
  `).join(`
8
8
  ${t}`)}`:n!=null?`${n.split(`
9
9
  `).join(`
10
- ${t}`)}`:r!=null?`${r}`:`${e.toString()}`}function wl(e){return e instanceof AggregateError||e?.name==="AggregateError"&&Array.isArray(e.errors)}function ta(e,t=""){if(wl(e)){let r=Js(e,t);return e.errors.length>0?(t=`${t} `,r+=`${e.errors.map(n=>`
11
- ${t}${ta(n,`${t}`)}`).join(`
10
+ ${t}`)}`:r!=null?`${r}`:`${e.toString()}`}function wl(e){return e instanceof AggregateError||e?.name==="AggregateError"&&Array.isArray(e.errors)}function ta(e,t=""){if(wl(e)){let r=Js(e,t);return e.errors.length>0?(t=`${t} `,r+=`
11
+ ${t}${e.errors.map(n=>`${ta(n,`${t}`)}`).join(`
12
12
  ${t}`)}`):r+=`
13
- ${t}[Error list was empty]`,r.trim()}return Js(e,t)}vt.formatters.e=e=>e==null?"undefined":ta(e);function El(e){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=e,t.destroy=()=>!0,t.extend=()=>t,t}function ea(e){return{forComponent(t){return xe(t,e)}}}function xe(e,t){let r=El(`${e}:trace`);return vt.enabled(`${e}:trace`)&&vt.names.map(n=>n.toString()).find(n=>n.includes(":trace"))!=null&&(r=vt(`${e}:trace`,t)),Object.assign(vt(e,t),{error:vt(`${e}:error`,t),trace:r,newScope:n=>xe(`${e}:${n}`,t)})}function Qs(e){if(e!=null&&(e=e.trim(),e.length!==0))return e}var ra=Symbol.for("@libp2p/content-routing");var st=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},Ge=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var At=class extends Error{static name="NotFoundError";constructor(t="Not found"){super(t),this.name="NotFoundError"}};var mn=class extends Error{static name="InvalidCIDError";constructor(t="Invalid CID"){super(t),this.name="InvalidCIDError"}},Ze=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var je=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var Oo=Symbol.for("@libp2p/peer-id");var na=Symbol.for("@libp2p/peer-routing");var ko={};St(ko,{base36:()=>Ye,base36upper:()=>Sl});var Ye=ge({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Sl=ge({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var vl=sa,oa=128,Al=127,Il=~Al,Tl=Math.pow(2,31);function sa(e,t,r){t=t||[],r=r||0;for(var n=r;e>=Tl;)t[r++]=e&255|oa,e/=128;for(;e&Il;)t[r++]=e&255|oa,e>>>=7;return t[r]=e|0,sa.bytes=r-n+1,t}var Cl=Ko,Bl=128,ia=127;function Ko(e,n){var r=0,n=n||0,o=0,i=n,s,c=e.length;do{if(i>=c)throw Ko.bytes=0,new RangeError("Could not decode varint");s=e[i++],r+=o<28?(s&ia)<<o:(s&ia)*Math.pow(2,o),o+=7}while(s>=Bl);return Ko.bytes=i-n,r}var _l=Math.pow(2,7),Dl=Math.pow(2,14),Rl=Math.pow(2,21),Pl=Math.pow(2,28),Ll=Math.pow(2,35),Nl=Math.pow(2,42),Ul=Math.pow(2,49),Ol=Math.pow(2,56),kl=Math.pow(2,63),Kl=function(e){return e<_l?1:e<Dl?2:e<Rl?3:e<Pl?4:e<Ll?5:e<Nl?6:e<Ul?7:e<Ol?8:e<kl?9:10},Vl={encode:vl,decode:Cl,encodingLength:Kl},Ml=Vl,Tr=Ml;function Cr(e,t=0){return[Tr.decode(e,t),Tr.decode.bytes]}function We(e,t,r=0){return Tr.encode(e,t,r),t}function Xe(e){return Tr.encodingLength(e)}function Yt(e,t){let r=t.byteLength,n=Xe(e),o=n+Xe(r),i=new Uint8Array(o+r);return We(e,i,0),We(r,i,n),i.set(t,o),new Je(e,r,t,i)}function Re(e){let t=ne(e),[r,n]=Cr(t),[o,i]=Cr(t.subarray(n)),s=t.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new Je(r,o,s,t)}function aa(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&zs(e.bytes,r.bytes)}}var Je=class{code;size;digest;bytes;constructor(t,r,n,o){this.code=t,this.size=r,this.digest=n,this.bytes=o}};function ca(e,t){let{bytes:r,version:n}=e;switch(n){case 0:return Fl(r,Vo(e),t??X.encoder);default:return ql(r,Vo(e),t??jt.encoder)}}var ua=new WeakMap;function Vo(e){let t=ua.get(e);if(t==null){let r=new Map;return ua.set(e,r),r}return t}var j=class e{code;version;multihash;bytes;"/";constructor(t,r,n,o){this.code=r,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:r}=this;if(t!==Br)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Hl)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}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:r}=this.multihash,n=Yt(t,r);return e.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 e.equals(this,t)}static equals(t,r){let n=r;return n!=null&&t.code===n.code&&t.version===n.version&&aa(t.multihash,n.multihash)}toString(t){return ca(this,t)}toJSON(){return{"/":ca(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 r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:i,bytes:s}=r;return new e(n,o,i,s??fa(n,o,i.bytes))}else if(r[zl]===!0){let{version:n,multihash:o,code:i}=r,s=Re(o);return e.create(n,i,s)}else return null}static create(t,r,n){if(typeof r!="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(r!==Br)throw new Error(`Version 0 CID must use dag-pb (code: ${Br}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=fa(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,Br,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,o=ne(t.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let i=o.subarray(r.multihashSize-r.digestSize),s=new Je(r.multihashCode,r.digestSize,i,o);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,y]=Cr(t.subarray(r));return r+=y,l},o=n(),i=Br;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,c=n(),a=n(),f=r+a,u=f-s;return{version:o,codec:i,multihashCode:c,digestSize:a,multihashSize:u,size:f}}static parse(t,r){let[n,o]=$l(t,r),i=e.decode(o);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Vo(i).set(n,t),i}};function $l(e,t){switch(e[0]){case"Q":{let r=t??X;return[X.prefix,r.decode(`${X.prefix}${e}`)]}case X.prefix:{let r=t??X;return[X.prefix,r.decode(e)]}case jt.prefix:{let r=t??jt;return[jt.prefix,r.decode(e)]}case Ye.prefix:{let r=t??Ye;return[Ye.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}}function Fl(e,t,r){let{prefix:n}=r;if(n!==X.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let i=r.encode(e).slice(1);return t.set(n,i),i}else return o}function ql(e,t,r){let{prefix:n}=r,o=t.get(n);if(o==null){let i=r.encode(e);return t.set(n,i),i}else return o}var Br=112,Hl=18;function fa(e,t,r){let n=Xe(e),o=n+Xe(t),i=new Uint8Array(o+r.byteLength);return We(e,i,0),We(t,i,n),i.set(r,o),i}var zl=Symbol.for("@ipld/js-cid/CID");var Mo={};St(Mo,{identity:()=>Ct});var la=0,Gl="identity",da=ne;function Zl(e,t){if(t?.truncate!=null&&t.truncate!==e.byteLength){if(t.truncate<0||t.truncate>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,t.truncate)}return Yt(la,da(e))}var Ct={code:la,name:Gl,encode:da,digest:Zl};function Y(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function oe(e=0){return new Uint8Array(e)}function Bt(e=0){return new Uint8Array(e)}function Ut(e,t){t==null&&(t=e.reduce((o,i)=>o+i.length,0));let r=Bt(t),n=0;for(let o of e)r.set(o,n),n+=o.length;return r}var pa=Symbol.for("@achingbrain/uint8arraylist");function ha(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let o=r+n.byteLength;if(t<o)return{buf:n,index:t-r};r=o}throw new RangeError("index is out of bounds")}function Qe(e){return!!e?.[pa]}var _t=class e{bufs;length;[pa]=!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 r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Qe(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Qe(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=ha(this.bufs,t);return r.buf[r.index]}set(t,r){let n=ha(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(Qe(t))for(let n=0;n<t.length;n++)this.set(r+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,r){let{bufs:n,length:o}=this._subList(t,r);return Ut(n,o)}subarray(t,r){let{bufs:n,length:o}=this._subList(t,r);return n.length===1?n[0]:Ut(n,o)}sublist(t,r){let{bufs:n,length:o}=this._subList(t,r),i=new e;return i.length=o,i.bufs=[...n],i}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],c=o,a=c+s.byteLength;if(o=a,t>=a)continue;let f=t>=c&&t<a,u=r>c&&r<=a;if(f&&u){if(t===c&&r===a){n.push(s);break}let l=t-c;n.push(s.subarray(l,l+(r-t)));break}if(f){if(t===0){n.push(s);continue}n.push(s.subarray(t-c));continue}if(u){if(r===a){n.push(s);break}n.push(s.subarray(0,r-c));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!Qe(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(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let l=0;l<i;l++)s[l]=-1;for(let l=0;l<o;l++)s[n[l]]=l;let c=s,a=this.byteLength-n.byteLength,f=n.byteLength-1,u;for(let l=r;l<=a;l+=u){u=0;for(let y=f;y>=0;y--){let v=this.get(l+y);if(n[y]!==v){u=Math.max(1,y-c[v]);break}}if(u===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=Bt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let o=oe(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,r,n),this.write(o,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let o=oe(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,r,n),this.write(o,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let o=oe(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,r,n),this.write(o,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=Bt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let o=oe(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,r,n),this.write(o,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let o=oe(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,r,n),this.write(o,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let o=oe(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,r,n),this.write(o,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let o=oe(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,r,n),this.write(o,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let o=oe(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,r,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Y(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((o,i)=>o+i.byteLength,0)),n.length=r,n}};var $o={};St($o,{base10:()=>jl});var jl=ge({prefix:"9",name:"base10",alphabet:"0123456789"});var Fo={};St(Fo,{base16:()=>Yl,base16upper:()=>Wl});var Yl=nt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Wl=nt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var qo={};St(qo,{base2:()=>Xl});var Xl=nt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ho={};St(Ho,{base256emoji:()=>rd});var ma=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}"),Jl=ma.reduce((e,t,r)=>(e[r]=t,e),[]),Ql=ma.reduce((e,t,r)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return e[n]=r,e},[]);function td(e){return e.reduce((t,r)=>(t+=Jl[r],t),"")}function ed(e){let t=[];for(let r of e){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Ql[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);t.push(o)}return new Uint8Array(t)}var rd=ze({prefix:"\u{1F680}",name:"base256emoji",encode:td,decode:ed});var zo={};St(zo,{base8:()=>nd});var nd=nt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Go={};St(Go,{identity:()=>od});var od=ze({prefix:"\0",name:"identity",encode:e=>Zs(e),decode:e=>Gs(e)});var Mm=new TextEncoder,$m=new TextDecoder;var Yo={};St(Yo,{sha256:()=>_r,sha512:()=>cd});var ad=20;function jo({name:e,code:t,encode:r,minDigestLength:n,maxDigestLength:o}){return new Zo(e,t,r,n,o)}var Zo=class{name;code;encode;minDigestLength;maxDigestLength;constructor(t,r,n,o,i){this.name=t,this.code=r,this.encode=n,this.minDigestLength=o??ad,this.maxDigestLength=i}digest(t,r){if(r?.truncate!=null){if(r.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&r.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(t instanceof Uint8Array){let n=this.encode(t);return n instanceof Uint8Array?ya(n,this.code,r?.truncate):n.then(o=>ya(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function ya(e,t,r){if(r!=null&&r!==e.byteLength){if(r>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,r)}return Yt(t,e)}function xa(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}var _r=jo({name:"sha2-256",code:18,encode:xa("SHA-256")}),cd=jo({name:"sha2-512",code:19,encode:xa("SHA-512")});var Dr={...Go,...qo,...zo,...$o,...Fo,...Do,...ko,...Ro,...No,...Ho},Qm={...Yo,...Mo};function wa(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var ba=wa("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Wo=wa("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Bt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),ud={utf8:ba,"utf-8":ba,hex:Dr.base16,latin1:Wo,ascii:Wo,binary:Wo,...Dr},gn=ud;function H(e,t="utf8"){let r=gn[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.decoder.decode(`${r.prefix}${e}`)}function z(e,t="utf8"){let r=gn[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.encoder.encode(e).substring(1)}var fd=parseInt("11111",2),Xo=parseInt("10000000",2),ld=parseInt("01111111",2),Ea={0:Rr,1:Rr,2:dd,3:md,4:yd,5:pd,6:hd,16:Rr,22:Rr,48:Rr};function ie(e,t={offset:0}){let r=e[t.offset]&fd;if(t.offset++,Ea[r]!=null)return Ea[r](e,t);throw new Error("No decoder for tag "+r)}function Pr(e,t){let r=0;if((e[t.offset]&Xo)===Xo){let n=e[t.offset]&ld,o="0x";t.offset++;for(let i=0;i<n;i++,t.offset++)o+=e[t.offset].toString(16).padStart(2,"0");r=parseInt(o,16)}else r=e[t.offset],t.offset++;return r}function Rr(e,t){Pr(e,t);let r=[];for(;!(t.offset>=e.byteLength);){let n=ie(e,t);if(n===null)break;r.push(n)}return r}function dd(e,t){let r=Pr(e,t),n=t.offset,o=t.offset+r,i=[];for(let s=n;s<o;s++)s===n&&e[s]===0||i.push(e[s]);return t.offset+=r,Uint8Array.from(i)}function hd(e,t){let r=Pr(e,t),n=t.offset+r,o=e[t.offset];t.offset++;let i=0,s=0;o<40?(i=0,s=o):o<80?(i=1,s=o-40):(i=2,s=o-80);let c=`${i}.${s}`,a=[];for(;t.offset<n;){let f=e[t.offset];if(t.offset++,a.push(f&127),f<128){a.reverse();let u=0;for(let l=0;l<a.length;l++)u+=a[l]<<l*7;c+=`.${u}`,a=[]}}return c}function pd(e,t){return t.offset++,null}function md(e,t){let r=Pr(e,t),n=e[t.offset];t.offset++;let o=e.subarray(t.offset,t.offset+r-1);if(t.offset+=r,n!==0)throw new Error("Unused bits in bit string is unimplemented");return o}function yd(e,t){let r=Pr(e,t),n=e.subarray(t.offset,t.offset+r);return t.offset+=r,n}function gd(e){let t=e.toString(16);t.length%2===1&&(t="0"+t);let r=new _t;for(let n=0;n<t.length;n+=2)r.append(Uint8Array.from([parseInt(`${t[n]}${t[n+1]}`,16)]));return r}function Jo(e){if(e.byteLength<128)return Uint8Array.from([e.byteLength]);let t=gd(e.byteLength);return new _t(Uint8Array.from([t.byteLength|Xo]),t)}function It(e){let t=new _t,r=128;return(e.subarray()[0]&r)===r&&t.append(Uint8Array.from([0])),t.append(e),new _t(Uint8Array.from([2]),Jo(t),t)}function xn(e){let t=Uint8Array.from([0]),r=new _t(t,e);return new _t(Uint8Array.from([3]),Jo(r),r)}function be(e,t=48){let r=new _t;for(let n of e)r.append(n);return new _t(Uint8Array.from([t]),Jo(r),r)}async function Sa(e,t,r,n){let o=await crypto.subtle.importKey("jwk",e,{name:"ECDSA",namedCurve:e.crv??"P-256"},!1,["verify"]);n?.signal?.throwIfAborted();let i=await crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},o,t,r.subarray());return n?.signal?.throwIfAborted(),i}var xd=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),bd=Uint8Array.from([6,5,43,129,4,0,34]),wd=Uint8Array.from([6,5,43,129,4,0,35]),Ed={ext:!0,kty:"EC",crv:"P-256"},Sd={ext:!0,kty:"EC",crv:"P-384"},vd={ext:!0,kty:"EC",crv:"P-521"},Qo=32,ti=48,ei=66;function ri(e){let t=ie(e);return va(t)}function va(e){let t=e[1][1][0],r=1,n,o;if(t.byteLength===Qo*2+1)return n=z(t.subarray(r,r+Qo),"base64url"),o=z(t.subarray(r+Qo),"base64url"),new tr({...Ed,key_ops:["verify"],x:n,y:o});if(t.byteLength===ti*2+1)return n=z(t.subarray(r,r+ti),"base64url"),o=z(t.subarray(r+ti),"base64url"),new tr({...Sd,key_ops:["verify"],x:n,y:o});if(t.byteLength===ei*2+1)return n=z(t.subarray(r,r+ei),"base64url"),o=z(t.subarray(r+ei),"base64url"),new tr({...vd,key_ops:["verify"],x:n,y:o});throw new st(`coordinates were wrong length, got ${t.byteLength}, expected 65, 97 or 133`)}function Aa(e){return be([It(Uint8Array.from([1])),be([Ad(e.crv)],160),be([xn(new _t(Uint8Array.from([4]),H(e.x??"","base64url"),H(e.y??"","base64url")))],161)]).subarray()}function Ad(e){if(e==="P-256")return xd;if(e==="P-384")return bd;if(e==="P-521")return wd;throw new st(`Invalid curve ${e}`)}var tr=class{type="ECDSA";jwk;_raw;constructor(t){this.jwk=t}get raw(){return this._raw==null&&(this._raw=Aa(this.jwk)),this._raw}toMultihash(){return Ct.digest(er(this))}toCID(){return j.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Y(this.raw,t.raw)}async verify(t,r,n){return Sa(this.jwk,r,t,n)}};function Le(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Wt(e,t=""){if(!Number.isSafeInteger(e)||e<0){let r=t&&`"${t}" `;throw new Error(`${r}expected integer >= 0, got ${e}`)}}function q(e,t,r=""){let n=Le(e),o=e?.length,i=t!==void 0;if(!n||i&&o!==t){let s=r&&`"${r}" `,c=i?` of length ${t}`:"",a=n?`length=${o}`:`type=${typeof e}`;throw new Error(s+"expected Uint8Array"+c+", got "+a)}return e}function bn(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash must wrapped by utils.createHasher");Wt(e.outputLen),Wt(e.blockLen)}function rr(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Ta(e,t){q(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw new Error('"digestInto() output" expected to be of length >='+r)}function ae(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function wn(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Vt(e,t){return e<<32-t|e>>>t}var Ca=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Id=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function ce(e){if(q(e),Ca)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Id[e[r]];return t}var se={_0:48,_9:57,A:65,F:70,a:97,f:102};function Ia(e){if(e>=se._0&&e<=se._9)return e-se._0;if(e>=se.A&&e<=se.F)return e-(se.A-10);if(e>=se.a&&e<=se.f)return e-(se.a-10)}function ue(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Ca)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,i=0;o<r;o++,i+=2){let s=Ia(e.charCodeAt(i)),c=Ia(e.charCodeAt(i+1));if(s===void 0||c===void 0){let a=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+a+'" at index '+i)}n[o]=s*16+c}return n}function Tt(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];q(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let i=e[n];r.set(i,o),o+=i.length}return r}function ni(e,t={}){let r=(o,i)=>e(i).update(o).digest(),n=e(void 0);return r.outputLen=n.outputLen,r.blockLen=n.blockLen,r.create=o=>e(o),Object.assign(r,t),Object.freeze(r)}function nr(e=32){let t=typeof globalThis=="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return t.getRandomValues(new Uint8Array(e))}var oi=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function Ba(e,t,r){return e&t^~e&r}function _a(e,t,r){return e&t^e&r^t&r}var Lr=class{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(t,r,n,o){this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=wn(this.buffer)}update(t){rr(this),q(t);let{view:r,buffer:n,blockLen:o}=this,i=t.length;for(let s=0;s<i;){let c=Math.min(o-this.pos,i-s);if(c===o){let a=wn(t);for(;o<=i-s;s+=o)this.process(a,s);continue}n.set(t.subarray(s,s+c),this.pos),this.pos+=c,s+=c,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){rr(this),Ta(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,ae(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let l=s;l<o;l++)r[l]=0;n.setBigUint64(o-8,BigInt(this.length*8),i),this.process(n,0);let c=wn(t),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let f=a/4,u=this.get();if(f>u.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<f;l++)c.setUint32(4*l,u[l],i)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||=new this.constructor,t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:c}=this;return t.destroyed=s,t.finished=i,t.length=o,t.pos=c,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},fe=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var ht=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var En=BigInt(4294967295),Da=BigInt(32);function Td(e,t=!1){return t?{h:Number(e&En),l:Number(e>>Da&En)}:{h:Number(e>>Da&En)|0,l:Number(e&En)|0}}function Ra(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let i=0;i<r;i++){let{h:s,l:c}=Td(e[i],t);[n[i],o[i]]=[s,c]}return[n,o]}var ii=(e,t,r)=>e>>>r,si=(e,t,r)=>e<<32-r|t>>>r,Ne=(e,t,r)=>e>>>r|t<<32-r,Ue=(e,t,r)=>e<<32-r|t>>>r,Nr=(e,t,r)=>e<<64-r|t>>>r-32,Ur=(e,t,r)=>e>>>r-32|t<<64-r;function Xt(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Pa=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),La=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Na=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Ua=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,Oa=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),ka=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var Bd=Uint32Array.from([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]),we=new Uint32Array(64),ai=class extends Lr{constructor(t){super(64,t,8,!1)}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:c,H:a}=this;return[t,r,n,o,i,s,c,a]}set(t,r,n,o,i,s,c,a){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=c|0,this.H=a|0}process(t,r){for(let l=0;l<16;l++,r+=4)we[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let y=we[l-15],v=we[l-2],b=Vt(y,7)^Vt(y,18)^y>>>3,T=Vt(v,17)^Vt(v,19)^v>>>10;we[l]=T+we[l-7]+b+we[l-16]|0}let{A:n,B:o,C:i,D:s,E:c,F:a,G:f,H:u}=this;for(let l=0;l<64;l++){let y=Vt(c,6)^Vt(c,11)^Vt(c,25),v=u+y+Ba(c,a,f)+Bd[l]+we[l]|0,T=(Vt(n,2)^Vt(n,13)^Vt(n,22))+_a(n,o,i)|0;u=f,f=a,a=c,c=s+v|0,s=i,i=o,o=n,n=v+T|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,c=c+this.E|0,a=a+this.F|0,f=f+this.G|0,u=u+this.H|0,this.set(n,o,i,s,c,a,f,u)}roundClean(){ae(we)}destroy(){this.set(0,0,0,0,0,0,0,0),ae(this.buffer)}},ci=class extends ai{A=fe[0]|0;B=fe[1]|0;C=fe[2]|0;D=fe[3]|0;E=fe[4]|0;F=fe[5]|0;G=fe[6]|0;H=fe[7]|0;constructor(){super(32)}};var Ka=Ra(["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(e=>BigInt(e))),_d=Ka[0],Dd=Ka[1],Ee=new Uint32Array(80),Se=new Uint32Array(80),ui=class extends Lr{constructor(t){super(128,t,16,!1)}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:c,Dl:a,Eh:f,El:u,Fh:l,Fl:y,Gh:v,Gl:b,Hh:T,Hl:I}=this;return[t,r,n,o,i,s,c,a,f,u,l,y,v,b,T,I]}set(t,r,n,o,i,s,c,a,f,u,l,y,v,b,T,I){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=i|0,this.Cl=s|0,this.Dh=c|0,this.Dl=a|0,this.Eh=f|0,this.El=u|0,this.Fh=l|0,this.Fl=y|0,this.Gh=v|0,this.Gl=b|0,this.Hh=T|0,this.Hl=I|0}process(t,r){for(let S=0;S<16;S++,r+=4)Ee[S]=t.getUint32(r),Se[S]=t.getUint32(r+=4);for(let S=16;S<80;S++){let N=Ee[S-15]|0,k=Se[S-15]|0,M=Ne(N,k,1)^Ne(N,k,8)^ii(N,k,7),V=Ue(N,k,1)^Ue(N,k,8)^si(N,k,7),h=Ee[S-2]|0,p=Se[S-2]|0,_=Ne(h,p,19)^Nr(h,p,61)^ii(h,p,6),D=Ue(h,p,19)^Ur(h,p,61)^si(h,p,6),A=Na(V,D,Se[S-7],Se[S-16]),m=Ua(A,M,_,Ee[S-7],Ee[S-16]);Ee[S]=m|0,Se[S]=A|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:c,Cl:a,Dh:f,Dl:u,Eh:l,El:y,Fh:v,Fl:b,Gh:T,Gl:I,Hh:w,Hl:C}=this;for(let S=0;S<80;S++){let N=Ne(l,y,14)^Ne(l,y,18)^Nr(l,y,41),k=Ue(l,y,14)^Ue(l,y,18)^Ur(l,y,41),M=l&v^~l&T,V=y&b^~y&I,h=Oa(C,k,V,Dd[S],Se[S]),p=ka(h,w,N,M,_d[S],Ee[S]),_=h|0,D=Ne(n,o,28)^Nr(n,o,34)^Nr(n,o,39),A=Ue(n,o,28)^Ur(n,o,34)^Ur(n,o,39),m=n&i^n&c^i&c,g=o&s^o&a^s&a;w=T|0,C=I|0,T=v|0,I=b|0,v=l|0,b=y|0,{h:l,l:y}=Xt(f|0,u|0,p|0,_|0),f=c|0,u=a|0,c=i|0,a=s|0,i=n|0,s=o|0;let d=Pa(_,A,g);n=La(d,p,D,m),o=d|0}({h:n,l:o}=Xt(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=Xt(this.Bh|0,this.Bl|0,i|0,s|0),{h:c,l:a}=Xt(this.Ch|0,this.Cl|0,c|0,a|0),{h:f,l:u}=Xt(this.Dh|0,this.Dl|0,f|0,u|0),{h:l,l:y}=Xt(this.Eh|0,this.El|0,l|0,y|0),{h:v,l:b}=Xt(this.Fh|0,this.Fl|0,v|0,b|0),{h:T,l:I}=Xt(this.Gh|0,this.Gl|0,T|0,I|0),{h:w,l:C}=Xt(this.Hh|0,this.Hl|0,w|0,C|0),this.set(n,o,i,s,c,a,f,u,l,y,v,b,T,I,w,C)}roundClean(){ae(Ee,Se)}destroy(){ae(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},fi=class extends ui{Ah=ht[0]|0;Al=ht[1]|0;Bh=ht[2]|0;Bl=ht[3]|0;Ch=ht[4]|0;Cl=ht[5]|0;Dh=ht[6]|0;Dl=ht[7]|0;Eh=ht[8]|0;El=ht[9]|0;Fh=ht[10]|0;Fl=ht[11]|0;Gh=ht[12]|0;Gl=ht[13]|0;Hh=ht[14]|0;Hl=ht[15]|0;constructor(){super(64)}};var or=ni(()=>new ci,oi(1));var Va=ni(()=>new fi,oi(3));var di=BigInt(0),li=BigInt(1);function le(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}" `;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function Ma(e){if(typeof e=="bigint"){if(!Sn(e))throw new Error("positive bigint expected, got "+e)}else Wt(e);return e}function Or(e){let t=Ma(e).toString(16);return t.length&1?"0"+t:t}function $a(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?di:BigInt("0x"+e)}function ir(e){return $a(ce(e))}function Oe(e){return $a(ce(An(q(e)).reverse()))}function vn(e,t){Wt(t),e=Ma(e);let r=ue(e.toString(16).padStart(t*2,"0"));if(r.length!==t)throw new Error("number too large");return r}function hi(e,t){return vn(e,t).reverse()}function An(e){return Uint8Array.from(e)}var Sn=e=>typeof e=="bigint"&&di<=e;function Rd(e,t,r){return Sn(e)&&Sn(t)&&Sn(r)&&t<=e&&e<r}function kr(e,t,r,n){if(!Rd(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function pi(e){let t;for(t=0;e>di;e>>=li,t+=1);return t}var Kr=e=>(li<<BigInt(e))-li;function Fa(e,t,r){if(Wt(e,"hashLen"),Wt(t,"qByteLen"),typeof r!="function")throw new Error("hmacFn must be a function");let n=I=>new Uint8Array(I),o=Uint8Array.of(),i=Uint8Array.of(0),s=Uint8Array.of(1),c=1e3,a=n(e),f=n(e),u=0,l=()=>{a.fill(1),f.fill(0),u=0},y=(...I)=>r(f,Tt(a,...I)),v=(I=o)=>{f=y(i,I),a=y(),I.length!==0&&(f=y(s,I),a=y())},b=()=>{if(u++>=c)throw new Error("drbg: tried max amount of iterations");let I=0,w=[];for(;I<t;){a=y();let C=a.slice();w.push(C),I+=a.length}return Tt(...w)};return(I,w)=>{l(),v(I);let C;for(;!(C=w(b()));)v();return l(),C}}function ve(e,t={},r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(i,s,c){let a=e[i];if(c&&a===void 0)return;let f=typeof a;if(f!==s||a===null)throw new Error(`param "${i}" is invalid: expected ${s}, got ${f}`)}let o=(i,s)=>Object.entries(i).forEach(([c,a])=>n(c,a,s));o(t,!1),o(r,!0)}function sr(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let i=e(r,...n);return t.set(r,i),i}}var wt=BigInt(0),ct=BigInt(1),ke=BigInt(2),za=BigInt(3),Ga=BigInt(4),Za=BigInt(5),Pd=BigInt(7),ja=BigInt(8),Ld=BigInt(9),Ya=BigInt(16);function ot(e,t){let r=e%t;return r>=wt?r:t+r}function J(e,t,r){let n=e;for(;t-- >wt;)n*=n,n%=r;return n}function qa(e,t){if(e===wt)throw new Error("invert: expected non-zero number");if(t<=wt)throw new Error("invert: expected positive modulus, got "+t);let r=ot(e,t),n=t,o=wt,i=ct,s=ct,c=wt;for(;r!==wt;){let f=n/r,u=n%r,l=o-s*f,y=i-c*f;n=r,r=u,o=s,i=c,s=l,c=y}if(n!==ct)throw new Error("invert: does not exist");return ot(o,t)}function yi(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Wa(e,t){let r=(e.ORDER+ct)/Ga,n=e.pow(t,r);return yi(e,n,t),n}function Nd(e,t){let r=(e.ORDER-Za)/ja,n=e.mul(t,ke),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,ke),o),c=e.mul(i,e.sub(s,e.ONE));return yi(e,c,t),c}function Ud(e){let t=ar(e),r=Xa(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+Pd)/Ya;return(c,a)=>{let f=c.pow(a,s),u=c.mul(f,n),l=c.mul(f,o),y=c.mul(f,i),v=c.eql(c.sqr(u),a),b=c.eql(c.sqr(l),a);f=c.cmov(f,u,v),u=c.cmov(y,l,b);let T=c.eql(c.sqr(u),a),I=c.cmov(f,u,T);return yi(c,I,a),I}}function Xa(e){if(e<za)throw new Error("sqrt is not defined for small field");let t=e-ct,r=0;for(;t%ke===wt;)t/=ke,r++;let n=ke,o=ar(e);for(;Ha(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Wa;let i=o.pow(n,t),s=(t+ct)/ke;return function(a,f){if(a.is0(f))return f;if(Ha(a,f)!==1)throw new Error("Cannot find square root");let u=r,l=a.mul(a.ONE,i),y=a.pow(f,t),v=a.pow(f,s);for(;!a.eql(y,a.ONE);){if(a.is0(y))return a.ZERO;let b=1,T=a.sqr(y);for(;!a.eql(T,a.ONE);)if(b++,T=a.sqr(T),b===u)throw new Error("Cannot find square root");let I=ct<<BigInt(u-b-1),w=a.pow(l,I);u=b,l=a.sqr(w),y=a.mul(y,l),v=a.mul(v,w)}return v}}function Od(e){return e%Ga===za?Wa:e%ja===Za?Nd:e%Ya===Ld?Ud(e):Xa(e)}var Ja=(e,t)=>(ot(e,t)&ct)===ct,kd=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function gi(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=kd.reduce((n,o)=>(n[o]="function",n),t);return ve(e,r),e}function Kd(e,t,r){if(r<wt)throw new Error("invalid exponent, negatives unsupported");if(r===wt)return e.ONE;if(r===ct)return t;let n=e.ONE,o=t;for(;r>wt;)r&ct&&(n=e.mul(n,o)),o=e.sqr(o),r>>=ct;return n}function Vr(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((s,c,a)=>e.is0(c)?s:(n[a]=s,e.mul(s,c)),e.ONE),i=e.inv(o);return t.reduceRight((s,c,a)=>e.is0(c)?s:(n[a]=e.mul(s,n[a]),e.mul(s,c)),i),n}function Ha(e,t){let r=(e.ORDER-ct)/ke,n=e.pow(t,r),o=e.eql(n,e.ONE),i=e.eql(n,e.ZERO),s=e.eql(n,e.neg(e.ONE));if(!o&&!i&&!s)throw new Error("invalid Legendre symbol result");return o?1:i?0:-1}function Vd(e,t){t!==void 0&&Wt(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}var mi=class{ORDER;BITS;BYTES;isLE;ZERO=wt;ONE=ct;_lengths;_sqrt;_mod;constructor(t,r={}){if(t<=wt)throw new Error("invalid field: expected ORDER > 0, got "+t);let n;this.isLE=!1,r!=null&&typeof r=="object"&&(typeof r.BITS=="number"&&(n=r.BITS),typeof r.sqrt=="function"&&(this.sqrt=r.sqrt),typeof r.isLE=="boolean"&&(this.isLE=r.isLE),r.allowedLengths&&(this._lengths=r.allowedLengths?.slice()),typeof r.modFromBytes=="boolean"&&(this._mod=r.modFromBytes));let{nBitLength:o,nByteLength:i}=Vd(t,n);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=t,this.BITS=o,this.BYTES=i,this._sqrt=void 0,Object.preventExtensions(this)}create(t){return ot(t,this.ORDER)}isValid(t){if(typeof t!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof t);return wt<=t&&t<this.ORDER}is0(t){return t===wt}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}isOdd(t){return(t&ct)===ct}neg(t){return ot(-t,this.ORDER)}eql(t,r){return t===r}sqr(t){return ot(t*t,this.ORDER)}add(t,r){return ot(t+r,this.ORDER)}sub(t,r){return ot(t-r,this.ORDER)}mul(t,r){return ot(t*r,this.ORDER)}pow(t,r){return Kd(this,t,r)}div(t,r){return ot(t*qa(r,this.ORDER),this.ORDER)}sqrN(t){return t*t}addN(t,r){return t+r}subN(t,r){return t-r}mulN(t,r){return t*r}inv(t){return qa(t,this.ORDER)}sqrt(t){return this._sqrt||(this._sqrt=Od(this.ORDER)),this._sqrt(this,t)}toBytes(t){return this.isLE?hi(t,this.BYTES):vn(t,this.BYTES)}fromBytes(t,r=!1){q(t);let{_lengths:n,BYTES:o,isLE:i,ORDER:s,_mod:c}=this;if(n){if(!n.includes(t.length)||t.length>o)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+t.length);let f=new Uint8Array(o);f.set(t,i?0:f.length-t.length),t=f}if(t.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+t.length);let a=i?Oe(t):ir(t);if(c&&(a=ot(a,s)),!r&&!this.isValid(a))throw new Error("invalid field element: outside of range 0..ORDER");return a}invertBatch(t){return Vr(this,t)}cmov(t,r,n){return n?r:t}};function ar(e,t={}){return new mi(e,t)}function Qa(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function xi(e){let t=Qa(e);return t+Math.ceil(t/2)}function bi(e,t,r=!1){q(e);let n=e.length,o=Qa(t),i=xi(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?Oe(e):ir(e),c=ot(s,t-ct)+ct;return r?hi(c,o):vn(c,o)}var cr=BigInt(0),Ke=BigInt(1);function Mr(e,t){let r=t.negate();return e?r:t}function Ve(e,t){let r=Vr(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function nc(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function wi(e,t){nc(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=Kr(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function tc(e,t,r){let{windowSize:n,mask:o,maxNumber:i,shiftBy:s}=r,c=Number(e&o),a=e>>s;c>n&&(c-=i,a+=Ke);let f=t*n,u=f+Math.abs(c)-1,l=c===0,y=c<0,v=t%2!==0;return{nextN:a,offset:u,isZero:l,isNeg:y,isNegF:v,offsetF:f}}var Ei=new WeakMap,oc=new WeakMap;function Si(e){return oc.get(e)||1}function ec(e){if(e!==cr)throw new Error("invalid wNAF")}var ur=class{BASE;ZERO;Fn;bits;constructor(t,r){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=r}_unsafeLadder(t,r,n=this.ZERO){let o=t;for(;r>cr;)r&Ke&&(n=n.add(o)),o=o.double(),r>>=Ke;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=wi(r,this.bits),i=[],s=t,c=s;for(let a=0;a<n;a++){c=s,i.push(c);for(let f=1;f<o;f++)c=c.add(s),i.push(c);s=c.double()}return i}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,i=this.BASE,s=wi(t,this.bits);for(let c=0;c<s.windows;c++){let{nextN:a,offset:f,isZero:u,isNeg:l,isNegF:y,offsetF:v}=tc(n,c,s);n=a,u?i=i.add(Mr(y,r[v])):o=o.add(Mr(l,r[f]))}return ec(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=wi(t,this.bits);for(let s=0;s<i.windows&&n!==cr;s++){let{nextN:c,offset:a,isZero:f,isNeg:u}=tc(n,s,i);if(n=c,!f){let l=r[a];o=o.add(u?l.negate():l)}}return ec(n),o}getPrecomputes(t,r,n){let o=Ei.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Ei.set(r,o))),o}cached(t,r,n){let o=Si(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=Si(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){nc(r,this.bits),oc.set(t,r),Ei.delete(t)}hasCache(t){return Si(t)!==1}};function ic(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>cr||n>cr;)r&Ke&&(i=i.add(o)),n&Ke&&(s=s.add(o)),o=o.double(),r>>=Ke,n>>=Ke;return{p1:i,p2:s}}function rc(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return gi(t),t}else return ar(e,{isLE:r})}function In(e,t,r={},n){if(n===void 0&&(n=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let a of["p","n","h"]){let f=t[a];if(!(typeof f=="bigint"&&f>cr))throw new Error(`CURVE.${a} must be positive bigint`)}let o=rc(t.p,r.Fp,n),i=rc(t.n,r.Fn,n),c=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let a of c)if(!o.isValid(t[a]))throw new Error(`CURVE.${a} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:i}}function Tn(e,t){return function(n){let o=e(n);return{secretKey:o,publicKey:t(o)}}}var Ae=BigInt(0),ut=BigInt(1),vi=BigInt(2),Md=BigInt(8);function $d(e,t,r,n){let o=e.sqr(r),i=e.sqr(n),s=e.add(e.mul(t.a,o),i),c=e.add(e.ONE,e.mul(t.d,e.mul(o,i)));return e.eql(s,c)}function sc(e,t={}){let r=In("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;ve(t,{},{uvRatio:"function"});let c=vi<<BigInt(o.BYTES*8)-ut,a=I=>n.create(I),f=t.uvRatio||((I,w)=>{try{return{isValid:!0,value:n.sqrt(n.div(I,w))}}catch{return{isValid:!1,value:Ae}}});if(!$d(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function u(I,w,C=!1){let S=C?ut:Ae;return kr("coordinate "+I,w,S,c),w}function l(I){if(!(I instanceof b))throw new Error("EdwardsPoint expected")}let y=sr((I,w)=>{let{X:C,Y:S,Z:N}=I,k=I.is0();w==null&&(w=k?Md:n.inv(N));let M=a(C*w),V=a(S*w),h=n.mul(N,w);if(k)return{x:Ae,y:ut};if(h!==ut)throw new Error("invZ was invalid");return{x:M,y:V}}),v=sr(I=>{let{a:w,d:C}=i;if(I.is0())throw new Error("bad point: ZERO");let{X:S,Y:N,Z:k,T:M}=I,V=a(S*S),h=a(N*N),p=a(k*k),_=a(p*p),D=a(V*w),A=a(p*a(D+h)),m=a(_+a(C*a(V*h)));if(A!==m)throw new Error("bad point: equation left != right (1)");let g=a(S*N),d=a(k*M);if(g!==d)throw new Error("bad point: equation left != right (2)");return!0});class b{static BASE=new b(i.Gx,i.Gy,ut,a(i.Gx*i.Gy));static ZERO=new b(Ae,ut,ut,Ae);static Fp=n;static Fn=o;X;Y;Z;T;constructor(w,C,S,N){this.X=u("x",w),this.Y=u("y",C),this.Z=u("z",S,!0),this.T=u("t",N),Object.freeze(this)}static CURVE(){return i}static fromAffine(w){if(w instanceof b)throw new Error("extended point not allowed");let{x:C,y:S}=w||{};return u("x",C),u("y",S),new b(C,S,ut,a(C*S))}static fromBytes(w,C=!1){let S=n.BYTES,{a:N,d:k}=i;w=An(q(w,S,"point")),le(C,"zip215");let M=An(w),V=w[S-1];M[S-1]=V&-129;let h=Oe(M),p=C?c:n.ORDER;kr("point.y",h,Ae,p);let _=a(h*h),D=a(_-ut),A=a(k*_-N),{isValid:m,value:g}=f(D,A);if(!m)throw new Error("bad point: invalid y coordinate");let d=(g&ut)===ut,E=(V&128)!==0;if(!C&&g===Ae&&E)throw new Error("bad point: x=0 and x_0=1");return E!==d&&(g=a(-g)),b.fromAffine({x:g,y:h})}static fromHex(w,C=!1){return b.fromBytes(ue(w),C)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(w=8,C=!0){return T.createCache(this,w),C||this.multiply(vi),this}assertValidity(){v(this)}equals(w){l(w);let{X:C,Y:S,Z:N}=this,{X:k,Y:M,Z:V}=w,h=a(C*V),p=a(k*N),_=a(S*V),D=a(M*N);return h===p&&_===D}is0(){return this.equals(b.ZERO)}negate(){return new b(a(-this.X),this.Y,this.Z,a(-this.T))}double(){let{a:w}=i,{X:C,Y:S,Z:N}=this,k=a(C*C),M=a(S*S),V=a(vi*a(N*N)),h=a(w*k),p=C+S,_=a(a(p*p)-k-M),D=h+M,A=D-V,m=h-M,g=a(_*A),d=a(D*m),E=a(_*m),R=a(A*D);return new b(g,d,R,E)}add(w){l(w);let{a:C,d:S}=i,{X:N,Y:k,Z:M,T:V}=this,{X:h,Y:p,Z:_,T:D}=w,A=a(N*h),m=a(k*p),g=a(V*S*D),d=a(M*_),E=a((N+k)*(h+p)-A-m),R=d-g,L=d+g,U=a(m-C*A),O=a(E*R),K=a(L*U),F=a(E*U),tt=a(R*L);return new b(O,K,tt,F)}subtract(w){return this.add(w.negate())}multiply(w){if(!o.isValidNot0(w))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:C,f:S}=T.cached(this,w,N=>Ve(b,N));return Ve(b,[C,S])[0]}multiplyUnsafe(w,C=b.ZERO){if(!o.isValid(w))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return w===Ae?b.ZERO:this.is0()||w===ut?this:T.unsafe(this,w,S=>Ve(b,S),C)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return T.unsafe(this,i.n).is0()}toAffine(w){return y(this,w)}clearCofactor(){return s===ut?this:this.multiplyUnsafe(s)}toBytes(){let{x:w,y:C}=this.toAffine(),S=n.toBytes(C);return S[S.length-1]|=w&ut?128:0,S}toHex(){return ce(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let T=new ur(b,o.BITS);return b.BASE.precompute(8),b}function ac(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');ve(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:i,Fn:s}=e,c=r.randomBytes||nr,a=r.adjustScalarBytes||(h=>h),f=r.domain||((h,p,_)=>{if(le(_,"phflag"),p.length||_)throw new Error("Contexts/pre-hash are not supported");return h});function u(h){return s.create(Oe(h))}function l(h){let p=S.secretKey;q(h,S.secretKey,"secretKey");let _=q(t(h),2*p,"hashedSecretKey"),D=a(_.slice(0,p)),A=_.slice(p,2*p),m=u(D);return{head:D,prefix:A,scalar:m}}function y(h){let{head:p,prefix:_,scalar:D}=l(h),A=o.multiply(D),m=A.toBytes();return{head:p,prefix:_,scalar:D,point:A,pointBytes:m}}function v(h){return y(h).pointBytes}function b(h=Uint8Array.of(),...p){let _=Tt(...p);return u(t(f(_,q(h,void 0,"context"),!!n)))}function T(h,p,_={}){h=q(h,void 0,"message"),n&&(h=n(h));let{prefix:D,scalar:A,pointBytes:m}=y(p),g=b(_.context,D,h),d=o.multiply(g).toBytes(),E=b(_.context,d,m,h),R=s.create(g+E*A);if(!s.isValid(R))throw new Error("sign failed: invalid s");let L=Tt(d,s.toBytes(R));return q(L,S.signature,"result")}let I={zip215:!0};function w(h,p,_,D=I){let{context:A,zip215:m}=D,g=S.signature;h=q(h,g,"signature"),p=q(p,void 0,"message"),_=q(_,S.publicKey,"publicKey"),m!==void 0&&le(m,"zip215"),n&&(p=n(p));let d=g/2,E=h.subarray(0,d),R=Oe(h.subarray(d,g)),L,U,O;try{L=e.fromBytes(_,m),U=e.fromBytes(E,m),O=o.multiplyUnsafe(R)}catch{return!1}if(!m&&L.isSmallOrder())return!1;let K=b(A,U.toBytes(),L.toBytes(),p);return U.add(L.multiplyUnsafe(K)).subtract(O).clearCofactor().is0()}let C=i.BYTES,S={secretKey:C,publicKey:C,signature:2*C,seed:C};function N(h=c(S.seed)){return q(h,S.seed,"seed")}function k(h){return Le(h)&&h.length===s.BYTES}function M(h,p){try{return!!e.fromBytes(h,p)}catch{return!1}}let V={getExtendedPublicKey:y,randomSecretKey:N,isValidSecretKey:k,isValidPublicKey:M,toMontgomery(h){let{y:p}=e.fromBytes(h),_=S.publicKey,D=_===32;if(!D&&_!==57)throw new Error("only defined for 25519 and 448");let A=D?i.div(ut+p,ut-p):i.div(p-ut,p+ut);return i.toBytes(A)},toMontgomerySecret(h){let p=S.secretKey;q(h,p);let _=t(h.subarray(0,p));return a(_).subarray(0,p)}};return Object.freeze({keygen:Tn(N,v),getPublicKey:v,sign:T,verify:w,utils:V,Point:e,lengths:S})}var Fd=BigInt(1),cc=BigInt(2);var qd=BigInt(5),Hd=BigInt(8),Ai=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),zd={p:Ai,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Hd,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Gd(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=Ai,c=e*e%i*e%i,a=J(c,cc,i)*c%i,f=J(a,Fd,i)*e%i,u=J(f,qd,i)*f%i,l=J(u,t,i)*u%i,y=J(l,r,i)*l%i,v=J(y,n,i)*y%i,b=J(v,o,i)*v%i,T=J(b,o,i)*v%i,I=J(T,t,i)*u%i;return{pow_p_5_8:J(I,cc,i)*e%i,b2:c}}function Zd(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var uc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function jd(e,t){let r=Ai,n=ot(t*t*t,r),o=ot(n*n*t,r),i=Gd(e*o).pow_p_5_8,s=ot(e*n*i,r),c=ot(t*s*s,r),a=s,f=ot(s*uc,r),u=c===e,l=c===ot(-e,r),y=c===ot(-e*uc,r);return u&&(s=a),(l||y)&&(s=f),Ja(s,r)&&(s=ot(-s,r)),{isValid:u||l,value:s}}var Yd=sc(zd,{uvRatio:jd});function Wd(e){return ac(Yd,Va,Object.assign({adjustScalarBytes:Zd},e))}var fc=Wd({});var $r=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},Cn=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var lc={get(e=globalThis){let t=e.crypto;if(t?.subtle==null)throw new Cn("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");return t}};var Ot=lc;var Bn=32;var Ii,Xd=(async()=>{try{return await Ot.get().subtle.generateKey({name:"Ed25519"},!0,["sign","verify"]),!0}catch{return!1}})();async function Jd(e,t,r){if(e.buffer instanceof ArrayBuffer){let n=await Ot.get().subtle.importKey("raw",e.buffer,{name:"Ed25519"},!1,["verify"]);return await Ot.get().subtle.verify({name:"Ed25519"},n,t,r instanceof Uint8Array?r:r.subarray())}throw new TypeError("WebCrypto does not support SharedArrayBuffer for Ed25519 keys")}function Qd(e,t,r){return fc.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}async function dc(e,t,r){return Ii==null&&(Ii=await Xd),Ii?Jd(e,t,r):Qd(e,t,r)}function _n(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var Dn=class{type="Ed25519";raw;constructor(t){this.raw=Ti(t,Bn)}toMultihash(){return Ct.digest(er(this))}toCID(){return j.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Y(this.raw,t.raw)}verify(t,r,n){n?.signal?.throwIfAborted();let o=dc(this.raw,r,t);return _n(o)?o.then(i=>(n?.signal?.throwIfAborted(),i)):o}};function Ci(e){return e=Ti(e,Bn),new Dn(e)}function Ti(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new st(`Key must be a Uint8Array of length ${t}, got ${e.length}`);return e}var eh=Math.pow(2,7),rh=Math.pow(2,14),nh=Math.pow(2,21),Bi=Math.pow(2,28),_i=Math.pow(2,35),Di=Math.pow(2,42),Ri=Math.pow(2,49),Q=128,gt=127;function Jt(e){if(e<eh)return 1;if(e<rh)return 2;if(e<nh)return 3;if(e<Bi)return 4;if(e<_i)return 5;if(e<Di)return 6;if(e<Ri)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Fr(e,t,r=0){switch(Jt(e)){case 8:t[r++]=e&255|Q,e/=128;case 7:t[r++]=e&255|Q,e/=128;case 6:t[r++]=e&255|Q,e/=128;case 5:t[r++]=e&255|Q,e/=128;case 4:t[r++]=e&255|Q,e>>>=7;case 3:t[r++]=e&255|Q,e>>>=7;case 2:t[r++]=e&255|Q,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function Pi(e,t){let r=e[t],n=0;if(n+=r&gt,r<Q||(r=e[t+1],n+=(r&gt)<<7,r<Q)||(r=e[t+2],n+=(r&gt)<<14,r<Q)||(r=e[t+3],n+=(r&gt)<<21,r<Q)||(r=e[t+4],n+=(r&gt)*Bi,r<Q)||(r=e[t+5],n+=(r&gt)*_i,r<Q)||(r=e[t+6],n+=(r&gt)*Di,r<Q)||(r=e[t+7],n+=(r&gt)*Ri,r<Q))return n;throw new RangeError("Could not decode varint")}function oh(e,t){let r=e.get(t),n=0;if(n+=r&gt,r<Q||(r=e.get(t+1),n+=(r&gt)<<7,r<Q)||(r=e.get(t+2),n+=(r&gt)<<14,r<Q)||(r=e.get(t+3),n+=(r&gt)<<21,r<Q)||(r=e.get(t+4),n+=(r&gt)*Bi,r<Q)||(r=e.get(t+5),n+=(r&gt)*_i,r<Q)||(r=e.get(t+6),n+=(r&gt)*Di,r<Q)||(r=e.get(t+7),n+=(r&gt)*Ri,r<Q))return n;throw new RangeError("Could not decode varint")}function Li(e,t=0){return e instanceof Uint8Array?Pi(e,t):oh(e,t)}var Ni=new Float32Array([-0]),Ie=new Uint8Array(Ni.buffer);function pc(e,t,r){Ni[0]=e,t[r]=Ie[0],t[r+1]=Ie[1],t[r+2]=Ie[2],t[r+3]=Ie[3]}function mc(e,t){return Ie[0]=e[t],Ie[1]=e[t+1],Ie[2]=e[t+2],Ie[3]=e[t+3],Ni[0]}var Ui=new Float64Array([-0]),xt=new Uint8Array(Ui.buffer);function yc(e,t,r){Ui[0]=e,t[r]=xt[0],t[r+1]=xt[1],t[r+2]=xt[2],t[r+3]=xt[3],t[r+4]=xt[4],t[r+5]=xt[5],t[r+6]=xt[6],t[r+7]=xt[7]}function gc(e,t){return xt[0]=e[t],xt[1]=e[t+1],xt[2]=e[t+2],xt[3]=e[t+3],xt[4]=e[t+4],xt[5]=e[t+5],xt[6]=e[t+6],xt[7]=e[t+7],Ui[0]}var sh=BigInt(Number.MAX_SAFE_INTEGER),ah=BigInt(Number.MIN_SAFE_INTEGER),Dt=class e{lo;hi;constructor(t,r){this.lo=t|0,this.hi=r|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+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 r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(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,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return Me;if(t<sh&&t>ah)return this.fromNumber(Number(t));let r=t<0n;r&&(t=-t);let n=t>>32n,o=t-(n<<32n);return r&&(n=~n|0n,o=~o|0n,++o>xc&&(o=0n,++n>xc&&(n=0n))),new e(Number(o),Number(n))}static fromNumber(t){if(t===0)return Me;let r=t<0;r&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return r&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new e(n,o)}static from(t){return typeof t=="number"?e.fromNumber(t):typeof t=="bigint"?e.fromBigInt(t):typeof t=="string"?e.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new e(t.low>>>0,t.high>>>0):Me}},Me=new Dt(0,0);Me.toBigInt=function(){return 0n};Me.zzEncode=Me.zzDecode=function(){return this};Me.length=function(){return 1};var xc=4294967296n;function bc(e){let t=0,r=0;for(let n=0;n<e.length;++n)r=e.charCodeAt(n),r<128?t+=1:r<2048?t+=2:(r&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function wc(e,t,r){if(r-t<1)return"";let o,i=[],s=0,c;for(;t<r;)c=e[t++],c<128?i[s++]=c:c>191&&c<224?i[s++]=(c&31)<<6|e[t++]&63:c>239&&c<365?(c=((c&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,i[s++]=55296+(c>>10),i[s++]=56320+(c&1023)):i[s++]=(c&15)<<12|(e[t++]&63)<<6|e[t++]&63,s>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,i)),s=0);return o!=null?(s>0&&o.push(String.fromCharCode.apply(String,i.slice(0,s))),o.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function Oi(e,t,r){let n=r,o,i;for(let s=0;s<e.length;++s)o=e.charCodeAt(s),o<128?t[r++]=o:o<2048?(t[r++]=o>>6|192,t[r++]=o&63|128):(o&64512)===55296&&((i=e.charCodeAt(s+1))&64512)===56320?(o=65536+((o&1023)<<10)+(i&1023),++s,t[r++]=o>>18|240,t[r++]=o>>12&63|128,t[r++]=o>>6&63|128,t[r++]=o&63|128):(t[r++]=o>>12|224,t[r++]=o>>6&63|128,t[r++]=o&63|128);return r-n}function Mt(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function Rn(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var ki=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,Mt(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 Mt(this,4);return Rn(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Mt(this,4);return Rn(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Mt(this,4);let t=mc(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Mt(this,4);let t=gc(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw Mt(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return wc(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Mt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Mt(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new Dt(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*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;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw Mt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,t}if(this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw Mt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Mt(this,8);let t=Rn(this.buf,this.pos+=4),r=Rn(this.buf,this.pos+=4);return new Dt(t,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=Pi(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 Ki(e){return new ki(e instanceof Uint8Array?e:e.subarray())}function fr(e,t,r){let n=Ki(e);return t.decode(n,void 0,r)}function Vi(e){let t=e??8192,r=t>>>1,n,o=t;return function(s){if(s<1||s>r)return Bt(s);o+s>t&&(n=Bt(t),o=0);let c=n.subarray(o,o+=s);return(o&7)!==0&&(o=(o|7)+1),c}}var $e=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function Mi(){}var Fi=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},ch=Vi();function uh(e){return globalThis.Buffer!=null?Bt(e):ch(e)}var Hr=class{len;head;tail;states;constructor(){this.len=0,this.head=new $e(Mi,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new $e(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new qi((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(Pn,10,Dt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=Dt.fromBigInt(t);return this._push(Pn,r.length(),r)}uint64Number(t){return this._push(Fr,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 r=Dt.fromBigInt(t).zzEncode();return this._push(Pn,r.length(),r)}sint64Number(t){let r=Dt.fromNumber(t).zzEncode();return this._push(Pn,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push($i,1,t?1:0)}fixed32(t){return this._push(qr,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=Dt.fromBigInt(t);return this._push(qr,4,r.lo)._push(qr,4,r.hi)}fixed64Number(t){let r=Dt.fromNumber(t);return this._push(qr,4,r.lo)._push(qr,4,r.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(pc,4,t)}double(t){return this._push(yc,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push($i,1,0):this.uint32(r)._push(lh,r,t)}string(t){let r=bc(t);return r!==0?this.uint32(r)._push(Oi,r,t):this._push($i,1,0)}fork(){return this.states=new Fi(this),this.head=this.tail=new $e(Mi,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 $e(Mi,0,0),this.len=0),this}ldelim(){let t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=r,this.len+=n),this}finish(){let t=this.head.next,r=uh(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function $i(e,t,r){t[r]=e&255}function fh(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var qi=class extends $e{next;constructor(t,r){super(fh,t,r),this.next=void 0}};function Pn(e,t,r){for(;e.hi!==0;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}function qr(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function lh(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(Hr.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(dh,t,e),this},Hr.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(hh,t,e),this});function dh(e,t,r){t.set(e,r)}function hh(e,t,r){e.length<40?Oi(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(H(e),r)}function Hi(){return new Hr}function lr(e,t){let r=Hi();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var dr;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(dr||(dr={}));function Ln(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function zr(e){function t(o){if(e[o.toString()]==null)throw new Error("Invalid enum value");return e[o]}let r=function(i,s){let c=t(i);s.int32(c)},n=function(i){let s=i.int32();return t(s)};return Ln("enum",dr.VARINT,r,n)}function hr(e,t){return Ln("message",dr.LENGTH_DELIMITED,e,t)}var it;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.secp256k1="secp256k1",e.ECDSA="ECDSA"})(it||(it={}));var zi;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.secp256k1=2]="secp256k1",e[e.ECDSA=3]="ECDSA"})(zi||(zi={}));(function(e){e.codec=()=>zr(zi)})(it||(it={}));var Qt;(function(e){let t;e.codec=()=>(t==null&&(t=hr((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),it.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),o.lengthDelimited!==!1&&n.ldelim()},(r,n,o={})=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let c=r.uint32();switch(c>>>3){case 1:{i.Type=it.codec().decode(r);break}case 2:{i.Data=r.bytes();break}default:{r.skipType(c&7);break}}}return i})),t),e.encode=r=>lr(r,e.codec()),e.decode=(r,n)=>fr(r,e.codec(),n)})(Qt||(Qt={}));var Gi;(function(e){let t;e.codec=()=>(t==null&&(t=hr((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),it.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),o.lengthDelimited!==!1&&n.ldelim()},(r,n,o={})=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let c=r.uint32();switch(c>>>3){case 1:{i.Type=it.codec().decode(r);break}case 2:{i.Data=r.bytes();break}default:{r.skipType(c&7);break}}}return i})),t),e.encode=r=>lr(r,e.codec()),e.decode=(r,n)=>fr(r,e.codec(),n)})(Gi||(Gi={}));var Zr={};St(Zr,{MAX_RSA_KEY_SIZE:()=>Zi,generateRSAKeyPair:()=>Tc,jwkToJWKKeyPair:()=>Cc,jwkToPkcs1:()=>gh,jwkToPkix:()=>Xi,jwkToRSAPrivateKey:()=>es,pkcs1MessageToJwk:()=>Yi,pkcs1MessageToRSAPrivateKey:()=>Ji,pkcs1ToJwk:()=>yh,pkcs1ToRSAPrivateKey:()=>Ic,pkixMessageToJwk:()=>Wi,pkixMessageToRSAPublicKey:()=>ts,pkixToJwk:()=>xh,pkixToRSAPublicKey:()=>Qi});var pr=class{type="RSA";jwk;_raw;_multihash;constructor(t,r){this.jwk=t,this._multihash=r}get raw(){return this._raw==null&&(this._raw=Zr.jwkToPkix(this.jwk)),this._raw}toMultihash(){return this._multihash}toCID(){return j.createV1(114,this._multihash)}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Y(this.raw,t.raw)}verify(t,r,n){return Ac(this.jwk,r,t,n)}},Gr=class{type="RSA";jwk;_raw;publicKey;constructor(t,r){this.jwk=t,this.publicKey=r}get raw(){return this._raw==null&&(this._raw=Zr.jwkToPkcs1(this.jwk)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Y(this.raw,t.raw)}sign(t,r){return vc(this.jwk,t,r)}};var Zi=8192,ji=18,ph=1062,mh=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function yh(e){let t=ie(e);return Yi(t)}function Yi(e){return{n:z(e[1],"base64url"),e:z(e[2],"base64url"),d:z(e[3],"base64url"),p:z(e[4],"base64url"),q:z(e[5],"base64url"),dp:z(e[6],"base64url"),dq:z(e[7],"base64url"),qi:z(e[8],"base64url"),kty:"RSA"}}function gh(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new st("JWK was missing components");return be([It(Uint8Array.from([0])),It(H(e.n,"base64url")),It(H(e.e,"base64url")),It(H(e.d,"base64url")),It(H(e.p,"base64url")),It(H(e.q,"base64url")),It(H(e.dp,"base64url")),It(H(e.dq,"base64url")),It(H(e.qi,"base64url"))]).subarray()}function xh(e){let t=ie(e,{offset:0});return Wi(t)}function Wi(e){let t=ie(e[1],{offset:0});return{kty:"RSA",n:z(t[0],"base64url"),e:z(t[1],"base64url")}}function Xi(e){if(e.n==null||e.e==null)throw new st("JWK was missing components");return be([mh,xn(be([It(H(e.n,"base64url")),It(H(e.e,"base64url"))]))]).subarray()}function Ic(e){let t=ie(e);return Ji(t)}function Ji(e){let t=Yi(e);return es(t)}function Qi(e,t){if(e.byteLength>=ph)throw new Ge("Key size is too large");let r=ie(e,{offset:0});return ts(r,e,t)}function ts(e,t,r){let n=Wi(e);if(r==null){let o=or(Qt.encode({Type:it.RSA,Data:t}));r=Yt(ji,o)}return new pr(n,r)}function es(e){if(_c(e)>Zi)throw new st("Key size is too large");let t=Cc(e),r=or(Qt.encode({Type:it.RSA,Data:Xi(t.publicKey)})),n=Yt(ji,r);return new Gr(t.privateKey,new pr(t.publicKey,n))}async function Tc(e){if(e>Zi)throw new st("Key size is too large");let t=await Bc(e),r=or(Qt.encode({Type:it.RSA,Data:Xi(t.publicKey)})),n=Yt(ji,r);return new Gr(t.privateKey,new pr(t.publicKey,n))}function Cc(e){if(e==null)throw new st("Missing key parameter");return{privateKey:e,publicKey:{kty:e.kty,n:e.n,e:e.e}}}async function Bc(e,t){let r=await Ot.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]);t?.signal?.throwIfAborted();let n=await bh(r,t);return{privateKey:n[0],publicKey:n[1]}}async function vc(e,t,r){let n=await Ot.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]);r?.signal?.throwIfAborted();let o=await Ot.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},n,t instanceof Uint8Array?t:t.subarray());return r?.signal?.throwIfAborted(),new Uint8Array(o,0,o.byteLength)}async function Ac(e,t,r,n){let o=await Ot.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);n?.signal?.throwIfAborted();let i=await Ot.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},o,t,r instanceof Uint8Array?r:r.subarray());return n?.signal?.throwIfAborted(),i}async function bh(e,t){if(e.privateKey==null||e.publicKey==null)throw new st("Private and public key are required");let r=await Promise.all([Ot.get().subtle.exportKey("jwk",e.privateKey),Ot.get().subtle.exportKey("jwk",e.publicKey)]);return t?.signal?.throwIfAborted(),r}function _c(e){if(e.kty!=="RSA")throw new st("invalid key type");if(e.n==null)throw new st("invalid key modulus");return H(e.n,"base64url").length*8}var Nn=class{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(t,r){if(bn(t),q(r,void 0,"key"),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 n=this.blockLen,o=new Uint8Array(n);o.set(r.length>n?t.create().update(r).digest():r);for(let i=0;i<o.length;i++)o[i]^=54;this.iHash.update(o),this.oHash=t.create();for(let i=0;i<o.length;i++)o[i]^=106;this.oHash.update(o),ae(o)}update(t){return rr(this),this.iHash.update(t),this}digestInto(t){rr(this),q(t,this.outputLen,"output"),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||=Object.create(Object.getPrototypeOf(this),{});let{oHash:r,iHash:n,finished:o,destroyed:i,blockLen:s,outputLen:c}=this;return t=t,t.finished=o,t.destroyed=i,t.blockLen=s,t.outputLen=c,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},rs=(e,t,r)=>new Nn(e,t).update(r).digest();rs.create=(e,t)=>new Nn(e,t);var Dc=(e,t)=>(e+(e>=0?t:-t)/Rc)/t;function wh(e,t,r){let[[n,o],[i,s]]=t,c=Dc(s*e,r),a=Dc(-o*e,r),f=e-c*n-a*i,u=-c*o-a*s,l=f<de,y=u<de;l&&(f=-f),y&&(u=-u);let v=Kr(Math.ceil(pi(r)/2))+mr;if(f<de||f>=v||u<de||u>=v)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:l,k1:f,k2neg:y,k2:u}}function os(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function ns(e,t){let r={};for(let n of Object.keys(t))r[n]=e[n]===void 0?t[n]:e[n];return le(r.lowS,"lowS"),le(r.prehash,"prehash"),r.format!==void 0&&os(r.format),r}var is=class extends Error{constructor(t=""){super(t)}},Te={Err:is,_tlv:{encode:(e,t)=>{let{Err:r}=Te;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length&1)throw new r("tlv.encode: unpadded data");let n=t.length/2,o=Or(n);if(o.length/2&128)throw new r("tlv.encode: long form length too big");let i=n>127?Or(o.length/2|128):"";return Or(e)+i+o+t},decode(e,t){let{Err:r}=Te,n=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[n++]!==e)throw new r("tlv.decode: wrong tlv");let o=t[n++],i=!!(o&128),s=0;if(!i)s=o;else{let a=o&127;if(!a)throw new r("tlv.decode(long): indefinite length not supported");if(a>4)throw new r("tlv.decode(long): byte length is too big");let f=t.subarray(n,n+a);if(f.length!==a)throw new r("tlv.decode: length bytes not complete");if(f[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let u of f)s=s<<8|u;if(n+=a,s<128)throw new r("tlv.decode(long): not minimal encoding")}let c=t.subarray(n,n+s);if(c.length!==s)throw new r("tlv.decode: wrong value length");return{v:c,l:t.subarray(n+s)}}},_int:{encode(e){let{Err:t}=Te;if(e<de)throw new t("integer: negative integers are not allowed");let r=Or(e);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=Te;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return ir(e)}},toSig(e){let{Err:t,_int:r,_tlv:n}=Te,o=q(e,void 0,"signature"),{v:i,l:s}=n.decode(48,o);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:c,l:a}=n.decode(2,i),{v:f,l:u}=n.decode(2,a);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(c),s:r.decode(f)}},hexFromSig(e){let{_tlv:t,_int:r}=Te,n=t.encode(2,r.encode(e.r)),o=t.encode(2,r.encode(e.s)),i=n+o;return t.encode(48,i)}},de=BigInt(0),mr=BigInt(1),Rc=BigInt(2),Un=BigInt(3),Eh=BigInt(4);function Pc(e,t={}){let r=In("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:c}=i;ve(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:a}=t;if(a&&(!n.is0(i.a)||typeof a.beta!="bigint"||!Array.isArray(a.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let f=Nc(n,o);function u(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function l(A,m,g){let{x:d,y:E}=m.toAffine(),R=n.toBytes(d);if(le(g,"isCompressed"),g){u();let L=!n.isOdd(E);return Tt(Lc(L),R)}else return Tt(Uint8Array.of(4),R,n.toBytes(E))}function y(A){q(A,void 0,"Point");let{publicKey:m,publicKeyUncompressed:g}=f,d=A.length,E=A[0],R=A.subarray(1);if(d===m&&(E===2||E===3)){let L=n.fromBytes(R);if(!n.isValid(L))throw new Error("bad point: is not on curve, wrong x");let U=T(L),O;try{O=n.sqrt(U)}catch(tt){let W=tt instanceof Error?": "+tt.message:"";throw new Error("bad point: is not on curve, sqrt error"+W)}u();let K=n.isOdd(O);return(E&1)===1!==K&&(O=n.neg(O)),{x:L,y:O}}else if(d===g&&E===4){let L=n.BYTES,U=n.fromBytes(R.subarray(0,L)),O=n.fromBytes(R.subarray(L,L*2));if(!I(U,O))throw new Error("bad point: is not on curve");return{x:U,y:O}}else throw new Error(`bad point: got length ${d}, expected compressed=${m} or uncompressed=${g}`)}let v=t.toBytes||l,b=t.fromBytes||y;function T(A){let m=n.sqr(A),g=n.mul(m,A);return n.add(n.add(g,n.mul(A,i.a)),i.b)}function I(A,m){let g=n.sqr(m),d=T(A);return n.eql(g,d)}if(!I(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let w=n.mul(n.pow(i.a,Un),Eh),C=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(w,C)))throw new Error("bad curve params: a or b");function S(A,m,g=!1){if(!n.isValid(m)||g&&n.is0(m))throw new Error(`bad point coordinate ${A}`);return m}function N(A){if(!(A instanceof p))throw new Error("Weierstrass Point expected")}function k(A){if(!a||!a.basises)throw new Error("no endo");return wh(A,a.basises,o.ORDER)}let M=sr((A,m)=>{let{X:g,Y:d,Z:E}=A;if(n.eql(E,n.ONE))return{x:g,y:d};let R=A.is0();m==null&&(m=R?n.ONE:n.inv(E));let L=n.mul(g,m),U=n.mul(d,m),O=n.mul(E,m);if(R)return{x:n.ZERO,y:n.ZERO};if(!n.eql(O,n.ONE))throw new Error("invZ was invalid");return{x:L,y:U}}),V=sr(A=>{if(A.is0()){if(t.allowInfinityPoint&&!n.is0(A.Y))return;throw new Error("bad point: ZERO")}let{x:m,y:g}=A.toAffine();if(!n.isValid(m)||!n.isValid(g))throw new Error("bad point: x or y not field elements");if(!I(m,g))throw new Error("bad point: equation left != right");if(!A.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function h(A,m,g,d,E){return g=new p(n.mul(g.X,A),g.Y,g.Z),m=Mr(d,m),g=Mr(E,g),m.add(g)}class p{static BASE=new p(i.Gx,i.Gy,n.ONE);static ZERO=new p(n.ZERO,n.ONE,n.ZERO);static Fp=n;static Fn=o;X;Y;Z;constructor(m,g,d){this.X=S("x",m),this.Y=S("y",g,!0),this.Z=S("z",d),Object.freeze(this)}static CURVE(){return i}static fromAffine(m){let{x:g,y:d}=m||{};if(!m||!n.isValid(g)||!n.isValid(d))throw new Error("invalid affine point");if(m instanceof p)throw new Error("projective point not allowed");return n.is0(g)&&n.is0(d)?p.ZERO:new p(g,d,n.ONE)}static fromBytes(m){let g=p.fromAffine(b(q(m,void 0,"point")));return g.assertValidity(),g}static fromHex(m){return p.fromBytes(ue(m))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(m=8,g=!0){return D.createCache(this,m),g||this.multiply(Un),this}assertValidity(){V(this)}hasEvenY(){let{y:m}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(m)}equals(m){N(m);let{X:g,Y:d,Z:E}=this,{X:R,Y:L,Z:U}=m,O=n.eql(n.mul(g,U),n.mul(R,E)),K=n.eql(n.mul(d,U),n.mul(L,E));return O&&K}negate(){return new p(this.X,n.neg(this.Y),this.Z)}double(){let{a:m,b:g}=i,d=n.mul(g,Un),{X:E,Y:R,Z:L}=this,U=n.ZERO,O=n.ZERO,K=n.ZERO,F=n.mul(E,E),tt=n.mul(R,R),W=n.mul(L,L),G=n.mul(E,R);return G=n.add(G,G),K=n.mul(E,L),K=n.add(K,K),U=n.mul(m,K),O=n.mul(d,W),O=n.add(U,O),U=n.sub(tt,O),O=n.add(tt,O),O=n.mul(U,O),U=n.mul(G,U),K=n.mul(d,K),W=n.mul(m,W),G=n.sub(F,W),G=n.mul(m,G),G=n.add(G,K),K=n.add(F,F),F=n.add(K,F),F=n.add(F,W),F=n.mul(F,G),O=n.add(O,F),W=n.mul(R,L),W=n.add(W,W),F=n.mul(W,G),U=n.sub(U,F),K=n.mul(W,tt),K=n.add(K,K),K=n.add(K,K),new p(U,O,K)}add(m){N(m);let{X:g,Y:d,Z:E}=this,{X:R,Y:L,Z:U}=m,O=n.ZERO,K=n.ZERO,F=n.ZERO,tt=i.a,W=n.mul(i.b,Un),G=n.mul(g,R),et=n.mul(d,L),dt=n.mul(E,U),Zt=n.add(g,d),rt=n.add(R,L);Zt=n.mul(Zt,rt),rt=n.add(G,et),Zt=n.sub(Zt,rt),rt=n.add(g,E);let yt=n.add(R,U);return rt=n.mul(rt,yt),yt=n.add(G,dt),rt=n.sub(rt,yt),yt=n.add(d,E),O=n.add(L,U),yt=n.mul(yt,O),O=n.add(et,dt),yt=n.sub(yt,O),F=n.mul(tt,rt),O=n.mul(W,dt),F=n.add(O,F),O=n.sub(et,F),F=n.add(et,F),K=n.mul(O,F),et=n.add(G,G),et=n.add(et,G),dt=n.mul(tt,dt),rt=n.mul(W,rt),et=n.add(et,dt),dt=n.sub(G,dt),dt=n.mul(tt,dt),rt=n.add(rt,dt),G=n.mul(et,rt),K=n.add(K,G),G=n.mul(yt,rt),O=n.mul(Zt,O),O=n.sub(O,G),G=n.mul(Zt,et),F=n.mul(yt,F),F=n.add(F,G),new p(O,K,F)}subtract(m){return this.add(m.negate())}is0(){return this.equals(p.ZERO)}multiply(m){let{endo:g}=t;if(!o.isValidNot0(m))throw new Error("invalid scalar: out of range");let d,E,R=L=>D.cached(this,L,U=>Ve(p,U));if(g){let{k1neg:L,k1:U,k2neg:O,k2:K}=k(m),{p:F,f:tt}=R(U),{p:W,f:G}=R(K);E=tt.add(G),d=h(g.beta,F,W,L,O)}else{let{p:L,f:U}=R(m);d=L,E=U}return Ve(p,[d,E])[0]}multiplyUnsafe(m){let{endo:g}=t,d=this;if(!o.isValid(m))throw new Error("invalid scalar: out of range");if(m===de||d.is0())return p.ZERO;if(m===mr)return d;if(D.hasCache(this))return this.multiply(m);if(g){let{k1neg:E,k1:R,k2neg:L,k2:U}=k(m),{p1:O,p2:K}=ic(p,d,R,U);return h(g.beta,O,K,E,L)}else return D.unsafe(d,m)}toAffine(m){return M(this,m)}isTorsionFree(){let{isTorsionFree:m}=t;return s===mr?!0:m?m(p,this):D.unsafe(this,c).is0()}clearCofactor(){let{clearCofactor:m}=t;return s===mr?this:m?m(p,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(m=!0){return le(m,"isCompressed"),this.assertValidity(),v(p,this,m)}toHex(m=!0){return ce(this.toBytes(m))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let _=o.BITS,D=new ur(p,t.endo?Math.ceil(_/2):_);return p.BASE.precompute(8),p}function Lc(e){return Uint8Array.of(e?2:3)}function Nc(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Sh(e,t={}){let{Fn:r}=e,n=t.randomBytes||nr,o=Object.assign(Nc(e.Fp,r),{seed:xi(r.ORDER)});function i(v){try{let b=r.fromBytes(v);return r.isValidNot0(b)}catch{return!1}}function s(v,b){let{publicKey:T,publicKeyUncompressed:I}=o;try{let w=v.length;return b===!0&&w!==T||b===!1&&w!==I?!1:!!e.fromBytes(v)}catch{return!1}}function c(v=n(o.seed)){return bi(q(v,o.seed,"seed"),r.ORDER)}function a(v,b=!0){return e.BASE.multiply(r.fromBytes(v)).toBytes(b)}function f(v){let{secretKey:b,publicKey:T,publicKeyUncompressed:I}=o;if(!Le(v)||"_lengths"in r&&r._lengths||b===T)return;let w=q(v,void 0,"key").length;return w===T||w===I}function u(v,b,T=!0){if(f(v)===!0)throw new Error("first arg must be private key");if(f(b)===!1)throw new Error("second arg must be public key");let I=r.fromBytes(v);return e.fromBytes(b).multiply(I).toBytes(T)}let l={isValidSecretKey:i,isValidPublicKey:s,randomSecretKey:c},y=Tn(c,a);return Object.freeze({getPublicKey:a,getSharedSecret:u,keygen:y,Point:e,utils:l,lengths:o})}function Uc(e,t,r={}){bn(t),ve(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let n=r.randomBytes||nr,o=r.hmac||((g,d)=>rs(t,g,d)),{Fp:i,Fn:s}=e,{ORDER:c,BITS:a}=s,{keygen:f,getPublicKey:u,getSharedSecret:l,utils:y,lengths:v}=Sh(e,r),b={prehash:!0,lowS:typeof r.lowS=="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},T=c*Rc<i.ORDER;function I(g){let d=c>>mr;return g>d}function w(g,d){if(!s.isValidNot0(d))throw new Error(`invalid signature ${g}: out of range 1..Point.Fn.ORDER`);return d}function C(){if(T)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function S(g,d){os(d);let E=v.signature,R=d==="compact"?E:d==="recovered"?E+1:void 0;return q(g,R)}class N{r;s;recovery;constructor(d,E,R){if(this.r=w("r",d),this.s=w("s",E),R!=null){if(C(),![0,1,2,3].includes(R))throw new Error("invalid recovery id");this.recovery=R}Object.freeze(this)}static fromBytes(d,E=b.format){S(d,E);let R;if(E==="der"){let{r:K,s:F}=Te.toSig(q(d));return new N(K,F)}E==="recovered"&&(R=d[0],E="compact",d=d.subarray(1));let L=v.signature/2,U=d.subarray(0,L),O=d.subarray(L,L*2);return new N(s.fromBytes(U),s.fromBytes(O),R)}static fromHex(d,E){return this.fromBytes(ue(d),E)}assertRecovery(){let{recovery:d}=this;if(d==null)throw new Error("invalid recovery id: must be present");return d}addRecoveryBit(d){return new N(this.r,this.s,d)}recoverPublicKey(d){let{r:E,s:R}=this,L=this.assertRecovery(),U=L===2||L===3?E+c:E;if(!i.isValid(U))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let O=i.toBytes(U),K=e.fromBytes(Tt(Lc((L&1)===0),O)),F=s.inv(U),tt=M(q(d,void 0,"msgHash")),W=s.create(-tt*F),G=s.create(R*F),et=e.BASE.multiplyUnsafe(W).add(K.multiplyUnsafe(G));if(et.is0())throw new Error("invalid recovery: point at infinify");return et.assertValidity(),et}hasHighS(){return I(this.s)}toBytes(d=b.format){if(os(d),d==="der")return ue(Te.hexFromSig(this));let{r:E,s:R}=this,L=s.toBytes(E),U=s.toBytes(R);return d==="recovered"?(C(),Tt(Uint8Array.of(this.assertRecovery()),L,U)):Tt(L,U)}toHex(d){return ce(this.toBytes(d))}}let k=r.bits2int||function(d){if(d.length>8192)throw new Error("input is too large");let E=ir(d),R=d.length*8-a;return R>0?E>>BigInt(R):E},M=r.bits2int_modN||function(d){return s.create(k(d))},V=Kr(a);function h(g){return kr("num < 2^"+a,g,de,V),s.toBytes(g)}function p(g,d){return q(g,void 0,"message"),d?q(t(g),void 0,"prehashed message"):g}function _(g,d,E){let{lowS:R,prehash:L,extraEntropy:U}=ns(E,b);g=p(g,L);let O=M(g),K=s.fromBytes(d);if(!s.isValidNot0(K))throw new Error("invalid private key");let F=[h(K),h(O)];if(U!=null&&U!==!1){let et=U===!0?n(v.secretKey):U;F.push(q(et,void 0,"extraEntropy"))}let tt=Tt(...F),W=O;function G(et){let dt=k(et);if(!s.isValidNot0(dt))return;let Zt=s.inv(dt),rt=e.BASE.multiply(dt).toAffine(),yt=s.create(rt.x);if(yt===de)return;let ln=s.create(Zt*s.create(W+yt*K));if(ln===de)return;let $s=(rt.x===yt?0:2)|Number(rt.y&mr),Fs=ln;return R&&I(ln)&&(Fs=s.neg(ln),$s^=1),new N(yt,Fs,T?void 0:$s)}return{seed:tt,k2sig:G}}function D(g,d,E={}){let{seed:R,k2sig:L}=_(g,d,E);return Fa(t.outputLen,s.BYTES,o)(R,L).toBytes(E.format)}function A(g,d,E,R={}){let{lowS:L,prehash:U,format:O}=ns(R,b);if(E=q(E,void 0,"publicKey"),d=p(d,U),!Le(g)){let K=g instanceof N?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+K)}S(g,O);try{let K=N.fromBytes(g,O),F=e.fromBytes(E);if(L&&K.hasHighS())return!1;let{r:tt,s:W}=K,G=M(d),et=s.inv(W),dt=s.create(G*et),Zt=s.create(tt*et),rt=e.BASE.multiplyUnsafe(dt).add(F.multiplyUnsafe(Zt));return rt.is0()?!1:s.create(rt.x)===tt}catch{return!1}}function m(g,d,E={}){let{prehash:R}=ns(E,b);return d=p(d,R),N.fromBytes(g,"recovered").recoverPublicKey(d).toBytes()}return Object.freeze({keygen:f,getPublicKey:u,getSharedSecret:l,utils:y,lengths:v,Point:e,sign:D,verify:A,recoverPublicKey:m,Signature:N,hash:t})}var as={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},vh={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var Oc=BigInt(2);function Ah(e){let t=as.p,r=BigInt(3),n=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),c=BigInt(44),a=BigInt(88),f=e*e*e%t,u=f*f*e%t,l=J(u,r,t)*u%t,y=J(l,r,t)*u%t,v=J(y,Oc,t)*f%t,b=J(v,o,t)*v%t,T=J(b,i,t)*b%t,I=J(T,c,t)*T%t,w=J(I,a,t)*I%t,C=J(w,c,t)*T%t,S=J(C,r,t)*u%t,N=J(S,s,t)*b%t,k=J(N,n,t)*f%t,M=J(k,Oc,t);if(!ss.eql(ss.sqr(M),e))throw new Error("Cannot find square root");return M}var ss=ar(as.p,{sqrt:Ah}),Ih=Pc(as,{Fp:ss,endo:vh}),yr=Uc(Ih,or);function kc(e,t,r,n){let o=_r.digest(r instanceof Uint8Array?r:r.subarray());if(_n(o))return o.then(({digest:i})=>(n?.signal?.throwIfAborted(),yr.verify(t,i,e,{prehash:!1,format:"der"}))).catch(i=>{throw i.name==="AbortError"?i:new $r(String(i))});try{return n?.signal?.throwIfAborted(),yr.verify(t,o.digest,e,{prehash:!1,format:"der"})}catch(i){throw new $r(String(i))}}var On=class{type="secp256k1";raw;_key;constructor(t){this._key=Vc(t),this.raw=Kc(this._key)}toMultihash(){return Ct.digest(er(this))}toCID(){return j.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Y(this.raw,t.raw)}verify(t,r,n){return kc(this._key,r,t,n)}};function cs(e){return new On(e)}function Kc(e){return yr.Point.fromBytes(e).toBytes()}function Vc(e){try{return yr.Point.fromBytes(e),e}catch(t){throw new Ge(String(t))}}function Mc(e,t){let{Type:r,Data:n}=Qt.decode(e),o=n??new Uint8Array;switch(r){case it.RSA:return Qi(o,t);case it.Ed25519:return Ci(o);case it.secp256k1:return cs(o);case it.ECDSA:return ri(o);default:throw new je}}function kn(e){let{Type:t,Data:r}=Qt.decode(e.digest),n=r??new Uint8Array;switch(t){case it.Ed25519:return Ci(n);case it.secp256k1:return cs(n);case it.ECDSA:return ri(n);default:throw new je}}function er(e){return Qt.encode({Type:it[e.type],Data:e.raw})}var $c=Symbol.for("nodejs.util.inspect.custom"),Th=114,jr=class{type;multihash;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Oo]=!0;toString(){return this.string==null&&(this.string=X.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return j.createV1(Th,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return Y(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return Y(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[$c](){return`PeerId(${this.toString()})`}},Kn=class extends jr{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Vn=class extends jr{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},Mn=class extends jr{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},Ch=2336,Yr=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Ct.digest(H(this.url))}[$c](){return`PeerId(${this.url})`}[Oo]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return j.createV1(Ch,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=z(t)),t.toString()===this.toString())}};var Bh=114,Fc=2336;function qc(e,t){let r;if(e.charAt(0)==="1"||e.charAt(0)==="Q")r=Re(X.decode(`z${e}`));else{if(e.startsWith("k51qzi5uqu5")||e.startsWith("kzwfwjn5ji4")||e.startsWith("k2k4r8")||e.startsWith("bafz"))return us(j.parse(e));if(t==null)throw new st('Please pass a multibase decoder for strings that do not start with "1" or "Q"');r=Re(t.decode(e))}return Hc(r)}function Hc(e){if(Dh(e))return new Kn({multihash:e});if(_h(e))try{let t=kn(e);if(t.type==="Ed25519")return new Vn({multihash:e,publicKey:t});if(t.type==="secp256k1")return new Mn({multihash:e,publicKey:t})}catch{let r=z(e.digest);return new Yr(new URL(r))}throw new Ze("Supplied PeerID Multihash is invalid")}function us(e){if(e?.multihash==null||e.version==null||e.version===1&&e.code!==Bh&&e.code!==Fc)throw new mn("Supplied PeerID CID is invalid");if(e.code===Fc){let t=z(e.multihash.digest);return new Yr(new URL(t))}return Hc(e.multihash)}function _h(e){return e.code===Ct.code}function Dh(e){return e.code===_r.code}var pt=class extends Error{static name="InvalidMultiaddrError";name="InvalidMultiaddrError"},he=class extends Error{static name="ValidationError";name="ValidationError"},$n=class extends Error{static name="InvalidParametersError";name="InvalidParametersError"},Fn=class extends Error{static name="UnknownProtocolError";name="UnknownProtocolError"};var qn=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}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 r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,o){return this.readAtomically(()=>{let i=0,s=0,c=this.peekChar();if(c===void 0)return;let a=c==="0",f=2**(8*o)-1;for(;;){let u=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let y=Number.parseInt(l,t);if(!Number.isNaN(y))return y});if(u===void 0)break;if(i*=t,i+=u,i>f||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&a&&s>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let o=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[o]=s[0],r[o+1]=s[1],r[o+2]=s[2],r[o+3]=s[3],[o+4,!0]}let i=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[o,!1];r[o]=i>>8,r[o+1]=i&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,o]=t(r);if(n===16)return r;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(n+2),[c]=t(i.subarray(0,s));return r.set(i.subarray(0,c),16-c),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Rh=45,Ph=15,Hn=new qn;function zc(e){if(!(e.length>Ph))return Hn.new(e).parseWith(()=>Hn.readIPv4Addr())}function Gc(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Rh))return Hn.new(e).parseWith(()=>Hn.readIPv6Addr())}function zn(e){return!!zc(e)}function Zc(e){return!!Gc(e)}function ls(e){return t=>z(t,e)}function ds(e){return t=>H(t,e)}function gr(e){return new DataView(e.buffer).getUint16(e.byteOffset).toString()}function Fe(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,typeof e=="string"?parseInt(e):e),new Uint8Array(t)}function jc(e){let t=e.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 r=H(t[0],"base32"),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Fe(n);return Ut([r,o],r.length+o.length)}function Yc(e){let t=e.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 r=jt.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=Fe(n);return Ut([r,o],r.length+o.length)}function hs(e){let t=e.subarray(0,e.length-2),r=e.subarray(e.length-2),n=z(t,"base32"),o=gr(r);return`${n}:${o}`}var ps=function(e){e=e.toString().trim();let t=new Uint8Array(4);return e.split(/\./g).forEach((r,n)=>{let o=parseInt(r,10);if(isNaN(o)||o<0||o>255)throw new pt("Invalid byte value in IP address");t[n]=o}),t},Wc=function(e){let t=0;e=e.toString().trim();let r=e.split(":",8),n;for(n=0;n<r.length;n++){let i=zn(r[n]),s;i&&(s=ps(r[n]),r[n]=z(s.subarray(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,z(s.subarray(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let i=[n,1];for(n=9-r.length;n>0;n--)i.push("0");r.splice.apply(r,i)}let o=new Uint8Array(t+16);for(n=0;n<r.length;n++){r[n]===""&&(r[n]="0");let i=parseInt(r[n],16);if(isNaN(i)||i<0||i>65535)throw new pt("Invalid byte value in IP address");o[t++]=i>>8&255,o[t++]=i&255}return o},Xc=function(e){if(e.byteLength!==4)throw new pt("IPv4 address was incorrect length");let t=[];for(let r=0;r<e.byteLength;r++)t.push(e[r]);return t.join(".")},Jc=function(e){if(e.byteLength!==16)throw new pt("IPv6 address was incorrect length");let t=[];for(let n=0;n<e.byteLength;n+=2){let o=e[n],i=e[n+1],s=`${o.toString(16).padStart(2,"0")}${i.toString(16).padStart(2,"0")}`;t.push(s)}let r=t.join(":");try{let n=new URL(`http://[${r}]`);return n.hostname.substring(1,n.hostname.length-1)}catch{throw new pt(`Invalid IPv6 address "${r}"`)}};function Qc(e){try{let t=new URL(`http://[${e}]`);return t.hostname.substring(1,t.hostname.length-1)}catch{throw new pt(`Invalid IPv6 address "${e}"`)}}var fs=Object.values(Dr).map(e=>e.decoder),Lh=(function(){let e=fs[0].or(fs[1]);return fs.slice(2).forEach(t=>e=e.or(t)),e})();function tu(e){return Lh.decode(e)}function eu(e){return t=>e.encoder.encode(t)}function Nh(e){if(parseInt(e).toString()!==e)throw new he("Value must be an integer")}function Uh(e){if(e<0)throw new he("Value must be a positive integer, or zero")}function Oh(e){return t=>{if(t>e)throw new he(`Value must be smaller than or equal to ${e}`)}}function kh(...e){return t=>{for(let r of e)r(t)}}var Wr=kh(Nh,Uh,Oh(65535));var ft=-1,ms=class{protocolsByCode=new Map;protocolsByName=new Map;getProtocol(t){let r;if(typeof t=="string"?r=this.protocolsByName.get(t):r=this.protocolsByCode.get(t),r==null)throw new Fn(`Protocol ${t} was unknown`);return r}addProtocol(t){this.protocolsByCode.set(t.code,t),this.protocolsByName.set(t.name,t),t.aliases?.forEach(r=>{this.protocolsByName.set(r,t)})}removeProtocol(t){let r=this.protocolsByCode.get(t);r!=null&&(this.protocolsByCode.delete(r.code),this.protocolsByName.delete(r.name),r.aliases?.forEach(n=>{this.protocolsByName.delete(n)}))}},pe=new ms,Ap=[{code:4,name:"ip4",size:32,valueToBytes:ps,bytesToValue:Xc,validate:e=>{if(!zn(e))throw new he(`Invalid IPv4 address "${e}"`)}},{code:6,name:"tcp",size:16,valueToBytes:Fe,bytesToValue:gr,validate:Wr},{code:273,name:"udp",size:16,valueToBytes:Fe,bytesToValue:gr,validate:Wr},{code:33,name:"dccp",size:16,valueToBytes:Fe,bytesToValue:gr,validate:Wr},{code:41,name:"ip6",size:128,valueToBytes:Wc,bytesToValue:Jc,stringToValue:Qc,validate:e=>{if(!Zc(e))throw new he(`Invalid IPv6 address "${e}"`)}},{code:42,name:"ip6zone",size:ft},{code:43,name:"ipcidr",size:8,bytesToValue:ls("base10"),valueToBytes:ds("base10")},{code:53,name:"dns",size:ft},{code:54,name:"dns4",size:ft},{code:55,name:"dns6",size:ft},{code:56,name:"dnsaddr",size:ft},{code:132,name:"sctp",size:16,valueToBytes:Fe,bytesToValue:gr,validate:Wr},{code:301,name:"udt"},{code:302,name:"utp"},{code:400,name:"unix",size:ft,stringToValue:e=>decodeURIComponent(e),valueToString:e=>encodeURIComponent(e)},{code:421,name:"p2p",aliases:["ipfs"],size:ft,bytesToValue:ls("base58btc"),valueToBytes:e=>e.startsWith("Q")||e.startsWith("1")?ds("base58btc")(e):j.parse(e).multihash.bytes},{code:444,name:"onion",size:96,bytesToValue:hs,valueToBytes:jc},{code:445,name:"onion3",size:296,bytesToValue:hs,valueToBytes:Yc},{code:446,name:"garlic64",size:ft},{code:447,name:"garlic32",size:ft},{code:448,name:"tls"},{code:449,name:"sni",size:ft},{code:454,name:"noise"},{code:460,name:"quic"},{code:461,name:"quic-v1"},{code:465,name:"webtransport"},{code:466,name:"certhash",size:ft,bytesToValue:eu(Lo),valueToBytes:tu},{code:480,name:"http"},{code:481,name:"http-path",size:ft,stringToValue:e=>`/${decodeURIComponent(e)}`,valueToString:e=>encodeURIComponent(e.substring(1))},{code:443,name:"https"},{code:477,name:"ws"},{code:478,name:"wss"},{code:479,name:"p2p-websocket-star"},{code:277,name:"p2p-stardust"},{code:275,name:"p2p-webrtc-star"},{code:276,name:"p2p-webrtc-direct"},{code:280,name:"webrtc-direct"},{code:281,name:"webrtc"},{code:290,name:"p2p-circuit"},{code:777,name:"memory",size:ft}];Ap.forEach(e=>{pe.addProtocol(e)});function ru(e){let t=[],r=0;for(;r<e.length;){let n=Li(e,r),o=pe.getProtocol(n),i=Jt(n),s=Ip(o,e,r+i),c=0;s>0&&o.size===ft&&(c=Jt(s));let a=i+c+s,f={code:n,name:o.name,bytes:e.subarray(r,r+a)};if(s>0){let u=r+i+c,l=e.subarray(u,u+s);f.value=o.bytesToValue?.(l)??z(l)}t.push(f),r+=a}return t}function nu(e){let t=0,r=[];for(let n of e){if(n.bytes==null){let o=pe.getProtocol(n.code),i=Jt(n.code),s,c=0,a=0;n.value!=null&&(s=o.valueToBytes?.(n.value)??H(n.value),c=s.byteLength,o.size===ft&&(a=Jt(c)));let f=new Uint8Array(i+a+c),u=0;Fr(n.code,f,u),u+=i,s!=null&&(o.size===ft&&(Fr(c,f,u),u+=a),f.set(s,u)),n.bytes=f}r.push(n.bytes),t+=n.bytes.byteLength}return Ut(r,t)}function ou(e){if(e.charAt(0)!=="/")throw new pt('String multiaddr must start with "/"');let t=[],r="protocol",n="",o="";for(let i=1;i<e.length;i++){let s=e.charAt(i);s!=="/"&&(r==="protocol"?o+=e.charAt(i):n+=e.charAt(i));let c=i===e.length-1;if(s==="/"||c){let a=pe.getProtocol(o);if(r==="protocol"){if(a.size==null||a.size===0){t.push({code:a.code,name:a.name}),n="",o="",r="protocol";continue}else if(c)throw new pt(`Component ${o} was missing value`);r="value"}else if(r==="value"){let f={code:a.code,name:a.name};if(a.size!=null&&a.size!==0){if(n==="")throw new pt(`Component ${o} was missing value`);f.value=a.stringToValue?.(n)??n}t.push(f),n="",o="",r="protocol"}}}if(o!==""&&n!=="")throw new pt("Incomplete multiaddr");return t}function iu(e){return`/${e.flatMap(t=>{if(t.value==null)return t.name;let r=pe.getProtocol(t.code);if(r==null)throw new pt(`Unknown protocol code ${t.code}`);return[t.name,r.valueToString?.(t.value)??t.value]}).join("/")}`}function Ip(e,t,r){return e.size==null||e.size===0?0:e.size>0?e.size/8:Li(t,r)}var Tp=Symbol.for("nodejs.util.inspect.custom"),ys=Symbol.for("@multiformats/multiaddr");function Cp(e){if(e==null&&(e="/"),su(e))return e.getComponents();if(e instanceof Uint8Array)return ru(e);if(typeof e=="string")return e=e.replace(/\/(\/)+/,"/").replace(/(\/)+$/,""),e===""&&(e="/"),ou(e);if(Array.isArray(e))return e;throw new pt("Must be a string, Uint8Array, Component[], or another Multiaddr")}var Gn=class e{[ys]=!0;#t;#n;#r;constructor(t="/",r={}){this.#t=Cp(t),r.validate!==!1&&Bp(this)}get bytes(){return this.#r==null&&(this.#r=nu(this.#t)),this.#r}toString(){return this.#n==null&&(this.#n=iu(this.#t)),this.#n}toJSON(){return this.toString()}getComponents(){return[...this.#t.map(t=>({...t}))]}encapsulate(t){let r=new e(t);return new e([...this.#t,...r.getComponents()],{validate:!1})}decapsulate(t){let r=t.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new $n(`Address ${this.toString()} does not contain subaddress: ${r}`);return new e(n.slice(0,o),{validate:!1})}decapsulateCode(t){let r;for(let n=this.#t.length-1;n>-1;n--)if(this.#t[n].code===t){r=n;break}return new e(this.#t.slice(0,r),{validate:!1})}equals(t){return Y(this.bytes,t.bytes)}[Tp](){return`Multiaddr(${this.toString()})`}};function Bp(e){e.getComponents().forEach(t=>{let r=pe.getProtocol(t.code);t.value!=null&&r.validate?.(t.value)})}function su(e){return!!e?.[ys]}function Zn(e){return new Gn(e)}function Xr(e){let t=new globalThis.AbortController;function r(){t.abort();for(let i of e)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}for(let i of e){if(i?.aborted===!0){r();break}i?.addEventListener!=null&&i.addEventListener("abort",r)}function n(){for(let i of e)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}let o=t.signal;return o.clear=n,o}async function*jn(e,t={}){let r=e.getReader();try{for(;;){let n=await r.read();if(n.done)return;yield n.value}}finally{t.preventCancel!==!0&&await r.cancel(),r.releaseLock()}}var l0=Io(xs(),1);var $t=class extends Error{static name="SignatureVerificationError";constructor(t="Record signature verification failed"){super(t),this.name="SignatureVerificationError"}},Yn=class extends Error{static name="RecordExpiredError";constructor(t="Record has expired"){super(t),this.name="RecordExpiredError"}},xr=class extends Error{static name="UnsupportedValidityError";constructor(t="The validity type is unsupported"){super(t),this.name="UnsupportedValidityError"}},Wn=class extends Error{static name="RecordTooLargeError";constructor(t="The record is too large"){super(t),this.name="RecordTooLargeError"}},Xn=class extends Error{static name="InvalidValueError";constructor(t="Value must be a valid content path starting with /"){super(t),this.name="InvalidValueError"}},Jn=class extends Error{static name="InvalidRecordDataError";constructor(t="Invalid record data"){super(t),this.name="InvalidRecordDataError"}},Jr=class extends Error{static name="InvalidEmbeddedPublicKeyError";constructor(t="Invalid embedded public key"){super(t),this.name="InvalidEmbeddedPublicKeyError"}};var Ft;(function(e){let t;(function(o){o.EOL="EOL"})(t=e.ValidityType||(e.ValidityType={}));let r;(function(o){o[o.EOL=0]="EOL"})(r||(r={})),(function(o){o.codec=()=>zr(r)})(t=e.ValidityType||(e.ValidityType={}));let n;e.codec=()=>(n==null&&(n=hr((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.value!=null&&(i.uint32(10),i.bytes(o.value)),o.signatureV1!=null&&(i.uint32(18),i.bytes(o.signatureV1)),o.validityType!=null&&(i.uint32(24),e.ValidityType.codec().encode(o.validityType,i)),o.validity!=null&&(i.uint32(34),i.bytes(o.validity)),o.sequence!=null&&(i.uint32(40),i.uint64(o.sequence)),o.ttl!=null&&(i.uint32(48),i.uint64(o.ttl)),o.pubKey!=null&&(i.uint32(58),i.bytes(o.pubKey)),o.signatureV2!=null&&(i.uint32(66),i.bytes(o.signatureV2)),o.data!=null&&(i.uint32(74),i.bytes(o.data)),s.lengthDelimited!==!1&&i.ldelim()},(o,i,s={})=>{let c={},a=i==null?o.len:o.pos+i;for(;o.pos<a;){let f=o.uint32();switch(f>>>3){case 1:{c.value=o.bytes();break}case 2:{c.signatureV1=o.bytes();break}case 3:{c.validityType=e.ValidityType.codec().decode(o);break}case 4:{c.validity=o.bytes();break}case 5:{c.sequence=o.uint64();break}case 6:{c.ttl=o.uint64();break}case 7:{c.pubKey=o.bytes();break}case 8:{c.signatureV2=o.bytes();break}case 9:{c.data=o.bytes();break}default:{o.skipType(f&7);break}}}return c})),n),e.encode=o=>lr(o,e.codec()),e.decode=(o,i)=>fr(o,e.codec(),i)})(Ft||(Ft={}));var _p=["string","number","bigint","symbol"],Dp=["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 au(e){if(e===null)return"null";if(e===void 0)return"undefined";if(e===!0||e===!1)return"boolean";let t=typeof e;if(_p.includes(t))return t;if(t==="function")return"Function";if(Array.isArray(e))return"Array";if(Rp(e))return"Buffer";let r=Pp(e);return r||"Object"}function Rp(e){return e&&e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer.call(null,e)}function Pp(e){let t=Object.prototype.toString.call(e).slice(8,-1);if(Dp.includes(t))return t}var x=class{constructor(t,r,n){this.major=t,this.majorEncoded=t<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(t){return this.major<t.major?-1:this.major>t.major?1:0}};x.uint=new x(0,"uint",!0);x.negint=new x(1,"negint",!0);x.bytes=new x(2,"bytes",!0);x.string=new x(3,"string",!0);x.array=new x(4,"array",!1);x.map=new x(5,"map",!1);x.tag=new x(6,"tag",!1);x.float=new x(7,"float",!0);x.false=new x(7,"false",!0);x.true=new x(7,"true",!0);x.null=new x(7,"null",!0);x.undefined=new x(7,"undefined",!0);x.break=new x(7,"break",!0);var P=class{constructor(t,r,n){this.type=t,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var br=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Lp=new TextDecoder,Np=new TextEncoder;function Qn(e){return br&&globalThis.Buffer.isBuffer(e)}function bs(e){return e instanceof Uint8Array?Qn(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e:Uint8Array.from(e)}var lu=br?(e,t,r)=>r-t>64?globalThis.Buffer.from(e.subarray(t,r)).toString("utf8"):uu(e,t,r):(e,t,r)=>r-t>64?Lp.decode(e.subarray(t,r)):uu(e,t,r),du=br?e=>e.length>64?globalThis.Buffer.from(e):cu(e):e=>e.length>64?Np.encode(e):cu(e),te=e=>Uint8Array.from(e),wr=br?(e,t,r)=>Qn(e)?new Uint8Array(e.subarray(t,r)):e.slice(t,r):(e,t,r)=>e.slice(t,r),hu=br?(e,t)=>(e=e.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),bs(globalThis.Buffer.concat(e,t))):(e,t)=>{let r=new Uint8Array(t),n=0;for(let o of e)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},pu=br?e=>globalThis.Buffer.allocUnsafe(e):e=>new Uint8Array(e);function to(e,t){if(Qn(e)&&Qn(t))return e.compare(t);for(let r=0;r<e.length;r++)if(e[r]!==t[r])return e[r]<t[r]?-1:1;return 0}function cu(e){let t=[],r=0;for(let n=0;n<e.length;n++){let o=e.charCodeAt(n);o<128?t[r++]=o:o<2048?(t[r++]=o>>6|192,t[r++]=o&63|128):(o&64512)===55296&&n+1<e.length&&(e.charCodeAt(n+1)&64512)===56320?(o=65536+((o&1023)<<10)+(e.charCodeAt(++n)&1023),t[r++]=o>>18|240,t[r++]=o>>12&63|128,t[r++]=o>>6&63|128,t[r++]=o&63|128):(t[r++]=o>>12|224,t[r++]=o>>6&63|128,t[r++]=o&63|128)}return t}function uu(e,t,r){let n=[];for(;t<r;){let o=e[t],i=null,s=o>239?4:o>223?3:o>191?2:1;if(t+s<=r){let c,a,f,u;switch(s){case 1:o<128&&(i=o);break;case 2:c=e[t+1],(c&192)===128&&(u=(o&31)<<6|c&63,u>127&&(i=u));break;case 3:c=e[t+1],a=e[t+2],(c&192)===128&&(a&192)===128&&(u=(o&15)<<12|(c&63)<<6|a&63,u>2047&&(u<55296||u>57343)&&(i=u));break;case 4:c=e[t+1],a=e[t+2],f=e[t+3],(c&192)===128&&(a&192)===128&&(f&192)===128&&(u=(o&15)<<18|(c&63)<<12|(a&63)<<6|f&63,u>65535&&u<1114112&&(i=u))}}i===null?(i=65533,s=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|i&1023),n.push(i),t+=s}return Up(n)}var fu=4096;function Up(e){let t=e.length;if(t<=fu)return String.fromCharCode.apply(String,e);let r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=fu));return r}var Op=256,Qr=class{constructor(t=Op){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 r=this.chunks[this.chunks.length-1];if(this.cursor+t.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(t,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}t.length<64&&t.length<this.chunkSize?(r=pu(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(t,0)):(this.chunks.push(t),this.maxCursor+=t.length)}this.cursor+=t.length}toBytes(t=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];t&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=wr(n,0,this.cursor)}else r=hu(this.chunks,this.cursor);return t&&this.reset(),r}};var $="CBOR decode error:",ws="CBOR encode error:",tn=[];tn[23]=1;tn[24]=2;tn[25]=3;tn[26]=5;tn[27]=9;function me(e,t,r){if(e.length-t<r)throw new Error(`${$} not enough data for type`)}var lt=[24,256,65536,4294967296,BigInt("18446744073709551616")];function Rt(e,t,r){me(e,t,1);let n=e[t];if(r.strict===!0&&n<lt[0])throw new Error(`${$} integer encoded in more bytes than necessary (strict decode)`);return n}function Pt(e,t,r){me(e,t,2);let n=e[t]<<8|e[t+1];if(r.strict===!0&&n<lt[1])throw new Error(`${$} integer encoded in more bytes than necessary (strict decode)`);return n}function Lt(e,t,r){me(e,t,4);let n=e[t]*16777216+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];if(r.strict===!0&&n<lt[2])throw new Error(`${$} integer encoded in more bytes than necessary (strict decode)`);return n}function Nt(e,t,r){me(e,t,8);let n=e[t]*16777216+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3],o=e[t+4]*16777216+(e[t+5]<<16)+(e[t+6]<<8)+e[t+7],i=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&i<lt[3])throw new Error(`${$} integer encoded in more bytes than necessary (strict decode)`);if(i<=Number.MAX_SAFE_INTEGER)return Number(i);if(r.allowBigInt===!0)return i;throw new Error(`${$} integers outside of the safe integer range are not supported`)}function mu(e,t,r,n){return new P(x.uint,Rt(e,t+1,n),2)}function yu(e,t,r,n){return new P(x.uint,Pt(e,t+1,n),3)}function gu(e,t,r,n){return new P(x.uint,Lt(e,t+1,n),5)}function xu(e,t,r,n){return new P(x.uint,Nt(e,t+1,n),9)}function kt(e,t){return mt(e,0,t.value)}function mt(e,t,r){if(r<lt[0]){let n=Number(r);e.push([t|n])}else if(r<lt[1]){let n=Number(r);e.push([t|24,n])}else if(r<lt[2]){let n=Number(r);e.push([t|25,n>>>8,n&255])}else if(r<lt[3]){let n=Number(r);e.push([t|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<lt[4]){let o=[t|27,0,0,0,0,0,0,0],i=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=i&255,i=i>>8,o[7]=i&255,i=i>>8,o[6]=i&255,i=i>>8,o[5]=i&255,o[4]=s&255,s=s>>8,o[3]=s&255,s=s>>8,o[2]=s&255,s=s>>8,o[1]=s&255,e.push(o)}else throw new Error(`${$} encountered BigInt larger than allowable range`)}}kt.encodedSize=function(t){return mt.encodedSize(t.value)};mt.encodedSize=function(t){return t<lt[0]?1:t<lt[1]?2:t<lt[2]?3:t<lt[3]?5:9};kt.compareTokens=function(t,r){return t.value<r.value?-1:t.value>r.value?1:0};function bu(e,t,r,n){return new P(x.negint,-1-Rt(e,t+1,n),2)}function wu(e,t,r,n){return new P(x.negint,-1-Pt(e,t+1,n),3)}function Eu(e,t,r,n){return new P(x.negint,-1-Lt(e,t+1,n),5)}var Es=BigInt(-1),Su=BigInt(1);function vu(e,t,r,n){let o=Nt(e,t+1,n);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new P(x.negint,i,9)}if(n.allowBigInt!==!0)throw new Error(`${$} integers outside of the safe integer range are not supported`);return new P(x.negint,Es-BigInt(o),9)}function eo(e,t){let r=t.value,n=typeof r=="bigint"?r*Es-Su:r*-1-1;mt(e,t.type.majorEncoded,n)}eo.encodedSize=function(t){let r=t.value,n=typeof r=="bigint"?r*Es-Su:r*-1-1;return n<lt[0]?1:n<lt[1]?2:n<lt[2]?3:n<lt[3]?5:9};eo.compareTokens=function(t,r){return t.value<r.value?1:t.value>r.value?-1:0};function en(e,t,r,n){me(e,t,r+n);let o=wr(e,t+r,t+r+n);return new P(x.bytes,o,r+n)}function Au(e,t,r,n){return en(e,t,1,r)}function Iu(e,t,r,n){return en(e,t,2,Rt(e,t+1,n))}function Tu(e,t,r,n){return en(e,t,3,Pt(e,t+1,n))}function Cu(e,t,r,n){return en(e,t,5,Lt(e,t+1,n))}function Bu(e,t,r,n){let o=Nt(e,t+1,n);if(typeof o=="bigint")throw new Error(`${$} 64-bit integer bytes lengths not supported`);return en(e,t,9,o)}function ro(e){return e.encodedBytes===void 0&&(e.encodedBytes=e.type===x.string?du(e.value):e.value),e.encodedBytes}function Er(e,t){let r=ro(t);mt(e,t.type.majorEncoded,r.length),e.push(r)}Er.encodedSize=function(t){let r=ro(t);return mt.encodedSize(r.length)+r.length};Er.compareTokens=function(t,r){return Kp(ro(t),ro(r))};function Kp(e,t){return e.length<t.length?-1:e.length>t.length?1:to(e,t)}function rn(e,t,r,n,o){let i=r+n;me(e,t,i);let s=new P(x.string,lu(e,t+r,t+i),i);return o.retainStringBytes===!0&&(s.byteValue=wr(e,t+r,t+i)),s}function _u(e,t,r,n){return rn(e,t,1,r,n)}function Du(e,t,r,n){return rn(e,t,2,Rt(e,t+1,n),n)}function Ru(e,t,r,n){return rn(e,t,3,Pt(e,t+1,n),n)}function Pu(e,t,r,n){return rn(e,t,5,Lt(e,t+1,n),n)}function Lu(e,t,r,n){let o=Nt(e,t+1,n);if(typeof o=="bigint")throw new Error(`${$} 64-bit integer string lengths not supported`);return rn(e,t,9,o,n)}var Nu=Er;function Sr(e,t,r,n){return new P(x.array,n,r)}function Uu(e,t,r,n){return Sr(e,t,1,r)}function Ou(e,t,r,n){return Sr(e,t,2,Rt(e,t+1,n))}function ku(e,t,r,n){return Sr(e,t,3,Pt(e,t+1,n))}function Ku(e,t,r,n){return Sr(e,t,5,Lt(e,t+1,n))}function Vu(e,t,r,n){let o=Nt(e,t+1,n);if(typeof o=="bigint")throw new Error(`${$} 64-bit integer array lengths not supported`);return Sr(e,t,9,o)}function Mu(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${$} indefinite length items not allowed`);return Sr(e,t,1,1/0)}function no(e,t){mt(e,x.array.majorEncoded,t.value)}no.compareTokens=kt.compareTokens;no.encodedSize=function(t){return mt.encodedSize(t.value)};function vr(e,t,r,n){return new P(x.map,n,r)}function $u(e,t,r,n){return vr(e,t,1,r)}function Fu(e,t,r,n){return vr(e,t,2,Rt(e,t+1,n))}function qu(e,t,r,n){return vr(e,t,3,Pt(e,t+1,n))}function Hu(e,t,r,n){return vr(e,t,5,Lt(e,t+1,n))}function zu(e,t,r,n){let o=Nt(e,t+1,n);if(typeof o=="bigint")throw new Error(`${$} 64-bit integer map lengths not supported`);return vr(e,t,9,o)}function Gu(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${$} indefinite length items not allowed`);return vr(e,t,1,1/0)}function oo(e,t){mt(e,x.map.majorEncoded,t.value)}oo.compareTokens=kt.compareTokens;oo.encodedSize=function(t){return mt.encodedSize(t.value)};function Zu(e,t,r,n){return new P(x.tag,r,1)}function ju(e,t,r,n){return new P(x.tag,Rt(e,t+1,n),2)}function Yu(e,t,r,n){return new P(x.tag,Pt(e,t+1,n),3)}function Wu(e,t,r,n){return new P(x.tag,Lt(e,t+1,n),5)}function Xu(e,t,r,n){return new P(x.tag,Nt(e,t+1,n),9)}function io(e,t){mt(e,x.tag.majorEncoded,t.value)}io.compareTokens=kt.compareTokens;io.encodedSize=function(t){return mt.encodedSize(t.value)};var Hp=20,zp=21,Gp=22,Zp=23;function Ju(e,t,r,n){if(n.allowUndefined===!1)throw new Error(`${$} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new P(x.null,null,1):new P(x.undefined,void 0,1)}function Qu(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${$} indefinite length items not allowed`);return new P(x.break,void 0,1)}function Ss(e,t,r){if(r){if(r.allowNaN===!1&&Number.isNaN(e))throw new Error(`${$} NaN values are not supported`);if(r.allowInfinity===!1&&(e===1/0||e===-1/0))throw new Error(`${$} Infinity values are not supported`)}return new P(x.float,e,t)}function tf(e,t,r,n){return Ss(vs(e,t+1),3,n)}function ef(e,t,r,n){return Ss(As(e,t+1),5,n)}function rf(e,t,r,n){return Ss(af(e,t+1),9,n)}function so(e,t,r){let n=t.value;if(n===!1)e.push([x.float.majorEncoded|Hp]);else if(n===!0)e.push([x.float.majorEncoded|zp]);else if(n===null)e.push([x.float.majorEncoded|Gp]);else if(n===void 0)e.push([x.float.majorEncoded|Zp]);else{let o,i=!1;(!r||r.float64!==!0)&&(of(n),o=vs(qt,1),n===o||Number.isNaN(n)?(qt[0]=249,e.push(qt.slice(0,3)),i=!0):(sf(n),o=As(qt,1),n===o&&(qt[0]=250,e.push(qt.slice(0,5)),i=!0))),i||(jp(n),o=af(qt,1),qt[0]=251,e.push(qt.slice(0,9)))}}so.encodedSize=function(t,r){let n=t.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){of(n);let o=vs(qt,1);if(n===o||Number.isNaN(n))return 3;if(sf(n),o=As(qt,1),n===o)return 5}return 9};var nf=new ArrayBuffer(9),Kt=new DataView(nf,1),qt=new Uint8Array(nf,0);function of(e){if(e===1/0)Kt.setUint16(0,31744,!1);else if(e===-1/0)Kt.setUint16(0,64512,!1);else if(Number.isNaN(e))Kt.setUint16(0,32256,!1);else{Kt.setFloat32(0,e);let t=Kt.getUint32(0),r=(t&2139095040)>>23,n=t&8388607;if(r===255)Kt.setUint16(0,31744,!1);else if(r===0)Kt.setUint16(0,(e&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?Kt.setUint16(0,0):o<-14?Kt.setUint16(0,(t&2147483648)>>16|1<<24+o,!1):Kt.setUint16(0,(t&2147483648)>>16|o+15<<10|n>>13,!1)}}}function vs(e,t){if(e.length-t<2)throw new Error(`${$} not enough data for float16`);let r=(e[t]<<8)+e[t+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,i;return n===0?i=o*2**-24:n!==31?i=(o+1024)*2**(n-25):i=o===0?1/0:NaN,r&32768?-i:i}function sf(e){Kt.setFloat32(0,e,!1)}function As(e,t){if(e.length-t<4)throw new Error(`${$} not enough data for float32`);let r=(e.byteOffset||0)+t;return new DataView(e.buffer,r,4).getFloat32(0,!1)}function jp(e){Kt.setFloat64(0,e,!1)}function af(e,t){if(e.length-t<8)throw new Error(`${$} not enough data for float64`);let r=(e.byteOffset||0)+t;return new DataView(e.buffer,r,8).getFloat64(0,!1)}so.compareTokens=kt.compareTokens;function Z(e,t,r){throw new Error(`${$} encountered invalid minor (${r}) for major ${e[t]>>>5}`)}function ao(e){return()=>{throw new Error(`${$} ${e}`)}}var B=[];for(let e=0;e<=23;e++)B[e]=Z;B[24]=mu;B[25]=yu;B[26]=gu;B[27]=xu;B[28]=Z;B[29]=Z;B[30]=Z;B[31]=Z;for(let e=32;e<=55;e++)B[e]=Z;B[56]=bu;B[57]=wu;B[58]=Eu;B[59]=vu;B[60]=Z;B[61]=Z;B[62]=Z;B[63]=Z;for(let e=64;e<=87;e++)B[e]=Au;B[88]=Iu;B[89]=Tu;B[90]=Cu;B[91]=Bu;B[92]=Z;B[93]=Z;B[94]=Z;B[95]=ao("indefinite length bytes/strings are not supported");for(let e=96;e<=119;e++)B[e]=_u;B[120]=Du;B[121]=Ru;B[122]=Pu;B[123]=Lu;B[124]=Z;B[125]=Z;B[126]=Z;B[127]=ao("indefinite length bytes/strings are not supported");for(let e=128;e<=151;e++)B[e]=Uu;B[152]=Ou;B[153]=ku;B[154]=Ku;B[155]=Vu;B[156]=Z;B[157]=Z;B[158]=Z;B[159]=Mu;for(let e=160;e<=183;e++)B[e]=$u;B[184]=Fu;B[185]=qu;B[186]=Hu;B[187]=zu;B[188]=Z;B[189]=Z;B[190]=Z;B[191]=Gu;for(let e=192;e<=215;e++)B[e]=Zu;B[216]=ju;B[217]=Yu;B[218]=Wu;B[219]=Xu;B[220]=Z;B[221]=Z;B[222]=Z;B[223]=Z;for(let e=224;e<=243;e++)B[e]=ao("simple values are not supported");B[244]=Z;B[245]=Z;B[246]=Z;B[247]=Ju;B[248]=ao("simple values are not supported");B[249]=tf;B[250]=ef;B[251]=rf;B[252]=Z;B[253]=Z;B[254]=Z;B[255]=Qu;var Ht=[];for(let e=0;e<24;e++)Ht[e]=new P(x.uint,e,1);for(let e=-1;e>=-24;e--)Ht[31-e]=new P(x.negint,e,1);Ht[64]=new P(x.bytes,new Uint8Array(0),1);Ht[96]=new P(x.string,"",1);Ht[128]=new P(x.array,0,1);Ht[160]=new P(x.map,0,1);Ht[244]=new P(x.false,!1,1);Ht[245]=new P(x.true,!0,1);Ht[246]=new P(x.null,null,1);function cf(e){switch(e.type){case x.false:return te([244]);case x.true:return te([245]);case x.null:return te([246]);case x.bytes:return e.value.length?void 0:te([64]);case x.string:return e.value===""?te([96]):void 0;case x.array:return e.value===0?te([128]):void 0;case x.map:return e.value===0?te([160]):void 0;case x.uint:return e.value<24?te([Number(e.value)]):void 0;case x.negint:if(e.value>=-24)return te([31-Number(e.value)])}}var ff=Object.freeze({float64:!0,mapSorter:Qp,quickEncodeToken:cf});function Wp(){let e=[];return e[x.uint.major]=kt,e[x.negint.major]=eo,e[x.bytes.major]=Er,e[x.string.major]=Nu,e[x.array.major]=no,e[x.map.major]=oo,e[x.tag.major]=io,e[x.float.major]=so,e}var Xp=Wp(),Is=new Qr,uo=class e{constructor(t,r){this.obj=t,this.parent=r}includes(t){let r=this;do if(r.obj===t)return!0;while(r=r.parent);return!1}static createCheck(t,r){if(t&&t.includes(r))throw new Error(`${ws} object contains circular references`);return new e(r,t)}},Ce={null:new P(x.null,null),undefined:new P(x.undefined,void 0),true:new P(x.true,!0),false:new P(x.false,!1),emptyArray:new P(x.array,0),emptyMap:new P(x.map,0)},Be={number(e,t,r,n){return!Number.isInteger(e)||!Number.isSafeInteger(e)?new P(x.float,e):e>=0?new P(x.uint,e):new P(x.negint,e)},bigint(e,t,r,n){return e>=BigInt(0)?new P(x.uint,e):new P(x.negint,e)},Uint8Array(e,t,r,n){return new P(x.bytes,e)},string(e,t,r,n){return new P(x.string,e)},boolean(e,t,r,n){return e?Ce.true:Ce.false},null(e,t,r,n){return Ce.null},undefined(e,t,r,n){return Ce.undefined},ArrayBuffer(e,t,r,n){return new P(x.bytes,new Uint8Array(e))},DataView(e,t,r,n){return new P(x.bytes,new Uint8Array(e.buffer,e.byteOffset,e.byteLength))},Array(e,t,r,n){if(!e.length)return r.addBreakTokens===!0?[Ce.emptyArray,new P(x.break)]:Ce.emptyArray;n=uo.createCheck(n,e);let o=[],i=0;for(let s of e)o[i++]=co(s,r,n);return r.addBreakTokens?[new P(x.array,e.length),o,new P(x.break)]:[new P(x.array,e.length),o]},Object(e,t,r,n){let o=t!=="Object",i=o?e.keys():Object.keys(e),s=o?e.size:i.length;if(!s)return r.addBreakTokens===!0?[Ce.emptyMap,new P(x.break)]:Ce.emptyMap;n=uo.createCheck(n,e);let c=[],a=0;for(let f of i)c[a++]=[co(f,r,n),co(o?e.get(f):e[f],r,n)];return Jp(c,r),r.addBreakTokens?[new P(x.map,s),c,new P(x.break)]:[new P(x.map,s),c]}};Be.Map=Be.Object;Be.Buffer=Be.Uint8Array;for(let e of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Be[`${e}Array`]=Be.DataView;function co(e,t={},r){let n=au(e),o=t&&t.typeEncoders&&t.typeEncoders[n]||Be[n];if(typeof o=="function"){let s=o(e,n,t,r);if(s!=null)return s}let i=Be[n];if(!i)throw new Error(`${ws} unsupported type: ${n}`);return i(e,n,t,r)}function Jp(e,t){t.mapSorter&&e.sort(t.mapSorter)}function Qp(e,t){if(e[0]instanceof P&&t[0]instanceof P){let r=e[0],n=t[0];return r._keyBytes||(r._keyBytes=uf(r.value)),n._keyBytes||(n._keyBytes=uf(n.value)),to(r._keyBytes,n._keyBytes)}throw new Error("rfc8949MapSorter: complex key types are not supported yet")}function uf(e){return t0(e,Xp,ff)}function lf(e,t,r,n){if(Array.isArray(t))for(let o of t)lf(e,o,r,n);else r[t.type.major](e,t,n)}function t0(e,t,r){let n=co(e,r);if(!Array.isArray(n)&&r.quickEncodeToken){let o=r.quickEncodeToken(n);if(o)return o;let i=t[n.type.major];if(i.encodedSize){let s=i.encodedSize(n,r),c=new Qr(s);if(i(c,n,r),c.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return bs(c.chunks[0])}}return Is.reset(),lf(Is,n,t,r),Is.toBytes(!0)}var e0={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},fo=class{constructor(t,r={}){this._pos=0,this.data=t,this.options=r}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let t=this.data[this._pos],r=Ht[t];if(r===void 0){let n=B[t];if(!n)throw new Error(`${$} no decoder for major type ${t>>>5} (byte 0x${t.toString(16).padStart(2,"0")})`);let o=t&31;r=n(this.data,this._pos,o,this.options)}return this._pos+=r.encodedLength,r}},nn=Symbol.for("DONE"),lo=Symbol.for("BREAK");function r0(e,t,r){let n=[];for(let o=0;o<e.value;o++){let i=Ar(t,r);if(i===lo){if(e.value===1/0)break;throw new Error(`${$} got unexpected break to lengthed array`)}if(i===nn)throw new Error(`${$} found array but not enough entries (got ${o}, expected ${e.value})`);n[o]=i}return n}function n0(e,t,r){let n=r.useMaps===!0,o=n?void 0:{},i=n?new Map:void 0;for(let s=0;s<e.value;s++){let c=Ar(t,r);if(c===lo){if(e.value===1/0)break;throw new Error(`${$} got unexpected break to lengthed map`)}if(c===nn)throw new Error(`${$} found map but not enough entries (got ${s} [no key], expected ${e.value})`);if(n!==!0&&typeof c!="string")throw new Error(`${$} non-string keys not supported (got ${typeof c})`);if(r.rejectDuplicateMapKeys===!0&&(n&&i.has(c)||!n&&c in o))throw new Error(`${$} found repeat map key "${c}"`);let a=Ar(t,r);if(a===nn)throw new Error(`${$} found map but not enough entries (got ${s} [no value], expected ${e.value})`);n?i.set(c,a):o[c]=a}return n?i:o}function Ar(e,t){if(e.done())return nn;let r=e.next();if(r.type===x.break)return lo;if(r.type.terminal)return r.value;if(r.type===x.array)return r0(r,e,t);if(r.type===x.map)return n0(r,e,t);if(r.type===x.tag){if(t.tags&&typeof t.tags[r.value]=="function"){let n=Ar(e,t);return t.tags[r.value](n)}throw new Error(`${$} tag not supported (${r.value})`)}throw new Error("unsupported")}function df(e,t){if(!(e instanceof Uint8Array))throw new Error(`${$} data to decode must be a Uint8Array`);t=Object.assign({},e0,t);let r=t.tokenizer||new fo(e,t),n=Ar(r,t);if(n===nn)throw new Error(`${$} did not find any content to decode`);if(n===lo)throw new Error(`${$} got unexpected break`);return[n,e.subarray(r.pos())]}function Ts(e,t){let[r,n]=df(e,t);if(n.length>0)throw new Error(`${$} too many terminals, data makes no sense`);return r}var s0=xe("ipns:utils"),hf=H("/ipns/");var a0=0,c0=18;function pf(e){let t;if(e.pubKey!=null)try{t=Mc(e.pubKey)}catch(r){throw s0.error(r),r}if(t!=null)return t}function mf(e){let t=H("ipns-signature:");return Ut([t,e])}function He(e){return"signatureV1"in e?Ft.encode({value:H(e.value),signatureV1:e.signatureV1,validityType:e.validityType,validity:H(e.validity),sequence:e.sequence,ttl:e.ttl,pubKey:e.pubKey,signatureV2:e.signatureV2,data:e.data}):Ft.encode({pubKey:e.pubKey,signatureV2:e.signatureV2,data:e.data})}function ee(e){let t=Ft.decode(e);if(t.sequence!=null&&(t.sequence=BigInt(t.sequence)),t.ttl!=null&&(t.ttl=BigInt(t.ttl)),t.signatureV2==null||t.data==null)throw new $t("Missing data or signatureV2");let r=yf(t.data),n=u0(r.Value),o=z(r.Validity);if(t.value!=null&&t.signatureV1!=null)return f0(t),{value:n,validityType:Ft.ValidityType.EOL,validity:o,sequence:r.Sequence,ttl:r.TTL,pubKey:t.pubKey,signatureV1:t.signatureV1,signatureV2:t.signatureV2,data:t.data};if(t.signatureV2!=null)return{value:n,validityType:Ft.ValidityType.EOL,validity:o,sequence:r.Sequence,ttl:r.TTL,pubKey:t.pubKey,signatureV2:t.signatureV2,data:t.data};throw new Error("invalid record: does not include signatureV1 or signatureV2")}function on(e){return Ut([hf,e.bytes])}function ye(e){let t=Re(e.slice(hf.length));if(!ho(t,a0)&&!ho(t,c0))throw new Ze("Multihash in IPNS key was not identity or sha2-256");return t}function yf(e){let t=Ts(e);if(t.ValidityType===0)t.ValidityType=Ft.ValidityType.EOL;else throw new xr("The validity type is unsupported");return Number.isInteger(t.Sequence)&&(t.Sequence=BigInt(t.Sequence)),Number.isInteger(t.TTL)&&(t.TTL=BigInt(t.TTL)),t}function u0(e){let t=z(e).trim();if(t.startsWith("/"))return t;try{return`/ipfs/${j.decode(e).toV1().toString()}`}catch{}try{return`/ipfs/${j.parse(t).toV1().toString()}`}catch{}throw new Xn("Value must be a valid content path starting with /")}function f0(e){if(e.data==null)throw new Jn("Record data is missing");let t=yf(e.data);if(!Y(t.Value,e.value??new Uint8Array(0)))throw new $t('Field "value" did not match between protobuf and CBOR');if(!Y(t.Validity,e.validity??new Uint8Array(0)))throw new $t('Field "validity" did not match between protobuf and CBOR');if(t.ValidityType!==e.validityType)throw new $t('Field "validityType" did not match between protobuf and CBOR');if(t.Sequence!==e.sequence)throw new $t('Field "sequence" did not match between protobuf and CBOR');if(t.TTL!==e.ttl)throw new $t('Field "ttl" did not match between protobuf and CBOR')}function ho(e,t){return e.code===t}var q1=xe("ipns"),H1=300*1e9,d0="/ipns/",z1=d0.length;var gf=Io(xs(),1);var po=xe("ipns:validator"),h0=1024*10;async function p0(e,t){let r=ee(t),n;try{let o=mf(r.data);n=await e.verify(o,r.signatureV2)}catch{n=!1}if(!n)throw po.error("record signature verification failed"),new $t("Record signature verification failed");if(r.validityType===Ft.ValidityType.EOL){if(gf.default.fromString(r.validity).toDate().getTime()<Date.now())throw po.error("record has expired"),new Yn("record has expired")}else if(r.validityType!=null)throw po.error("the validity type is unsupported"),new xr("The validity type is unsupported");po("ipns record for %s is valid",r.value)}async function xf(e,t){if(t.byteLength>h0)throw new Wn("The record is too large");let r=ye(e),n;ho(r,0)&&(n=kn(r));let o=ee(t),i=pf(o)??n;if(i==null)throw new Jr("Could not extract public key from IPNS record or routing key");let s=on(i.toMultihash());if(!Y(s,e))throw new Jr("Embedded public key did not match routing key");await p0(i,t)}var mo=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MESSAGE_LENGTH"};async function*sn(e,t={}){let r=/\r?\n/,n=new TextDecoder("utf8"),o="";for await(let i of e){if(typeof i=="string"&&(i=new TextEncoder().encode(i)),Qe(i)&&(i=i.subarray()),o+=n.decode(i,{stream:!0}),o.length>(t?.maxMessageLength??o.length))throw new mo("Incoming message too long");let s=o.split(r);o=s.pop()??"";for(let c=0;c<s.length;c++)yield JSON.parse(s[c])}o+=n.decode(),o!==""&&(yield JSON.parse(o))}function re(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var Bs=Io(wf(),1);var _s=class e extends Error{name="TimeoutError";constructor(t,r){super(t,r),Error.captureStackTrace?.(this,e)}},Ef=e=>e.reason??new DOMException("This operation was aborted.","AbortError");function Ds(e,t){let{milliseconds:r,fallback:n,message:o,customTimers:i={setTimeout,clearTimeout},signal:s}=t,c,a,u=new Promise((l,y)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(s?.aborted){y(Ef(s));return}if(s&&(a=()=>{y(Ef(s))},s.addEventListener("abort",a,{once:!0})),e.then(l,y),r===Number.POSITIVE_INFINITY)return;let v=new _s;c=i.setTimeout.call(void 0,()=>{if(n){try{l(n())}catch(b){y(b)}return}typeof e.cancel=="function"&&e.cancel(),o===!1?l():o instanceof Error?y(o):(v.message=o??`Promise timed out after ${r} milliseconds`,y(v))},r)}).finally(()=>{u.clear(),a&&s&&s.removeEventListener("abort",a)});return u.clear=()=>{i.clearTimeout.call(void 0,c),c=void 0},u}function Rs(e,t,r){let n=0,o=e.length;for(;o>0;){let i=Math.trunc(o/2),s=n+i;r(e[s],t)<=0?(n=++s,o-=i+1):o=i}return n}var cn=class{#t=[];enqueue(t,r){let{priority:n=0,id:o}=r??{},i={priority:n,id:o,run:t};if(this.size===0||this.#t[this.size-1].priority>=n){this.#t.push(i);return}let s=Rs(this.#t,i,(c,a)=>a.priority-c.priority);this.#t.splice(s,0,i)}setPriority(t,r){let n=this.#t.findIndex(i=>i.id===t);if(n===-1)throw new ReferenceError(`No promise function with the id "${t}" exists in the queue.`);let[o]=this.#t.splice(n,1);this.enqueue(o.run,{priority:r,id:t})}dequeue(){return this.#t.shift()?.run}filter(t){return this.#t.filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return this.#t.length}};var un=class extends Bs.default{#t;#n;#r=0;#h;#p=!1;#m=!1;#u;#b=0;#y=0;#i;#s;#e;#w;#o=0;#f;#a;#T=1n;#l=new Map;timeout;constructor(t){if(super(),t={carryoverIntervalCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:cn,...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})`);if(this.#t=t.carryoverIntervalCount??t.carryoverConcurrencyCount??!1,this.#n=t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,this.#h=t.intervalCap,this.#u=t.interval,this.#e=new t.queueClass,this.#w=t.queueClass,this.concurrency=t.concurrency,t.timeout!==void 0&&!(Number.isFinite(t.timeout)&&t.timeout>0))throw new TypeError(`Expected \`timeout\` to be a positive finite number, got \`${t.timeout}\` (${typeof t.timeout})`);this.timeout=t.timeout,this.#a=t.autoStart===!1,this.#N()}get#C(){return this.#n||this.#r<this.#h}get#B(){return this.#o<this.#f}#_(){this.#o--,this.#o===0&&this.emit("pendingZero"),this.#g(),this.emit("next")}#D(){this.#A(),this.#v(),this.#s=void 0}get#R(){let t=Date.now();if(this.#i===void 0){let r=this.#b-t;if(r<0){if(this.#y>0){let n=t-this.#y;if(n<this.#u)return this.#E(this.#u-n),!0}this.#r=this.#t?this.#o:0}else return this.#E(r),!0}return!1}#E(t){this.#s===void 0&&(this.#s=setTimeout(()=>{this.#D()},t))}#S(){this.#i&&(clearInterval(this.#i),this.#i=void 0)}#P(){this.#s&&(clearTimeout(this.#s),this.#s=void 0)}#g(){if(this.#e.size===0)return this.#S(),this.emit("empty"),this.#o===0&&(this.#P(),this.emit("idle")),!1;let t=!1;if(!this.#a){let r=!this.#R;if(this.#C&&this.#B){let n=this.#e.dequeue();this.#n||(this.#r++,this.#d()),this.emit("active"),this.#y=Date.now(),n(),r&&this.#v(),t=!0}}return t}#v(){this.#n||this.#i!==void 0||(this.#i=setInterval(()=>{this.#A()},this.#u),this.#b=Date.now()+this.#u)}#A(){this.#r===0&&this.#o===0&&this.#i&&this.#S(),this.#r=this.#t?this.#o:0,this.#x(),this.#d()}#x(){for(;this.#g(););}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.#x()}async#L(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(t.reason)},{once:!0})})}setPriority(t,r){if(typeof r!="number"||!Number.isFinite(r))throw new TypeError(`Expected \`priority\` to be a finite number, got \`${r}\` (${typeof r})`);this.#e.setPriority(t,r)}async add(t,r={}){return r.id??=(this.#T++).toString(),r={timeout:this.timeout,...r},new Promise((n,o)=>{let i=Symbol(`task-${r.id}`);this.#e.enqueue(async()=>{this.#o++,this.#l.set(i,{id:r.id,priority:r.priority??0,startTime:Date.now(),timeout:r.timeout});try{try{r.signal?.throwIfAborted()}catch(a){throw this.#n||this.#r--,this.#l.delete(i),a}let s=t({signal:r.signal});r.timeout&&(s=Ds(Promise.resolve(s),{milliseconds:r.timeout,message:`Task timed out after ${r.timeout}ms (queue has ${this.#o} running, ${this.#e.size} waiting)`})),r.signal&&(s=Promise.race([s,this.#L(r.signal)]));let c=await s;n(c),this.emit("completed",c)}catch(s){o(s),this.emit("error",s)}finally{this.#l.delete(i),queueMicrotask(()=>{this.#_()})}},r),this.emit("add"),this.#g()})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return this.#a?(this.#a=!1,this.#x(),this):this}pause(){this.#a=!0}clear(){this.#e=new this.#w,this.#I()}async onEmpty(){this.#e.size!==0&&await this.#c("empty")}async onSizeLessThan(t){this.#e.size<t||await this.#c("next",()=>this.#e.size<t)}async onIdle(){this.#o===0&&this.#e.size===0||await this.#c("idle")}async onPendingZero(){this.#o!==0&&await this.#c("pendingZero")}async onRateLimit(){this.isRateLimited||await this.#c("rateLimit")}async onRateLimitCleared(){this.isRateLimited&&await this.#c("rateLimitCleared")}async onError(){return new Promise((t,r)=>{let n=o=>{this.off("error",n),r(o)};this.on("error",n)})}async#c(t,r){return new Promise(n=>{let o=()=>{r&&!r()||(this.off(t,o),n())};this.on(t,o)})}get size(){return this.#e.size}sizeBy(t){return this.#e.filter(t).length}get pending(){return this.#o}get isPaused(){return this.#a}#N(){this.#n||(this.on("add",()=>{this.#e.size>0&&this.#d()}),this.on("next",()=>{this.#d()}))}#d(){this.#n||this.#m||(this.#m=!0,queueMicrotask(()=>{this.#m=!1,this.#I()}))}#I(){let t=this.#p,r=!this.#n&&this.#r>=this.#h&&this.#e.size>0;r!==t&&(this.#p=r,this.emit(r?"rateLimit":"rateLimitCleared"))}get isRateLimited(){return this.#p}get isSaturated(){return this.#o===this.#f&&this.#e.size>0||this.isRateLimited&&this.#e.size>0}get runningTasks(){return[...this.#l.values()].map(t=>({...t}))}};var Ir=class extends Error{static name="InvalidRequestError";constructor(t="Invalid request"){super(t),this.name="InvalidRequestError"}},zt=class extends Error{static name="BadResponseError";constructor(t="Bad response"){super(t),this.name="BadResponseError"}};function g0(e){return e[Symbol.asyncIterator]!=null}function x0(e){if(g0(e))return(async()=>{for await(let t of e)return t})();for(let t of e)return t}var go=x0;function b0(e){let[t,r]=e[Symbol.asyncIterator]!=null?[e[Symbol.asyncIterator](),Symbol.asyncIterator]:[e[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(),[r](){return this}}}var Sf=b0;function w0(e){return e[Symbol.asyncIterator]!=null}function E0(e,t){let r=0;if(w0(e))return(async function*(){for await(let a of e)yield t(a,r++)})();let n=Sf(e),{value:o,done:i}=n.next();if(i===!0)return(function*(){})();let s=t(o,r++);if(typeof s.then=="function")return(async function*(){yield await s;for(let a of n)yield t(a,r++)})();let c=t;return(function*(){yield s;for(let a of n)yield c(a,r++)})()}var xo=E0;var vf=H("/ipns/");function Af(e){return Y(e.subarray(0,vf.byteLength),vf)}var bo=class{client;constructor(t){this.client=t}async*findProviders(t,r={}){try{yield*xo(this.client.getProviders(t,r),n=>({id:n.ID,multiaddrs:n.Addrs??[],routing:"delegated-http-routing-v1"}))}catch(n){if(n instanceof At)return;throw n}}async provide(){}async cancelReprovide(){}async put(t,r,n){if(!Af(t))return;let o=ye(t),i=j.createV1(114,o),s=ee(r);await this.client.putIPNS(i,s,n)}async get(t,r){if(!Af(t))throw new At("Not found");let n=ye(t),o=j.createV1(114,n);try{let i=await this.client.getIPNS(o,r);return He(i)}catch(i){throw i.name==="BadResponseError"?new At("Not found"):i}}toString(){return`DelegatedRoutingV1HttpApiClientContentRouting(${this.client.url})`}},wo=class{client;constructor(t){this.client=t}async findPeer(t,r={}){let n=await go(this.client.getPeers(t,r));if(n!=null)return{id:n.ID,multiaddrs:n.Addrs??[]};throw new At("Not found")}async*getClosestPeers(t,r={}){}toString(){return`DelegatedRoutingV1HttpApiClientPeerRouting(${this.client.url})`}};var Eo={concurrentRequests:4,timeout:3e4,cacheTTL:300*1e3,cacheName:"delegated-routing-v1-cache"},So=class{url;started;httpQueue;shutDownController;timeout;contentRouting;peerRouting;filterAddrs;filterProtocols;inFlightRequests;cacheName;cache;cacheTTL;log;constructor(t,r){this.log=t.logger.forComponent("delegated-routing-v1-http-api-client"),this.started=!1,this.shutDownController=new AbortController,this.shutDownController.signal,this.httpQueue=new un({concurrency:r.concurrentRequests??Eo.concurrentRequests}),this.inFlightRequests=new Map,this.url=r.url instanceof URL?r.url:new URL(r.url),this.timeout=r.timeout??Eo.timeout,this.filterAddrs=r.filterAddrs,this.filterProtocols=r.filterProtocols,this.contentRouting=new bo(this),this.peerRouting=new wo(this),this.cacheName=r.cacheName??Eo.cacheName,this.cacheTTL=r.cacheTTL??Eo.cacheTTL}get[ra](){return this.contentRouting}get[na](){return this.peerRouting}isStarted(){return this.started}async start(){this.started||(this.started=!0,this.cacheTTL>0&&(this.cache=await globalThis.caches?.open(this.cacheName),this.cache!=null&&this.log("cache enabled with ttl %d",this.cacheTTL)))}async stop(){this.httpQueue.clear(),this.shutDownController.abort(),await globalThis.caches?.delete(this.cacheName),this.started=!1}async*getProviders(t,r={}){this.log("getProviders starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=Xr([this.shutDownController.signal,n,r.signal]);let i=re(),s=re();this.httpQueue.add(async()=>(i.resolve(),s.promise));try{await i.promise;let c=new URL(`${this.url}routing/v1/providers/${t}`);this.#n(c,r.filterAddrs,r.filterProtocols);let a={headers:{Accept:"application/x-ndjson"},signal:o},f=await this.#r(c.toString(),a);if(!f.ok){if(f.status===404)return;throw f.status===422?new Ir("Request does not conform to schema or semantic constraints"):new zt(`Unexpected status code: ${f.status}`)}if(f.body==null)throw new zt("Routing response had no body");let u=f.headers.get("Content-Type");if(u==null)throw new zt("No Content-Type header received");if(u.startsWith("application/json")){let y=(await f.json()).Providers??[];for(let v of y){let b=this.#t(v);b!=null&&(yield b)}}else if(u.includes("application/x-ndjson"))for await(let l of sn(jn(f.body))){let y=this.#t(l);y!=null&&(yield y)}else throw new zt(`Unsupported Content-Type: ${u}`)}finally{o.clear(),s.resolve(),this.log("getProviders finished: %c",t)}}async*getPeers(t,r={}){this.log("getPeers starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=Xr([this.shutDownController.signal,n,r.signal]);let i=re(),s=re();this.httpQueue.add(async()=>(i.resolve(),s.promise));try{await i.promise;let c=new URL(`${this.url}routing/v1/peers/${t.toCID().toString()}`);this.#n(c,r.filterAddrs,r.filterProtocols);let a={headers:{Accept:"application/x-ndjson"},signal:o},f=await this.#r(c.toString(),a);if(f.status===404)return;if(f.status===422)throw new Ir("Request does not conform to schema or semantic constraints");if(f.body==null)throw new zt("Routing response had no body");if(f.headers.get("Content-Type")?.startsWith("application/json")){let y=(await f.json()).Peers??[];for(let v of y){let b=this.#t(v);b!=null&&(yield b)}}else for await(let l of sn(jn(f.body))){let y=this.#t(l);y!=null&&(yield y)}}catch(c){this.log.error("getPeers errored - %e",c)}finally{o.clear(),s.resolve(),this.log("getPeers finished: %c",t)}}async getIPNS(t,r={}){this.log("getIPNS starts: %s",t);let n=AbortSignal.timeout(this.timeout),o=Xr([this.shutDownController.signal,n,r.signal]);let i=re(),s=re();this.httpQueue.add(async()=>(i.resolve(),s.promise));let c=`${this.url}routing/v1/ipns/${t}`;try{await i.promise;let a={headers:{Accept:"application/vnd.ipfs.ipns-record"},signal:o},f=await this.#r(c,a);if(this.log("getIPNS GET %s %d",c,f.status),f.status===404)throw new At("No matching records found");if(f.status===422)throw new Ir("Request does not conform to schema or semantic constraints");if(!f.ok)throw new zt(`Unexpected status code: ${f.status}`);let u=f.headers.get("Content-Type");if(u==null||!u.includes("application/vnd.ipfs.ipns-record"))throw new At("No matching records found");if(f.body==null)throw new zt("GET ipns response had no body");let l=await f.arrayBuffer(),y=new Uint8Array(l,0,l.byteLength);return r.validate!==!1&&await xf(on(t.multihash),y),ee(y)}catch(a){throw this.log.error("getIPNS GET %s error - %e",c,a),a}finally{o.clear(),s.resolve(),this.log("getIPNS finished: %s",t)}}async putIPNS(t,r,n={}){this.log("putIPNS starts: %c",t);let o=AbortSignal.timeout(this.timeout),i=Xr([this.shutDownController.signal,o,n.signal]);let s=re(),c=re();this.httpQueue.add(async()=>(s.resolve(),c.promise));let a=`${this.url}routing/v1/ipns/${t}`;try{await s.promise;let f=He(r),u={method:"PUT",headers:{"Content-Type":"application/vnd.ipfs.ipns-record"},body:f,signal:i},l=await this.#r(a,u);if(this.log("putIPNS PUT %s %d",a,l.status),l.status!==200)throw new zt("PUT ipns response had status other than 200")}catch(f){throw this.log.error("putIPNS PUT %s error - %e",a,f.stack),f}finally{i.clear(),c.resolve(),this.log("putIPNS finished: %c",t)}}#t(t){try{let r=[],n=t.Addrs?.map(Zn)??[];return t.Protocols!=null&&r.push(...t.Protocols),t.Protocol!=null&&(r.push(t.Protocol),delete t.Protocol),{...t,Schema:"peer",ID:qc(t.ID),Addrs:n,Protocols:r}}catch(r){this.log.error("could not conform record to peer schema - %e",r)}}#n(t,r,n){if(r!=null||this.filterAddrs!=null){let o=r?.join(",")??this.filterAddrs?.join(",")??"";o!==""&&t.searchParams.set("filter-addrs",o)}if(n!=null||this.filterProtocols!=null){let o=n?.join(",")??this.filterProtocols?.join(",")??"";o!==""&&t.searchParams.set("filter-protocols",o)}}async#r(t,r){let n=r.method??"GET",o=`${n}-${t}`;if(n==="GET"){let a=await this.cache?.match(t);if(a!=null){if(parseInt(a.headers.get("x-cache-expires")??"0",10)>Date.now())return this.log("returning cached response for %s",o),a;await this.cache?.delete(t)}}let i=this.inFlightRequests.get(o);if(i!=null){let a=await i;return this.log("deduplicating outgoing request for %s",o),a.clone()}let s=fetch(t,r).then(async a=>{if(this.cache!=null&&a.ok&&n==="GET"){let f=Date.now()+this.cacheTTL,u=new Headers(a.headers);u.set("x-cache-expires",f.toString());let l=new Response(a.clone().body,{status:a.status,statusText:a.statusText,headers:u});await this.cache.put(t,l)}return a}).finally(()=>{this.inFlightRequests.delete(o)});return this.inFlightRequests.set(o,s),await s}toString(){return`DefaultDelegatedRoutingV1HttpApiClient(${this.url})`}};function If(e){return t=>new So(t,e)}function fn(){return{filterProtocols:["unknown","transport-bitswap","transport-ipfs-gateway-http"],filterAddrs:["https","webtransport","webrtc","webrtc-direct","wss","tls"]}}var Tf=H("/ipns/");function Cf(e){return Y(e.subarray(0,Tf.byteLength),Tf)}var vo=class{client;constructor(t,r){this.client=If(r)(t)}async provide(t,r){}async cancelReprovide(t,r){}async*findProviders(t,r){yield*xo(this.client.getProviders(t,r),n=>({id:n.ID,multiaddrs:n.Addrs,protocols:n.Protocols,routing:"delegated-http-routing"}))}async put(t,r,n){if(!Cf(t))return;let o=ye(t),i=j.createV1(114,o),s=ee(r);await this.client.putIPNS(i,s,n)}async get(t,r){if(!Cf(t))throw new At("Not found");let n=ye(t),o=j.createV1(114,n);try{let i=await this.client.getIPNS(o,r);return He(i)}catch(i){throw i.name==="BadResponseError"?new At("Not found"):i}}async findPeer(t,r){let n=await go(this.client.getPeers(t,r));if(n!=null)return{id:n.ID,multiaddrs:n.Addrs??[]};throw new At("Not found")}async*getClosestPeers(t,r){}};function Bf(e,t){return typeof e=="string"||e instanceof URL?new vo({logger:ea()},{...fn(),...t,url:new URL(e)}):r=>new vo(r,{...fn(),...e})}var _f="[a-fA-F\\d:]",_e=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${_f})|(?<=${_f})(?=\\s|$))`:"",Gt="(?: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}",at="[a-fA-F\\d]{1,4}",Ao=`
13
+ ${t}[Error list was empty]`,r.trim()}return Js(e,t)}vt.formatters.e=e=>e==null?"undefined":ta(e);function El(e){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=e,t.destroy=()=>!0,t.extend=()=>t,t}function ea(e){return{forComponent(t){return xe(t,e)}}}function xe(e,t){let r=El(`${e}:trace`);return vt.enabled(`${e}:trace`)&&vt.names.map(n=>n.toString()).find(n=>n.includes(":trace"))!=null&&(r=vt(`${e}:trace`,t)),Object.assign(vt(e,t),{error:vt(`${e}:error`,t),trace:r,newScope:n=>xe(`${e}:${n}`,t)})}function Qs(e){if(e!=null&&(e=e.trim(),e.length!==0))return e}var ra=Symbol.for("@libp2p/content-routing");var st=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},Ge=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var At=class extends Error{static name="NotFoundError";constructor(t="Not found"){super(t),this.name="NotFoundError"}};var mn=class extends Error{static name="InvalidCIDError";constructor(t="Invalid CID"){super(t),this.name="InvalidCIDError"}},je=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var Ze=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var Oo=Symbol.for("@libp2p/peer-id");var na=Symbol.for("@libp2p/peer-routing");var ko={};St(ko,{base36:()=>Ye,base36upper:()=>Sl});var Ye=ge({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Sl=ge({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var vl=sa,oa=128,Al=127,Il=~Al,Tl=Math.pow(2,31);function sa(e,t,r){t=t||[],r=r||0;for(var n=r;e>=Tl;)t[r++]=e&255|oa,e/=128;for(;e&Il;)t[r++]=e&255|oa,e>>>=7;return t[r]=e|0,sa.bytes=r-n+1,t}var Cl=Ko,Bl=128,ia=127;function Ko(e,n){var r=0,n=n||0,o=0,i=n,s,c=e.length;do{if(i>=c)throw Ko.bytes=0,new RangeError("Could not decode varint");s=e[i++],r+=o<28?(s&ia)<<o:(s&ia)*Math.pow(2,o),o+=7}while(s>=Bl);return Ko.bytes=i-n,r}var _l=Math.pow(2,7),Dl=Math.pow(2,14),Rl=Math.pow(2,21),Pl=Math.pow(2,28),Ll=Math.pow(2,35),Nl=Math.pow(2,42),Ul=Math.pow(2,49),Ol=Math.pow(2,56),kl=Math.pow(2,63),Kl=function(e){return e<_l?1:e<Dl?2:e<Rl?3:e<Pl?4:e<Ll?5:e<Nl?6:e<Ul?7:e<Ol?8:e<kl?9:10},Vl={encode:vl,decode:Cl,encodingLength:Kl},Ml=Vl,Tr=Ml;function Cr(e,t=0){return[Tr.decode(e,t),Tr.decode.bytes]}function We(e,t,r=0){return Tr.encode(e,t,r),t}function Xe(e){return Tr.encodingLength(e)}function Yt(e,t){let r=t.byteLength,n=Xe(e),o=n+Xe(r),i=new Uint8Array(o+r);return We(e,i,0),We(r,i,n),i.set(t,o),new Je(e,r,t,i)}function Re(e){let t=ne(e),[r,n]=Cr(t),[o,i]=Cr(t.subarray(n)),s=t.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new Je(r,o,s,t)}function aa(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&zs(e.bytes,r.bytes)}}var Je=class{code;size;digest;bytes;constructor(t,r,n,o){this.code=t,this.size=r,this.digest=n,this.bytes=o}};function ca(e,t){let{bytes:r,version:n}=e;switch(n){case 0:return Fl(r,Vo(e),t??X.encoder);default:return ql(r,Vo(e),t??Zt.encoder)}}var ua=new WeakMap;function Vo(e){let t=ua.get(e);if(t==null){let r=new Map;return ua.set(e,r),r}return t}var Z=class e{code;version;multihash;bytes;"/";constructor(t,r,n,o){this.code=r,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:r}=this;if(t!==Br)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Hl)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}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:r}=this.multihash,n=Yt(t,r);return e.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 e.equals(this,t)}static equals(t,r){let n=r;return n!=null&&t.code===n.code&&t.version===n.version&&aa(t.multihash,n.multihash)}toString(t){return ca(this,t)}toJSON(){return{"/":ca(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 r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:i,bytes:s}=r;return new e(n,o,i,s??fa(n,o,i.bytes))}else if(r[zl]===!0){let{version:n,multihash:o,code:i}=r,s=Re(o);return e.create(n,i,s)}else return null}static create(t,r,n){if(typeof r!="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(r!==Br)throw new Error(`Version 0 CID must use dag-pb (code: ${Br}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=fa(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,Br,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,o=ne(t.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let i=o.subarray(r.multihashSize-r.digestSize),s=new Je(r.multihashCode,r.digestSize,i,o);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[f,x]=Cr(t.subarray(r));return r+=x,f},o=n(),i=Br;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,c=n(),a=n(),l=r+a,u=l-s;return{version:o,codec:i,multihashCode:c,digestSize:a,multihashSize:u,size:l}}static parse(t,r){let[n,o]=$l(t,r),i=e.decode(o);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Vo(i).set(n,t),i}};function $l(e,t){switch(e[0]){case"Q":{let r=t??X;return[X.prefix,r.decode(`${X.prefix}${e}`)]}case X.prefix:{let r=t??X;return[X.prefix,r.decode(e)]}case Zt.prefix:{let r=t??Zt;return[Zt.prefix,r.decode(e)]}case Ye.prefix:{let r=t??Ye;return[Ye.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}}function Fl(e,t,r){let{prefix:n}=r;if(n!==X.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let i=r.encode(e).slice(1);return t.set(n,i),i}else return o}function ql(e,t,r){let{prefix:n}=r,o=t.get(n);if(o==null){let i=r.encode(e);return t.set(n,i),i}else return o}var Br=112,Hl=18;function fa(e,t,r){let n=Xe(e),o=n+Xe(t),i=new Uint8Array(o+r.byteLength);return We(e,i,0),We(t,i,n),i.set(r,o),i}var zl=Symbol.for("@ipld/js-cid/CID");var Mo={};St(Mo,{identity:()=>Ct});var la=0,Gl="identity",da=ne;function jl(e,t){if(t?.truncate!=null&&t.truncate!==e.byteLength){if(t.truncate<0||t.truncate>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,t.truncate)}return Yt(la,da(e))}var Ct={code:la,name:Gl,encode:da,digest:jl};function Y(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function oe(e=0){return new Uint8Array(e)}function Bt(e=0){return new Uint8Array(e)}function Ut(e,t){t==null&&(t=e.reduce((o,i)=>o+i.length,0));let r=Bt(t),n=0;for(let o of e)r.set(o,n),n+=o.length;return r}var pa=Symbol.for("@achingbrain/uint8arraylist");function ha(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let o=r+n.byteLength;if(t<o)return{buf:n,index:t-r};r=o}throw new RangeError("index is out of bounds")}function Qe(e){return!!e?.[pa]}var _t=class e{bufs;length;[pa]=!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 r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Qe(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Qe(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=ha(this.bufs,t);return r.buf[r.index]}set(t,r){let n=ha(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(Qe(t))for(let n=0;n<t.length;n++)this.set(r+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,r){let{bufs:n,length:o}=this._subList(t,r);return Ut(n,o)}subarray(t,r){let{bufs:n,length:o}=this._subList(t,r);return n.length===1?n[0]:Ut(n,o)}sublist(t,r){let{bufs:n,length:o}=this._subList(t,r),i=new e;return i.length=o,i.bufs=[...n],i}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],c=o,a=c+s.byteLength;if(o=a,t>=a)continue;let l=t>=c&&t<a,u=r>c&&r<=a;if(l&&u){if(t===c&&r===a){n.push(s);break}let f=t-c;n.push(s.subarray(f,f+(r-t)));break}if(l){if(t===0){n.push(s);continue}n.push(s.subarray(t-c));continue}if(u){if(r===a){n.push(s);break}n.push(s.subarray(0,r-c));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!Qe(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(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let f=0;f<i;f++)s[f]=-1;for(let f=0;f<o;f++)s[n[f]]=f;let c=s,a=this.byteLength-n.byteLength,l=n.byteLength-1,u;for(let f=r;f<=a;f+=u){u=0;for(let x=l;x>=0;x--){let v=this.get(f+x);if(n[x]!==v){u=Math.max(1,x-c[v]);break}}if(u===0)return f}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=Bt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let o=oe(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,r,n),this.write(o,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let o=oe(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,r,n),this.write(o,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let o=oe(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,r,n),this.write(o,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=Bt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let o=oe(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,r,n),this.write(o,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let o=oe(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,r,n),this.write(o,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let o=oe(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,r,n),this.write(o,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let o=oe(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,r,n),this.write(o,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let o=oe(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,r,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Y(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((o,i)=>o+i.byteLength,0)),n.length=r,n}};var $o={};St($o,{base10:()=>Zl});var Zl=ge({prefix:"9",name:"base10",alphabet:"0123456789"});var Fo={};St(Fo,{base16:()=>Yl,base16upper:()=>Wl});var Yl=nt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Wl=nt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var qo={};St(qo,{base2:()=>Xl});var Xl=nt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ho={};St(Ho,{base256emoji:()=>rd});var ma=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}"),Jl=ma.reduce((e,t,r)=>(e[r]=t,e),[]),Ql=ma.reduce((e,t,r)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return e[n]=r,e},[]);function td(e){return e.reduce((t,r)=>(t+=Jl[r],t),"")}function ed(e){let t=[];for(let r of e){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Ql[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);t.push(o)}return new Uint8Array(t)}var rd=ze({prefix:"\u{1F680}",name:"base256emoji",encode:td,decode:ed});var zo={};St(zo,{base8:()=>nd});var nd=nt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Go={};St(Go,{identity:()=>od});var od=ze({prefix:"\0",name:"identity",encode:e=>js(e),decode:e=>Gs(e)});var $m=new TextEncoder,Fm=new TextDecoder;var Yo={};St(Yo,{sha256:()=>_r,sha512:()=>cd});var ad=20;function Zo({name:e,code:t,encode:r,minDigestLength:n,maxDigestLength:o}){return new jo(e,t,r,n,o)}var jo=class{name;code;encode;minDigestLength;maxDigestLength;constructor(t,r,n,o,i){this.name=t,this.code=r,this.encode=n,this.minDigestLength=o??ad,this.maxDigestLength=i}digest(t,r){if(r?.truncate!=null){if(r.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&r.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(t instanceof Uint8Array){let n=this.encode(t);return n instanceof Uint8Array?ya(n,this.code,r?.truncate):n.then(o=>ya(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function ya(e,t,r){if(r!=null&&r!==e.byteLength){if(r>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,r)}return Yt(t,e)}function xa(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}var _r=Zo({name:"sha2-256",code:18,encode:xa("SHA-256")}),cd=Zo({name:"sha2-512",code:19,encode:xa("SHA-512")});var Dr={...Go,...qo,...zo,...$o,...Fo,...Do,...ko,...Ro,...No,...Ho},ty={...Yo,...Mo};function wa(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var ba=wa("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Wo=wa("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Bt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),ud={utf8:ba,"utf-8":ba,hex:Dr.base16,latin1:Wo,ascii:Wo,binary:Wo,...Dr},gn=ud;function H(e,t="utf8"){let r=gn[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.decoder.decode(`${r.prefix}${e}`)}function z(e,t="utf8"){let r=gn[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.encoder.encode(e).substring(1)}var fd=parseInt("11111",2),Xo=parseInt("10000000",2),ld=parseInt("01111111",2),Ea={0:Rr,1:Rr,2:dd,3:md,4:yd,5:pd,6:hd,16:Rr,22:Rr,48:Rr};function ie(e,t={offset:0}){let r=e[t.offset]&fd;if(t.offset++,Ea[r]!=null)return Ea[r](e,t);throw new Error("No decoder for tag "+r)}function Pr(e,t){let r=0;if((e[t.offset]&Xo)===Xo){let n=e[t.offset]&ld,o="0x";t.offset++;for(let i=0;i<n;i++,t.offset++)o+=e[t.offset].toString(16).padStart(2,"0");r=parseInt(o,16)}else r=e[t.offset],t.offset++;return r}function Rr(e,t){Pr(e,t);let r=[];for(;!(t.offset>=e.byteLength);){let n=ie(e,t);if(n===null)break;r.push(n)}return r}function dd(e,t){let r=Pr(e,t),n=t.offset,o=t.offset+r,i=[];for(let s=n;s<o;s++)s===n&&e[s]===0||i.push(e[s]);return t.offset+=r,Uint8Array.from(i)}function hd(e,t){let r=Pr(e,t),n=t.offset+r,o=e[t.offset];t.offset++;let i=0,s=0;o<40?(i=0,s=o):o<80?(i=1,s=o-40):(i=2,s=o-80);let c=`${i}.${s}`,a=[];for(;t.offset<n;){let l=e[t.offset];if(t.offset++,a.push(l&127),l<128){a.reverse();let u=0;for(let f=0;f<a.length;f++)u+=a[f]<<f*7;c+=`.${u}`,a=[]}}return c}function pd(e,t){return t.offset++,null}function md(e,t){let r=Pr(e,t),n=e[t.offset];t.offset++;let o=e.subarray(t.offset,t.offset+r-1);if(t.offset+=r,n!==0)throw new Error("Unused bits in bit string is unimplemented");return o}function yd(e,t){let r=Pr(e,t),n=e.subarray(t.offset,t.offset+r);return t.offset+=r,n}function gd(e){let t=e.toString(16);t.length%2===1&&(t="0"+t);let r=new _t;for(let n=0;n<t.length;n+=2)r.append(Uint8Array.from([parseInt(`${t[n]}${t[n+1]}`,16)]));return r}function Jo(e){if(e.byteLength<128)return Uint8Array.from([e.byteLength]);let t=gd(e.byteLength);return new _t(Uint8Array.from([t.byteLength|Xo]),t)}function It(e){let t=new _t,r=128;return(e.subarray()[0]&r)===r&&t.append(Uint8Array.from([0])),t.append(e),new _t(Uint8Array.from([2]),Jo(t),t)}function xn(e){let t=Uint8Array.from([0]),r=new _t(t,e);return new _t(Uint8Array.from([3]),Jo(r),r)}function be(e,t=48){let r=new _t;for(let n of e)r.append(n);return new _t(Uint8Array.from([t]),Jo(r),r)}async function Sa(e,t,r,n){let o=await crypto.subtle.importKey("jwk",e,{name:"ECDSA",namedCurve:e.crv??"P-256"},!1,["verify"]);n?.signal?.throwIfAborted();let i=await crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},o,t,r.subarray());return n?.signal?.throwIfAborted(),i}var xd=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),bd=Uint8Array.from([6,5,43,129,4,0,34]),wd=Uint8Array.from([6,5,43,129,4,0,35]),Ed={ext:!0,kty:"EC",crv:"P-256"},Sd={ext:!0,kty:"EC",crv:"P-384"},vd={ext:!0,kty:"EC",crv:"P-521"},Qo=32,ti=48,ei=66;function ri(e){let t=ie(e);return va(t)}function va(e){let t=e[1][1][0],r=1,n,o;if(t.byteLength===Qo*2+1)return n=z(t.subarray(r,r+Qo),"base64url"),o=z(t.subarray(r+Qo),"base64url"),new tr({...Ed,key_ops:["verify"],x:n,y:o});if(t.byteLength===ti*2+1)return n=z(t.subarray(r,r+ti),"base64url"),o=z(t.subarray(r+ti),"base64url"),new tr({...Sd,key_ops:["verify"],x:n,y:o});if(t.byteLength===ei*2+1)return n=z(t.subarray(r,r+ei),"base64url"),o=z(t.subarray(r+ei),"base64url"),new tr({...vd,key_ops:["verify"],x:n,y:o});throw new st(`coordinates were wrong length, got ${t.byteLength}, expected 65, 97 or 133`)}function Aa(e){return be([It(Uint8Array.from([1])),be([Ad(e.crv)],160),be([xn(new _t(Uint8Array.from([4]),H(e.x??"","base64url"),H(e.y??"","base64url")))],161)]).subarray()}function Ad(e){if(e==="P-256")return xd;if(e==="P-384")return bd;if(e==="P-521")return wd;throw new st(`Invalid curve ${e}`)}var tr=class{type="ECDSA";jwk;_raw;constructor(t){this.jwk=t}get raw(){return this._raw==null&&(this._raw=Aa(this.jwk)),this._raw}toMultihash(){return Ct.digest(er(this))}toCID(){return Z.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Y(this.raw,t.raw)}async verify(t,r,n){return Sa(this.jwk,r,t,n)}};function Le(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Wt(e,t=""){if(!Number.isSafeInteger(e)||e<0){let r=t&&`"${t}" `;throw new Error(`${r}expected integer >= 0, got ${e}`)}}function q(e,t,r=""){let n=Le(e),o=e?.length,i=t!==void 0;if(!n||i&&o!==t){let s=r&&`"${r}" `,c=i?` of length ${t}`:"",a=n?`length=${o}`:`type=${typeof e}`;throw new Error(s+"expected Uint8Array"+c+", got "+a)}return e}function bn(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash must wrapped by utils.createHasher");Wt(e.outputLen),Wt(e.blockLen)}function rr(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Ta(e,t){q(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw new Error('"digestInto() output" expected to be of length >='+r)}function ae(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function wn(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Vt(e,t){return e<<32-t|e>>>t}var Ca=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Id=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function ce(e){if(q(e),Ca)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Id[e[r]];return t}var se={_0:48,_9:57,A:65,F:70,a:97,f:102};function Ia(e){if(e>=se._0&&e<=se._9)return e-se._0;if(e>=se.A&&e<=se.F)return e-(se.A-10);if(e>=se.a&&e<=se.f)return e-(se.a-10)}function ue(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Ca)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,i=0;o<r;o++,i+=2){let s=Ia(e.charCodeAt(i)),c=Ia(e.charCodeAt(i+1));if(s===void 0||c===void 0){let a=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+a+'" at index '+i)}n[o]=s*16+c}return n}function Tt(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];q(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let i=e[n];r.set(i,o),o+=i.length}return r}function ni(e,t={}){let r=(o,i)=>e(i).update(o).digest(),n=e(void 0);return r.outputLen=n.outputLen,r.blockLen=n.blockLen,r.create=o=>e(o),Object.assign(r,t),Object.freeze(r)}function nr(e=32){let t=typeof globalThis=="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return t.getRandomValues(new Uint8Array(e))}var oi=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function Ba(e,t,r){return e&t^~e&r}function _a(e,t,r){return e&t^e&r^t&r}var Lr=class{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(t,r,n,o){this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=wn(this.buffer)}update(t){rr(this),q(t);let{view:r,buffer:n,blockLen:o}=this,i=t.length;for(let s=0;s<i;){let c=Math.min(o-this.pos,i-s);if(c===o){let a=wn(t);for(;o<=i-s;s+=o)this.process(a,s);continue}n.set(t.subarray(s,s+c),this.pos),this.pos+=c,s+=c,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){rr(this),Ta(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,ae(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let f=s;f<o;f++)r[f]=0;n.setBigUint64(o-8,BigInt(this.length*8),i),this.process(n,0);let c=wn(t),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let l=a/4,u=this.get();if(l>u.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<l;f++)c.setUint32(4*f,u[f],i)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||=new this.constructor,t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:c}=this;return t.destroyed=s,t.finished=i,t.length=o,t.pos=c,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},fe=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var ht=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var En=BigInt(4294967295),Da=BigInt(32);function Td(e,t=!1){return t?{h:Number(e&En),l:Number(e>>Da&En)}:{h:Number(e>>Da&En)|0,l:Number(e&En)|0}}function Ra(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let i=0;i<r;i++){let{h:s,l:c}=Td(e[i],t);[n[i],o[i]]=[s,c]}return[n,o]}var ii=(e,t,r)=>e>>>r,si=(e,t,r)=>e<<32-r|t>>>r,Ne=(e,t,r)=>e>>>r|t<<32-r,Ue=(e,t,r)=>e<<32-r|t>>>r,Nr=(e,t,r)=>e<<64-r|t>>>r-32,Ur=(e,t,r)=>e>>>r-32|t<<64-r;function Xt(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Pa=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),La=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Na=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Ua=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,Oa=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),ka=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var Bd=Uint32Array.from([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]),we=new Uint32Array(64),ai=class extends Lr{constructor(t){super(64,t,8,!1)}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:c,H:a}=this;return[t,r,n,o,i,s,c,a]}set(t,r,n,o,i,s,c,a){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=c|0,this.H=a|0}process(t,r){for(let f=0;f<16;f++,r+=4)we[f]=t.getUint32(r,!1);for(let f=16;f<64;f++){let x=we[f-15],v=we[f-2],b=Vt(x,7)^Vt(x,18)^x>>>3,T=Vt(v,17)^Vt(v,19)^v>>>10;we[f]=T+we[f-7]+b+we[f-16]|0}let{A:n,B:o,C:i,D:s,E:c,F:a,G:l,H:u}=this;for(let f=0;f<64;f++){let x=Vt(c,6)^Vt(c,11)^Vt(c,25),v=u+x+Ba(c,a,l)+Bd[f]+we[f]|0,T=(Vt(n,2)^Vt(n,13)^Vt(n,22))+_a(n,o,i)|0;u=l,l=a,a=c,c=s+v|0,s=i,i=o,o=n,n=v+T|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,c=c+this.E|0,a=a+this.F|0,l=l+this.G|0,u=u+this.H|0,this.set(n,o,i,s,c,a,l,u)}roundClean(){ae(we)}destroy(){this.set(0,0,0,0,0,0,0,0),ae(this.buffer)}},ci=class extends ai{A=fe[0]|0;B=fe[1]|0;C=fe[2]|0;D=fe[3]|0;E=fe[4]|0;F=fe[5]|0;G=fe[6]|0;H=fe[7]|0;constructor(){super(32)}};var Ka=Ra(["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(e=>BigInt(e))),_d=Ka[0],Dd=Ka[1],Ee=new Uint32Array(80),Se=new Uint32Array(80),ui=class extends Lr{constructor(t){super(128,t,16,!1)}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:c,Dl:a,Eh:l,El:u,Fh:f,Fl:x,Gh:v,Gl:b,Hh:T,Hl:I}=this;return[t,r,n,o,i,s,c,a,l,u,f,x,v,b,T,I]}set(t,r,n,o,i,s,c,a,l,u,f,x,v,b,T,I){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=i|0,this.Cl=s|0,this.Dh=c|0,this.Dl=a|0,this.Eh=l|0,this.El=u|0,this.Fh=f|0,this.Fl=x|0,this.Gh=v|0,this.Gl=b|0,this.Hh=T|0,this.Hl=I|0}process(t,r){for(let S=0;S<16;S++,r+=4)Ee[S]=t.getUint32(r),Se[S]=t.getUint32(r+=4);for(let S=16;S<80;S++){let N=Ee[S-15]|0,k=Se[S-15]|0,M=Ne(N,k,1)^Ne(N,k,8)^ii(N,k,7),V=Ue(N,k,1)^Ue(N,k,8)^si(N,k,7),h=Ee[S-2]|0,p=Se[S-2]|0,_=Ne(h,p,19)^Nr(h,p,61)^ii(h,p,6),D=Ue(h,p,19)^Ur(h,p,61)^si(h,p,6),A=Na(V,D,Se[S-7],Se[S-16]),m=Ua(A,M,_,Ee[S-7],Ee[S-16]);Ee[S]=m|0,Se[S]=A|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:c,Cl:a,Dh:l,Dl:u,Eh:f,El:x,Fh:v,Fl:b,Gh:T,Gl:I,Hh:w,Hl:C}=this;for(let S=0;S<80;S++){let N=Ne(f,x,14)^Ne(f,x,18)^Nr(f,x,41),k=Ue(f,x,14)^Ue(f,x,18)^Ur(f,x,41),M=f&v^~f&T,V=x&b^~x&I,h=Oa(C,k,V,Dd[S],Se[S]),p=ka(h,w,N,M,_d[S],Ee[S]),_=h|0,D=Ne(n,o,28)^Nr(n,o,34)^Nr(n,o,39),A=Ue(n,o,28)^Ur(n,o,34)^Ur(n,o,39),m=n&i^n&c^i&c,y=o&s^o&a^s&a;w=T|0,C=I|0,T=v|0,I=b|0,v=f|0,b=x|0,{h:f,l:x}=Xt(l|0,u|0,p|0,_|0),l=c|0,u=a|0,c=i|0,a=s|0,i=n|0,s=o|0;let d=Pa(_,A,y);n=La(d,p,D,m),o=d|0}({h:n,l:o}=Xt(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=Xt(this.Bh|0,this.Bl|0,i|0,s|0),{h:c,l:a}=Xt(this.Ch|0,this.Cl|0,c|0,a|0),{h:l,l:u}=Xt(this.Dh|0,this.Dl|0,l|0,u|0),{h:f,l:x}=Xt(this.Eh|0,this.El|0,f|0,x|0),{h:v,l:b}=Xt(this.Fh|0,this.Fl|0,v|0,b|0),{h:T,l:I}=Xt(this.Gh|0,this.Gl|0,T|0,I|0),{h:w,l:C}=Xt(this.Hh|0,this.Hl|0,w|0,C|0),this.set(n,o,i,s,c,a,l,u,f,x,v,b,T,I,w,C)}roundClean(){ae(Ee,Se)}destroy(){ae(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},fi=class extends ui{Ah=ht[0]|0;Al=ht[1]|0;Bh=ht[2]|0;Bl=ht[3]|0;Ch=ht[4]|0;Cl=ht[5]|0;Dh=ht[6]|0;Dl=ht[7]|0;Eh=ht[8]|0;El=ht[9]|0;Fh=ht[10]|0;Fl=ht[11]|0;Gh=ht[12]|0;Gl=ht[13]|0;Hh=ht[14]|0;Hl=ht[15]|0;constructor(){super(64)}};var or=ni(()=>new ci,oi(1));var Va=ni(()=>new fi,oi(3));var di=BigInt(0),li=BigInt(1);function le(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}" `;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function Ma(e){if(typeof e=="bigint"){if(!Sn(e))throw new Error("positive bigint expected, got "+e)}else Wt(e);return e}function Or(e){let t=Ma(e).toString(16);return t.length&1?"0"+t:t}function $a(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?di:BigInt("0x"+e)}function ir(e){return $a(ce(e))}function Oe(e){return $a(ce(An(q(e)).reverse()))}function vn(e,t){Wt(t),e=Ma(e);let r=ue(e.toString(16).padStart(t*2,"0"));if(r.length!==t)throw new Error("number too large");return r}function hi(e,t){return vn(e,t).reverse()}function An(e){return Uint8Array.from(e)}var Sn=e=>typeof e=="bigint"&&di<=e;function Rd(e,t,r){return Sn(e)&&Sn(t)&&Sn(r)&&t<=e&&e<r}function kr(e,t,r,n){if(!Rd(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function pi(e){let t;for(t=0;e>di;e>>=li,t+=1);return t}var Kr=e=>(li<<BigInt(e))-li;function Fa(e,t,r){if(Wt(e,"hashLen"),Wt(t,"qByteLen"),typeof r!="function")throw new Error("hmacFn must be a function");let n=I=>new Uint8Array(I),o=Uint8Array.of(),i=Uint8Array.of(0),s=Uint8Array.of(1),c=1e3,a=n(e),l=n(e),u=0,f=()=>{a.fill(1),l.fill(0),u=0},x=(...I)=>r(l,Tt(a,...I)),v=(I=o)=>{l=x(i,I),a=x(),I.length!==0&&(l=x(s,I),a=x())},b=()=>{if(u++>=c)throw new Error("drbg: tried max amount of iterations");let I=0,w=[];for(;I<t;){a=x();let C=a.slice();w.push(C),I+=a.length}return Tt(...w)};return(I,w)=>{f(),v(I);let C;for(;!(C=w(b()));)v();return f(),C}}function ve(e,t={},r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(i,s,c){let a=e[i];if(c&&a===void 0)return;let l=typeof a;if(l!==s||a===null)throw new Error(`param "${i}" is invalid: expected ${s}, got ${l}`)}let o=(i,s)=>Object.entries(i).forEach(([c,a])=>n(c,a,s));o(t,!1),o(r,!0)}function sr(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let i=e(r,...n);return t.set(r,i),i}}var wt=BigInt(0),ct=BigInt(1),ke=BigInt(2),za=BigInt(3),Ga=BigInt(4),ja=BigInt(5),Pd=BigInt(7),Za=BigInt(8),Ld=BigInt(9),Ya=BigInt(16);function ot(e,t){let r=e%t;return r>=wt?r:t+r}function J(e,t,r){let n=e;for(;t-- >wt;)n*=n,n%=r;return n}function qa(e,t){if(e===wt)throw new Error("invert: expected non-zero number");if(t<=wt)throw new Error("invert: expected positive modulus, got "+t);let r=ot(e,t),n=t,o=wt,i=ct,s=ct,c=wt;for(;r!==wt;){let l=n/r,u=n%r,f=o-s*l,x=i-c*l;n=r,r=u,o=s,i=c,s=f,c=x}if(n!==ct)throw new Error("invert: does not exist");return ot(o,t)}function yi(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Wa(e,t){let r=(e.ORDER+ct)/Ga,n=e.pow(t,r);return yi(e,n,t),n}function Nd(e,t){let r=(e.ORDER-ja)/Za,n=e.mul(t,ke),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,ke),o),c=e.mul(i,e.sub(s,e.ONE));return yi(e,c,t),c}function Ud(e){let t=ar(e),r=Xa(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+Pd)/Ya;return(c,a)=>{let l=c.pow(a,s),u=c.mul(l,n),f=c.mul(l,o),x=c.mul(l,i),v=c.eql(c.sqr(u),a),b=c.eql(c.sqr(f),a);l=c.cmov(l,u,v),u=c.cmov(x,f,b);let T=c.eql(c.sqr(u),a),I=c.cmov(l,u,T);return yi(c,I,a),I}}function Xa(e){if(e<za)throw new Error("sqrt is not defined for small field");let t=e-ct,r=0;for(;t%ke===wt;)t/=ke,r++;let n=ke,o=ar(e);for(;Ha(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Wa;let i=o.pow(n,t),s=(t+ct)/ke;return function(a,l){if(a.is0(l))return l;if(Ha(a,l)!==1)throw new Error("Cannot find square root");let u=r,f=a.mul(a.ONE,i),x=a.pow(l,t),v=a.pow(l,s);for(;!a.eql(x,a.ONE);){if(a.is0(x))return a.ZERO;let b=1,T=a.sqr(x);for(;!a.eql(T,a.ONE);)if(b++,T=a.sqr(T),b===u)throw new Error("Cannot find square root");let I=ct<<BigInt(u-b-1),w=a.pow(f,I);u=b,f=a.sqr(w),x=a.mul(x,f),v=a.mul(v,w)}return v}}function Od(e){return e%Ga===za?Wa:e%Za===ja?Nd:e%Ya===Ld?Ud(e):Xa(e)}var Ja=(e,t)=>(ot(e,t)&ct)===ct,kd=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function gi(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=kd.reduce((n,o)=>(n[o]="function",n),t);return ve(e,r),e}function Kd(e,t,r){if(r<wt)throw new Error("invalid exponent, negatives unsupported");if(r===wt)return e.ONE;if(r===ct)return t;let n=e.ONE,o=t;for(;r>wt;)r&ct&&(n=e.mul(n,o)),o=e.sqr(o),r>>=ct;return n}function Vr(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((s,c,a)=>e.is0(c)?s:(n[a]=s,e.mul(s,c)),e.ONE),i=e.inv(o);return t.reduceRight((s,c,a)=>e.is0(c)?s:(n[a]=e.mul(s,n[a]),e.mul(s,c)),i),n}function Ha(e,t){let r=(e.ORDER-ct)/ke,n=e.pow(t,r),o=e.eql(n,e.ONE),i=e.eql(n,e.ZERO),s=e.eql(n,e.neg(e.ONE));if(!o&&!i&&!s)throw new Error("invalid Legendre symbol result");return o?1:i?0:-1}function Vd(e,t){t!==void 0&&Wt(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}var mi=class{ORDER;BITS;BYTES;isLE;ZERO=wt;ONE=ct;_lengths;_sqrt;_mod;constructor(t,r={}){if(t<=wt)throw new Error("invalid field: expected ORDER > 0, got "+t);let n;this.isLE=!1,r!=null&&typeof r=="object"&&(typeof r.BITS=="number"&&(n=r.BITS),typeof r.sqrt=="function"&&(this.sqrt=r.sqrt),typeof r.isLE=="boolean"&&(this.isLE=r.isLE),r.allowedLengths&&(this._lengths=r.allowedLengths?.slice()),typeof r.modFromBytes=="boolean"&&(this._mod=r.modFromBytes));let{nBitLength:o,nByteLength:i}=Vd(t,n);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=t,this.BITS=o,this.BYTES=i,this._sqrt=void 0,Object.preventExtensions(this)}create(t){return ot(t,this.ORDER)}isValid(t){if(typeof t!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof t);return wt<=t&&t<this.ORDER}is0(t){return t===wt}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}isOdd(t){return(t&ct)===ct}neg(t){return ot(-t,this.ORDER)}eql(t,r){return t===r}sqr(t){return ot(t*t,this.ORDER)}add(t,r){return ot(t+r,this.ORDER)}sub(t,r){return ot(t-r,this.ORDER)}mul(t,r){return ot(t*r,this.ORDER)}pow(t,r){return Kd(this,t,r)}div(t,r){return ot(t*qa(r,this.ORDER),this.ORDER)}sqrN(t){return t*t}addN(t,r){return t+r}subN(t,r){return t-r}mulN(t,r){return t*r}inv(t){return qa(t,this.ORDER)}sqrt(t){return this._sqrt||(this._sqrt=Od(this.ORDER)),this._sqrt(this,t)}toBytes(t){return this.isLE?hi(t,this.BYTES):vn(t,this.BYTES)}fromBytes(t,r=!1){q(t);let{_lengths:n,BYTES:o,isLE:i,ORDER:s,_mod:c}=this;if(n){if(!n.includes(t.length)||t.length>o)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+t.length);let l=new Uint8Array(o);l.set(t,i?0:l.length-t.length),t=l}if(t.length!==o)throw new Error("Field.fromBytes: expected "+o+" bytes, got "+t.length);let a=i?Oe(t):ir(t);if(c&&(a=ot(a,s)),!r&&!this.isValid(a))throw new Error("invalid field element: outside of range 0..ORDER");return a}invertBatch(t){return Vr(this,t)}cmov(t,r,n){return n?r:t}};function ar(e,t={}){return new mi(e,t)}function Qa(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function xi(e){let t=Qa(e);return t+Math.ceil(t/2)}function bi(e,t,r=!1){q(e);let n=e.length,o=Qa(t),i=xi(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?Oe(e):ir(e),c=ot(s,t-ct)+ct;return r?hi(c,o):vn(c,o)}var cr=BigInt(0),Ke=BigInt(1);function Mr(e,t){let r=t.negate();return e?r:t}function Ve(e,t){let r=Vr(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function nc(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function wi(e,t){nc(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=Kr(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function tc(e,t,r){let{windowSize:n,mask:o,maxNumber:i,shiftBy:s}=r,c=Number(e&o),a=e>>s;c>n&&(c-=i,a+=Ke);let l=t*n,u=l+Math.abs(c)-1,f=c===0,x=c<0,v=t%2!==0;return{nextN:a,offset:u,isZero:f,isNeg:x,isNegF:v,offsetF:l}}var Ei=new WeakMap,oc=new WeakMap;function Si(e){return oc.get(e)||1}function ec(e){if(e!==cr)throw new Error("invalid wNAF")}var ur=class{BASE;ZERO;Fn;bits;constructor(t,r){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=r}_unsafeLadder(t,r,n=this.ZERO){let o=t;for(;r>cr;)r&Ke&&(n=n.add(o)),o=o.double(),r>>=Ke;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=wi(r,this.bits),i=[],s=t,c=s;for(let a=0;a<n;a++){c=s,i.push(c);for(let l=1;l<o;l++)c=c.add(s),i.push(c);s=c.double()}return i}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,i=this.BASE,s=wi(t,this.bits);for(let c=0;c<s.windows;c++){let{nextN:a,offset:l,isZero:u,isNeg:f,isNegF:x,offsetF:v}=tc(n,c,s);n=a,u?i=i.add(Mr(x,r[v])):o=o.add(Mr(f,r[l]))}return ec(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=wi(t,this.bits);for(let s=0;s<i.windows&&n!==cr;s++){let{nextN:c,offset:a,isZero:l,isNeg:u}=tc(n,s,i);if(n=c,!l){let f=r[a];o=o.add(u?f.negate():f)}}return ec(n),o}getPrecomputes(t,r,n){let o=Ei.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Ei.set(r,o))),o}cached(t,r,n){let o=Si(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=Si(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){nc(r,this.bits),oc.set(t,r),Ei.delete(t)}hasCache(t){return Si(t)!==1}};function ic(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>cr||n>cr;)r&Ke&&(i=i.add(o)),n&Ke&&(s=s.add(o)),o=o.double(),r>>=Ke,n>>=Ke;return{p1:i,p2:s}}function rc(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return gi(t),t}else return ar(e,{isLE:r})}function In(e,t,r={},n){if(n===void 0&&(n=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let a of["p","n","h"]){let l=t[a];if(!(typeof l=="bigint"&&l>cr))throw new Error(`CURVE.${a} must be positive bigint`)}let o=rc(t.p,r.Fp,n),i=rc(t.n,r.Fn,n),c=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let a of c)if(!o.isValid(t[a]))throw new Error(`CURVE.${a} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:i}}function Tn(e,t){return function(n){let o=e(n);return{secretKey:o,publicKey:t(o)}}}var Ae=BigInt(0),ut=BigInt(1),vi=BigInt(2),Md=BigInt(8);function $d(e,t,r,n){let o=e.sqr(r),i=e.sqr(n),s=e.add(e.mul(t.a,o),i),c=e.add(e.ONE,e.mul(t.d,e.mul(o,i)));return e.eql(s,c)}function sc(e,t={}){let r=In("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;ve(t,{},{uvRatio:"function"});let c=vi<<BigInt(o.BYTES*8)-ut,a=I=>n.create(I),l=t.uvRatio||((I,w)=>{try{return{isValid:!0,value:n.sqrt(n.div(I,w))}}catch{return{isValid:!1,value:Ae}}});if(!$d(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function u(I,w,C=!1){let S=C?ut:Ae;return kr("coordinate "+I,w,S,c),w}function f(I){if(!(I instanceof b))throw new Error("EdwardsPoint expected")}let x=sr((I,w)=>{let{X:C,Y:S,Z:N}=I,k=I.is0();w==null&&(w=k?Md:n.inv(N));let M=a(C*w),V=a(S*w),h=n.mul(N,w);if(k)return{x:Ae,y:ut};if(h!==ut)throw new Error("invZ was invalid");return{x:M,y:V}}),v=sr(I=>{let{a:w,d:C}=i;if(I.is0())throw new Error("bad point: ZERO");let{X:S,Y:N,Z:k,T:M}=I,V=a(S*S),h=a(N*N),p=a(k*k),_=a(p*p),D=a(V*w),A=a(p*a(D+h)),m=a(_+a(C*a(V*h)));if(A!==m)throw new Error("bad point: equation left != right (1)");let y=a(S*N),d=a(k*M);if(y!==d)throw new Error("bad point: equation left != right (2)");return!0});class b{static BASE=new b(i.Gx,i.Gy,ut,a(i.Gx*i.Gy));static ZERO=new b(Ae,ut,ut,Ae);static Fp=n;static Fn=o;X;Y;Z;T;constructor(w,C,S,N){this.X=u("x",w),this.Y=u("y",C),this.Z=u("z",S,!0),this.T=u("t",N),Object.freeze(this)}static CURVE(){return i}static fromAffine(w){if(w instanceof b)throw new Error("extended point not allowed");let{x:C,y:S}=w||{};return u("x",C),u("y",S),new b(C,S,ut,a(C*S))}static fromBytes(w,C=!1){let S=n.BYTES,{a:N,d:k}=i;w=An(q(w,S,"point")),le(C,"zip215");let M=An(w),V=w[S-1];M[S-1]=V&-129;let h=Oe(M),p=C?c:n.ORDER;kr("point.y",h,Ae,p);let _=a(h*h),D=a(_-ut),A=a(k*_-N),{isValid:m,value:y}=l(D,A);if(!m)throw new Error("bad point: invalid y coordinate");let d=(y&ut)===ut,E=(V&128)!==0;if(!C&&y===Ae&&E)throw new Error("bad point: x=0 and x_0=1");return E!==d&&(y=a(-y)),b.fromAffine({x:y,y:h})}static fromHex(w,C=!1){return b.fromBytes(ue(w),C)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(w=8,C=!0){return T.createCache(this,w),C||this.multiply(vi),this}assertValidity(){v(this)}equals(w){f(w);let{X:C,Y:S,Z:N}=this,{X:k,Y:M,Z:V}=w,h=a(C*V),p=a(k*N),_=a(S*V),D=a(M*N);return h===p&&_===D}is0(){return this.equals(b.ZERO)}negate(){return new b(a(-this.X),this.Y,this.Z,a(-this.T))}double(){let{a:w}=i,{X:C,Y:S,Z:N}=this,k=a(C*C),M=a(S*S),V=a(vi*a(N*N)),h=a(w*k),p=C+S,_=a(a(p*p)-k-M),D=h+M,A=D-V,m=h-M,y=a(_*A),d=a(D*m),E=a(_*m),R=a(A*D);return new b(y,d,R,E)}add(w){f(w);let{a:C,d:S}=i,{X:N,Y:k,Z:M,T:V}=this,{X:h,Y:p,Z:_,T:D}=w,A=a(N*h),m=a(k*p),y=a(V*S*D),d=a(M*_),E=a((N+k)*(h+p)-A-m),R=d-y,L=d+y,U=a(m-C*A),O=a(E*R),K=a(L*U),F=a(E*U),tt=a(R*L);return new b(O,K,tt,F)}subtract(w){return this.add(w.negate())}multiply(w){if(!o.isValidNot0(w))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:C,f:S}=T.cached(this,w,N=>Ve(b,N));return Ve(b,[C,S])[0]}multiplyUnsafe(w,C=b.ZERO){if(!o.isValid(w))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return w===Ae?b.ZERO:this.is0()||w===ut?this:T.unsafe(this,w,S=>Ve(b,S),C)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return T.unsafe(this,i.n).is0()}toAffine(w){return x(this,w)}clearCofactor(){return s===ut?this:this.multiplyUnsafe(s)}toBytes(){let{x:w,y:C}=this.toAffine(),S=n.toBytes(C);return S[S.length-1]|=w&ut?128:0,S}toHex(){return ce(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let T=new ur(b,o.BITS);return b.BASE.precompute(8),b}function ac(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');ve(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:i,Fn:s}=e,c=r.randomBytes||nr,a=r.adjustScalarBytes||(h=>h),l=r.domain||((h,p,_)=>{if(le(_,"phflag"),p.length||_)throw new Error("Contexts/pre-hash are not supported");return h});function u(h){return s.create(Oe(h))}function f(h){let p=S.secretKey;q(h,S.secretKey,"secretKey");let _=q(t(h),2*p,"hashedSecretKey"),D=a(_.slice(0,p)),A=_.slice(p,2*p),m=u(D);return{head:D,prefix:A,scalar:m}}function x(h){let{head:p,prefix:_,scalar:D}=f(h),A=o.multiply(D),m=A.toBytes();return{head:p,prefix:_,scalar:D,point:A,pointBytes:m}}function v(h){return x(h).pointBytes}function b(h=Uint8Array.of(),...p){let _=Tt(...p);return u(t(l(_,q(h,void 0,"context"),!!n)))}function T(h,p,_={}){h=q(h,void 0,"message"),n&&(h=n(h));let{prefix:D,scalar:A,pointBytes:m}=x(p),y=b(_.context,D,h),d=o.multiply(y).toBytes(),E=b(_.context,d,m,h),R=s.create(y+E*A);if(!s.isValid(R))throw new Error("sign failed: invalid s");let L=Tt(d,s.toBytes(R));return q(L,S.signature,"result")}let I={zip215:!0};function w(h,p,_,D=I){let{context:A,zip215:m}=D,y=S.signature;h=q(h,y,"signature"),p=q(p,void 0,"message"),_=q(_,S.publicKey,"publicKey"),m!==void 0&&le(m,"zip215"),n&&(p=n(p));let d=y/2,E=h.subarray(0,d),R=Oe(h.subarray(d,y)),L,U,O;try{L=e.fromBytes(_,m),U=e.fromBytes(E,m),O=o.multiplyUnsafe(R)}catch{return!1}if(!m&&L.isSmallOrder())return!1;let K=b(A,U.toBytes(),L.toBytes(),p);return U.add(L.multiplyUnsafe(K)).subtract(O).clearCofactor().is0()}let C=i.BYTES,S={secretKey:C,publicKey:C,signature:2*C,seed:C};function N(h=c(S.seed)){return q(h,S.seed,"seed")}function k(h){return Le(h)&&h.length===s.BYTES}function M(h,p){try{return!!e.fromBytes(h,p)}catch{return!1}}let V={getExtendedPublicKey:x,randomSecretKey:N,isValidSecretKey:k,isValidPublicKey:M,toMontgomery(h){let{y:p}=e.fromBytes(h),_=S.publicKey,D=_===32;if(!D&&_!==57)throw new Error("only defined for 25519 and 448");let A=D?i.div(ut+p,ut-p):i.div(p-ut,p+ut);return i.toBytes(A)},toMontgomerySecret(h){let p=S.secretKey;q(h,p);let _=t(h.subarray(0,p));return a(_).subarray(0,p)}};return Object.freeze({keygen:Tn(N,v),getPublicKey:v,sign:T,verify:w,utils:V,Point:e,lengths:S})}var Fd=BigInt(1),cc=BigInt(2);var qd=BigInt(5),Hd=BigInt(8),Ai=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),zd={p:Ai,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Hd,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Gd(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=Ai,c=e*e%i*e%i,a=J(c,cc,i)*c%i,l=J(a,Fd,i)*e%i,u=J(l,qd,i)*l%i,f=J(u,t,i)*u%i,x=J(f,r,i)*f%i,v=J(x,n,i)*x%i,b=J(v,o,i)*v%i,T=J(b,o,i)*v%i,I=J(T,t,i)*u%i;return{pow_p_5_8:J(I,cc,i)*e%i,b2:c}}function jd(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var uc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function Zd(e,t){let r=Ai,n=ot(t*t*t,r),o=ot(n*n*t,r),i=Gd(e*o).pow_p_5_8,s=ot(e*n*i,r),c=ot(t*s*s,r),a=s,l=ot(s*uc,r),u=c===e,f=c===ot(-e,r),x=c===ot(-e*uc,r);return u&&(s=a),(f||x)&&(s=l),Ja(s,r)&&(s=ot(-s,r)),{isValid:u||f,value:s}}var Yd=sc(zd,{uvRatio:Zd});function Wd(e){return ac(Yd,Va,Object.assign({adjustScalarBytes:jd},e))}var fc=Wd({});var $r=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},Cn=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var lc={get(e=globalThis){let t=e.crypto;if(t?.subtle==null)throw new Cn("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");return t}};var Ot=lc;var Bn=32;var Ii,Xd=(async()=>{try{return await Ot.get().subtle.generateKey({name:"Ed25519"},!0,["sign","verify"]),!0}catch{return!1}})();async function Jd(e,t,r){if(e.buffer instanceof ArrayBuffer){let n=await Ot.get().subtle.importKey("raw",e.buffer,{name:"Ed25519"},!1,["verify"]);return await Ot.get().subtle.verify({name:"Ed25519"},n,t,r instanceof Uint8Array?r:r.subarray())}throw new TypeError("WebCrypto does not support SharedArrayBuffer for Ed25519 keys")}function Qd(e,t,r){return fc.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}async function dc(e,t,r){return Ii==null&&(Ii=await Xd),Ii?Jd(e,t,r):Qd(e,t,r)}function _n(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var Dn=class{type="Ed25519";raw;constructor(t){this.raw=Ti(t,Bn)}toMultihash(){return Ct.digest(er(this))}toCID(){return Z.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Y(this.raw,t.raw)}verify(t,r,n){n?.signal?.throwIfAborted();let o=dc(this.raw,r,t);return _n(o)?o.then(i=>(n?.signal?.throwIfAborted(),i)):o}};function Ci(e){return e=Ti(e,Bn),new Dn(e)}function Ti(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new st(`Key must be a Uint8Array of length ${t}, got ${e.length}`);return e}var eh=Math.pow(2,7),rh=Math.pow(2,14),nh=Math.pow(2,21),Bi=Math.pow(2,28),_i=Math.pow(2,35),Di=Math.pow(2,42),Ri=Math.pow(2,49),Q=128,gt=127;function Jt(e){if(e<eh)return 1;if(e<rh)return 2;if(e<nh)return 3;if(e<Bi)return 4;if(e<_i)return 5;if(e<Di)return 6;if(e<Ri)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Fr(e,t,r=0){switch(Jt(e)){case 8:t[r++]=e&255|Q,e/=128;case 7:t[r++]=e&255|Q,e/=128;case 6:t[r++]=e&255|Q,e/=128;case 5:t[r++]=e&255|Q,e/=128;case 4:t[r++]=e&255|Q,e>>>=7;case 3:t[r++]=e&255|Q,e>>>=7;case 2:t[r++]=e&255|Q,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function Pi(e,t){let r=e[t],n=0;if(n+=r&gt,r<Q||(r=e[t+1],n+=(r&gt)<<7,r<Q)||(r=e[t+2],n+=(r&gt)<<14,r<Q)||(r=e[t+3],n+=(r&gt)<<21,r<Q)||(r=e[t+4],n+=(r&gt)*Bi,r<Q)||(r=e[t+5],n+=(r&gt)*_i,r<Q)||(r=e[t+6],n+=(r&gt)*Di,r<Q)||(r=e[t+7],n+=(r&gt)*Ri,r<Q))return n;throw new RangeError("Could not decode varint")}function oh(e,t){let r=e.get(t),n=0;if(n+=r&gt,r<Q||(r=e.get(t+1),n+=(r&gt)<<7,r<Q)||(r=e.get(t+2),n+=(r&gt)<<14,r<Q)||(r=e.get(t+3),n+=(r&gt)<<21,r<Q)||(r=e.get(t+4),n+=(r&gt)*Bi,r<Q)||(r=e.get(t+5),n+=(r&gt)*_i,r<Q)||(r=e.get(t+6),n+=(r&gt)*Di,r<Q)||(r=e.get(t+7),n+=(r&gt)*Ri,r<Q))return n;throw new RangeError("Could not decode varint")}function Li(e,t=0){return e instanceof Uint8Array?Pi(e,t):oh(e,t)}var Ni=new Float32Array([-0]),Ie=new Uint8Array(Ni.buffer);function pc(e,t,r){Ni[0]=e,t[r]=Ie[0],t[r+1]=Ie[1],t[r+2]=Ie[2],t[r+3]=Ie[3]}function mc(e,t){return Ie[0]=e[t],Ie[1]=e[t+1],Ie[2]=e[t+2],Ie[3]=e[t+3],Ni[0]}var Ui=new Float64Array([-0]),xt=new Uint8Array(Ui.buffer);function yc(e,t,r){Ui[0]=e,t[r]=xt[0],t[r+1]=xt[1],t[r+2]=xt[2],t[r+3]=xt[3],t[r+4]=xt[4],t[r+5]=xt[5],t[r+6]=xt[6],t[r+7]=xt[7]}function gc(e,t){return xt[0]=e[t],xt[1]=e[t+1],xt[2]=e[t+2],xt[3]=e[t+3],xt[4]=e[t+4],xt[5]=e[t+5],xt[6]=e[t+6],xt[7]=e[t+7],Ui[0]}var sh=BigInt(Number.MAX_SAFE_INTEGER),ah=BigInt(Number.MIN_SAFE_INTEGER),Dt=class e{lo;hi;constructor(t,r){this.lo=t|0,this.hi=r|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+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 r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(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,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return Me;if(t<sh&&t>ah)return this.fromNumber(Number(t));let r=t<0n;r&&(t=-t);let n=t>>32n,o=t-(n<<32n);return r&&(n=~n|0n,o=~o|0n,++o>xc&&(o=0n,++n>xc&&(n=0n))),new e(Number(o),Number(n))}static fromNumber(t){if(t===0)return Me;let r=t<0;r&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return r&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new e(n,o)}static from(t){return typeof t=="number"?e.fromNumber(t):typeof t=="bigint"?e.fromBigInt(t):typeof t=="string"?e.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new e(t.low>>>0,t.high>>>0):Me}},Me=new Dt(0,0);Me.toBigInt=function(){return 0n};Me.zzEncode=Me.zzDecode=function(){return this};Me.length=function(){return 1};var xc=4294967296n;function bc(e){let t=0,r=0;for(let n=0;n<e.length;++n)r=e.charCodeAt(n),r<128?t+=1:r<2048?t+=2:(r&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function wc(e,t,r){if(r-t<1)return"";let o,i=[],s=0,c;for(;t<r;)c=e[t++],c<128?i[s++]=c:c>191&&c<224?i[s++]=(c&31)<<6|e[t++]&63:c>239&&c<365?(c=((c&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,i[s++]=55296+(c>>10),i[s++]=56320+(c&1023)):i[s++]=(c&15)<<12|(e[t++]&63)<<6|e[t++]&63,s>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,i)),s=0);return o!=null?(s>0&&o.push(String.fromCharCode.apply(String,i.slice(0,s))),o.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function Oi(e,t,r){let n=r,o,i;for(let s=0;s<e.length;++s)o=e.charCodeAt(s),o<128?t[r++]=o:o<2048?(t[r++]=o>>6|192,t[r++]=o&63|128):(o&64512)===55296&&((i=e.charCodeAt(s+1))&64512)===56320?(o=65536+((o&1023)<<10)+(i&1023),++s,t[r++]=o>>18|240,t[r++]=o>>12&63|128,t[r++]=o>>6&63|128,t[r++]=o&63|128):(t[r++]=o>>12|224,t[r++]=o>>6&63|128,t[r++]=o&63|128);return r-n}function Mt(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function Rn(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var ki=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,Mt(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 Mt(this,4);return Rn(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Mt(this,4);return Rn(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Mt(this,4);let t=mc(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Mt(this,4);let t=gc(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw Mt(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return wc(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Mt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Mt(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new Dt(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*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;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw Mt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,t}if(this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw Mt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Mt(this,8);let t=Rn(this.buf,this.pos+=4),r=Rn(this.buf,this.pos+=4);return new Dt(t,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=Pi(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 Ki(e){return new ki(e instanceof Uint8Array?e:e.subarray())}function fr(e,t,r){let n=Ki(e);return t.decode(n,void 0,r)}function Vi(e){let t=e??8192,r=t>>>1,n,o=t;return function(s){if(s<1||s>r)return Bt(s);o+s>t&&(n=Bt(t),o=0);let c=n.subarray(o,o+=s);return(o&7)!==0&&(o=(o|7)+1),c}}var $e=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function Mi(){}var Fi=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},ch=Vi();function uh(e){return globalThis.Buffer!=null?Bt(e):ch(e)}var Hr=class{len;head;tail;states;constructor(){this.len=0,this.head=new $e(Mi,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new $e(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new qi((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(Pn,10,Dt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=Dt.fromBigInt(t);return this._push(Pn,r.length(),r)}uint64Number(t){return this._push(Fr,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 r=Dt.fromBigInt(t).zzEncode();return this._push(Pn,r.length(),r)}sint64Number(t){let r=Dt.fromNumber(t).zzEncode();return this._push(Pn,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push($i,1,t?1:0)}fixed32(t){return this._push(qr,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=Dt.fromBigInt(t);return this._push(qr,4,r.lo)._push(qr,4,r.hi)}fixed64Number(t){let r=Dt.fromNumber(t);return this._push(qr,4,r.lo)._push(qr,4,r.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(pc,4,t)}double(t){return this._push(yc,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push($i,1,0):this.uint32(r)._push(lh,r,t)}string(t){let r=bc(t);return r!==0?this.uint32(r)._push(Oi,r,t):this._push($i,1,0)}fork(){return this.states=new Fi(this),this.head=this.tail=new $e(Mi,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 $e(Mi,0,0),this.len=0),this}ldelim(){let t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=r,this.len+=n),this}finish(){let t=this.head.next,r=uh(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function $i(e,t,r){t[r]=e&255}function fh(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var qi=class extends $e{next;constructor(t,r){super(fh,t,r),this.next=void 0}};function Pn(e,t,r){for(;e.hi!==0;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}function qr(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function lh(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(Hr.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(dh,t,e),this},Hr.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(hh,t,e),this});function dh(e,t,r){t.set(e,r)}function hh(e,t,r){e.length<40?Oi(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(H(e),r)}function Hi(){return new Hr}function lr(e,t){let r=Hi();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var dr;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(dr||(dr={}));function Ln(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function zr(e){function t(o){if(e[o.toString()]==null)throw new Error("Invalid enum value");return e[o]}let r=function(i,s){let c=t(i);s.int32(c)},n=function(i){let s=i.int32();return t(s)};return Ln("enum",dr.VARINT,r,n)}function hr(e,t){return Ln("message",dr.LENGTH_DELIMITED,e,t)}var it;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.secp256k1="secp256k1",e.ECDSA="ECDSA"})(it||(it={}));var zi;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.secp256k1=2]="secp256k1",e[e.ECDSA=3]="ECDSA"})(zi||(zi={}));(function(e){e.codec=()=>zr(zi)})(it||(it={}));var Qt;(function(e){let t;e.codec=()=>(t==null&&(t=hr((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),it.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),o.lengthDelimited!==!1&&n.ldelim()},(r,n,o={})=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let c=r.uint32();switch(c>>>3){case 1:{i.Type=it.codec().decode(r);break}case 2:{i.Data=r.bytes();break}default:{r.skipType(c&7);break}}}return i})),t),e.encode=r=>lr(r,e.codec()),e.decode=(r,n)=>fr(r,e.codec(),n)})(Qt||(Qt={}));var Gi;(function(e){let t;e.codec=()=>(t==null&&(t=hr((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),it.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),o.lengthDelimited!==!1&&n.ldelim()},(r,n,o={})=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let c=r.uint32();switch(c>>>3){case 1:{i.Type=it.codec().decode(r);break}case 2:{i.Data=r.bytes();break}default:{r.skipType(c&7);break}}}return i})),t),e.encode=r=>lr(r,e.codec()),e.decode=(r,n)=>fr(r,e.codec(),n)})(Gi||(Gi={}));var jr={};St(jr,{MAX_RSA_KEY_SIZE:()=>ji,generateRSAKeyPair:()=>Tc,jwkToJWKKeyPair:()=>Cc,jwkToPkcs1:()=>gh,jwkToPkix:()=>Xi,jwkToRSAPrivateKey:()=>es,pkcs1MessageToJwk:()=>Yi,pkcs1MessageToRSAPrivateKey:()=>Ji,pkcs1ToJwk:()=>yh,pkcs1ToRSAPrivateKey:()=>Ic,pkixMessageToJwk:()=>Wi,pkixMessageToRSAPublicKey:()=>ts,pkixToJwk:()=>xh,pkixToRSAPublicKey:()=>Qi});var pr=class{type="RSA";jwk;_raw;_multihash;constructor(t,r){this.jwk=t,this._multihash=r}get raw(){return this._raw==null&&(this._raw=jr.jwkToPkix(this.jwk)),this._raw}toMultihash(){return this._multihash}toCID(){return Z.createV1(114,this._multihash)}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Y(this.raw,t.raw)}verify(t,r,n){return Ac(this.jwk,r,t,n)}},Gr=class{type="RSA";jwk;_raw;publicKey;constructor(t,r){this.jwk=t,this.publicKey=r}get raw(){return this._raw==null&&(this._raw=jr.jwkToPkcs1(this.jwk)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Y(this.raw,t.raw)}sign(t,r){return vc(this.jwk,t,r)}};var ji=8192,Zi=18,ph=1062,mh=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function yh(e){let t=ie(e);return Yi(t)}function Yi(e){return{n:z(e[1],"base64url"),e:z(e[2],"base64url"),d:z(e[3],"base64url"),p:z(e[4],"base64url"),q:z(e[5],"base64url"),dp:z(e[6],"base64url"),dq:z(e[7],"base64url"),qi:z(e[8],"base64url"),kty:"RSA"}}function gh(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new st("JWK was missing components");return be([It(Uint8Array.from([0])),It(H(e.n,"base64url")),It(H(e.e,"base64url")),It(H(e.d,"base64url")),It(H(e.p,"base64url")),It(H(e.q,"base64url")),It(H(e.dp,"base64url")),It(H(e.dq,"base64url")),It(H(e.qi,"base64url"))]).subarray()}function xh(e){let t=ie(e,{offset:0});return Wi(t)}function Wi(e){let t=ie(e[1],{offset:0});return{kty:"RSA",n:z(t[0],"base64url"),e:z(t[1],"base64url")}}function Xi(e){if(e.n==null||e.e==null)throw new st("JWK was missing components");return be([mh,xn(be([It(H(e.n,"base64url")),It(H(e.e,"base64url"))]))]).subarray()}function Ic(e){let t=ie(e);return Ji(t)}function Ji(e){let t=Yi(e);return es(t)}function Qi(e,t){if(e.byteLength>=ph)throw new Ge("Key size is too large");let r=ie(e,{offset:0});return ts(r,e,t)}function ts(e,t,r){let n=Wi(e);if(r==null){let o=or(Qt.encode({Type:it.RSA,Data:t}));r=Yt(Zi,o)}return new pr(n,r)}function es(e){if(_c(e)>ji)throw new st("Key size is too large");let t=Cc(e),r=or(Qt.encode({Type:it.RSA,Data:Xi(t.publicKey)})),n=Yt(Zi,r);return new Gr(t.privateKey,new pr(t.publicKey,n))}async function Tc(e){if(e>ji)throw new st("Key size is too large");let t=await Bc(e),r=or(Qt.encode({Type:it.RSA,Data:Xi(t.publicKey)})),n=Yt(Zi,r);return new Gr(t.privateKey,new pr(t.publicKey,n))}function Cc(e){if(e==null)throw new st("Missing key parameter");return{privateKey:e,publicKey:{kty:e.kty,n:e.n,e:e.e}}}async function Bc(e,t){let r=await Ot.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]);t?.signal?.throwIfAborted();let n=await bh(r,t);return{privateKey:n[0],publicKey:n[1]}}async function vc(e,t,r){let n=await Ot.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]);r?.signal?.throwIfAborted();let o=await Ot.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},n,t instanceof Uint8Array?t:t.subarray());return r?.signal?.throwIfAborted(),new Uint8Array(o,0,o.byteLength)}async function Ac(e,t,r,n){let o=await Ot.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);n?.signal?.throwIfAborted();let i=await Ot.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},o,t,r instanceof Uint8Array?r:r.subarray());return n?.signal?.throwIfAborted(),i}async function bh(e,t){if(e.privateKey==null||e.publicKey==null)throw new st("Private and public key are required");let r=await Promise.all([Ot.get().subtle.exportKey("jwk",e.privateKey),Ot.get().subtle.exportKey("jwk",e.publicKey)]);return t?.signal?.throwIfAborted(),r}function _c(e){if(e.kty!=="RSA")throw new st("invalid key type");if(e.n==null)throw new st("invalid key modulus");return H(e.n,"base64url").length*8}var Nn=class{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(t,r){if(bn(t),q(r,void 0,"key"),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 n=this.blockLen,o=new Uint8Array(n);o.set(r.length>n?t.create().update(r).digest():r);for(let i=0;i<o.length;i++)o[i]^=54;this.iHash.update(o),this.oHash=t.create();for(let i=0;i<o.length;i++)o[i]^=106;this.oHash.update(o),ae(o)}update(t){return rr(this),this.iHash.update(t),this}digestInto(t){rr(this),q(t,this.outputLen,"output"),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||=Object.create(Object.getPrototypeOf(this),{});let{oHash:r,iHash:n,finished:o,destroyed:i,blockLen:s,outputLen:c}=this;return t=t,t.finished=o,t.destroyed=i,t.blockLen=s,t.outputLen=c,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},rs=(e,t,r)=>new Nn(e,t).update(r).digest();rs.create=(e,t)=>new Nn(e,t);var Dc=(e,t)=>(e+(e>=0?t:-t)/Rc)/t;function wh(e,t,r){let[[n,o],[i,s]]=t,c=Dc(s*e,r),a=Dc(-o*e,r),l=e-c*n-a*i,u=-c*o-a*s,f=l<de,x=u<de;f&&(l=-l),x&&(u=-u);let v=Kr(Math.ceil(pi(r)/2))+mr;if(l<de||l>=v||u<de||u>=v)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:f,k1:l,k2neg:x,k2:u}}function os(e){if(!["compact","recovered","der"].includes(e))throw new Error('Signature format must be "compact", "recovered", or "der"');return e}function ns(e,t){let r={};for(let n of Object.keys(t))r[n]=e[n]===void 0?t[n]:e[n];return le(r.lowS,"lowS"),le(r.prehash,"prehash"),r.format!==void 0&&os(r.format),r}var is=class extends Error{constructor(t=""){super(t)}},Te={Err:is,_tlv:{encode:(e,t)=>{let{Err:r}=Te;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length&1)throw new r("tlv.encode: unpadded data");let n=t.length/2,o=Or(n);if(o.length/2&128)throw new r("tlv.encode: long form length too big");let i=n>127?Or(o.length/2|128):"";return Or(e)+i+o+t},decode(e,t){let{Err:r}=Te,n=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[n++]!==e)throw new r("tlv.decode: wrong tlv");let o=t[n++],i=!!(o&128),s=0;if(!i)s=o;else{let a=o&127;if(!a)throw new r("tlv.decode(long): indefinite length not supported");if(a>4)throw new r("tlv.decode(long): byte length is too big");let l=t.subarray(n,n+a);if(l.length!==a)throw new r("tlv.decode: length bytes not complete");if(l[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let u of l)s=s<<8|u;if(n+=a,s<128)throw new r("tlv.decode(long): not minimal encoding")}let c=t.subarray(n,n+s);if(c.length!==s)throw new r("tlv.decode: wrong value length");return{v:c,l:t.subarray(n+s)}}},_int:{encode(e){let{Err:t}=Te;if(e<de)throw new t("integer: negative integers are not allowed");let r=Or(e);if(Number.parseInt(r[0],16)&8&&(r="00"+r),r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=Te;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return ir(e)}},toSig(e){let{Err:t,_int:r,_tlv:n}=Te,o=q(e,void 0,"signature"),{v:i,l:s}=n.decode(48,o);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:c,l:a}=n.decode(2,i),{v:l,l:u}=n.decode(2,a);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(c),s:r.decode(l)}},hexFromSig(e){let{_tlv:t,_int:r}=Te,n=t.encode(2,r.encode(e.r)),o=t.encode(2,r.encode(e.s)),i=n+o;return t.encode(48,i)}},de=BigInt(0),mr=BigInt(1),Rc=BigInt(2),Un=BigInt(3),Eh=BigInt(4);function Pc(e,t={}){let r=In("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:c}=i;ve(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:a}=t;if(a&&(!n.is0(i.a)||typeof a.beta!="bigint"||!Array.isArray(a.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let l=Nc(n,o);function u(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function f(A,m,y){let{x:d,y:E}=m.toAffine(),R=n.toBytes(d);if(le(y,"isCompressed"),y){u();let L=!n.isOdd(E);return Tt(Lc(L),R)}else return Tt(Uint8Array.of(4),R,n.toBytes(E))}function x(A){q(A,void 0,"Point");let{publicKey:m,publicKeyUncompressed:y}=l,d=A.length,E=A[0],R=A.subarray(1);if(d===m&&(E===2||E===3)){let L=n.fromBytes(R);if(!n.isValid(L))throw new Error("bad point: is not on curve, wrong x");let U=T(L),O;try{O=n.sqrt(U)}catch(tt){let W=tt instanceof Error?": "+tt.message:"";throw new Error("bad point: is not on curve, sqrt error"+W)}u();let K=n.isOdd(O);return(E&1)===1!==K&&(O=n.neg(O)),{x:L,y:O}}else if(d===y&&E===4){let L=n.BYTES,U=n.fromBytes(R.subarray(0,L)),O=n.fromBytes(R.subarray(L,L*2));if(!I(U,O))throw new Error("bad point: is not on curve");return{x:U,y:O}}else throw new Error(`bad point: got length ${d}, expected compressed=${m} or uncompressed=${y}`)}let v=t.toBytes||f,b=t.fromBytes||x;function T(A){let m=n.sqr(A),y=n.mul(m,A);return n.add(n.add(y,n.mul(A,i.a)),i.b)}function I(A,m){let y=n.sqr(m),d=T(A);return n.eql(y,d)}if(!I(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let w=n.mul(n.pow(i.a,Un),Eh),C=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(w,C)))throw new Error("bad curve params: a or b");function S(A,m,y=!1){if(!n.isValid(m)||y&&n.is0(m))throw new Error(`bad point coordinate ${A}`);return m}function N(A){if(!(A instanceof p))throw new Error("Weierstrass Point expected")}function k(A){if(!a||!a.basises)throw new Error("no endo");return wh(A,a.basises,o.ORDER)}let M=sr((A,m)=>{let{X:y,Y:d,Z:E}=A;if(n.eql(E,n.ONE))return{x:y,y:d};let R=A.is0();m==null&&(m=R?n.ONE:n.inv(E));let L=n.mul(y,m),U=n.mul(d,m),O=n.mul(E,m);if(R)return{x:n.ZERO,y:n.ZERO};if(!n.eql(O,n.ONE))throw new Error("invZ was invalid");return{x:L,y:U}}),V=sr(A=>{if(A.is0()){if(t.allowInfinityPoint&&!n.is0(A.Y))return;throw new Error("bad point: ZERO")}let{x:m,y}=A.toAffine();if(!n.isValid(m)||!n.isValid(y))throw new Error("bad point: x or y not field elements");if(!I(m,y))throw new Error("bad point: equation left != right");if(!A.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function h(A,m,y,d,E){return y=new p(n.mul(y.X,A),y.Y,y.Z),m=Mr(d,m),y=Mr(E,y),m.add(y)}class p{static BASE=new p(i.Gx,i.Gy,n.ONE);static ZERO=new p(n.ZERO,n.ONE,n.ZERO);static Fp=n;static Fn=o;X;Y;Z;constructor(m,y,d){this.X=S("x",m),this.Y=S("y",y,!0),this.Z=S("z",d),Object.freeze(this)}static CURVE(){return i}static fromAffine(m){let{x:y,y:d}=m||{};if(!m||!n.isValid(y)||!n.isValid(d))throw new Error("invalid affine point");if(m instanceof p)throw new Error("projective point not allowed");return n.is0(y)&&n.is0(d)?p.ZERO:new p(y,d,n.ONE)}static fromBytes(m){let y=p.fromAffine(b(q(m,void 0,"point")));return y.assertValidity(),y}static fromHex(m){return p.fromBytes(ue(m))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(m=8,y=!0){return D.createCache(this,m),y||this.multiply(Un),this}assertValidity(){V(this)}hasEvenY(){let{y:m}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(m)}equals(m){N(m);let{X:y,Y:d,Z:E}=this,{X:R,Y:L,Z:U}=m,O=n.eql(n.mul(y,U),n.mul(R,E)),K=n.eql(n.mul(d,U),n.mul(L,E));return O&&K}negate(){return new p(this.X,n.neg(this.Y),this.Z)}double(){let{a:m,b:y}=i,d=n.mul(y,Un),{X:E,Y:R,Z:L}=this,U=n.ZERO,O=n.ZERO,K=n.ZERO,F=n.mul(E,E),tt=n.mul(R,R),W=n.mul(L,L),G=n.mul(E,R);return G=n.add(G,G),K=n.mul(E,L),K=n.add(K,K),U=n.mul(m,K),O=n.mul(d,W),O=n.add(U,O),U=n.sub(tt,O),O=n.add(tt,O),O=n.mul(U,O),U=n.mul(G,U),K=n.mul(d,K),W=n.mul(m,W),G=n.sub(F,W),G=n.mul(m,G),G=n.add(G,K),K=n.add(F,F),F=n.add(K,F),F=n.add(F,W),F=n.mul(F,G),O=n.add(O,F),W=n.mul(R,L),W=n.add(W,W),F=n.mul(W,G),U=n.sub(U,F),K=n.mul(W,tt),K=n.add(K,K),K=n.add(K,K),new p(U,O,K)}add(m){N(m);let{X:y,Y:d,Z:E}=this,{X:R,Y:L,Z:U}=m,O=n.ZERO,K=n.ZERO,F=n.ZERO,tt=i.a,W=n.mul(i.b,Un),G=n.mul(y,R),et=n.mul(d,L),dt=n.mul(E,U),jt=n.add(y,d),rt=n.add(R,L);jt=n.mul(jt,rt),rt=n.add(G,et),jt=n.sub(jt,rt),rt=n.add(y,E);let yt=n.add(R,U);return rt=n.mul(rt,yt),yt=n.add(G,dt),rt=n.sub(rt,yt),yt=n.add(d,E),O=n.add(L,U),yt=n.mul(yt,O),O=n.add(et,dt),yt=n.sub(yt,O),F=n.mul(tt,rt),O=n.mul(W,dt),F=n.add(O,F),O=n.sub(et,F),F=n.add(et,F),K=n.mul(O,F),et=n.add(G,G),et=n.add(et,G),dt=n.mul(tt,dt),rt=n.mul(W,rt),et=n.add(et,dt),dt=n.sub(G,dt),dt=n.mul(tt,dt),rt=n.add(rt,dt),G=n.mul(et,rt),K=n.add(K,G),G=n.mul(yt,rt),O=n.mul(jt,O),O=n.sub(O,G),G=n.mul(jt,et),F=n.mul(yt,F),F=n.add(F,G),new p(O,K,F)}subtract(m){return this.add(m.negate())}is0(){return this.equals(p.ZERO)}multiply(m){let{endo:y}=t;if(!o.isValidNot0(m))throw new Error("invalid scalar: out of range");let d,E,R=L=>D.cached(this,L,U=>Ve(p,U));if(y){let{k1neg:L,k1:U,k2neg:O,k2:K}=k(m),{p:F,f:tt}=R(U),{p:W,f:G}=R(K);E=tt.add(G),d=h(y.beta,F,W,L,O)}else{let{p:L,f:U}=R(m);d=L,E=U}return Ve(p,[d,E])[0]}multiplyUnsafe(m){let{endo:y}=t,d=this;if(!o.isValid(m))throw new Error("invalid scalar: out of range");if(m===de||d.is0())return p.ZERO;if(m===mr)return d;if(D.hasCache(this))return this.multiply(m);if(y){let{k1neg:E,k1:R,k2neg:L,k2:U}=k(m),{p1:O,p2:K}=ic(p,d,R,U);return h(y.beta,O,K,E,L)}else return D.unsafe(d,m)}toAffine(m){return M(this,m)}isTorsionFree(){let{isTorsionFree:m}=t;return s===mr?!0:m?m(p,this):D.unsafe(this,c).is0()}clearCofactor(){let{clearCofactor:m}=t;return s===mr?this:m?m(p,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(m=!0){return le(m,"isCompressed"),this.assertValidity(),v(p,this,m)}toHex(m=!0){return ce(this.toBytes(m))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let _=o.BITS,D=new ur(p,t.endo?Math.ceil(_/2):_);return p.BASE.precompute(8),p}function Lc(e){return Uint8Array.of(e?2:3)}function Nc(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Sh(e,t={}){let{Fn:r}=e,n=t.randomBytes||nr,o=Object.assign(Nc(e.Fp,r),{seed:xi(r.ORDER)});function i(v){try{let b=r.fromBytes(v);return r.isValidNot0(b)}catch{return!1}}function s(v,b){let{publicKey:T,publicKeyUncompressed:I}=o;try{let w=v.length;return b===!0&&w!==T||b===!1&&w!==I?!1:!!e.fromBytes(v)}catch{return!1}}function c(v=n(o.seed)){return bi(q(v,o.seed,"seed"),r.ORDER)}function a(v,b=!0){return e.BASE.multiply(r.fromBytes(v)).toBytes(b)}function l(v){let{secretKey:b,publicKey:T,publicKeyUncompressed:I}=o;if(!Le(v)||"_lengths"in r&&r._lengths||b===T)return;let w=q(v,void 0,"key").length;return w===T||w===I}function u(v,b,T=!0){if(l(v)===!0)throw new Error("first arg must be private key");if(l(b)===!1)throw new Error("second arg must be public key");let I=r.fromBytes(v);return e.fromBytes(b).multiply(I).toBytes(T)}let f={isValidSecretKey:i,isValidPublicKey:s,randomSecretKey:c},x=Tn(c,a);return Object.freeze({getPublicKey:a,getSharedSecret:u,keygen:x,Point:e,utils:f,lengths:o})}function Uc(e,t,r={}){bn(t),ve(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let n=r.randomBytes||nr,o=r.hmac||((y,d)=>rs(t,y,d)),{Fp:i,Fn:s}=e,{ORDER:c,BITS:a}=s,{keygen:l,getPublicKey:u,getSharedSecret:f,utils:x,lengths:v}=Sh(e,r),b={prehash:!0,lowS:typeof r.lowS=="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},T=c*Rc<i.ORDER;function I(y){let d=c>>mr;return y>d}function w(y,d){if(!s.isValidNot0(d))throw new Error(`invalid signature ${y}: out of range 1..Point.Fn.ORDER`);return d}function C(){if(T)throw new Error('"recovered" sig type is not supported for cofactor >2 curves')}function S(y,d){os(d);let E=v.signature,R=d==="compact"?E:d==="recovered"?E+1:void 0;return q(y,R)}class N{r;s;recovery;constructor(d,E,R){if(this.r=w("r",d),this.s=w("s",E),R!=null){if(C(),![0,1,2,3].includes(R))throw new Error("invalid recovery id");this.recovery=R}Object.freeze(this)}static fromBytes(d,E=b.format){S(d,E);let R;if(E==="der"){let{r:K,s:F}=Te.toSig(q(d));return new N(K,F)}E==="recovered"&&(R=d[0],E="compact",d=d.subarray(1));let L=v.signature/2,U=d.subarray(0,L),O=d.subarray(L,L*2);return new N(s.fromBytes(U),s.fromBytes(O),R)}static fromHex(d,E){return this.fromBytes(ue(d),E)}assertRecovery(){let{recovery:d}=this;if(d==null)throw new Error("invalid recovery id: must be present");return d}addRecoveryBit(d){return new N(this.r,this.s,d)}recoverPublicKey(d){let{r:E,s:R}=this,L=this.assertRecovery(),U=L===2||L===3?E+c:E;if(!i.isValid(U))throw new Error("invalid recovery id: sig.r+curve.n != R.x");let O=i.toBytes(U),K=e.fromBytes(Tt(Lc((L&1)===0),O)),F=s.inv(U),tt=M(q(d,void 0,"msgHash")),W=s.create(-tt*F),G=s.create(R*F),et=e.BASE.multiplyUnsafe(W).add(K.multiplyUnsafe(G));if(et.is0())throw new Error("invalid recovery: point at infinify");return et.assertValidity(),et}hasHighS(){return I(this.s)}toBytes(d=b.format){if(os(d),d==="der")return ue(Te.hexFromSig(this));let{r:E,s:R}=this,L=s.toBytes(E),U=s.toBytes(R);return d==="recovered"?(C(),Tt(Uint8Array.of(this.assertRecovery()),L,U)):Tt(L,U)}toHex(d){return ce(this.toBytes(d))}}let k=r.bits2int||function(d){if(d.length>8192)throw new Error("input is too large");let E=ir(d),R=d.length*8-a;return R>0?E>>BigInt(R):E},M=r.bits2int_modN||function(d){return s.create(k(d))},V=Kr(a);function h(y){return kr("num < 2^"+a,y,de,V),s.toBytes(y)}function p(y,d){return q(y,void 0,"message"),d?q(t(y),void 0,"prehashed message"):y}function _(y,d,E){let{lowS:R,prehash:L,extraEntropy:U}=ns(E,b);y=p(y,L);let O=M(y),K=s.fromBytes(d);if(!s.isValidNot0(K))throw new Error("invalid private key");let F=[h(K),h(O)];if(U!=null&&U!==!1){let et=U===!0?n(v.secretKey):U;F.push(q(et,void 0,"extraEntropy"))}let tt=Tt(...F),W=O;function G(et){let dt=k(et);if(!s.isValidNot0(dt))return;let jt=s.inv(dt),rt=e.BASE.multiply(dt).toAffine(),yt=s.create(rt.x);if(yt===de)return;let ln=s.create(jt*s.create(W+yt*K));if(ln===de)return;let $s=(rt.x===yt?0:2)|Number(rt.y&mr),Fs=ln;return R&&I(ln)&&(Fs=s.neg(ln),$s^=1),new N(yt,Fs,T?void 0:$s)}return{seed:tt,k2sig:G}}function D(y,d,E={}){let{seed:R,k2sig:L}=_(y,d,E);return Fa(t.outputLen,s.BYTES,o)(R,L).toBytes(E.format)}function A(y,d,E,R={}){let{lowS:L,prehash:U,format:O}=ns(R,b);if(E=q(E,void 0,"publicKey"),d=p(d,U),!Le(y)){let K=y instanceof N?", use sig.toBytes()":"";throw new Error("verify expects Uint8Array signature"+K)}S(y,O);try{let K=N.fromBytes(y,O),F=e.fromBytes(E);if(L&&K.hasHighS())return!1;let{r:tt,s:W}=K,G=M(d),et=s.inv(W),dt=s.create(G*et),jt=s.create(tt*et),rt=e.BASE.multiplyUnsafe(dt).add(F.multiplyUnsafe(jt));return rt.is0()?!1:s.create(rt.x)===tt}catch{return!1}}function m(y,d,E={}){let{prehash:R}=ns(E,b);return d=p(d,R),N.fromBytes(y,"recovered").recoverPublicKey(d).toBytes()}return Object.freeze({keygen:l,getPublicKey:u,getSharedSecret:f,utils:x,lengths:v,Point:e,sign:D,verify:A,recoverPublicKey:m,Signature:N,hash:t})}var as={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},vh={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var Oc=BigInt(2);function Ah(e){let t=as.p,r=BigInt(3),n=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),c=BigInt(44),a=BigInt(88),l=e*e*e%t,u=l*l*e%t,f=J(u,r,t)*u%t,x=J(f,r,t)*u%t,v=J(x,Oc,t)*l%t,b=J(v,o,t)*v%t,T=J(b,i,t)*b%t,I=J(T,c,t)*T%t,w=J(I,a,t)*I%t,C=J(w,c,t)*T%t,S=J(C,r,t)*u%t,N=J(S,s,t)*b%t,k=J(N,n,t)*l%t,M=J(k,Oc,t);if(!ss.eql(ss.sqr(M),e))throw new Error("Cannot find square root");return M}var ss=ar(as.p,{sqrt:Ah}),Ih=Pc(as,{Fp:ss,endo:vh}),yr=Uc(Ih,or);function kc(e,t,r,n){let o=_r.digest(r instanceof Uint8Array?r:r.subarray());if(_n(o))return o.then(({digest:i})=>(n?.signal?.throwIfAborted(),yr.verify(t,i,e,{prehash:!1,format:"der"}))).catch(i=>{throw i.name==="AbortError"?i:new $r(String(i))});try{return n?.signal?.throwIfAborted(),yr.verify(t,o.digest,e,{prehash:!1,format:"der"})}catch(i){throw new $r(String(i))}}var On=class{type="secp256k1";raw;_key;constructor(t){this._key=Vc(t),this.raw=Kc(this._key)}toMultihash(){return Ct.digest(er(this))}toCID(){return Z.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Y(this.raw,t.raw)}verify(t,r,n){return kc(this._key,r,t,n)}};function cs(e){return new On(e)}function Kc(e){return yr.Point.fromBytes(e).toBytes()}function Vc(e){try{return yr.Point.fromBytes(e),e}catch(t){throw new Ge(String(t))}}function Mc(e,t){let{Type:r,Data:n}=Qt.decode(e),o=n??new Uint8Array;switch(r){case it.RSA:return Qi(o,t);case it.Ed25519:return Ci(o);case it.secp256k1:return cs(o);case it.ECDSA:return ri(o);default:throw new Ze}}function kn(e){let{Type:t,Data:r}=Qt.decode(e.digest),n=r??new Uint8Array;switch(t){case it.Ed25519:return Ci(n);case it.secp256k1:return cs(n);case it.ECDSA:return ri(n);default:throw new Ze}}function er(e){return Qt.encode({Type:it[e.type],Data:e.raw})}var $c=Symbol.for("nodejs.util.inspect.custom"),Th=114,Zr=class{type;multihash;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Oo]=!0;toString(){return this.string==null&&(this.string=X.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return Z.createV1(Th,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return Y(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return Y(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[$c](){return`PeerId(${this.toString()})`}},Kn=class extends Zr{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Vn=class extends Zr{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},Mn=class extends Zr{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},Ch=2336,Yr=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Ct.digest(H(this.url))}[$c](){return`PeerId(${this.url})`}[Oo]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return Z.createV1(Ch,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=z(t)),t.toString()===this.toString())}};var Bh=114,Fc=2336;function qc(e,t){let r;if(e.charAt(0)==="1"||e.charAt(0)==="Q")r=Re(X.decode(`z${e}`));else{if(e.startsWith("k51qzi5uqu5")||e.startsWith("kzwfwjn5ji4")||e.startsWith("k2k4r8")||e.startsWith("bafz"))return us(Z.parse(e));if(t==null)throw new st('Please pass a multibase decoder for strings that do not start with "1" or "Q"');r=Re(t.decode(e))}return Hc(r)}function Hc(e){if(Dh(e))return new Kn({multihash:e});if(_h(e))try{let t=kn(e);if(t.type==="Ed25519")return new Vn({multihash:e,publicKey:t});if(t.type==="secp256k1")return new Mn({multihash:e,publicKey:t})}catch{let r=z(e.digest);return new Yr(new URL(r))}throw new je("Supplied PeerID Multihash is invalid")}function us(e){if(e?.multihash==null||e.version==null||e.version===1&&e.code!==Bh&&e.code!==Fc)throw new mn("Supplied PeerID CID is invalid");if(e.code===Fc){let t=z(e.multihash.digest);return new Yr(new URL(t))}return Hc(e.multihash)}function _h(e){return e.code===Ct.code}function Dh(e){return e.code===_r.code}var pt=class extends Error{static name="InvalidMultiaddrError";name="InvalidMultiaddrError"},he=class extends Error{static name="ValidationError";name="ValidationError"},$n=class extends Error{static name="InvalidParametersError";name="InvalidParametersError"},Fn=class extends Error{static name="UnknownProtocolError";name="UnknownProtocolError"};var qn=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}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 r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,o){return this.readAtomically(()=>{let i=0,s=0,c=this.peekChar();if(c===void 0)return;let a=c==="0",l=2**(8*o)-1;for(;;){let u=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let x=Number.parseInt(f,t);if(!Number.isNaN(x))return x});if(u===void 0)break;if(i*=t,i+=u,i>l||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&a&&s>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let o=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[o]=s[0],r[o+1]=s[1],r[o+2]=s[2],r[o+3]=s[3],[o+4,!0]}let i=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[o,!1];r[o]=i>>8,r[o+1]=i&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,o]=t(r);if(n===16)return r;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(n+2),[c]=t(i.subarray(0,s));return r.set(i.subarray(0,c),16-c),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Rh=45,Ph=15,Hn=new qn;function zc(e){if(!(e.length>Ph))return Hn.new(e).parseWith(()=>Hn.readIPv4Addr())}function Gc(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Rh))return Hn.new(e).parseWith(()=>Hn.readIPv6Addr())}function zn(e){return!!zc(e)}function jc(e){return!!Gc(e)}function ls(e){return t=>z(t,e)}function ds(e){return t=>H(t,e)}function gr(e){return new DataView(e.buffer).getUint16(e.byteOffset).toString()}function Fe(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,typeof e=="string"?parseInt(e):e),new Uint8Array(t)}function Zc(e){let t=e.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 r=H(t[0],"base32"),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Fe(n);return Ut([r,o],r.length+o.length)}function Yc(e){let t=e.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 r=Zt.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=Fe(n);return Ut([r,o],r.length+o.length)}function hs(e){let t=e.subarray(0,e.length-2),r=e.subarray(e.length-2),n=z(t,"base32"),o=gr(r);return`${n}:${o}`}var ps=function(e){e=e.toString().trim();let t=new Uint8Array(4);return e.split(/\./g).forEach((r,n)=>{let o=parseInt(r,10);if(isNaN(o)||o<0||o>255)throw new pt("Invalid byte value in IP address");t[n]=o}),t},Wc=function(e){let t=0;e=e.toString().trim();let r=e.split(":",8),n;for(n=0;n<r.length;n++){let i=zn(r[n]),s;i&&(s=ps(r[n]),r[n]=z(s.subarray(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,z(s.subarray(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let i=[n,1];for(n=9-r.length;n>0;n--)i.push("0");r.splice.apply(r,i)}let o=new Uint8Array(t+16);for(n=0;n<r.length;n++){r[n]===""&&(r[n]="0");let i=parseInt(r[n],16);if(isNaN(i)||i<0||i>65535)throw new pt("Invalid byte value in IP address");o[t++]=i>>8&255,o[t++]=i&255}return o},Xc=function(e){if(e.byteLength!==4)throw new pt("IPv4 address was incorrect length");let t=[];for(let r=0;r<e.byteLength;r++)t.push(e[r]);return t.join(".")},Jc=function(e){if(e.byteLength!==16)throw new pt("IPv6 address was incorrect length");let t=[];for(let n=0;n<e.byteLength;n+=2){let o=e[n],i=e[n+1],s=`${o.toString(16).padStart(2,"0")}${i.toString(16).padStart(2,"0")}`;t.push(s)}let r=t.join(":");try{let n=new URL(`http://[${r}]`);return n.hostname.substring(1,n.hostname.length-1)}catch{throw new pt(`Invalid IPv6 address "${r}"`)}};function Qc(e){try{let t=new URL(`http://[${e}]`);return t.hostname.substring(1,t.hostname.length-1)}catch{throw new pt(`Invalid IPv6 address "${e}"`)}}var fs=Object.values(Dr).map(e=>e.decoder),Lh=(function(){let e=fs[0].or(fs[1]);return fs.slice(2).forEach(t=>e=e.or(t)),e})();function tu(e){return Lh.decode(e)}function eu(e){return t=>e.encoder.encode(t)}function Nh(e){if(parseInt(e).toString()!==e)throw new he("Value must be an integer")}function Uh(e){if(e<0)throw new he("Value must be a positive integer, or zero")}function Oh(e){return t=>{if(t>e)throw new he(`Value must be smaller than or equal to ${e}`)}}function kh(...e){return t=>{for(let r of e)r(t)}}var Wr=kh(Nh,Uh,Oh(65535));var ft=-1,ms=class{protocolsByCode=new Map;protocolsByName=new Map;getProtocol(t){let r;if(typeof t=="string"?r=this.protocolsByName.get(t):r=this.protocolsByCode.get(t),r==null)throw new Fn(`Protocol ${t} was unknown`);return r}addProtocol(t){this.protocolsByCode.set(t.code,t),this.protocolsByName.set(t.name,t),t.aliases?.forEach(r=>{this.protocolsByName.set(r,t)})}removeProtocol(t){let r=this.protocolsByCode.get(t);r!=null&&(this.protocolsByCode.delete(r.code),this.protocolsByName.delete(r.name),r.aliases?.forEach(n=>{this.protocolsByName.delete(n)}))}},pe=new ms,Ap=[{code:4,name:"ip4",size:32,valueToBytes:ps,bytesToValue:Xc,validate:e=>{if(!zn(e))throw new he(`Invalid IPv4 address "${e}"`)}},{code:6,name:"tcp",size:16,valueToBytes:Fe,bytesToValue:gr,validate:Wr},{code:273,name:"udp",size:16,valueToBytes:Fe,bytesToValue:gr,validate:Wr},{code:33,name:"dccp",size:16,valueToBytes:Fe,bytesToValue:gr,validate:Wr},{code:41,name:"ip6",size:128,valueToBytes:Wc,bytesToValue:Jc,stringToValue:Qc,validate:e=>{if(!jc(e))throw new he(`Invalid IPv6 address "${e}"`)}},{code:42,name:"ip6zone",size:ft},{code:43,name:"ipcidr",size:8,bytesToValue:ls("base10"),valueToBytes:ds("base10")},{code:53,name:"dns",size:ft},{code:54,name:"dns4",size:ft},{code:55,name:"dns6",size:ft},{code:56,name:"dnsaddr",size:ft},{code:132,name:"sctp",size:16,valueToBytes:Fe,bytesToValue:gr,validate:Wr},{code:301,name:"udt"},{code:302,name:"utp"},{code:400,name:"unix",size:ft,stringToValue:e=>decodeURIComponent(e),valueToString:e=>encodeURIComponent(e)},{code:421,name:"p2p",aliases:["ipfs"],size:ft,bytesToValue:ls("base58btc"),valueToBytes:e=>e.startsWith("Q")||e.startsWith("1")?ds("base58btc")(e):Z.parse(e).multihash.bytes},{code:444,name:"onion",size:96,bytesToValue:hs,valueToBytes:Zc},{code:445,name:"onion3",size:296,bytesToValue:hs,valueToBytes:Yc},{code:446,name:"garlic64",size:ft},{code:447,name:"garlic32",size:ft},{code:448,name:"tls"},{code:449,name:"sni",size:ft},{code:454,name:"noise"},{code:460,name:"quic"},{code:461,name:"quic-v1"},{code:465,name:"webtransport"},{code:466,name:"certhash",size:ft,bytesToValue:eu(Lo),valueToBytes:tu},{code:480,name:"http"},{code:481,name:"http-path",size:ft,stringToValue:e=>`/${decodeURIComponent(e)}`,valueToString:e=>encodeURIComponent(e.substring(1))},{code:443,name:"https"},{code:477,name:"ws"},{code:478,name:"wss"},{code:479,name:"p2p-websocket-star"},{code:277,name:"p2p-stardust"},{code:275,name:"p2p-webrtc-star"},{code:276,name:"p2p-webrtc-direct"},{code:280,name:"webrtc-direct"},{code:281,name:"webrtc"},{code:290,name:"p2p-circuit"},{code:777,name:"memory",size:ft}];Ap.forEach(e=>{pe.addProtocol(e)});function ru(e){let t=[],r=0;for(;r<e.length;){let n=Li(e,r),o=pe.getProtocol(n),i=Jt(n),s=Ip(o,e,r+i),c=0;s>0&&o.size===ft&&(c=Jt(s));let a=i+c+s,l={code:n,name:o.name,bytes:e.subarray(r,r+a)};if(s>0){let u=r+i+c,f=e.subarray(u,u+s);l.value=o.bytesToValue?.(f)??z(f)}t.push(l),r+=a}return t}function nu(e){let t=0,r=[];for(let n of e){if(n.bytes==null){let o=pe.getProtocol(n.code),i=Jt(n.code),s,c=0,a=0;n.value!=null&&(s=o.valueToBytes?.(n.value)??H(n.value),c=s.byteLength,o.size===ft&&(a=Jt(c)));let l=new Uint8Array(i+a+c),u=0;Fr(n.code,l,u),u+=i,s!=null&&(o.size===ft&&(Fr(c,l,u),u+=a),l.set(s,u)),n.bytes=l}r.push(n.bytes),t+=n.bytes.byteLength}return Ut(r,t)}function ou(e){if(e.charAt(0)!=="/")throw new pt('String multiaddr must start with "/"');let t=[],r="protocol",n="",o="";for(let i=1;i<e.length;i++){let s=e.charAt(i);s!=="/"&&(r==="protocol"?o+=e.charAt(i):n+=e.charAt(i));let c=i===e.length-1;if(s==="/"||c){let a=pe.getProtocol(o);if(r==="protocol"){if(a.size==null||a.size===0){t.push({code:a.code,name:a.name}),n="",o="",r="protocol";continue}else if(c)throw new pt(`Component ${o} was missing value`);r="value"}else if(r==="value"){let l={code:a.code,name:a.name};if(a.size!=null&&a.size!==0){if(n==="")throw new pt(`Component ${o} was missing value`);l.value=a.stringToValue?.(n)??n}t.push(l),n="",o="",r="protocol"}}}if(o!==""&&n!=="")throw new pt("Incomplete multiaddr");return t}function iu(e){return`/${e.flatMap(t=>{if(t.value==null)return t.name;let r=pe.getProtocol(t.code);if(r==null)throw new pt(`Unknown protocol code ${t.code}`);return[t.name,r.valueToString?.(t.value)??t.value]}).join("/")}`}function Ip(e,t,r){return e.size==null||e.size===0?0:e.size>0?e.size/8:Li(t,r)}var Tp=Symbol.for("nodejs.util.inspect.custom"),ys=Symbol.for("@multiformats/multiaddr");function Cp(e){if(e==null&&(e="/"),su(e))return e.getComponents();if(e instanceof Uint8Array)return ru(e);if(typeof e=="string")return e=e.replace(/\/(\/)+/,"/").replace(/(\/)+$/,""),e===""&&(e="/"),ou(e);if(Array.isArray(e))return e;throw new pt("Must be a string, Uint8Array, Component[], or another Multiaddr")}var Gn=class e{[ys]=!0;#t;#n;#r;constructor(t="/",r={}){this.#t=Cp(t),r.validate!==!1&&Bp(this)}get bytes(){return this.#r==null&&(this.#r=nu(this.#t)),this.#r}toString(){return this.#n==null&&(this.#n=iu(this.#t)),this.#n}toJSON(){return this.toString()}getComponents(){return[...this.#t.map(t=>({...t}))]}encapsulate(t){let r=new e(t);return new e([...this.#t,...r.getComponents()],{validate:!1})}decapsulate(t){let r=t.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new $n(`Address ${this.toString()} does not contain subaddress: ${r}`);return new e(n.slice(0,o),{validate:!1})}decapsulateCode(t){let r;for(let n=this.#t.length-1;n>-1;n--)if(this.#t[n].code===t){r=n;break}return new e(this.#t.slice(0,r),{validate:!1})}equals(t){return Y(this.bytes,t.bytes)}[Tp](){return`Multiaddr(${this.toString()})`}};function Bp(e){e.getComponents().forEach(t=>{let r=pe.getProtocol(t.code);t.value!=null&&r.validate?.(t.value)})}function su(e){return!!e?.[ys]}function jn(e){return new Gn(e)}function Xr(e){let t=new globalThis.AbortController;function r(){t.abort();for(let i of e)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}for(let i of e){if(i?.aborted===!0){r();break}i?.addEventListener!=null&&i.addEventListener("abort",r)}function n(){for(let i of e)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}let o=t.signal;return o.clear=n,o}async function*Zn(e,t={}){let r=e.getReader();try{for(;;){let n=await r.read();if(n.done)return;yield n.value}}finally{t.preventCancel!==!0&&await r.cancel(),r.releaseLock()}}var l0=Io(xs(),1);var $t=class extends Error{static name="SignatureVerificationError";constructor(t="Record signature verification failed"){super(t),this.name="SignatureVerificationError"}},Yn=class extends Error{static name="RecordExpiredError";constructor(t="Record has expired"){super(t),this.name="RecordExpiredError"}},xr=class extends Error{static name="UnsupportedValidityError";constructor(t="The validity type is unsupported"){super(t),this.name="UnsupportedValidityError"}},Wn=class extends Error{static name="RecordTooLargeError";constructor(t="The record is too large"){super(t),this.name="RecordTooLargeError"}},Xn=class extends Error{static name="InvalidValueError";constructor(t="Value must be a valid content path starting with /"){super(t),this.name="InvalidValueError"}},Jn=class extends Error{static name="InvalidRecordDataError";constructor(t="Invalid record data"){super(t),this.name="InvalidRecordDataError"}},Jr=class extends Error{static name="InvalidEmbeddedPublicKeyError";constructor(t="Invalid embedded public key"){super(t),this.name="InvalidEmbeddedPublicKeyError"}};var Ft;(function(e){let t;(function(o){o.EOL="EOL"})(t=e.ValidityType||(e.ValidityType={}));let r;(function(o){o[o.EOL=0]="EOL"})(r||(r={})),(function(o){o.codec=()=>zr(r)})(t=e.ValidityType||(e.ValidityType={}));let n;e.codec=()=>(n==null&&(n=hr((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.value!=null&&(i.uint32(10),i.bytes(o.value)),o.signatureV1!=null&&(i.uint32(18),i.bytes(o.signatureV1)),o.validityType!=null&&(i.uint32(24),e.ValidityType.codec().encode(o.validityType,i)),o.validity!=null&&(i.uint32(34),i.bytes(o.validity)),o.sequence!=null&&(i.uint32(40),i.uint64(o.sequence)),o.ttl!=null&&(i.uint32(48),i.uint64(o.ttl)),o.pubKey!=null&&(i.uint32(58),i.bytes(o.pubKey)),o.signatureV2!=null&&(i.uint32(66),i.bytes(o.signatureV2)),o.data!=null&&(i.uint32(74),i.bytes(o.data)),s.lengthDelimited!==!1&&i.ldelim()},(o,i,s={})=>{let c={},a=i==null?o.len:o.pos+i;for(;o.pos<a;){let l=o.uint32();switch(l>>>3){case 1:{c.value=o.bytes();break}case 2:{c.signatureV1=o.bytes();break}case 3:{c.validityType=e.ValidityType.codec().decode(o);break}case 4:{c.validity=o.bytes();break}case 5:{c.sequence=o.uint64();break}case 6:{c.ttl=o.uint64();break}case 7:{c.pubKey=o.bytes();break}case 8:{c.signatureV2=o.bytes();break}case 9:{c.data=o.bytes();break}default:{o.skipType(l&7);break}}}return c})),n),e.encode=o=>lr(o,e.codec()),e.decode=(o,i)=>fr(o,e.codec(),i)})(Ft||(Ft={}));var _p=["string","number","bigint","symbol"],Dp=["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 au(e){if(e===null)return"null";if(e===void 0)return"undefined";if(e===!0||e===!1)return"boolean";let t=typeof e;if(_p.includes(t))return t;if(t==="function")return"Function";if(Array.isArray(e))return"Array";if(Rp(e))return"Buffer";let r=Pp(e);return r||"Object"}function Rp(e){return e&&e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer.call(null,e)}function Pp(e){let t=Object.prototype.toString.call(e).slice(8,-1);if(Dp.includes(t))return t}var g=class{constructor(t,r,n){this.major=t,this.majorEncoded=t<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(t){return this.major<t.major?-1:this.major>t.major?1:0}};g.uint=new g(0,"uint",!0);g.negint=new g(1,"negint",!0);g.bytes=new g(2,"bytes",!0);g.string=new g(3,"string",!0);g.array=new g(4,"array",!1);g.map=new g(5,"map",!1);g.tag=new g(6,"tag",!1);g.float=new g(7,"float",!0);g.false=new g(7,"false",!0);g.true=new g(7,"true",!0);g.null=new g(7,"null",!0);g.undefined=new g(7,"undefined",!0);g.break=new g(7,"break",!0);var P=class{constructor(t,r,n){this.type=t,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var br=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Lp=new TextDecoder,Np=new TextEncoder;function Qn(e){return br&&globalThis.Buffer.isBuffer(e)}function bs(e){return e instanceof Uint8Array?Qn(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e:Uint8Array.from(e)}var lu=br?(e,t,r)=>r-t>64?globalThis.Buffer.from(e.subarray(t,r)).toString("utf8"):uu(e,t,r):(e,t,r)=>r-t>64?Lp.decode(e.subarray(t,r)):uu(e,t,r),du=br?e=>e.length>64?globalThis.Buffer.from(e):cu(e):e=>e.length>64?Np.encode(e):cu(e),te=e=>Uint8Array.from(e),wr=br?(e,t,r)=>Qn(e)?new Uint8Array(e.subarray(t,r)):e.slice(t,r):(e,t,r)=>e.slice(t,r),hu=br?(e,t)=>(e=e.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),bs(globalThis.Buffer.concat(e,t))):(e,t)=>{let r=new Uint8Array(t),n=0;for(let o of e)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},pu=br?e=>globalThis.Buffer.allocUnsafe(e):e=>new Uint8Array(e);function to(e,t){if(Qn(e)&&Qn(t))return e.compare(t);for(let r=0;r<e.length;r++)if(e[r]!==t[r])return e[r]<t[r]?-1:1;return 0}function cu(e){let t=[],r=0;for(let n=0;n<e.length;n++){let o=e.charCodeAt(n);o<128?t[r++]=o:o<2048?(t[r++]=o>>6|192,t[r++]=o&63|128):(o&64512)===55296&&n+1<e.length&&(e.charCodeAt(n+1)&64512)===56320?(o=65536+((o&1023)<<10)+(e.charCodeAt(++n)&1023),t[r++]=o>>18|240,t[r++]=o>>12&63|128,t[r++]=o>>6&63|128,t[r++]=o&63|128):(t[r++]=o>>12|224,t[r++]=o>>6&63|128,t[r++]=o&63|128)}return t}function uu(e,t,r){let n=[];for(;t<r;){let o=e[t],i=null,s=o>239?4:o>223?3:o>191?2:1;if(t+s<=r){let c,a,l,u;switch(s){case 1:o<128&&(i=o);break;case 2:c=e[t+1],(c&192)===128&&(u=(o&31)<<6|c&63,u>127&&(i=u));break;case 3:c=e[t+1],a=e[t+2],(c&192)===128&&(a&192)===128&&(u=(o&15)<<12|(c&63)<<6|a&63,u>2047&&(u<55296||u>57343)&&(i=u));break;case 4:c=e[t+1],a=e[t+2],l=e[t+3],(c&192)===128&&(a&192)===128&&(l&192)===128&&(u=(o&15)<<18|(c&63)<<12|(a&63)<<6|l&63,u>65535&&u<1114112&&(i=u))}}i===null?(i=65533,s=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|i&1023),n.push(i),t+=s}return Up(n)}var fu=4096;function Up(e){let t=e.length;if(t<=fu)return String.fromCharCode.apply(String,e);let r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=fu));return r}var Op=256,Qr=class{constructor(t=Op){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 r=this.chunks[this.chunks.length-1];if(this.cursor+t.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(t,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}t.length<64&&t.length<this.chunkSize?(r=pu(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(t,0)):(this.chunks.push(t),this.maxCursor+=t.length)}this.cursor+=t.length}toBytes(t=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];t&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=wr(n,0,this.cursor)}else r=hu(this.chunks,this.cursor);return t&&this.reset(),r}};var $="CBOR decode error:",ws="CBOR encode error:",tn=[];tn[23]=1;tn[24]=2;tn[25]=3;tn[26]=5;tn[27]=9;function me(e,t,r){if(e.length-t<r)throw new Error(`${$} not enough data for type`)}var lt=[24,256,65536,4294967296,BigInt("18446744073709551616")];function Rt(e,t,r){me(e,t,1);let n=e[t];if(r.strict===!0&&n<lt[0])throw new Error(`${$} integer encoded in more bytes than necessary (strict decode)`);return n}function Pt(e,t,r){me(e,t,2);let n=e[t]<<8|e[t+1];if(r.strict===!0&&n<lt[1])throw new Error(`${$} integer encoded in more bytes than necessary (strict decode)`);return n}function Lt(e,t,r){me(e,t,4);let n=e[t]*16777216+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];if(r.strict===!0&&n<lt[2])throw new Error(`${$} integer encoded in more bytes than necessary (strict decode)`);return n}function Nt(e,t,r){me(e,t,8);let n=e[t]*16777216+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3],o=e[t+4]*16777216+(e[t+5]<<16)+(e[t+6]<<8)+e[t+7],i=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&i<lt[3])throw new Error(`${$} integer encoded in more bytes than necessary (strict decode)`);if(i<=Number.MAX_SAFE_INTEGER)return Number(i);if(r.allowBigInt===!0)return i;throw new Error(`${$} integers outside of the safe integer range are not supported`)}function mu(e,t,r,n){return new P(g.uint,Rt(e,t+1,n),2)}function yu(e,t,r,n){return new P(g.uint,Pt(e,t+1,n),3)}function gu(e,t,r,n){return new P(g.uint,Lt(e,t+1,n),5)}function xu(e,t,r,n){return new P(g.uint,Nt(e,t+1,n),9)}function kt(e,t){return mt(e,0,t.value)}function mt(e,t,r){if(r<lt[0]){let n=Number(r);e.push([t|n])}else if(r<lt[1]){let n=Number(r);e.push([t|24,n])}else if(r<lt[2]){let n=Number(r);e.push([t|25,n>>>8,n&255])}else if(r<lt[3]){let n=Number(r);e.push([t|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<lt[4]){let o=[t|27,0,0,0,0,0,0,0],i=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=i&255,i=i>>8,o[7]=i&255,i=i>>8,o[6]=i&255,i=i>>8,o[5]=i&255,o[4]=s&255,s=s>>8,o[3]=s&255,s=s>>8,o[2]=s&255,s=s>>8,o[1]=s&255,e.push(o)}else throw new Error(`${$} encountered BigInt larger than allowable range`)}}kt.encodedSize=function(t){return mt.encodedSize(t.value)};mt.encodedSize=function(t){return t<lt[0]?1:t<lt[1]?2:t<lt[2]?3:t<lt[3]?5:9};kt.compareTokens=function(t,r){return t.value<r.value?-1:t.value>r.value?1:0};function bu(e,t,r,n){return new P(g.negint,-1-Rt(e,t+1,n),2)}function wu(e,t,r,n){return new P(g.negint,-1-Pt(e,t+1,n),3)}function Eu(e,t,r,n){return new P(g.negint,-1-Lt(e,t+1,n),5)}var Es=BigInt(-1),Su=BigInt(1);function vu(e,t,r,n){let o=Nt(e,t+1,n);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new P(g.negint,i,9)}if(n.allowBigInt!==!0)throw new Error(`${$} integers outside of the safe integer range are not supported`);return new P(g.negint,Es-BigInt(o),9)}function eo(e,t){let r=t.value,n=typeof r=="bigint"?r*Es-Su:r*-1-1;mt(e,t.type.majorEncoded,n)}eo.encodedSize=function(t){let r=t.value,n=typeof r=="bigint"?r*Es-Su:r*-1-1;return n<lt[0]?1:n<lt[1]?2:n<lt[2]?3:n<lt[3]?5:9};eo.compareTokens=function(t,r){return t.value<r.value?1:t.value>r.value?-1:0};function en(e,t,r,n){me(e,t,r+n);let o=wr(e,t+r,t+r+n);return new P(g.bytes,o,r+n)}function Au(e,t,r,n){return en(e,t,1,r)}function Iu(e,t,r,n){return en(e,t,2,Rt(e,t+1,n))}function Tu(e,t,r,n){return en(e,t,3,Pt(e,t+1,n))}function Cu(e,t,r,n){return en(e,t,5,Lt(e,t+1,n))}function Bu(e,t,r,n){let o=Nt(e,t+1,n);if(typeof o=="bigint")throw new Error(`${$} 64-bit integer bytes lengths not supported`);return en(e,t,9,o)}function ro(e){return e.encodedBytes===void 0&&(e.encodedBytes=e.type===g.string?du(e.value):e.value),e.encodedBytes}function Er(e,t){let r=ro(t);mt(e,t.type.majorEncoded,r.length),e.push(r)}Er.encodedSize=function(t){let r=ro(t);return mt.encodedSize(r.length)+r.length};Er.compareTokens=function(t,r){return Kp(ro(t),ro(r))};function Kp(e,t){return e.length<t.length?-1:e.length>t.length?1:to(e,t)}function rn(e,t,r,n,o){let i=r+n;me(e,t,i);let s=new P(g.string,lu(e,t+r,t+i),i);return o.retainStringBytes===!0&&(s.byteValue=wr(e,t+r,t+i)),s}function _u(e,t,r,n){return rn(e,t,1,r,n)}function Du(e,t,r,n){return rn(e,t,2,Rt(e,t+1,n),n)}function Ru(e,t,r,n){return rn(e,t,3,Pt(e,t+1,n),n)}function Pu(e,t,r,n){return rn(e,t,5,Lt(e,t+1,n),n)}function Lu(e,t,r,n){let o=Nt(e,t+1,n);if(typeof o=="bigint")throw new Error(`${$} 64-bit integer string lengths not supported`);return rn(e,t,9,o,n)}var Nu=Er;function Sr(e,t,r,n){return new P(g.array,n,r)}function Uu(e,t,r,n){return Sr(e,t,1,r)}function Ou(e,t,r,n){return Sr(e,t,2,Rt(e,t+1,n))}function ku(e,t,r,n){return Sr(e,t,3,Pt(e,t+1,n))}function Ku(e,t,r,n){return Sr(e,t,5,Lt(e,t+1,n))}function Vu(e,t,r,n){let o=Nt(e,t+1,n);if(typeof o=="bigint")throw new Error(`${$} 64-bit integer array lengths not supported`);return Sr(e,t,9,o)}function Mu(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${$} indefinite length items not allowed`);return Sr(e,t,1,1/0)}function no(e,t){mt(e,g.array.majorEncoded,t.value)}no.compareTokens=kt.compareTokens;no.encodedSize=function(t){return mt.encodedSize(t.value)};function vr(e,t,r,n){return new P(g.map,n,r)}function $u(e,t,r,n){return vr(e,t,1,r)}function Fu(e,t,r,n){return vr(e,t,2,Rt(e,t+1,n))}function qu(e,t,r,n){return vr(e,t,3,Pt(e,t+1,n))}function Hu(e,t,r,n){return vr(e,t,5,Lt(e,t+1,n))}function zu(e,t,r,n){let o=Nt(e,t+1,n);if(typeof o=="bigint")throw new Error(`${$} 64-bit integer map lengths not supported`);return vr(e,t,9,o)}function Gu(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${$} indefinite length items not allowed`);return vr(e,t,1,1/0)}function oo(e,t){mt(e,g.map.majorEncoded,t.value)}oo.compareTokens=kt.compareTokens;oo.encodedSize=function(t){return mt.encodedSize(t.value)};function ju(e,t,r,n){return new P(g.tag,r,1)}function Zu(e,t,r,n){return new P(g.tag,Rt(e,t+1,n),2)}function Yu(e,t,r,n){return new P(g.tag,Pt(e,t+1,n),3)}function Wu(e,t,r,n){return new P(g.tag,Lt(e,t+1,n),5)}function Xu(e,t,r,n){return new P(g.tag,Nt(e,t+1,n),9)}function io(e,t){mt(e,g.tag.majorEncoded,t.value)}io.compareTokens=kt.compareTokens;io.encodedSize=function(t){return mt.encodedSize(t.value)};var Hp=20,zp=21,Gp=22,jp=23;function Ju(e,t,r,n){if(n.allowUndefined===!1)throw new Error(`${$} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new P(g.null,null,1):new P(g.undefined,void 0,1)}function Qu(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${$} indefinite length items not allowed`);return new P(g.break,void 0,1)}function Ss(e,t,r){if(r){if(r.allowNaN===!1&&Number.isNaN(e))throw new Error(`${$} NaN values are not supported`);if(r.allowInfinity===!1&&(e===1/0||e===-1/0))throw new Error(`${$} Infinity values are not supported`)}return new P(g.float,e,t)}function tf(e,t,r,n){return Ss(vs(e,t+1),3,n)}function ef(e,t,r,n){return Ss(As(e,t+1),5,n)}function rf(e,t,r,n){return Ss(af(e,t+1),9,n)}function so(e,t,r){let n=t.value;if(n===!1)e.push([g.float.majorEncoded|Hp]);else if(n===!0)e.push([g.float.majorEncoded|zp]);else if(n===null)e.push([g.float.majorEncoded|Gp]);else if(n===void 0)e.push([g.float.majorEncoded|jp]);else{let o,i=!1;(!r||r.float64!==!0)&&(of(n),o=vs(qt,1),n===o||Number.isNaN(n)?(qt[0]=249,e.push(qt.slice(0,3)),i=!0):(sf(n),o=As(qt,1),n===o&&(qt[0]=250,e.push(qt.slice(0,5)),i=!0))),i||(Zp(n),o=af(qt,1),qt[0]=251,e.push(qt.slice(0,9)))}}so.encodedSize=function(t,r){let n=t.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){of(n);let o=vs(qt,1);if(n===o||Number.isNaN(n))return 3;if(sf(n),o=As(qt,1),n===o)return 5}return 9};var nf=new ArrayBuffer(9),Kt=new DataView(nf,1),qt=new Uint8Array(nf,0);function of(e){if(e===1/0)Kt.setUint16(0,31744,!1);else if(e===-1/0)Kt.setUint16(0,64512,!1);else if(Number.isNaN(e))Kt.setUint16(0,32256,!1);else{Kt.setFloat32(0,e);let t=Kt.getUint32(0),r=(t&2139095040)>>23,n=t&8388607;if(r===255)Kt.setUint16(0,31744,!1);else if(r===0)Kt.setUint16(0,(e&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?Kt.setUint16(0,0):o<-14?Kt.setUint16(0,(t&2147483648)>>16|1<<24+o,!1):Kt.setUint16(0,(t&2147483648)>>16|o+15<<10|n>>13,!1)}}}function vs(e,t){if(e.length-t<2)throw new Error(`${$} not enough data for float16`);let r=(e[t]<<8)+e[t+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,i;return n===0?i=o*2**-24:n!==31?i=(o+1024)*2**(n-25):i=o===0?1/0:NaN,r&32768?-i:i}function sf(e){Kt.setFloat32(0,e,!1)}function As(e,t){if(e.length-t<4)throw new Error(`${$} not enough data for float32`);let r=(e.byteOffset||0)+t;return new DataView(e.buffer,r,4).getFloat32(0,!1)}function Zp(e){Kt.setFloat64(0,e,!1)}function af(e,t){if(e.length-t<8)throw new Error(`${$} not enough data for float64`);let r=(e.byteOffset||0)+t;return new DataView(e.buffer,r,8).getFloat64(0,!1)}so.compareTokens=kt.compareTokens;function j(e,t,r){throw new Error(`${$} encountered invalid minor (${r}) for major ${e[t]>>>5}`)}function ao(e){return()=>{throw new Error(`${$} ${e}`)}}var B=[];for(let e=0;e<=23;e++)B[e]=j;B[24]=mu;B[25]=yu;B[26]=gu;B[27]=xu;B[28]=j;B[29]=j;B[30]=j;B[31]=j;for(let e=32;e<=55;e++)B[e]=j;B[56]=bu;B[57]=wu;B[58]=Eu;B[59]=vu;B[60]=j;B[61]=j;B[62]=j;B[63]=j;for(let e=64;e<=87;e++)B[e]=Au;B[88]=Iu;B[89]=Tu;B[90]=Cu;B[91]=Bu;B[92]=j;B[93]=j;B[94]=j;B[95]=ao("indefinite length bytes/strings are not supported");for(let e=96;e<=119;e++)B[e]=_u;B[120]=Du;B[121]=Ru;B[122]=Pu;B[123]=Lu;B[124]=j;B[125]=j;B[126]=j;B[127]=ao("indefinite length bytes/strings are not supported");for(let e=128;e<=151;e++)B[e]=Uu;B[152]=Ou;B[153]=ku;B[154]=Ku;B[155]=Vu;B[156]=j;B[157]=j;B[158]=j;B[159]=Mu;for(let e=160;e<=183;e++)B[e]=$u;B[184]=Fu;B[185]=qu;B[186]=Hu;B[187]=zu;B[188]=j;B[189]=j;B[190]=j;B[191]=Gu;for(let e=192;e<=215;e++)B[e]=ju;B[216]=Zu;B[217]=Yu;B[218]=Wu;B[219]=Xu;B[220]=j;B[221]=j;B[222]=j;B[223]=j;for(let e=224;e<=243;e++)B[e]=ao("simple values are not supported");B[244]=j;B[245]=j;B[246]=j;B[247]=Ju;B[248]=ao("simple values are not supported");B[249]=tf;B[250]=ef;B[251]=rf;B[252]=j;B[253]=j;B[254]=j;B[255]=Qu;var Ht=[];for(let e=0;e<24;e++)Ht[e]=new P(g.uint,e,1);for(let e=-1;e>=-24;e--)Ht[31-e]=new P(g.negint,e,1);Ht[64]=new P(g.bytes,new Uint8Array(0),1);Ht[96]=new P(g.string,"",1);Ht[128]=new P(g.array,0,1);Ht[160]=new P(g.map,0,1);Ht[244]=new P(g.false,!1,1);Ht[245]=new P(g.true,!0,1);Ht[246]=new P(g.null,null,1);function cf(e){switch(e.type){case g.false:return te([244]);case g.true:return te([245]);case g.null:return te([246]);case g.bytes:return e.value.length?void 0:te([64]);case g.string:return e.value===""?te([96]):void 0;case g.array:return e.value===0?te([128]):void 0;case g.map:return e.value===0?te([160]):void 0;case g.uint:return e.value<24?te([Number(e.value)]):void 0;case g.negint:if(e.value>=-24)return te([31-Number(e.value)])}}var ff=Object.freeze({float64:!0,mapSorter:Qp,quickEncodeToken:cf});function Wp(){let e=[];return e[g.uint.major]=kt,e[g.negint.major]=eo,e[g.bytes.major]=Er,e[g.string.major]=Nu,e[g.array.major]=no,e[g.map.major]=oo,e[g.tag.major]=io,e[g.float.major]=so,e}var Xp=Wp(),Is=new Qr,uo=class e{constructor(t,r){this.obj=t,this.parent=r}includes(t){let r=this;do if(r.obj===t)return!0;while(r=r.parent);return!1}static createCheck(t,r){if(t&&t.includes(r))throw new Error(`${ws} object contains circular references`);return new e(r,t)}},Ce={null:new P(g.null,null),undefined:new P(g.undefined,void 0),true:new P(g.true,!0),false:new P(g.false,!1),emptyArray:new P(g.array,0),emptyMap:new P(g.map,0)},Be={number(e,t,r,n){return!Number.isInteger(e)||!Number.isSafeInteger(e)?new P(g.float,e):e>=0?new P(g.uint,e):new P(g.negint,e)},bigint(e,t,r,n){return e>=BigInt(0)?new P(g.uint,e):new P(g.negint,e)},Uint8Array(e,t,r,n){return new P(g.bytes,e)},string(e,t,r,n){return new P(g.string,e)},boolean(e,t,r,n){return e?Ce.true:Ce.false},null(e,t,r,n){return Ce.null},undefined(e,t,r,n){return Ce.undefined},ArrayBuffer(e,t,r,n){return new P(g.bytes,new Uint8Array(e))},DataView(e,t,r,n){return new P(g.bytes,new Uint8Array(e.buffer,e.byteOffset,e.byteLength))},Array(e,t,r,n){if(!e.length)return r.addBreakTokens===!0?[Ce.emptyArray,new P(g.break)]:Ce.emptyArray;n=uo.createCheck(n,e);let o=[],i=0;for(let s of e)o[i++]=co(s,r,n);return r.addBreakTokens?[new P(g.array,e.length),o,new P(g.break)]:[new P(g.array,e.length),o]},Object(e,t,r,n){let o=t!=="Object",i=o?e.keys():Object.keys(e),s=o?e.size:i.length;if(!s)return r.addBreakTokens===!0?[Ce.emptyMap,new P(g.break)]:Ce.emptyMap;n=uo.createCheck(n,e);let c=[],a=0;for(let l of i)c[a++]=[co(l,r,n),co(o?e.get(l):e[l],r,n)];return Jp(c,r),r.addBreakTokens?[new P(g.map,s),c,new P(g.break)]:[new P(g.map,s),c]}};Be.Map=Be.Object;Be.Buffer=Be.Uint8Array;for(let e of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Be[`${e}Array`]=Be.DataView;function co(e,t={},r){let n=au(e),o=t&&t.typeEncoders&&t.typeEncoders[n]||Be[n];if(typeof o=="function"){let s=o(e,n,t,r);if(s!=null)return s}let i=Be[n];if(!i)throw new Error(`${ws} unsupported type: ${n}`);return i(e,n,t,r)}function Jp(e,t){t.mapSorter&&e.sort(t.mapSorter)}function Qp(e,t){if(e[0]instanceof P&&t[0]instanceof P){let r=e[0],n=t[0];return r._keyBytes||(r._keyBytes=uf(r.value)),n._keyBytes||(n._keyBytes=uf(n.value)),to(r._keyBytes,n._keyBytes)}throw new Error("rfc8949MapSorter: complex key types are not supported yet")}function uf(e){return t0(e,Xp,ff)}function lf(e,t,r,n){if(Array.isArray(t))for(let o of t)lf(e,o,r,n);else r[t.type.major](e,t,n)}function t0(e,t,r){let n=co(e,r);if(!Array.isArray(n)&&r.quickEncodeToken){let o=r.quickEncodeToken(n);if(o)return o;let i=t[n.type.major];if(i.encodedSize){let s=i.encodedSize(n,r),c=new Qr(s);if(i(c,n,r),c.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return bs(c.chunks[0])}}return Is.reset(),lf(Is,n,t,r),Is.toBytes(!0)}var e0={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},fo=class{constructor(t,r={}){this._pos=0,this.data=t,this.options=r}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let t=this.data[this._pos],r=Ht[t];if(r===void 0){let n=B[t];if(!n)throw new Error(`${$} no decoder for major type ${t>>>5} (byte 0x${t.toString(16).padStart(2,"0")})`);let o=t&31;r=n(this.data,this._pos,o,this.options)}return this._pos+=r.encodedLength,r}},nn=Symbol.for("DONE"),lo=Symbol.for("BREAK");function r0(e,t,r){let n=[];for(let o=0;o<e.value;o++){let i=Ar(t,r);if(i===lo){if(e.value===1/0)break;throw new Error(`${$} got unexpected break to lengthed array`)}if(i===nn)throw new Error(`${$} found array but not enough entries (got ${o}, expected ${e.value})`);n[o]=i}return n}function n0(e,t,r){let n=r.useMaps===!0,o=n?void 0:{},i=n?new Map:void 0;for(let s=0;s<e.value;s++){let c=Ar(t,r);if(c===lo){if(e.value===1/0)break;throw new Error(`${$} got unexpected break to lengthed map`)}if(c===nn)throw new Error(`${$} found map but not enough entries (got ${s} [no key], expected ${e.value})`);if(n!==!0&&typeof c!="string")throw new Error(`${$} non-string keys not supported (got ${typeof c})`);if(r.rejectDuplicateMapKeys===!0&&(n&&i.has(c)||!n&&c in o))throw new Error(`${$} found repeat map key "${c}"`);let a=Ar(t,r);if(a===nn)throw new Error(`${$} found map but not enough entries (got ${s} [no value], expected ${e.value})`);n?i.set(c,a):o[c]=a}return n?i:o}function Ar(e,t){if(e.done())return nn;let r=e.next();if(r.type===g.break)return lo;if(r.type.terminal)return r.value;if(r.type===g.array)return r0(r,e,t);if(r.type===g.map)return n0(r,e,t);if(r.type===g.tag){if(t.tags&&typeof t.tags[r.value]=="function"){let n=Ar(e,t);return t.tags[r.value](n)}throw new Error(`${$} tag not supported (${r.value})`)}throw new Error("unsupported")}function df(e,t){if(!(e instanceof Uint8Array))throw new Error(`${$} data to decode must be a Uint8Array`);t=Object.assign({},e0,t);let r=t.tokenizer||new fo(e,t),n=Ar(r,t);if(n===nn)throw new Error(`${$} did not find any content to decode`);if(n===lo)throw new Error(`${$} got unexpected break`);return[n,e.subarray(r.pos())]}function Ts(e,t){let[r,n]=df(e,t);if(n.length>0)throw new Error(`${$} too many terminals, data makes no sense`);return r}var s0=xe("ipns:utils"),hf=H("/ipns/");var a0=0,c0=18;function pf(e){let t;if(e.pubKey!=null)try{t=Mc(e.pubKey)}catch(r){throw s0.error(r),r}if(t!=null)return t}function mf(e){let t=H("ipns-signature:");return Ut([t,e])}function He(e){return"signatureV1"in e?Ft.encode({value:H(e.value),signatureV1:e.signatureV1,validityType:e.validityType,validity:H(e.validity),sequence:e.sequence,ttl:e.ttl,pubKey:e.pubKey,signatureV2:e.signatureV2,data:e.data}):Ft.encode({pubKey:e.pubKey,signatureV2:e.signatureV2,data:e.data})}function ee(e){let t=Ft.decode(e);if(t.sequence!=null&&(t.sequence=BigInt(t.sequence)),t.ttl!=null&&(t.ttl=BigInt(t.ttl)),t.signatureV2==null||t.data==null)throw new $t("Missing data or signatureV2");let r=yf(t.data),n=u0(r.Value),o=z(r.Validity);if(t.value!=null&&t.signatureV1!=null)return f0(t),{value:n,validityType:Ft.ValidityType.EOL,validity:o,sequence:r.Sequence,ttl:r.TTL,pubKey:t.pubKey,signatureV1:t.signatureV1,signatureV2:t.signatureV2,data:t.data};if(t.signatureV2!=null)return{value:n,validityType:Ft.ValidityType.EOL,validity:o,sequence:r.Sequence,ttl:r.TTL,pubKey:t.pubKey,signatureV2:t.signatureV2,data:t.data};throw new Error("invalid record: does not include signatureV1 or signatureV2")}function on(e){return Ut([hf,e.bytes])}function ye(e){let t=Re(e.slice(hf.length));if(!ho(t,a0)&&!ho(t,c0))throw new je("Multihash in IPNS key was not identity or sha2-256");return t}function yf(e){let t=Ts(e);if(t.ValidityType===0)t.ValidityType=Ft.ValidityType.EOL;else throw new xr("The validity type is unsupported");return Number.isInteger(t.Sequence)&&(t.Sequence=BigInt(t.Sequence)),Number.isInteger(t.TTL)&&(t.TTL=BigInt(t.TTL)),t}function u0(e){let t=z(e).trim();if(t.startsWith("/"))return t;try{return`/ipfs/${Z.decode(e).toV1().toString()}`}catch{}try{return`/ipfs/${Z.parse(t).toV1().toString()}`}catch{}throw new Xn("Value must be a valid content path starting with /")}function f0(e){if(e.data==null)throw new Jn("Record data is missing");let t=yf(e.data);if(!Y(t.Value,e.value??new Uint8Array(0)))throw new $t('Field "value" did not match between protobuf and CBOR');if(!Y(t.Validity,e.validity??new Uint8Array(0)))throw new $t('Field "validity" did not match between protobuf and CBOR');if(t.ValidityType!==e.validityType)throw new $t('Field "validityType" did not match between protobuf and CBOR');if(t.Sequence!==e.sequence)throw new $t('Field "sequence" did not match between protobuf and CBOR');if(t.TTL!==e.ttl)throw new $t('Field "ttl" did not match between protobuf and CBOR')}function ho(e,t){return e.code===t}var H1=xe("ipns"),z1=300*1e9,d0="/ipns/",G1=d0.length;var gf=Io(xs(),1);var po=xe("ipns:validator"),h0=1024*10;async function p0(e,t){let r=ee(t),n;try{let o=mf(r.data);n=await e.verify(o,r.signatureV2)}catch{n=!1}if(!n)throw po.error("record signature verification failed"),new $t("Record signature verification failed");if(r.validityType===Ft.ValidityType.EOL){if(gf.default.fromString(r.validity).toDate().getTime()<Date.now())throw po.error("record has expired"),new Yn("record has expired")}else if(r.validityType!=null)throw po.error("the validity type is unsupported"),new xr("The validity type is unsupported");po("ipns record for %s is valid",r.value)}async function xf(e,t){if(t.byteLength>h0)throw new Wn("The record is too large");let r=ye(e),n;ho(r,0)&&(n=kn(r));let o=ee(t),i=pf(o)??n;if(i==null)throw new Jr("Could not extract public key from IPNS record or routing key");let s=on(i.toMultihash());if(!Y(s,e))throw new Jr("Embedded public key did not match routing key");await p0(i,t)}var mo=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MESSAGE_LENGTH"};async function*sn(e,t={}){let r=/\r?\n/,n=new TextDecoder("utf8"),o="";for await(let i of e){if(typeof i=="string"&&(i=new TextEncoder().encode(i)),Qe(i)&&(i=i.subarray()),o+=n.decode(i,{stream:!0}),o.length>(t?.maxMessageLength??o.length))throw new mo("Incoming message too long");let s=o.split(r);o=s.pop()??"";for(let c=0;c<s.length;c++)yield JSON.parse(s[c])}o+=n.decode(),o!==""&&(yield JSON.parse(o))}function re(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var Bs=Io(wf(),1);var _s=class e extends Error{name="TimeoutError";constructor(t,r){super(t,r),Error.captureStackTrace?.(this,e)}},Ef=e=>e.reason??new DOMException("This operation was aborted.","AbortError");function Ds(e,t){let{milliseconds:r,fallback:n,message:o,customTimers:i={setTimeout,clearTimeout},signal:s}=t,c,a,u=new Promise((f,x)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(s?.aborted){x(Ef(s));return}if(s&&(a=()=>{x(Ef(s))},s.addEventListener("abort",a,{once:!0})),e.then(f,x),r===Number.POSITIVE_INFINITY)return;let v=new _s;c=i.setTimeout.call(void 0,()=>{if(n){try{f(n())}catch(b){x(b)}return}typeof e.cancel=="function"&&e.cancel(),o===!1?f():o instanceof Error?x(o):(v.message=o??`Promise timed out after ${r} milliseconds`,x(v))},r)}).finally(()=>{u.clear(),a&&s&&s.removeEventListener("abort",a)});return u.clear=()=>{i.clearTimeout.call(void 0,c),c=void 0},u}function Rs(e,t,r){let n=0,o=e.length;for(;o>0;){let i=Math.trunc(o/2),s=n+i;r(e[s],t)<=0?(n=++s,o-=i+1):o=i}return n}var cn=class{#t=[];enqueue(t,r){let{priority:n=0,id:o}=r??{},i={priority:n,id:o,run:t};if(this.size===0||this.#t[this.size-1].priority>=n){this.#t.push(i);return}let s=Rs(this.#t,i,(c,a)=>a.priority-c.priority);this.#t.splice(s,0,i)}setPriority(t,r){let n=this.#t.findIndex(i=>i.id===t);if(n===-1)throw new ReferenceError(`No promise function with the id "${t}" exists in the queue.`);let[o]=this.#t.splice(n,1);this.enqueue(o.run,{priority:r,id:t})}dequeue(){return this.#t.shift()?.run}filter(t){return this.#t.filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return this.#t.length}};var un=class extends Bs.default{#t;#n;#r=0;#h;#p=!1;#m=!1;#u;#b=0;#y=0;#i;#s;#e;#w;#o=0;#f;#a;#T=1n;#l=new Map;timeout;constructor(t){if(super(),t={carryoverIntervalCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:cn,...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})`);if(this.#t=t.carryoverIntervalCount??t.carryoverConcurrencyCount??!1,this.#n=t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,this.#h=t.intervalCap,this.#u=t.interval,this.#e=new t.queueClass,this.#w=t.queueClass,this.concurrency=t.concurrency,t.timeout!==void 0&&!(Number.isFinite(t.timeout)&&t.timeout>0))throw new TypeError(`Expected \`timeout\` to be a positive finite number, got \`${t.timeout}\` (${typeof t.timeout})`);this.timeout=t.timeout,this.#a=t.autoStart===!1,this.#L()}get#C(){return this.#n||this.#r<this.#h}get#B(){return this.#o<this.#f}#_(){this.#o--,this.#o===0&&this.emit("pendingZero"),this.#g(),this.emit("next")}#D(){this.#A(),this.#v(),this.#s=void 0}get#R(){let t=Date.now();if(this.#i===void 0){let r=this.#b-t;if(r<0){if(this.#y>0){let n=t-this.#y;if(n<this.#u)return this.#E(this.#u-n),!0}this.#r=this.#t?this.#o:0}else return this.#E(r),!0}return!1}#E(t){this.#s===void 0&&(this.#s=setTimeout(()=>{this.#D()},t))}#S(){this.#i&&(clearInterval(this.#i),this.#i=void 0)}#P(){this.#s&&(clearTimeout(this.#s),this.#s=void 0)}#g(){if(this.#e.size===0)return this.#S(),this.emit("empty"),this.#o===0&&(this.#P(),this.emit("idle")),!1;let t=!1;if(!this.#a){let r=!this.#R;if(this.#C&&this.#B){let n=this.#e.dequeue();this.#n||(this.#r++,this.#d()),this.emit("active"),this.#y=Date.now(),n(),r&&this.#v(),t=!0}}return t}#v(){this.#n||this.#i!==void 0||(this.#i=setInterval(()=>{this.#A()},this.#u),this.#b=Date.now()+this.#u)}#A(){this.#r===0&&this.#o===0&&this.#i&&this.#S(),this.#r=this.#t?this.#o:0,this.#x(),this.#d()}#x(){for(;this.#g(););}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.#x()}setPriority(t,r){if(typeof r!="number"||!Number.isFinite(r))throw new TypeError(`Expected \`priority\` to be a finite number, got \`${r}\` (${typeof r})`);this.#e.setPriority(t,r)}async add(t,r={}){return r.id??=(this.#T++).toString(),r={timeout:this.timeout,...r},new Promise((n,o)=>{let i=Symbol(`task-${r.id}`);this.#e.enqueue(async()=>{this.#o++,this.#l.set(i,{id:r.id,priority:r.priority??0,startTime:Date.now(),timeout:r.timeout});let s;try{try{r.signal?.throwIfAborted()}catch(l){throw this.#n||this.#r--,this.#l.delete(i),l}let c=t({signal:r.signal});if(r.timeout&&(c=Ds(Promise.resolve(c),{milliseconds:r.timeout,message:`Task timed out after ${r.timeout}ms (queue has ${this.#o} running, ${this.#e.size} waiting)`})),r.signal){let{signal:l}=r;c=Promise.race([c,new Promise((u,f)=>{s=()=>{f(l.reason)},l.addEventListener("abort",s,{once:!0})})])}let a=await c;n(a),this.emit("completed",a)}catch(c){o(c),this.emit("error",c)}finally{s&&r.signal?.removeEventListener("abort",s),this.#l.delete(i),queueMicrotask(()=>{this.#_()})}},r),this.emit("add"),this.#g()})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return this.#a?(this.#a=!1,this.#x(),this):this}pause(){this.#a=!0}clear(){this.#e=new this.#w,this.#I()}async onEmpty(){this.#e.size!==0&&await this.#c("empty")}async onSizeLessThan(t){this.#e.size<t||await this.#c("next",()=>this.#e.size<t)}async onIdle(){this.#o===0&&this.#e.size===0||await this.#c("idle")}async onPendingZero(){this.#o!==0&&await this.#c("pendingZero")}async onRateLimit(){this.isRateLimited||await this.#c("rateLimit")}async onRateLimitCleared(){this.isRateLimited&&await this.#c("rateLimitCleared")}async onError(){return new Promise((t,r)=>{let n=o=>{this.off("error",n),r(o)};this.on("error",n)})}async#c(t,r){return new Promise(n=>{let o=()=>{r&&!r()||(this.off(t,o),n())};this.on(t,o)})}get size(){return this.#e.size}sizeBy(t){return this.#e.filter(t).length}get pending(){return this.#o}get isPaused(){return this.#a}#L(){this.#n||(this.on("add",()=>{this.#e.size>0&&this.#d()}),this.on("next",()=>{this.#d()}))}#d(){this.#n||this.#m||(this.#m=!0,queueMicrotask(()=>{this.#m=!1,this.#I()}))}#I(){let t=this.#p,r=!this.#n&&this.#r>=this.#h&&this.#e.size>0;r!==t&&(this.#p=r,this.emit(r?"rateLimit":"rateLimitCleared"))}get isRateLimited(){return this.#p}get isSaturated(){return this.#o===this.#f&&this.#e.size>0||this.isRateLimited&&this.#e.size>0}get runningTasks(){return[...this.#l.values()].map(t=>({...t}))}};var Ir=class extends Error{static name="InvalidRequestError";constructor(t="Invalid request"){super(t),this.name="InvalidRequestError"}},zt=class extends Error{static name="BadResponseError";constructor(t="Bad response"){super(t),this.name="BadResponseError"}};function g0(e){return e[Symbol.asyncIterator]!=null}function x0(e){if(g0(e))return(async()=>{for await(let t of e)return t})();for(let t of e)return t}var go=x0;function b0(e){let[t,r]=e[Symbol.asyncIterator]!=null?[e[Symbol.asyncIterator](),Symbol.asyncIterator]:[e[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(),[r](){return this}}}var Sf=b0;function w0(e){return e[Symbol.asyncIterator]!=null}function E0(e,t){let r=0;if(w0(e))return(async function*(){for await(let a of e)yield t(a,r++)})();let n=Sf(e),{value:o,done:i}=n.next();if(i===!0)return(function*(){})();let s=t(o,r++);if(typeof s.then=="function")return(async function*(){yield await s;for(let a of n)yield t(a,r++)})();let c=t;return(function*(){yield s;for(let a of n)yield c(a,r++)})()}var xo=E0;var vf=H("/ipns/");function Af(e){return Y(e.subarray(0,vf.byteLength),vf)}var bo=class{client;constructor(t){this.client=t}async*findProviders(t,r={}){try{yield*xo(this.client.getProviders(t,r),n=>({id:n.ID,multiaddrs:n.Addrs??[],routing:"delegated-http-routing-v1"}))}catch(n){if(n instanceof At)return;throw n}}async provide(){}async cancelReprovide(){}async put(t,r,n){if(!Af(t))return;let o=ye(t),i=Z.createV1(114,o),s=ee(r);await this.client.putIPNS(i,s,n)}async get(t,r){if(!Af(t))throw new At("Not found");let n=ye(t),o=Z.createV1(114,n);try{let i=await this.client.getIPNS(o,r);return He(i)}catch(i){throw i.name==="BadResponseError"?new At("Not found"):i}}toString(){return`DelegatedRoutingV1HttpApiClientContentRouting(${this.client.url})`}},wo=class{client;constructor(t){this.client=t}async findPeer(t,r={}){let n=await go(this.client.getPeers(t,r));if(n!=null)return{id:n.ID,multiaddrs:n.Addrs??[]};throw new At("Not found")}async*getClosestPeers(t,r={}){}toString(){return`DelegatedRoutingV1HttpApiClientPeerRouting(${this.client.url})`}};var Eo={concurrentRequests:4,timeout:3e4,cacheTTL:300*1e3,cacheName:"delegated-routing-v1-cache"},So=class{url;started;httpQueue;shutDownController;timeout;contentRouting;peerRouting;filterAddrs;filterProtocols;inFlightRequests;cacheName;cache;cacheTTL;log;constructor(t,r){this.log=t.logger.forComponent("delegated-routing-v1-http-api-client"),this.started=!1,this.shutDownController=new AbortController,this.shutDownController.signal,this.httpQueue=new un({concurrency:r.concurrentRequests??Eo.concurrentRequests}),this.inFlightRequests=new Map,this.url=r.url instanceof URL?r.url:new URL(r.url),this.timeout=r.timeout??Eo.timeout,this.filterAddrs=r.filterAddrs,this.filterProtocols=r.filterProtocols,this.contentRouting=new bo(this),this.peerRouting=new wo(this),this.cacheName=r.cacheName??Eo.cacheName,this.cacheTTL=r.cacheTTL??Eo.cacheTTL}get[ra](){return this.contentRouting}get[na](){return this.peerRouting}isStarted(){return this.started}async start(){this.started||(this.started=!0,this.cacheTTL>0&&(this.cache=await globalThis.caches?.open(this.cacheName),this.cache!=null&&this.log("cache enabled with ttl %d",this.cacheTTL)))}async stop(){this.httpQueue.clear(),this.shutDownController.abort(),await globalThis.caches?.delete(this.cacheName),this.started=!1}async*getProviders(t,r={}){this.log("getProviders starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=Xr([this.shutDownController.signal,n,r.signal]);let i=re(),s=re(),c=0;this.httpQueue.add(async()=>(i.resolve(),s.promise));try{await i.promise;let a=new URL(`${this.url}routing/v1/providers/${t}`);this.#n(a,r.filterAddrs,r.filterProtocols);let l={headers:{accept:"application/x-ndjson, application/json;q=0.8"},signal:o},u=await this.#r(a.toString(),l);if(!u.ok){if(u.status===404)return;throw u.status===422?new Ir("Request does not conform to schema or semantic constraints"):new zt(`Unexpected status code: ${u.status}`)}let f=u.headers.get("Content-Type");if(f==null)throw new zt("No Content-Type header received");if(u.body==null){if(f!=="application/x-ndjson")throw new zt("Routing response had no body");return}if(f.startsWith("application/json")){let v=(await u.json()).Providers??[];for(let b of v){let T=this.#t(b);T!=null&&(c++,yield T)}}else if(f.includes("application/x-ndjson"))for await(let x of sn(Zn(u.body))){let v=this.#t(x);v!=null&&(c++,yield v)}else throw new zt(`Unsupported Content-Type: ${f}`)}finally{o.clear(),s.resolve(),this.log("getProviders finished found %d providers for %c",c,t)}}async*getPeers(t,r={}){this.log("getPeers starts: %c",t);let n=AbortSignal.timeout(this.timeout),o=Xr([this.shutDownController.signal,n,r.signal]);let i=re(),s=re();this.httpQueue.add(async()=>(i.resolve(),s.promise));try{await i.promise;let c=new URL(`${this.url}routing/v1/peers/${t.toCID().toString()}`);this.#n(c,r.filterAddrs,r.filterProtocols);let a={headers:{Accept:"application/x-ndjson"},signal:o},l=await this.#r(c.toString(),a);if(l.status===404)return;if(l.status===422)throw new Ir("Request does not conform to schema or semantic constraints");if(l.body==null)throw new zt("Routing response had no body");if(l.headers.get("Content-Type")?.startsWith("application/json")){let x=(await l.json()).Peers??[];for(let v of x){let b=this.#t(v);b!=null&&(yield b)}}else for await(let f of sn(Zn(l.body))){let x=this.#t(f);x!=null&&(yield x)}}catch(c){this.log.error("getPeers errored - %e",c)}finally{o.clear(),s.resolve(),this.log("getPeers finished: %c",t)}}async getIPNS(t,r={}){this.log("getIPNS starts: %s",t);let n=AbortSignal.timeout(this.timeout),o=Xr([this.shutDownController.signal,n,r.signal]);let i=re(),s=re();this.httpQueue.add(async()=>(i.resolve(),s.promise));let c=`${this.url}routing/v1/ipns/${t}`;try{await i.promise;let a={headers:{Accept:"application/vnd.ipfs.ipns-record"},signal:o},l=await this.#r(c,a);if(this.log("getIPNS GET %s %d",c,l.status),l.status===404)throw new At("No matching records found");if(l.status===422)throw new Ir("Request does not conform to schema or semantic constraints");if(!l.ok)throw new zt(`Unexpected status code: ${l.status}`);let u=l.headers.get("Content-Type");if(u==null||!u.includes("application/vnd.ipfs.ipns-record"))throw new At("No matching records found");if(l.body==null)throw new zt("GET ipns response had no body");let f=await l.arrayBuffer(),x=new Uint8Array(f,0,f.byteLength);return r.validate!==!1&&await xf(on(t.multihash),x),ee(x)}catch(a){throw this.log.error("getIPNS GET %s error - %e",c,a),a}finally{o.clear(),s.resolve(),this.log("getIPNS finished: %s",t)}}async putIPNS(t,r,n={}){this.log("putIPNS starts: %c",t);let o=AbortSignal.timeout(this.timeout),i=Xr([this.shutDownController.signal,o,n.signal]);let s=re(),c=re();this.httpQueue.add(async()=>(s.resolve(),c.promise));let a=`${this.url}routing/v1/ipns/${t}`;try{await s.promise;let l=He(r),u={method:"PUT",headers:{"Content-Type":"application/vnd.ipfs.ipns-record"},body:l,signal:i},f=await this.#r(a,u);if(this.log("putIPNS PUT %s %d",a,f.status),f.status!==200)throw new zt("PUT ipns response had status other than 200")}catch(l){throw this.log.error("putIPNS PUT %s error - %e",a,l.stack),l}finally{i.clear(),c.resolve(),this.log("putIPNS finished: %c",t)}}#t(t){try{let r=[],n=t.Addrs?.map(jn)??[];return t.Protocols!=null&&r.push(...t.Protocols),t.Protocol!=null&&(r.push(t.Protocol),delete t.Protocol),{...t,Schema:"peer",ID:qc(t.ID),Addrs:n,Protocols:r}}catch(r){this.log.error("could not conform record to peer schema - %e",r)}}#n(t,r,n){if(r!=null||this.filterAddrs!=null){let o=r?.join(",")??this.filterAddrs?.join(",")??"";o!==""&&t.searchParams.set("filter-addrs",o)}if(n!=null||this.filterProtocols!=null){let o=n?.join(",")??this.filterProtocols?.join(",")??"";o!==""&&t.searchParams.set("filter-protocols",o)}}async#r(t,r){let n=r.method??"GET",o=`${n}-${t}`;if(n==="GET"){let a=await this.cache?.match(t);if(a!=null){if(parseInt(a.headers.get("x-cache-expires")??"0",10)>Date.now())return this.log("returning cached response for %s",o),this.logResponse(a),a;this.log("evicting cached response for %s",o),await this.cache?.delete(t)}else this.cache!=null&&this.log("cache miss for %s",o)}let i=this.inFlightRequests.get(o);if(i!=null){let a=await i;return this.log("deduplicating outgoing request for %s",o),a.clone()}this.log("outgoing request:"),this.logRequest(t,r);let s=fetch(t,r).then(async a=>{if(this.log("incoming response:"),this.logResponse(a),this.cache!=null&&a.ok&&n==="GET"){let l=Date.now()+this.cacheTTL,u=new Headers(a.headers);u.set("x-cache-expires",l.toString());let f=new Response(a.clone().body,{status:a.status,statusText:a.statusText,headers:u});await this.cache.put(t,f)}return a}).finally(()=>{this.inFlightRequests.delete(o)});return this.inFlightRequests.set(o,s),await s}toString(){return`DefaultDelegatedRoutingV1HttpApiClient(${this.url})`}logRequest(t,r){let n=new Headers(r.headers);this.log("%s %s HTTP/1.1",r.method??"GET",t);for(let[o,i]of n.entries())this.log("%s: %s",o,i)}logResponse(t){this.log("HTTP/1.1 %d %s",t.status,t.statusText);for(let[r,n]of t.headers.entries())this.log("%s: %s",r,n)}};function If(e){return t=>new So(t,e)}function fn(){return{filterProtocols:["unknown","transport-bitswap","transport-ipfs-gateway-http"],filterAddrs:["https","webtransport","webrtc","webrtc-direct","wss","tls"]}}var Tf=H("/ipns/");function Cf(e){return Y(e.subarray(0,Tf.byteLength),Tf)}var vo=class{client;constructor(t,r){this.client=If(r)(t)}async provide(t,r){}async cancelReprovide(t,r){}async*findProviders(t,r){yield*xo(this.client.getProviders(t,r),n=>({id:n.ID,multiaddrs:n.Addrs,protocols:n.Protocols,routing:"delegated-http-routing"}))}async put(t,r,n){if(!Cf(t))return;let o=ye(t),i=Z.createV1(114,o),s=ee(r);await this.client.putIPNS(i,s,n)}async get(t,r){if(!Cf(t))throw new At("Not found");let n=ye(t),o=Z.createV1(114,n);try{let i=await this.client.getIPNS(o,r);return He(i)}catch(i){throw i.name==="BadResponseError"?new At("Not found"):i}}async findPeer(t,r){let n=await go(this.client.getPeers(t,r));if(n!=null)return{id:n.ID,multiaddrs:n.Addrs??[]};throw new At("Not found")}async*getClosestPeers(t,r){}toString(){return`DelegatedHTTPRouter(${this.client.url})`}};function Bf(e,t){return typeof e=="string"||e instanceof URL?new vo({logger:ea()},{...fn(),...t,url:new URL(e)}):r=>new vo(r,{...fn(),...e})}var _f="[a-fA-F\\d:]",_e=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${_f})|(?<=${_f})(?=\\s|$))`:"",Gt="(?: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}",at="[a-fA-F\\d]{1,4}",Ao=`
14
14
  (?:
15
15
  (?:${at}:){7}(?:${at}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
16
16
  (?:${at}:){6}(?:${Gt}|:${at}|:)| // 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
@@ -21,7 +21,7 @@ ${t}[Error list was empty]`,r.trim()}return Js(e,t)}vt.formatters.e=e=>e==null?"
21
21
  (?:${at}:){1}(?:(?::${at}){0,4}:${Gt}|(?::${at}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
22
22
  (?::(?:(?::${at}){0,5}:${Gt}|(?::${at}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
23
23
  )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
24
- `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),S0=new RegExp(`(?:^${Gt}$)|(?:^${Ao}$)`),v0=new RegExp(`^${Gt}$`),A0=new RegExp(`^${Ao}$`),Ps=e=>e&&e.exact?S0:new RegExp(`(?:${_e(e)}${Gt}${_e(e)})|(?:${_e(e)}${Ao}${_e(e)})`,"g");Ps.v4=e=>e&&e.exact?v0:new RegExp(`${_e(e)}${Gt}${_e(e)}`,"g");Ps.v6=e=>e&&e.exact?A0:new RegExp(`${_e(e)}${Ao}${_e(e)}`,"g");var Ls=Ps;function Ns(e){let t=(...r)=>e(...r);return Object.defineProperty(t,"name",{value:`functionTimeout(${e.name||"<anonymous>"})`,configurable:!0}),t}function Df(){return!1}var{toString:I0}=Object.prototype;function Us(e){return I0.call(e)==="[object RegExp]"}var Rf={global:"g",ignoreCase:"i",multiline:"m",dotAll:"s",sticky:"y",unicode:"u"};function Os(e,t={}){if(!Us(e))throw new TypeError("Expected a RegExp instance");let r=Object.keys(Rf).map(o=>(typeof t[o]=="boolean"?t[o]:e[o])?Rf[o]:"").join(""),n=new RegExp(t.source||e.source,r);return n.lastIndex=typeof t.lastIndex=="number"?t.lastIndex:e.lastIndex,n}function ks(e,t,{timeout:r}={}){try{return Ns(()=>Os(e).test(t),{timeout:r})()}catch(n){if(Df(n))return!1;throw n}}var T0=15,C0=45,Pf={timeout:400};function Ks(e){return e.length>C0?!1:ks(Ls.v6({exact:!0}),e,Pf)}function Lf(e){return e.length>T0?!1:ks(Ls.v4({exact:!0}),e,Pf)}var Nf={http:"80",https:"443",ws:"80",wss:"443"},B0=["http","https","ws","wss"];function Uf(e,t){t=t??{};let r=t.defaultDnsType??"dns",{scheme:n,hostname:o,port:i,path:s}=_0(e),c=[D0(o,r),R0(i,n),P0(n)];s!=null&&c.push(L0(s));let a="/"+c.filter(f=>!!f).reduce((f,u)=>f.concat(u),[]).join("/");return Zn(a)}function _0(e){let[t]=e.split(":");B0.includes(t)||(e="http"+e.substring(t.length));let{protocol:r,hostname:n,port:o,pathname:i,search:s}=new URL(e);if(o==null||o===""){let a=N0(t);a!=null&&(o=a),a==null&&r==="http:"&&(o="80")}let c;return i!=null&&i!==""&&i!=="/"&&(i.startsWith("/")&&(i=i.substring(1)),c=i),s!=null&&s!==""&&(c=c??"",c+=s),{scheme:t,hostname:n,port:o,path:c}}function D0(e,t){if(!(e==null||e==="")){if(Lf(e))return["ip4",e];if(Ks(e))return["ip6",e];if(e[0]==="["){let r=e.substring(1,e.length-1);if(Ks(r))return["ip6",r]}return[t,e]}}function R0(e,t){if(!(e==null||e===""))return t==="udp"?["udp",e]:["tcp",e]}function P0(e){if(e.match(/^tcp$|^udp$/)==null)return e==="https"?["/tls/http"]:e==="wss"?["/tls/ws"]:[e]}function L0(e){if(!(e==null||e===""))return["http-path",encodeURIComponent(e)]}function N0(e){if(!(e==null||e===""||Nf[e]==null))return Nf[e]}var U0=["https://trustless-gateway.link","https://4everland.io"],O0=2336;function k0(e){return e=e.toString(),{id:us(j.createV1(O0,Ct.digest(H(e)))),multiaddrs:[Uf(e)]}}var Vs=class{gateways;shuffle;constructor(t={}){this.gateways=(t.gateways??U0).map(r=>k0(r)),this.shuffle=t.shuffle??!0}async*findProviders(t,r){yield*(this.shuffle?this.gateways.toSorted(()=>Math.random()>.5?1:-1):this.gateways).map(n=>({...n,protocols:["transport-ipfs-gateway-http"],routing:"http-gateway-routing"}))}};function Of(e={}){return new Vs(e)}var Ms=class{libp2p;constructor(t){this.libp2p=t}async provide(t,r){await this.libp2p.contentRouting.provide(t,r)}async cancelReprovide(t,r){await this.libp2p.contentRouting.cancelReprovide(t,r)}async*findProviders(t,r){yield*this.libp2p.contentRouting.findProviders(t,r)}async put(t,r,n){await this.libp2p.contentRouting.put(t,r,n)}async get(t,r){return this.libp2p.contentRouting.get(t,r)}async findPeer(t,r){return this.libp2p.peerRouting.findPeer(t,r)}async*getClosestPeers(t,r){yield*this.libp2p.peerRouting.getClosestPeers(t,r)}};function kf(e){return new Ms(e)}return qf(K0);})();
24
+ `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),S0=new RegExp(`(?:^${Gt}$)|(?:^${Ao}$)`),v0=new RegExp(`^${Gt}$`),A0=new RegExp(`^${Ao}$`),Ps=e=>e&&e.exact?S0:new RegExp(`(?:${_e(e)}${Gt}${_e(e)})|(?:${_e(e)}${Ao}${_e(e)})`,"g");Ps.v4=e=>e&&e.exact?v0:new RegExp(`${_e(e)}${Gt}${_e(e)}`,"g");Ps.v6=e=>e&&e.exact?A0:new RegExp(`${_e(e)}${Ao}${_e(e)}`,"g");var Ls=Ps;function Ns(e){let t=(...r)=>e(...r);return Object.defineProperty(t,"name",{value:`functionTimeout(${e.name||"<anonymous>"})`,configurable:!0}),t}function Df(){return!1}var{toString:I0}=Object.prototype;function Us(e){return I0.call(e)==="[object RegExp]"}var Rf={global:"g",ignoreCase:"i",multiline:"m",dotAll:"s",sticky:"y",unicode:"u"};function Os(e,t={}){if(!Us(e))throw new TypeError("Expected a RegExp instance");let r=Object.keys(Rf).map(o=>(typeof t[o]=="boolean"?t[o]:e[o])?Rf[o]:"").join(""),n=new RegExp(t.source||e.source,r);return n.lastIndex=typeof t.lastIndex=="number"?t.lastIndex:e.lastIndex,n}function ks(e,t,{timeout:r}={}){try{return Ns(()=>Os(e).test(t),{timeout:r})()}catch(n){if(Df(n))return!1;throw n}}var T0=15,C0=45,Pf={timeout:400};function Ks(e){return e.length>C0?!1:ks(Ls.v6({exact:!0}),e,Pf)}function Lf(e){return e.length>T0?!1:ks(Ls.v4({exact:!0}),e,Pf)}var Nf={http:"80",https:"443",ws:"80",wss:"443"},B0=["http","https","ws","wss"];function Uf(e,t){t=t??{};let r=t.defaultDnsType??"dns",{scheme:n,hostname:o,port:i,path:s}=_0(e),c=[D0(o,r),R0(i,n),P0(n)];s!=null&&c.push(L0(s));let a="/"+c.filter(l=>!!l).reduce((l,u)=>l.concat(u),[]).join("/");return jn(a)}function _0(e){let[t]=e.split(":");B0.includes(t)||(e="http"+e.substring(t.length));let{protocol:r,hostname:n,port:o,pathname:i,search:s}=new URL(e);if(o==null||o===""){let a=N0(t);a!=null&&(o=a),a==null&&r==="http:"&&(o="80")}let c;return i!=null&&i!==""&&i!=="/"&&(i.startsWith("/")&&(i=i.substring(1)),c=i),s!=null&&s!==""&&(c=c??"",c+=s),{scheme:t,hostname:n,port:o,path:c}}function D0(e,t){if(!(e==null||e==="")){if(Lf(e))return["ip4",e];if(Ks(e))return["ip6",e];if(e[0]==="["){let r=e.substring(1,e.length-1);if(Ks(r))return["ip6",r]}return[t,e]}}function R0(e,t){if(!(e==null||e===""))return t==="udp"?["udp",e]:["tcp",e]}function P0(e){if(e.match(/^tcp$|^udp$/)==null)return e==="https"?["/tls/http"]:e==="wss"?["/tls/ws"]:[e]}function L0(e){if(!(e==null||e===""))return["http-path",encodeURIComponent(e)]}function N0(e){if(!(e==null||e===""||Nf[e]==null))return Nf[e]}var U0=["https://trustless-gateway.link","https://4everland.io"],O0=2336;function k0(e){return e=e.toString(),{id:us(Z.createV1(O0,Ct.digest(H(e)))),multiaddrs:[Uf(e)]}}function K0(e){return new URL(z(e.id.toMultihash().digest))}var Vs=class{gateways;shuffle;constructor(t={}){this.gateways=(t.gateways??U0).map(r=>k0(r)),this.shuffle=t.shuffle??!0}async*findProviders(t,r){yield*(this.shuffle?this.gateways.toSorted(()=>Math.random()>.5?1:-1):this.gateways).map(n=>({...n,protocols:["transport-ipfs-gateway-http"],routing:"http-gateway-routing"}))}toString(){return`HTTPGatewayRouter([${this.gateways.map(t=>K0(t)).join(", ")}])`}};function Of(e={}){return new Vs(e)}var Ms=class{libp2p;constructor(t){this.libp2p=t}async provide(t,r){await this.libp2p.contentRouting.provide(t,r)}async cancelReprovide(t,r){await this.libp2p.contentRouting.cancelReprovide(t,r)}async*findProviders(t,r){yield*this.libp2p.contentRouting.findProviders(t,r)}async put(t,r,n){await this.libp2p.contentRouting.put(t,r,n)}async get(t,r){return this.libp2p.contentRouting.get(t,r)}async findPeer(t,r){return this.libp2p.peerRouting.findPeer(t,r)}async*getClosestPeers(t,r){yield*this.libp2p.peerRouting.getClosestPeers(t,r)}toString(){return"Libp2pRouter()"}};function kf(e){return new Ms(e)}return qf(V0);})();
25
25
  /*! Bundled license information:
26
26
 
27
27
  @noble/hashes/utils.js: