@helia/ipns 8.2.3-a0266903 → 8.2.4
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 +2 -2
- package/dist/index.min.js.map +4 -4
- package/dist/typedoc-urls.json +48 -0
- package/package.json +2 -2
package/dist/index.min.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.HeliaIpns = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var HeliaIpns=(()=>{var
|
|
3
|
-
`,R:"%H:%M",T:"%H:%M:%S",t:" ",X:"%T",Z:"GMT",z:"+0000"};return A;function A(g,f,x){var h=this;if(!(h instanceof A))return new A(g,f,x);h.time=+g||0,h.nano=+f||0,h.year=+x||0,w(h)}function w(g){var f,x,h,p=g.year,S=g.time,B=g.nano,v=((B<0||a<=B)&&(B-=(x=Math.floor(B/a))*a,S+=x,x=1),p%t);return(S<-i||i<S||v)&&((f=d(S/o))&&(p+=f*t,S-=f*o),(h=C(S)).setUTCFullYear(v+h.getUTCFullYear()),h=(S=+h)+(f=d((p-=v)/t))*o,f&&-i<=h&&h<=i&&(p-=f*t,S=h),x=1),x&&(g.year=p,g.time=S,g.nano=B),g}function C(g){var f=new Date(0);return f.setTime(g),f}function U(p,h){p=+p||0;var x=d((h=(h|0)*s)/n)+d(p/n),h=h%n+p%n,p=d(h/n);return p&&(x+=p,h-=p*n),new A(1e3*h,0,x*t)}function D(g,f,x,h,p,S){return function(v,I){var P=w(this);v=v||new Array(8),E(v,I|=0);var $=Math.floor(P.time/1e3),P=P.year*(r*e/t),k=d(P/s)+d($/s),P=P%s+$%s,$=Math.floor(P/s);return $&&(k+=$,P-=$*s),B(v,I+p,k),B(v,I+S,P),v};function B(v,I,k){v[I+g]=k>>24&255,v[I+f]=k>>16&255,v[I+x]=k>>8&255,v[I+h]=255&k}}function K(g,f,x,h,p,S){return function(v,I){E(v,I|=0);var k=B(v,I+p);return U(B(v,I+S),k)};function B(v,I){return 16777216*v[I+g]+(v[I+f]<<16|v[I+x]<<8|v[I+h])}}function E(g,f){if(g=g&&g.length,g==null)throw new TypeError("Invalid Buffer");if(g<f+8)throw new RangeError("Out of range")}function R(g){return(9<g?"":"0")+(0|g)}function N(g,f){return(u+(0|g)).substr(-f)}}()});var pu=ji((Kw,hu)=>{hu.exports=function(e){if(!e)throw Error("hashlru must have a max value, of type number, greater than 0");var t=0,r=Object.create(null),n=Object.create(null);function o(i,s){r[i]=s,t++,t>=e&&(t=0,n=r,r=Object.create(null))}return{has:function(i){return r[i]!==void 0||n[i]!==void 0},remove:function(i){r[i]!==void 0&&(r[i]=void 0),n[i]!==void 0&&(n[i]=void 0)},get:function(i){var s=r[i];if(s!==void 0)return s;if((s=n[i])!==void 0)return o(i,s),s},set:function(i,s){r[i]!==void 0?r[i]=s:o(i,s)},clear:function(){r=Object.create(null),n=Object.create(null)}}}});var Ch={};yt(Ch,{ipns:()=>Ih,ipnsSelector:()=>to,ipnsValidator:()=>Zr});function Wi(e){return e==null?!1:(e.type==="RSA"||e.type==="Ed25519"||e.type==="secp256k1"||e.type==="ECDSA")&&e.raw instanceof Uint8Array&&typeof e.equals=="function"&&typeof e.toMultihash=="function"&&typeof e.toCID=="function"&&typeof e.verify=="function"}var fo=Symbol.for("@libp2p/peer-id");var et=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},Oe=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var dr=class extends Error{static name="NotFoundError";constructor(t="Not found"){super(t),this.name="NotFoundError"}};var Xr=class extends Error{static name="InvalidCIDError";constructor(t="Invalid CID"){super(t),this.name="InvalidCIDError"}},Me=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var Ve=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var yo={};yt(yo,{base32:()=>ie,base32hex:()=>Vu,base32hexpad:()=>qu,base32hexpadupper:()=>$u,base32hexupper:()=>Hu,base32pad:()=>Ou,base32padupper:()=>Mu,base32upper:()=>Fu,base32z:()=>zu});var Nh=new Uint8Array(0);function Xi(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 Gt(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 Ji(e){return new TextEncoder().encode(e)}function Qi(e){return new TextDecoder().decode(e)}function Ru(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 a=e.length,u=e.charAt(0),d=Math.log(a)/Math.log(256),c=Math.log(256)/Math.log(a);function l(T){if(T instanceof Uint8Array||(ArrayBuffer.isView(T)?T=new Uint8Array(T.buffer,T.byteOffset,T.byteLength):Array.isArray(T)&&(T=Uint8Array.from(T))),!(T instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(T.length===0)return"";for(var A=0,w=0,C=0,U=T.length;C!==U&&T[C]===0;)C++,A++;for(var D=(U-C)*c+1>>>0,K=new Uint8Array(D);C!==U;){for(var E=T[C],R=0,N=D-1;(E!==0||R<w)&&N!==-1;N--,R++)E+=256*K[N]>>>0,K[N]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");w=R,C++}for(var g=D-w;g!==D&&K[g]===0;)g++;for(var f=u.repeat(A);g<D;++g)f+=e.charAt(K[g]);return f}function y(T){if(typeof T!="string")throw new TypeError("Expected String");if(T.length===0)return new Uint8Array;var A=0;if(T[A]!==" "){for(var w=0,C=0;T[A]===u;)w++,A++;for(var U=(T.length-A)*d+1>>>0,D=new Uint8Array(U);T[A];){var K=r[T.charCodeAt(A)];if(K===255)return;for(var E=0,R=U-1;(K!==0||E<C)&&R!==-1;R--,E++)K+=a*D[R]>>>0,D[R]=K%256>>>0,K=K/256>>>0;if(K!==0)throw new Error("Non-zero carry");C=E,A++}if(T[A]!==" "){for(var N=U-C;N!==U&&D[N]===0;)N++;for(var g=new Uint8Array(w+(U-N)),f=w;N!==U;)g[f++]=D[N++];return g}}}function b(T){var A=y(T);if(A)return A;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:y,decode:b}}var Nu=Ru,Lu=Nu,es=Lu;var lo=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")}},ho=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 rs(this,t)}},po=class{decoders;constructor(t){this.decoders=t}or(t){return rs(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 rs(e,t){return new po({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}var mo=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 lo(t,r,n),this.decoder=new ho(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function He({name:e,prefix:t,encode:r,decode:n}){return new mo(e,t,r,n)}function oe({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=es(r,e);return He({prefix:t,name:e,encode:n,decode:i=>Gt(o(i))})}function Pu(e,t,r,n){let o=e.length;for(;e[o-1]==="=";)--o;let i=new Uint8Array(o*r/8|0),s=0,a=0,u=0;for(let d=0;d<o;++d){let c=t[e[d]];if(c===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|c,s+=r,s>=8&&(s-=8,i[u++]=255&a>>s)}if(s>=r||(255&a<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return i}function ku(e,t,r){let n=t[t.length-1]==="=",o=(1<<r)-1,i="",s=0,a=0;for(let u=0;u<e.length;++u)for(a=a<<8|e[u],s+=8;s>r;)s-=r,i+=t[o&a>>s];if(s!==0&&(i+=t[o&a<<r-s]),n)for(;(i.length*r&7)!==0;)i+="=";return i}function Ku(e){let t={};for(let r=0;r<e.length;++r)t[e[r]]=r;return t}function X({name:e,prefix:t,bitsPerChar:r,alphabet:n}){let o=Ku(n);return He({prefix:t,name:e,encode(i){return ku(i,n,r)},decode(i){return Pu(i,o,r,e)}})}var ie=X({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Fu=X({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Ou=X({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Mu=X({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Vu=X({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Hu=X({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),qu=X({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),$u=X({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),zu=X({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var go={};yt(go,{base58btc:()=>z,base58flickr:()=>Gu});var z=oe({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Gu=oe({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var wo={};yt(wo,{base64:()=>xo,base64pad:()=>Zu,base64url:()=>ju,base64urlpad:()=>Yu});var xo=X({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Zu=X({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),ju=X({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Yu=X({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function Wu(e,t){try{if(typeof e=="string"&&e.length>0)return Xu(e);if(typeof e=="number"&&isFinite(e))return t?.long?Qu(e):Ju(e);throw new Error("Value is not a string or number.")}catch(r){let n=tf(r)?`${r.message}. value=${JSON.stringify(e)}`:"An unknown error has occured.";throw new Error(n)}}function Xu(e){if(e=String(e),e.length>100)throw new Error("Value exceeds the maximum length of 100 characters.");let t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return NaN;let r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*315576e5;case"weeks":case"week":case"w":return r*6048e5;case"days":case"day":case"d":return r*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return r*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return r*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return r*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:throw new Error(`The unit ${n} was matched, but no matching case exists.`)}}var Qr=Wu;function Ju(e){let t=Math.abs(e);return 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 Qu(e){let t=Math.abs(e);return t>=864e5?Jr(e,t,864e5,"day"):t>=36e5?Jr(e,t,36e5,"hour"):t>=6e4?Jr(e,t,6e4,"minute"):t>=1e3?Jr(e,t,1e3,"second"):`${e} ms`}function Jr(e,t,r,n){let o=t>=r*1.5;return`${Math.round(e/r)} ${n}${o?"s":""}`}function tf(e){return typeof e=="object"&&e!==null&&"message"in e}function bo(e){r.debug=r,r.default=r,r.coerce=u,r.disable=i,r.enable=o,r.enabled=s,r.humanize=Qr,r.destroy=d,Object.keys(e).forEach(c=>{r[c]=e[c]}),r.names=[],r.skips=[],r.formatters={};function t(c){let l=0;for(let y=0;y<c.length;y++)l=(l<<5)-l+c.charCodeAt(y),l|=0;return r.colors[Math.abs(l)%r.colors.length]}r.selectColor=t;function r(c){let l,y=null,b,T;function A(...w){if(!A.enabled)return;let C=A,U=Number(new Date),D=U-(l||U);C.diff=D,C.prev=l,C.curr=U,l=U,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,(R,N)=>{if(R==="%%")return"%";K++;let g=r.formatters[N];if(typeof g=="function"){let f=w[K];R=g.call(C,f),w.splice(K,1),K--}return R}),r.formatArgs.call(C,w),(C.log||r.log).apply(C,w)}return A.namespace=c,A.useColors=r.useColors(),A.color=r.selectColor(c),A.extend=n,A.destroy=r.destroy,Object.defineProperty(A,"enabled",{enumerable:!0,configurable:!1,get:()=>y!==null?y:(b!==r.namespaces&&(b=r.namespaces,T=r.enabled(c)),T),set:w=>{y=w}}),typeof r.init=="function"&&r.init(A),A}function n(c,l){let y=r(this.namespace+(typeof l>"u"?":":l)+c);return y.log=this.log,y}function o(c){r.save(c),r.namespaces=c,r.names=[],r.skips=[];let l,y=(typeof c=="string"?c:"").split(/[\s,]+/),b=y.length;for(l=0;l<b;l++)y[l]&&(c=y[l].replace(/\*/g,".*?"),c[0]==="-"?r.skips.push(new RegExp("^"+c.substr(1)+"$")):r.names.push(new RegExp("^"+c+"$")))}function i(){let c=[...r.names.map(a),...r.skips.map(a).map(l=>"-"+l)].join(",");return r.enable(""),c}function s(c){if(c[c.length-1]==="*")return!0;let l,y;for(l=0,y=r.skips.length;l<y;l++)if(r.skips[l].test(c))return!1;for(l=0,y=r.names.length;l<y;l++)if(r.names[l].test(c))return!0;return!1}function a(c){return c.toString().substring(2,c.toString().length-2).replace(/\.\*\?$/,"*")}function u(c){return c instanceof Error?c.stack??c.message:c}function d(){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 tn=cf(),ef=["#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 rf(){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 nf(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+Qr(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 of=console.debug??console.log??(()=>{});function sf(e){try{e?tn?.setItem("debug",e):tn?.removeItem("debug")}catch{}}function af(){let e;try{e=tn?.getItem("debug")}catch{}return!e&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(e=globalThis.process.env.DEBUG),e}function cf(){try{return localStorage}catch{}}function uf(e){e.j=function(t){try{return JSON.stringify(t)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}}var ns=bo({formatArgs:nf,save:sf,load:af,useColors:rf,setupFormatters:uf,colors:ef,storage:tn,log:of});var gt=ns;gt.formatters.b=e=>e==null?"undefined":z.baseEncode(e);gt.formatters.t=e=>e==null?"undefined":ie.baseEncode(e);gt.formatters.m=e=>e==null?"undefined":xo.baseEncode(e);gt.formatters.p=e=>e==null?"undefined":e.toString();gt.formatters.c=e=>e==null?"undefined":e.toString();gt.formatters.k=e=>e==null?"undefined":e.toString();gt.formatters.a=e=>e==null?"undefined":e.toString();gt.formatters.e=e=>e==null?"undefined":os(e.stack)??os(e.message)??e.toString();function ff(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 se(e){let t=ff(`${e}:trace`);return gt.enabled(`${e}:trace`)&>.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=gt(`${e}:trace`)),Object.assign(gt(e),{error:gt(`${e}:error`),trace:t})}function os(e){if(e!=null&&(e=e.trim(),e.length!==0))return e}var Eo={};yt(Eo,{base36:()=>Ut,base36upper:()=>lf});var Ut=oe({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),lf=oe({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var df=as,is=128,hf=127,pf=~hf,mf=Math.pow(2,31);function as(e,t,r){t=t||[],r=r||0;for(var n=r;e>=mf;)t[r++]=e&255|is,e/=128;for(;e&pf;)t[r++]=e&255|is,e>>>=7;return t[r]=e|0,as.bytes=r-n+1,t}var yf=So,gf=128,ss=127;function So(e,n){var r=0,n=n||0,o=0,i=n,s,a=e.length;do{if(i>=a)throw So.bytes=0,new RangeError("Could not decode varint");s=e[i++],r+=o<28?(s&ss)<<o:(s&ss)*Math.pow(2,o),o+=7}while(s>=gf);return So.bytes=i-n,r}var xf=Math.pow(2,7),wf=Math.pow(2,14),bf=Math.pow(2,21),Ef=Math.pow(2,28),Sf=Math.pow(2,35),Af=Math.pow(2,42),vf=Math.pow(2,49),Tf=Math.pow(2,56),Bf=Math.pow(2,63),If=function(e){return e<xf?1:e<wf?2:e<bf?3:e<Ef?4:e<Sf?5:e<Af?6:e<vf?7:e<Tf?8:e<Bf?9:10},Cf={encode:df,decode:yf,encodingLength:If},_f=Cf,hr=_f;function pr(e,t=0){return[hr.decode(e,t),hr.decode.bytes]}function qe(e,t,r=0){return hr.encode(e,t,r),t}function $e(e){return hr.encodingLength(e)}function Rt(e,t){let r=t.byteLength,n=$e(e),o=n+$e(r),i=new Uint8Array(o+r);return qe(e,i,0),qe(r,i,n),i.set(t,o),new ze(e,r,t,i)}function Zt(e){let t=Gt(e),[r,n]=pr(t),[o,i]=pr(t.subarray(n)),s=t.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new ze(r,o,s,t)}function cs(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Xi(e.bytes,r.bytes)}}var ze=class{code;size;digest;bytes;constructor(t,r,n,o){this.code=t,this.size=r,this.digest=n,this.bytes=o}};function us(e,t){let{bytes:r,version:n}=e;switch(n){case 0:return Uf(r,Ao(e),t??z.encoder);default:return Rf(r,Ao(e),t??ie.encoder)}}var fs=new WeakMap;function Ao(e){let t=fs.get(e);if(t==null){let r=new Map;return fs.set(e,r),r}return t}var G=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!==mr)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Nf)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=Rt(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&&cs(t.multihash,n.multihash)}toString(t){return us(this,t)}toJSON(){return{"/":us(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??ls(n,o,i.bytes))}else if(r[Lf]===!0){let{version:n,multihash:o,code:i}=r,s=Zt(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!==mr)throw new Error(`Version 0 CID must use dag-pb (code: ${mr}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=ls(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,mr,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=Gt(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 ze(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]=pr(t.subarray(r));return r+=y,l},o=n(),i=mr;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,a=n(),u=n(),d=r+u,c=d-s;return{version:o,codec:i,multihashCode:a,digestSize:u,multihashSize:c,size:d}}static parse(t,r){let[n,o]=Df(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 Ao(i).set(n,t),i}};function Df(e,t){switch(e[0]){case"Q":{let r=t??z;return[z.prefix,r.decode(`${z.prefix}${e}`)]}case z.prefix:{let r=t??z;return[z.prefix,r.decode(e)]}case ie.prefix:{let r=t??ie;return[ie.prefix,r.decode(e)]}case Ut.prefix:{let r=t??Ut;return[Ut.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 Uf(e,t,r){let{prefix:n}=r;if(n!==z.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 Rf(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 mr=112,Nf=18;function ls(e,t,r){let n=$e(e),o=n+$e(t),i=new Uint8Array(o+r.byteLength);return qe(e,i,0),qe(t,i,n),i.set(r,o),i}var Lf=Symbol.for("@ipld/js-cid/CID");var vo={};yt(vo,{identity:()=>Nt});var ds=0,Pf="identity",hs=Gt;function kf(e){return Rt(ds,hs(e))}var Nt={code:ds,name:Pf,encode:hs,digest:kf};function J(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 It(e=0){return new Uint8Array(e)}function wt(e=0){return new Uint8Array(e)}function ce(e,t){t==null&&(t=e.reduce((o,i)=>o+i.length,0));let r=wt(t),n=0;for(let o of e)r.set(o,n),n+=o.length;return r}var ms=Symbol.for("@achingbrain/uint8arraylist");function ps(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 rn(e){return!!e?.[ms]}var bt=class e{bufs;length;[ms]=!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(rn(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(rn(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=ps(this.bufs,t);return r.buf[r.index]}set(t,r){let n=ps(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(rn(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 ce(n,o)}subarray(t,r){let{bufs:n,length:o}=this._subList(t,r);return n.length===1?n[0]:ce(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],a=o,u=a+s.byteLength;if(o=u,t>=u)continue;let d=t>=a&&t<u,c=r>a&&r<=u;if(d&&c){if(t===a&&r===u){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(r-t)));break}if(d){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(c){if(r===u){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!rn(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 a=s,u=this.byteLength-n.byteLength,d=n.byteLength-1,c;for(let l=r;l<=u;l+=c){c=0;for(let y=d;y>=0;y--){let b=this.get(l+y);if(n[y]!==b){c=Math.max(1,y-a[b]);break}}if(c===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=wt(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=It(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=It(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=It(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=wt(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=It(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=It(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=It(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=It(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=It(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(!J(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 To={};yt(To,{base10:()=>Kf});var Kf=oe({prefix:"9",name:"base10",alphabet:"0123456789"});var Bo={};yt(Bo,{base16:()=>Ff,base16upper:()=>Of});var Ff=X({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Of=X({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Io={};yt(Io,{base2:()=>Mf});var Mf=X({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Co={};yt(Co,{base256emoji:()=>zf});var ys=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}"),Vf=ys.reduce((e,t,r)=>(e[r]=t,e),[]),Hf=ys.reduce((e,t,r)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return e[n]=r,e},[]);function qf(e){return e.reduce((t,r)=>(t+=Vf[r],t),"")}function $f(e){let t=[];for(let r of e){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Hf[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);t.push(o)}return new Uint8Array(t)}var zf=He({prefix:"\u{1F680}",name:"base256emoji",encode:qf,decode:$f});var _o={};yt(_o,{base8:()=>Gf});var Gf=X({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Do={};yt(Do,{identity:()=>Zf});var Zf=He({prefix:"\0",name:"identity",encode:e=>Qi(e),decode:e=>Ji(e)});var _p=new TextEncoder,Dp=new TextDecoder;var No={};yt(No,{sha256:()=>yr,sha512:()=>Wf});function Ro({name:e,code:t,encode:r}){return new Uo(e,t,r)}var Uo=class{name;code;encode;constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Rt(this.code,r):r.then(n=>Rt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function xs(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}var yr=Ro({name:"sha2-256",code:18,encode:xs("SHA-256")}),Wf=Ro({name:"sha2-512",code:19,encode:xs("SHA-512")});var Lo={...Do,...Io,..._o,...To,...Bo,...yo,...Eo,...go,...wo,...Co},Hp={...No,...vo};function bs(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var ws=bs("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Po=bs("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=wt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Xf={utf8:ws,"utf-8":ws,hex:Lo.base16,latin1:Po,ascii:Po,binary:Po,...Lo},nn=Xf;function M(e,t="utf8"){let r=nn[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.decoder.decode(`${r.prefix}${e}`)}function V(e,t="utf8"){let r=nn[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.encoder.encode(e).substring(1)}var Jf=parseInt("11111",2),ko=parseInt("10000000",2),Qf=parseInt("01111111",2),Es={0:gr,1:gr,2:tl,3:nl,4:ol,5:rl,6:el,16:gr,22:gr,48:gr};function jt(e,t={offset:0}){let r=e[t.offset]&Jf;if(t.offset++,Es[r]!=null)return Es[r](e,t);throw new Error("No decoder for tag "+r)}function xr(e,t){let r=0;if((e[t.offset]&ko)===ko){let n=e[t.offset]&Qf,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 gr(e,t){xr(e,t);let r=[];for(;!(t.offset>=e.byteLength);){let n=jt(e,t);if(n===null)break;r.push(n)}return r}function tl(e,t){let r=xr(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 el(e,t){let r=xr(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 a=`${i}.${s}`,u=[];for(;t.offset<n;){let d=e[t.offset];if(t.offset++,u.push(d&127),d<128){u.reverse();let c=0;for(let l=0;l<u.length;l++)c+=u[l]<<l*7;a+=`.${c}`,u=[]}}return a}function rl(e,t){return t.offset++,null}function nl(e,t){let r=xr(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 ol(e,t){let r=xr(e,t),n=e.subarray(t.offset,t.offset+r);return t.offset+=r,n}function il(e){let t=e.toString(16);t.length%2===1&&(t="0"+t);let r=new bt;for(let n=0;n<t.length;n+=2)r.append(Uint8Array.from([parseInt(`${t[n]}${t[n+1]}`,16)]));return r}function Ko(e){if(e.byteLength<128)return Uint8Array.from([e.byteLength]);let t=il(e.byteLength);return new bt(Uint8Array.from([t.byteLength|ko]),t)}function xt(e){let t=new bt,r=128;return(e.subarray()[0]&r)===r&&t.append(Uint8Array.from([0])),t.append(e),new bt(Uint8Array.from([2]),Ko(t),t)}function on(e){let t=Uint8Array.from([0]),r=new bt(t,e);return new bt(Uint8Array.from([3]),Ko(r),r)}function ue(e,t=48){let r=new bt;for(let n of e)r.append(n);return new bt(Uint8Array.from([t]),Ko(r),r)}async function Ss(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 sl=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),al=Uint8Array.from([6,5,43,129,4,0,34]),cl=Uint8Array.from([6,5,43,129,4,0,35]),ul={ext:!0,kty:"EC",crv:"P-256"},fl={ext:!0,kty:"EC",crv:"P-384"},ll={ext:!0,kty:"EC",crv:"P-521"},Fo=32,Oo=48,Mo=66;function Vo(e){let t=jt(e);return As(t)}function As(e){let t=e[1][1][0],r=1,n,o;if(t.byteLength===Fo*2+1)return n=V(t.subarray(r,r+Fo),"base64url"),o=V(t.subarray(r+Fo),"base64url"),new Ge({...ul,key_ops:["verify"],x:n,y:o});if(t.byteLength===Oo*2+1)return n=V(t.subarray(r,r+Oo),"base64url"),o=V(t.subarray(r+Oo),"base64url"),new Ge({...fl,key_ops:["verify"],x:n,y:o});if(t.byteLength===Mo*2+1)return n=V(t.subarray(r,r+Mo),"base64url"),o=V(t.subarray(r+Mo),"base64url"),new Ge({...ll,key_ops:["verify"],x:n,y:o});throw new et(`coordinates were wrong length, got ${t.byteLength}, expected 65, 97 or 133`)}function vs(e){return ue([xt(Uint8Array.from([1])),ue([dl(e.crv)],160),ue([on(new bt(Uint8Array.from([4]),M(e.x??"","base64url"),M(e.y??"","base64url")))],161)]).subarray()}function dl(e){if(e==="P-256")return sl;if(e==="P-384")return al;if(e==="P-521")return cl;throw new et(`Invalid curve ${e}`)}var Ge=class{type="ECDSA";jwk;_raw;constructor(t){this.jwk=t}get raw(){return this._raw==null&&(this._raw=vs(this.jwk)),this._raw}toMultihash(){return Nt.digest(fe(this))}toCID(){return G.createV1(114,this.toMultihash())}toString(){return z.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:J(this.raw,t.raw)}async verify(t,r,n){return Ss(this.jwk,r,t,n)}};var ve=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function je(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function wr(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function ut(e,...t){if(!je(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function Bs(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");wr(e.outputLen),wr(e.blockLen)}function Ye(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 Is(e,t){ut(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function Wt(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function sn(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Lt(e,t){return e<<32-t|e>>>t}var Cs=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",hl=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Mt(e){if(ut(e),Cs)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=hl[e[r]];return t}var Yt={_0:48,_9:57,A:65,F:70,a:97,f:102};function Ts(e){if(e>=Yt._0&&e<=Yt._9)return e-Yt._0;if(e>=Yt.A&&e<=Yt.F)return e-(Yt.A-10);if(e>=Yt.a&&e<=Yt.f)return e-(Yt.a-10)}function We(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Cs)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=Ts(e.charCodeAt(i)),a=Ts(e.charCodeAt(i+1));if(s===void 0||a===void 0){let u=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+u+'" at index '+i)}n[o]=s*16+a}return n}function _s(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function br(e){return typeof e=="string"&&(e=_s(e)),ut(e),e}function Et(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];ut(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}var Ze=class{};function Ho(e){let t=n=>e().update(br(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Er(e=32){if(ve&&typeof ve.getRandomValues=="function")return ve.getRandomValues(new Uint8Array(e));if(ve&&typeof ve.randomBytes=="function")return Uint8Array.from(ve.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function pl(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),u=n?4:0,d=n?0:4;e.setUint32(t+u,s,n),e.setUint32(t+d,a,n)}function Ds(e,t,r){return e&t^~e&r}function Us(e,t,r){return e&t^e&r^t&r}var Sr=class extends Ze{constructor(t,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=sn(this.buffer)}update(t){Ye(this),t=br(t),ut(t);let{view:r,buffer:n,blockLen:o}=this,i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let u=sn(t);for(;o<=i-s;s+=o)this.process(u,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Ye(this),Is(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,Wt(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let l=s;l<o;l++)r[l]=0;pl(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=sn(t),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let d=u/4,c=this.get();if(d>c.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<d;l++)a.setUint32(4*l,c[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||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:a}=this;return t.destroyed=s,t.finished=i,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},Xt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var it=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var an=BigInt(4294967295),Rs=BigInt(32);function ml(e,t=!1){return t?{h:Number(e&an),l:Number(e>>Rs&an)}:{h:Number(e>>Rs&an)|0,l:Number(e&an)|0}}function Ns(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:a}=ml(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var qo=(e,t,r)=>e>>>r,$o=(e,t,r)=>e<<32-r|t>>>r,Te=(e,t,r)=>e>>>r|t<<32-r,Be=(e,t,r)=>e<<32-r|t>>>r,Ar=(e,t,r)=>e<<64-r|t>>>r-32,vr=(e,t,r)=>e>>>r-32|t<<64-r;function Vt(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Ls=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Ps=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,ks=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Ks=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,Fs=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),Os=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var gl=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]),le=new Uint32Array(64),cn=class extends Sr{constructor(t=32){super(64,t,8,!1),this.A=Xt[0]|0,this.B=Xt[1]|0,this.C=Xt[2]|0,this.D=Xt[3]|0,this.E=Xt[4]|0,this.F=Xt[5]|0,this.G=Xt[6]|0,this.H=Xt[7]|0}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:a,H:u}=this;return[t,r,n,o,i,s,a,u]}set(t,r,n,o,i,s,a,u){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=a|0,this.H=u|0}process(t,r){for(let l=0;l<16;l++,r+=4)le[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let y=le[l-15],b=le[l-2],T=Lt(y,7)^Lt(y,18)^y>>>3,A=Lt(b,17)^Lt(b,19)^b>>>10;le[l]=A+le[l-7]+T+le[l-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:u,G:d,H:c}=this;for(let l=0;l<64;l++){let y=Lt(a,6)^Lt(a,11)^Lt(a,25),b=c+y+Ds(a,u,d)+gl[l]+le[l]|0,A=(Lt(n,2)^Lt(n,13)^Lt(n,22))+Us(n,o,i)|0;c=d,d=u,u=a,a=s+b|0,s=i,i=o,o=n,n=b+A|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,u=u+this.F|0,d=d+this.G|0,c=c+this.H|0,this.set(n,o,i,s,a,u,d,c)}roundClean(){Wt(le)}destroy(){this.set(0,0,0,0,0,0,0,0),Wt(this.buffer)}};var Ms=Ns(["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))),xl=Ms[0],wl=Ms[1],de=new Uint32Array(80),he=new Uint32Array(80),zo=class extends Sr{constructor(t=64){super(128,t,16,!1),this.Ah=it[0]|0,this.Al=it[1]|0,this.Bh=it[2]|0,this.Bl=it[3]|0,this.Ch=it[4]|0,this.Cl=it[5]|0,this.Dh=it[6]|0,this.Dl=it[7]|0,this.Eh=it[8]|0,this.El=it[9]|0,this.Fh=it[10]|0,this.Fl=it[11]|0,this.Gh=it[12]|0,this.Gl=it[13]|0,this.Hh=it[14]|0,this.Hl=it[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:u,Eh:d,El:c,Fh:l,Fl:y,Gh:b,Gl:T,Hh:A,Hl:w}=this;return[t,r,n,o,i,s,a,u,d,c,l,y,b,T,A,w]}set(t,r,n,o,i,s,a,u,d,c,l,y,b,T,A,w){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=a|0,this.Dl=u|0,this.Eh=d|0,this.El=c|0,this.Fh=l|0,this.Fl=y|0,this.Gh=b|0,this.Gl=T|0,this.Hh=A|0,this.Hl=w|0}process(t,r){for(let D=0;D<16;D++,r+=4)de[D]=t.getUint32(r),he[D]=t.getUint32(r+=4);for(let D=16;D<80;D++){let K=de[D-15]|0,E=he[D-15]|0,R=Te(K,E,1)^Te(K,E,8)^qo(K,E,7),N=Be(K,E,1)^Be(K,E,8)^$o(K,E,7),g=de[D-2]|0,f=he[D-2]|0,x=Te(g,f,19)^Ar(g,f,61)^qo(g,f,6),h=Be(g,f,19)^vr(g,f,61)^$o(g,f,6),p=ks(N,h,he[D-7],he[D-16]),S=Ks(p,R,x,de[D-7],de[D-16]);de[D]=S|0,he[D]=p|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:u,Dh:d,Dl:c,Eh:l,El:y,Fh:b,Fl:T,Gh:A,Gl:w,Hh:C,Hl:U}=this;for(let D=0;D<80;D++){let K=Te(l,y,14)^Te(l,y,18)^Ar(l,y,41),E=Be(l,y,14)^Be(l,y,18)^vr(l,y,41),R=l&b^~l&A,N=y&T^~y&w,g=Fs(U,E,N,wl[D],he[D]),f=Os(g,C,K,R,xl[D],de[D]),x=g|0,h=Te(n,o,28)^Ar(n,o,34)^Ar(n,o,39),p=Be(n,o,28)^vr(n,o,34)^vr(n,o,39),S=n&i^n&a^i&a,B=o&s^o&u^s&u;C=A|0,U=w|0,A=b|0,w=T|0,b=l|0,T=y|0,{h:l,l:y}=Vt(d|0,c|0,f|0,x|0),d=a|0,c=u|0,a=i|0,u=s|0,i=n|0,s=o|0;let v=Ls(x,p,B);n=Ps(v,f,h,S),o=v|0}({h:n,l:o}=Vt(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=Vt(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:u}=Vt(this.Ch|0,this.Cl|0,a|0,u|0),{h:d,l:c}=Vt(this.Dh|0,this.Dl|0,d|0,c|0),{h:l,l:y}=Vt(this.Eh|0,this.El|0,l|0,y|0),{h:b,l:T}=Vt(this.Fh|0,this.Fl|0,b|0,T|0),{h:A,l:w}=Vt(this.Gh|0,this.Gl|0,A|0,w|0),{h:C,l:U}=Vt(this.Hh|0,this.Hl|0,C|0,U|0),this.set(n,o,i,s,a,u,d,c,l,y,b,T,A,w,C,U)}roundClean(){Wt(de,he)}destroy(){Wt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var un=Ho(()=>new cn);var Vs=Ho(()=>new zo);var jo=BigInt(0),Zo=BigInt(1);function Jt(e,t){if(typeof t!="boolean")throw new Error(e+" boolean expected, got "+t)}function Tr(e){let t=e.toString(16);return t.length&1?"0"+t:t}function Hs(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?jo:BigInt("0x"+e)}function Xe(e){return Hs(Mt(e))}function Ie(e){return ut(e),Hs(Mt(Uint8Array.from(e).reverse()))}function fn(e,t){return We(e.toString(16).padStart(t*2,"0"))}function Je(e,t){return fn(e,t).reverse()}function j(e,t,r){let n;if(typeof t=="string")try{n=We(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(je(t))n=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(e+" of length "+r+" expected, got "+o);return n}var Go=e=>typeof e=="bigint"&&jo<=e;function qs(e,t,r){return Go(e)&&Go(t)&&Go(r)&&t<=e&&e<r}function pe(e,t,r,n){if(!qs(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function $s(e){let t;for(t=0;e>jo;e>>=Zo,t+=1);return t}var Ce=e=>(Zo<<BigInt(e))-Zo;function zs(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=b=>new Uint8Array(b),o=b=>Uint8Array.of(b),i=n(e),s=n(e),a=0,u=()=>{i.fill(1),s.fill(0),a=0},d=(...b)=>r(s,i,...b),c=(b=n(0))=>{s=d(o(0),b),i=d(),b.length!==0&&(s=d(o(1),b),i=d())},l=()=>{if(a++>=1e3)throw new Error("drbg: tried 1000 values");let b=0,T=[];for(;b<t;){i=d();let A=i.slice();T.push(A),b+=i.length}return Et(...T)};return(b,T)=>{u(),c(b);let A;for(;!(A=T(l()));)c();return u(),A}}function me(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(o,i,s){let a=e[o];if(s&&a===void 0)return;let u=typeof a;if(u!==i||a===null)throw new Error(`param "${o}" is invalid: expected ${i}, got ${u}`)}Object.entries(t).forEach(([o,i])=>n(o,i,!1)),Object.entries(r).forEach(([o,i])=>n(o,i,!0))}function Qe(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 ht=BigInt(0),nt=BigInt(1),_e=BigInt(2),bl=BigInt(3),js=BigInt(4),Ys=BigInt(5),Ws=BigInt(8);function W(e,t){let r=e%t;return r>=ht?r:t+r}function Y(e,t,r){let n=e;for(;t-- >ht;)n*=n,n%=r;return n}function Gs(e,t){if(e===ht)throw new Error("invert: expected non-zero number");if(t<=ht)throw new Error("invert: expected positive modulus, got "+t);let r=W(e,t),n=t,o=ht,i=nt,s=nt,a=ht;for(;r!==ht;){let d=n/r,c=n%r,l=o-s*d,y=i-a*d;n=r,r=c,o=s,i=a,s=l,a=y}if(n!==nt)throw new Error("invert: does not exist");return W(o,t)}function Xs(e,t){let r=(e.ORDER+nt)/js,n=e.pow(t,r);if(!e.eql(e.sqr(n),t))throw new Error("Cannot find square root");return n}function El(e,t){let r=(e.ORDER-Ys)/Ws,n=e.mul(t,_e),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,_e),o),a=e.mul(i,e.sub(s,e.ONE));if(!e.eql(e.sqr(a),t))throw new Error("Cannot find square root");return a}function Sl(e){if(e<BigInt(3))throw new Error("sqrt is not defined for small field");let t=e-nt,r=0;for(;t%_e===ht;)t/=_e,r++;let n=_e,o=Pt(e);for(;Zs(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Xs;let i=o.pow(n,t),s=(t+nt)/_e;return function(u,d){if(u.is0(d))return d;if(Zs(u,d)!==1)throw new Error("Cannot find square root");let c=r,l=u.mul(u.ONE,i),y=u.pow(d,t),b=u.pow(d,s);for(;!u.eql(y,u.ONE);){if(u.is0(y))return u.ZERO;let T=1,A=u.sqr(y);for(;!u.eql(A,u.ONE);)if(T++,A=u.sqr(A),T===c)throw new Error("Cannot find square root");let w=nt<<BigInt(c-T-1),C=u.pow(l,w);c=T,l=u.sqr(C),y=u.mul(y,l),b=u.mul(b,C)}return b}}function Al(e){return e%js===bl?Xs:e%Ws===Ys?El:Sl(e)}var Js=(e,t)=>(W(e,t)&nt)===nt,vl=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Yo(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=vl.reduce((n,o)=>(n[o]="function",n),t);return me(e,r),e}function Tl(e,t,r){if(r<ht)throw new Error("invalid exponent, negatives unsupported");if(r===ht)return e.ONE;if(r===nt)return t;let n=e.ONE,o=t;for(;r>ht;)r&nt&&(n=e.mul(n,o)),o=e.sqr(o),r>>=nt;return n}function Br(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((s,a,u)=>e.is0(a)?s:(n[u]=s,e.mul(s,a)),e.ONE),i=e.inv(o);return t.reduceRight((s,a,u)=>e.is0(a)?s:(n[u]=e.mul(s,n[u]),e.mul(s,a)),i),n}function Zs(e,t){let r=(e.ORDER-nt)/_e,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 Qs(e,t){t!==void 0&&wr(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Pt(e,t,r=!1,n={}){if(e<=ht)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,i;if(typeof t=="object"&&t!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let c=t;c.BITS&&(o=c.BITS),c.sqrt&&(i=c.sqrt),typeof c.isLE=="boolean"&&(r=c.isLE)}else typeof t=="number"&&(o=t),n.sqrt&&(i=n.sqrt);let{nBitLength:s,nByteLength:a}=Qs(e,o);if(a>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let u,d=Object.freeze({ORDER:e,isLE:r,BITS:s,BYTES:a,MASK:Ce(s),ZERO:ht,ONE:nt,create:c=>W(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return ht<=c&&c<e},is0:c=>c===ht,isValidNot0:c=>!d.is0(c)&&d.isValid(c),isOdd:c=>(c&nt)===nt,neg:c=>W(-c,e),eql:(c,l)=>c===l,sqr:c=>W(c*c,e),add:(c,l)=>W(c+l,e),sub:(c,l)=>W(c-l,e),mul:(c,l)=>W(c*l,e),pow:(c,l)=>Tl(d,c,l),div:(c,l)=>W(c*Gs(l,e),e),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>Gs(c,e),sqrt:i||(c=>(u||(u=Al(e)),u(d,c))),toBytes:c=>r?Je(c,a):fn(c,a),fromBytes:c=>{if(c.length!==a)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+c.length);return r?Ie(c):Xe(c)},invertBatch:c=>Br(d,c),cmov:(c,l,y)=>y?l:c});return Object.freeze(d)}function ta(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 Wo(e){let t=ta(e);return t+Math.ceil(t/2)}function ea(e,t,r=!1){let n=e.length,o=ta(t),i=Wo(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?Ie(e):Xe(e),a=W(s,t-nt)+nt;return r?Je(a,o):fn(a,o)}var er=BigInt(0),De=BigInt(1);function tr(e,t){let r=t.negate();return e?r:t}function ln(e,t,r){let n=t==="pz"?s=>s.pz:s=>s.ez,o=Br(e.Fp,r.map(n));return r.map((s,a)=>s.toAffine(o[a])).map(e.fromAffine)}function ia(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Xo(e,t){ia(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=Ce(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function ra(e,t,r){let{windowSize:n,mask:o,maxNumber:i,shiftBy:s}=r,a=Number(e&o),u=e>>s;a>n&&(a-=i,u+=De);let d=t*n,c=d+Math.abs(a)-1,l=a===0,y=a<0,b=t%2!==0;return{nextN:u,offset:c,isZero:l,isNeg:y,isNegF:b,offsetF:d}}function Bl(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((r,n)=>{if(!(r instanceof t))throw new Error("invalid point at index "+n)})}function Il(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((r,n)=>{if(!t.isValid(r))throw new Error("invalid scalar at index "+n)})}var Jo=new WeakMap,sa=new WeakMap;function Qo(e){return sa.get(e)||1}function na(e){if(e!==er)throw new Error("invalid wNAF")}function dn(e,t){return{constTimeNegate:tr,hasPrecomputes(r){return Qo(r)!==1},unsafeLadder(r,n,o=e.ZERO){let i=r;for(;n>er;)n&De&&(o=o.add(i)),i=i.double(),n>>=De;return o},precomputeWindow(r,n){let{windows:o,windowSize:i}=Xo(n,t),s=[],a=r,u=a;for(let d=0;d<o;d++){u=a,s.push(u);for(let c=1;c<i;c++)u=u.add(a),s.push(u);a=u.double()}return s},wNAF(r,n,o){let i=e.ZERO,s=e.BASE,a=Xo(r,t);for(let u=0;u<a.windows;u++){let{nextN:d,offset:c,isZero:l,isNeg:y,isNegF:b,offsetF:T}=ra(o,u,a);o=d,l?s=s.add(tr(b,n[T])):i=i.add(tr(y,n[c]))}return na(o),{p:i,f:s}},wNAFUnsafe(r,n,o,i=e.ZERO){let s=Xo(r,t);for(let a=0;a<s.windows&&o!==er;a++){let{nextN:u,offset:d,isZero:c,isNeg:l}=ra(o,a,s);if(o=u,!c){let y=n[d];i=i.add(l?y.negate():y)}}return na(o),i},getPrecomputes(r,n,o){let i=Jo.get(n);return i||(i=this.precomputeWindow(n,r),r!==1&&(typeof o=="function"&&(i=o(i)),Jo.set(n,i))),i},wNAFCached(r,n,o){let i=Qo(r);return this.wNAF(i,this.getPrecomputes(i,r,o),n)},wNAFCachedUnsafe(r,n,o,i){let s=Qo(r);return s===1?this.unsafeLadder(r,n,i):this.wNAFUnsafe(s,this.getPrecomputes(s,r,o),n,i)},setWindowSize(r,n){ia(n,t),sa.set(r,n),Jo.delete(r)}}}function aa(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>er||n>er;)r&De&&(i=i.add(o)),n&De&&(s=s.add(o)),o=o.double(),r>>=De,n>>=De;return{p1:i,p2:s}}function hn(e,t,r,n){Bl(r,e),Il(n,t);let o=r.length,i=n.length;if(o!==i)throw new Error("arrays of points and scalars must have equal length");let s=e.ZERO,a=$s(BigInt(o)),u=1;a>12?u=a-3:a>4?u=a-2:a>0&&(u=2);let d=Ce(u),c=new Array(Number(d)+1).fill(s),l=Math.floor((t.BITS-1)/u)*u,y=s;for(let b=l;b>=0;b-=u){c.fill(s);for(let A=0;A<i;A++){let w=n[A],C=Number(w>>BigInt(b)&d);c[C]=c[C].add(r[A])}let T=s;for(let A=c.length-1,w=s;A>0;A--)w=w.add(c[A]),T=T.add(w);if(y=y.add(T),b!==0)for(let A=0;A<u;A++)y=y.double()}return y}function oa(e,t){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Yo(t),t}else return Pt(e)}function pn(e,t,r={}){if(!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let a of["p","n","h"]){let u=t[a];if(!(typeof u=="bigint"&&u>er))throw new Error(`CURVE.${a} must be positive bigint`)}let n=oa(t.p,r.Fp),o=oa(t.n,r.Fn),s=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let a of s)if(!n.isValid(t[a]))throw new Error(`CURVE.${a} must be valid field element of CURVE.Fp`);return{Fp:n,Fn:o}}var Ht=BigInt(0),pt=BigInt(1),ti=BigInt(2),Cl=BigInt(8),_l={zip215:!0};function Dl(e,t,r,n){let o=e.sqr(r),i=e.sqr(n),s=e.add(e.mul(t.a,o),i),a=e.add(e.ONE,e.mul(t.d,e.mul(o,i)));return e.eql(s,a)}function Ul(e,t={}){let{Fp:r,Fn:n}=pn("edwards",e,t),{h:o,n:i}=e;me(t,{},{uvRatio:"function"});let s=ti<<BigInt(n.BYTES*8)-pt,a=A=>r.create(A),u=t.uvRatio||((A,w)=>{try{return{isValid:!0,value:r.sqrt(r.div(A,w))}}catch{return{isValid:!1,value:Ht}}});if(!Dl(r,e,e.Gx,e.Gy))throw new Error("bad curve params: generator point");function d(A,w,C=!1){let U=C?pt:Ht;return pe("coordinate "+A,w,U,s),w}function c(A){if(!(A instanceof b))throw new Error("ExtendedPoint expected")}let l=Qe((A,w)=>{let{ex:C,ey:U,ez:D}=A,K=A.is0();w==null&&(w=K?Cl:r.inv(D));let E=a(C*w),R=a(U*w),N=a(D*w);if(K)return{x:Ht,y:pt};if(N!==pt)throw new Error("invZ was invalid");return{x:E,y:R}}),y=Qe(A=>{let{a:w,d:C}=e;if(A.is0())throw new Error("bad point: ZERO");let{ex:U,ey:D,ez:K,et:E}=A,R=a(U*U),N=a(D*D),g=a(K*K),f=a(g*g),x=a(R*w),h=a(g*a(x+N)),p=a(f+a(C*a(R*N)));if(h!==p)throw new Error("bad point: equation left != right (1)");let S=a(U*D),B=a(K*E);if(S!==B)throw new Error("bad point: equation left != right (2)");return!0});class b{constructor(w,C,U,D){this.ex=d("x",w),this.ey=d("y",C),this.ez=d("z",U,!0),this.et=d("t",D),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(w){if(w instanceof b)throw new Error("extended point not allowed");let{x:C,y:U}=w||{};return d("x",C),d("y",U),new b(C,U,pt,a(C*U))}static normalizeZ(w){return ln(b,"ez",w)}static msm(w,C){return hn(b,n,w,C)}_setWindowSize(w){this.precompute(w)}precompute(w=8,C=!0){return T.setWindowSize(this,w),C||this.multiply(ti),this}assertValidity(){y(this)}equals(w){c(w);let{ex:C,ey:U,ez:D}=this,{ex:K,ey:E,ez:R}=w,N=a(C*R),g=a(K*D),f=a(U*R),x=a(E*D);return N===g&&f===x}is0(){return this.equals(b.ZERO)}negate(){return new b(a(-this.ex),this.ey,this.ez,a(-this.et))}double(){let{a:w}=e,{ex:C,ey:U,ez:D}=this,K=a(C*C),E=a(U*U),R=a(ti*a(D*D)),N=a(w*K),g=C+U,f=a(a(g*g)-K-E),x=N+E,h=x-R,p=N-E,S=a(f*h),B=a(x*p),v=a(f*p),I=a(h*x);return new b(S,B,I,v)}add(w){c(w);let{a:C,d:U}=e,{ex:D,ey:K,ez:E,et:R}=this,{ex:N,ey:g,ez:f,et:x}=w,h=a(D*N),p=a(K*g),S=a(R*U*x),B=a(E*f),v=a((D+K)*(N+g)-h-p),I=B-S,k=B+S,P=a(p-C*h),$=a(v*I),q=a(k*P),O=a(v*P),tt=a(I*k);return new b($,q,tt,O)}subtract(w){return this.add(w.negate())}multiply(w){let C=w;pe("scalar",C,pt,i);let{p:U,f:D}=T.wNAFCached(this,C,b.normalizeZ);return b.normalizeZ([U,D])[0]}multiplyUnsafe(w,C=b.ZERO){let U=w;return pe("scalar",U,Ht,i),U===Ht?b.ZERO:this.is0()||U===pt?this:T.wNAFCachedUnsafe(this,U,b.normalizeZ,C)}isSmallOrder(){return this.multiplyUnsafe(o).is0()}isTorsionFree(){return T.wNAFCachedUnsafe(this,i).is0()}toAffine(w){return l(this,w)}clearCofactor(){return o===pt?this:this.multiplyUnsafe(o)}static fromBytes(w,C=!1){return ut(w),this.fromHex(w,C)}static fromHex(w,C=!1){let{d:U,a:D}=e,K=r.BYTES;w=j("pointHex",w,K),Jt("zip215",C);let E=w.slice(),R=w[K-1];E[K-1]=R&-129;let N=Ie(E),g=C?s:r.ORDER;pe("pointHex.y",N,Ht,g);let f=a(N*N),x=a(f-pt),h=a(U*f-D),{isValid:p,value:S}=u(x,h);if(!p)throw new Error("Point.fromHex: invalid y coordinate");let B=(S&pt)===pt,v=(R&128)!==0;if(!C&&S===Ht&&v)throw new Error("Point.fromHex: x=0 and x_0=1");return v!==B&&(S=a(-S)),b.fromAffine({x:S,y:N})}static fromPrivateScalar(w){return b.BASE.multiply(w)}toBytes(){let{x:w,y:C}=this.toAffine(),U=Je(C,r.BYTES);return U[U.length-1]|=w&pt?128:0,U}toRawBytes(){return this.toBytes()}toHex(){return Mt(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}b.BASE=new b(e.Gx,e.Gy,pt,a(e.Gx*e.Gy)),b.ZERO=new b(Ht,pt,pt,Ht),b.Fp=r,b.Fn=n;let T=dn(b,n.BYTES*8);return b}function Rl(e,t){me(t,{hash:"function"},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:r,hash:n}=t,{BASE:o,Fp:i,Fn:s}=e,a=s.ORDER,u=t.randomBytes||Er,d=t.adjustScalarBytes||(E=>E),c=t.domain||((E,R,N)=>{if(Jt("phflag",N),R.length||N)throw new Error("Contexts/pre-hash are not supported");return E});function l(E){return s.create(E)}function y(E){return l(Ie(E))}function b(E){let R=i.BYTES;E=j("private key",E,R);let N=j("hashed private key",n(E),2*R),g=d(N.slice(0,R)),f=N.slice(R,2*R),x=y(g);return{head:g,prefix:f,scalar:x}}function T(E){let{head:R,prefix:N,scalar:g}=b(E),f=o.multiply(g),x=f.toBytes();return{head:R,prefix:N,scalar:g,point:f,pointBytes:x}}function A(E){return T(E).pointBytes}function w(E=Uint8Array.of(),...R){let N=Et(...R);return y(n(c(N,j("context",E),!!r)))}function C(E,R,N={}){E=j("message",E),r&&(E=r(E));let{prefix:g,scalar:f,pointBytes:x}=T(R),h=w(N.context,g,E),p=o.multiply(h).toBytes(),S=w(N.context,p,x,E),B=l(h+S*f);pe("signature.s",B,Ht,a);let v=i.BYTES,I=Et(p,Je(B,v));return j("result",I,v*2)}let U=_l;function D(E,R,N,g=U){let{context:f,zip215:x}=g,h=i.BYTES;E=j("signature",E,2*h),R=j("message",R),N=j("publicKey",N,h),x!==void 0&&Jt("zip215",x),r&&(R=r(R));let p=Ie(E.slice(h,2*h)),S,B,v;try{S=e.fromHex(N,x),B=e.fromHex(E.slice(0,h),x),v=o.multiplyUnsafe(p)}catch{return!1}if(!x&&S.isSmallOrder())return!1;let I=w(f,B.toBytes(),S.toBytes(),R);return B.add(S.multiplyUnsafe(I)).subtract(v).clearCofactor().is0()}return o.precompute(8),{getPublicKey:A,sign:C,verify:D,utils:{getExtendedPublicKey:T,randomPrivateKey:()=>u(i.BYTES),precompute(E=8,R=e.BASE){return R.precompute(E,!1)}},Point:e}}function Nl(e){let t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=Pt(t.n,e.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:e.uvRatio},i={hash:e.hash,randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,eddsaOpts:i}}function Ll(e,t){return Object.assign({},t,{ExtendedPoint:t.Point,CURVE:e})}function ca(e){let{CURVE:t,curveOpts:r,eddsaOpts:n}=Nl(e),o=Ul(t,r),i=Rl(o,n);return Ll(e,i)}var Z0=BigInt(0),Pl=BigInt(1),ua=BigInt(2),j0=BigInt(3),kl=BigInt(5),Kl=BigInt(8),mn={p:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Kl,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Fl(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=mn.p,a=e*e%i*e%i,u=Y(a,ua,i)*a%i,d=Y(u,Pl,i)*e%i,c=Y(d,kl,i)*d%i,l=Y(c,t,i)*c%i,y=Y(l,r,i)*l%i,b=Y(y,n,i)*y%i,T=Y(b,o,i)*b%i,A=Y(T,o,i)*b%i,w=Y(A,t,i)*c%i;return{pow_p_5_8:Y(w,ua,i)*e%i,b2:a}}function Ol(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var fa=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function Ml(e,t){let r=mn.p,n=W(t*t*t,r),o=W(n*n*t,r),i=Fl(e*o).pow_p_5_8,s=W(e*n*i,r),a=W(t*s*s,r),u=s,d=W(s*fa,r),c=a===e,l=a===W(-e,r),y=a===W(-e*fa,r);return c&&(s=u),(l||y)&&(s=d),Js(s,r)&&(s=W(-s,r)),{isValid:c||l,value:s}}var Vl=Pt(mn.p,void 0,!0),Hl={...mn,Fp:Vl,hash:Vs,adjustScalarBytes:Ol,uvRatio:Ml},la=ca(Hl);var Ir=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},yn=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var da={get(e=globalThis){let t=e.crypto;if(t?.subtle==null)throw new yn("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 Ct=da;var gn=32;var ei,ql=(async()=>{try{return await Ct.get().subtle.generateKey({name:"Ed25519"},!0,["sign","verify"]),!0}catch{return!1}})();async function $l(e,t,r){if(e.buffer instanceof ArrayBuffer){let n=await Ct.get().subtle.importKey("raw",e.buffer,{name:"Ed25519"},!1,["verify"]);return await Ct.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 zl(e,t,r){return la.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}async function ha(e,t,r){return ei==null&&(ei=await ql),ei?$l(e,t,r):zl(e,t,r)}function xn(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var wn=class{type="Ed25519";raw;constructor(t){this.raw=ri(t,gn)}toMultihash(){return Nt.digest(fe(this))}toCID(){return G.createV1(114,this.toMultihash())}toString(){return z.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:J(this.raw,t.raw)}verify(t,r,n){n?.signal?.throwIfAborted();let o=ha(this.raw,r,t);return xn(o)?o.then(i=>(n?.signal?.throwIfAborted(),i)):o}};function ni(e){return e=ri(e,gn),new wn(e)}function ri(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new et(`Key must be a Uint8Array of length ${t}, got ${e.length}`);return e}var Zl=Math.pow(2,7),jl=Math.pow(2,14),Yl=Math.pow(2,21),ma=Math.pow(2,28),ya=Math.pow(2,35),ga=Math.pow(2,42),xa=Math.pow(2,49),mt=128,ye=127;function Cr(e){if(e<Zl)return 1;if(e<jl)return 2;if(e<Yl)return 3;if(e<ma)return 4;if(e<ya)return 5;if(e<ga)return 6;if(e<xa)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function wa(e,t,r=0){switch(Cr(e)){case 8:t[r++]=e&255|mt,e/=128;case 7:t[r++]=e&255|mt,e/=128;case 6:t[r++]=e&255|mt,e/=128;case 5:t[r++]=e&255|mt,e/=128;case 4:t[r++]=e&255|mt,e>>>=7;case 3:t[r++]=e&255|mt,e>>>=7;case 2:t[r++]=e&255|mt,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function ba(e,t){let r=e[t],n=0;if(n+=r&ye,r<mt||(r=e[t+1],n+=(r&ye)<<7,r<mt)||(r=e[t+2],n+=(r&ye)<<14,r<mt)||(r=e[t+3],n+=(r&ye)<<21,r<mt)||(r=e[t+4],n+=(r&ye)*ma,r<mt)||(r=e[t+5],n+=(r&ye)*ya,r<mt)||(r=e[t+6],n+=(r&ye)*ga,r<mt)||(r=e[t+7],n+=(r&ye)*xa,r<mt))return n;throw new RangeError("Could not decode varint")}var oi=new Float32Array([-0]),ge=new Uint8Array(oi.buffer);function Ea(e,t,r){oi[0]=e,t[r]=ge[0],t[r+1]=ge[1],t[r+2]=ge[2],t[r+3]=ge[3]}function Sa(e,t){return ge[0]=e[t],ge[1]=e[t+1],ge[2]=e[t+2],ge[3]=e[t+3],oi[0]}var ii=new Float64Array([-0]),ft=new Uint8Array(ii.buffer);function Aa(e,t,r){ii[0]=e,t[r]=ft[0],t[r+1]=ft[1],t[r+2]=ft[2],t[r+3]=ft[3],t[r+4]=ft[4],t[r+5]=ft[5],t[r+6]=ft[6],t[r+7]=ft[7]}function va(e,t){return ft[0]=e[t],ft[1]=e[t+1],ft[2]=e[t+2],ft[3]=e[t+3],ft[4]=e[t+4],ft[5]=e[t+5],ft[6]=e[t+6],ft[7]=e[t+7],ii[0]}var Wl=BigInt(Number.MAX_SAFE_INTEGER),Xl=BigInt(Number.MIN_SAFE_INTEGER),St=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 Ue;if(t<Wl&&t>Xl)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>Ta&&(o=0n,++n>Ta&&(n=0n))),new e(Number(o),Number(n))}static fromNumber(t){if(t===0)return Ue;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):Ue}},Ue=new St(0,0);Ue.toBigInt=function(){return 0n};Ue.zzEncode=Ue.zzDecode=function(){return this};Ue.length=function(){return 1};var Ta=4294967296n;function Ba(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 Ia(e,t,r){if(r-t<1)return"";let o,i=[],s=0,a;for(;t<r;)a=e[t++],a<128?i[s++]=a:a>191&&a<224?i[s++]=(a&31)<<6|e[t++]&63:a>239&&a<365?(a=((a&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,i[s++]=55296+(a>>10),i[s++]=56320+(a&1023)):i[s++]=(a&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 si(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 kt(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function bn(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var ai=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,kt(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 kt(this,4);return bn(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw kt(this,4);return bn(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw kt(this,4);let t=Sa(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw kt(this,4);let t=va(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 kt(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return Ia(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw kt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw kt(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 St(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 kt(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 kt(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 kt(this,8);let t=bn(this.buf,this.pos+=4),r=bn(this.buf,this.pos+=4);return new St(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=ba(this.buf,this.pos);return this.pos+=Cr(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 ci(e){return new ai(e instanceof Uint8Array?e:e.subarray())}function xe(e,t,r){let n=ci(e);return t.decode(n,void 0,r)}function ui(e){let t=e??8192,r=t>>>1,n,o=t;return function(s){if(s<1||s>r)return wt(s);o+s>t&&(n=wt(t),o=0);let a=n.subarray(o,o+=s);return(o&7)!==0&&(o=(o|7)+1),a}}var Re=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function fi(){}var di=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Jl=ui();function Ql(e){return globalThis.Buffer!=null?wt(e):Jl(e)}var Dr=class{len;head;tail;states;constructor(){this.len=0,this.head=new Re(fi,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new Re(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new hi((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(En,10,St.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=St.fromBigInt(t);return this._push(En,r.length(),r)}uint64Number(t){return this._push(wa,Cr(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=St.fromBigInt(t).zzEncode();return this._push(En,r.length(),r)}sint64Number(t){let r=St.fromNumber(t).zzEncode();return this._push(En,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(li,1,t?1:0)}fixed32(t){return this._push(_r,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=St.fromBigInt(t);return this._push(_r,4,r.lo)._push(_r,4,r.hi)}fixed64Number(t){let r=St.fromNumber(t);return this._push(_r,4,r.lo)._push(_r,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(Ea,4,t)}double(t){return this._push(Aa,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(li,1,0):this.uint32(r)._push(ed,r,t)}string(t){let r=Ba(t);return r!==0?this.uint32(r)._push(si,r,t):this._push(li,1,0)}fork(){return this.states=new di(this),this.head=this.tail=new Re(fi,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 Re(fi,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=Ql(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function li(e,t,r){t[r]=e&255}function td(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var hi=class extends Re{next;constructor(t,r){super(td,t,r),this.next=void 0}};function En(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 _r(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 ed(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(Dr.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(rd,t,e),this},Dr.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(nd,t,e),this});function rd(e,t,r){t.set(e,r)}function nd(e,t,r){e.length<40?si(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(M(e),r)}function pi(){return new Dr}function we(e,t){let r=pi();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var rr;(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"})(rr||(rr={}));function Sn(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Ur(e){function t(o){if(e[o.toString()]==null)throw new Error("Invalid enum value");return e[o]}let r=function(i,s){let a=t(i);s.int32(a)},n=function(i){let s=i.int32();return t(s)};return Sn("enum",rr.VARINT,r,n)}function be(e,t){return Sn("message",rr.LENGTH_DELIMITED,e,t)}var Q;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.secp256k1="secp256k1",e.ECDSA="ECDSA"})(Q||(Q={}));var mi;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.secp256k1=2]="secp256k1",e[e.ECDSA=3]="ECDSA"})(mi||(mi={}));(function(e){e.codec=()=>Ur(mi)})(Q||(Q={}));var qt;(function(e){let t;e.codec=()=>(t==null&&(t=be((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Q.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 a=r.uint32();switch(a>>>3){case 1:{i.Type=Q.codec().decode(r);break}case 2:{i.Data=r.bytes();break}default:{r.skipType(a&7);break}}}return i})),t),e.encode=r=>we(r,e.codec()),e.decode=(r,n)=>xe(r,e.codec(),n)})(qt||(qt={}));var yi;(function(e){let t;e.codec=()=>(t==null&&(t=be((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Q.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 a=r.uint32();switch(a>>>3){case 1:{i.Type=Q.codec().decode(r);break}case 2:{i.Data=r.bytes();break}default:{r.skipType(a&7);break}}}return i})),t),e.encode=r=>we(r,e.codec()),e.decode=(r,n)=>xe(r,e.codec(),n)})(yi||(yi={}));var Nr={};yt(Nr,{MAX_RSA_KEY_SIZE:()=>gi,generateRSAKeyPair:()=>Na,jwkToJWKKeyPair:()=>La,jwkToPkcs1:()=>ad,jwkToPkix:()=>Ei,jwkToRSAPrivateKey:()=>Ti,pkcs1MessageToJwk:()=>wi,pkcs1MessageToRSAPrivateKey:()=>Si,pkcs1ToJwk:()=>sd,pkcs1ToRSAPrivateKey:()=>Ra,pkixMessageToJwk:()=>bi,pkixMessageToRSAPublicKey:()=>vi,pkixToJwk:()=>cd,pkixToRSAPublicKey:()=>Ai});var An=un;var nr=class{type="RSA";jwk;_raw;_multihash;constructor(t,r){this.jwk=t,this._multihash=r}get raw(){return this._raw==null&&(this._raw=Nr.jwkToPkix(this.jwk)),this._raw}toMultihash(){return this._multihash}toCID(){return G.createV1(114,this._multihash)}toString(){return z.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:J(this.raw,t.raw)}verify(t,r,n){return Ua(this.jwk,r,t,n)}},Rr=class{type="RSA";jwk;_raw;publicKey;constructor(t,r){this.jwk=t,this.publicKey=r}get raw(){return this._raw==null&&(this._raw=Nr.jwkToPkcs1(this.jwk)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:J(this.raw,t.raw)}sign(t,r){return Da(this.jwk,t,r)}};var gi=8192,xi=18,od=1062,id=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function sd(e){let t=jt(e);return wi(t)}function wi(e){return{n:V(e[1],"base64url"),e:V(e[2],"base64url"),d:V(e[3],"base64url"),p:V(e[4],"base64url"),q:V(e[5],"base64url"),dp:V(e[6],"base64url"),dq:V(e[7],"base64url"),qi:V(e[8],"base64url"),kty:"RSA"}}function ad(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 et("JWK was missing components");return ue([xt(Uint8Array.from([0])),xt(M(e.n,"base64url")),xt(M(e.e,"base64url")),xt(M(e.d,"base64url")),xt(M(e.p,"base64url")),xt(M(e.q,"base64url")),xt(M(e.dp,"base64url")),xt(M(e.dq,"base64url")),xt(M(e.qi,"base64url"))]).subarray()}function cd(e){let t=jt(e,{offset:0});return bi(t)}function bi(e){let t=jt(e[1],{offset:0});return{kty:"RSA",n:V(t[0],"base64url"),e:V(t[1],"base64url")}}function Ei(e){if(e.n==null||e.e==null)throw new et("JWK was missing components");return ue([id,on(ue([xt(M(e.n,"base64url")),xt(M(e.e,"base64url"))]))]).subarray()}function Ra(e){let t=jt(e);return Si(t)}function Si(e){let t=wi(e);return Ti(t)}function Ai(e,t){if(e.byteLength>=od)throw new Oe("Key size is too large");let r=jt(e,{offset:0});return vi(r,e,t)}function vi(e,t,r){let n=bi(e);if(r==null){let o=An(qt.encode({Type:Q.RSA,Data:t}));r=Rt(xi,o)}return new nr(n,r)}function Ti(e){if(ka(e)>gi)throw new et("Key size is too large");let t=La(e),r=An(qt.encode({Type:Q.RSA,Data:Ei(t.publicKey)})),n=Rt(xi,r);return new Rr(t.privateKey,new nr(t.publicKey,n))}async function Na(e){if(e>gi)throw new et("Key size is too large");let t=await Pa(e),r=An(qt.encode({Type:Q.RSA,Data:Ei(t.publicKey)})),n=Rt(xi,r);return new Rr(t.privateKey,new nr(t.publicKey,n))}function La(e){if(e==null)throw new et("Missing key parameter");return{privateKey:e,publicKey:{kty:e.kty,n:e.n,e:e.e}}}async function Pa(e,t){let r=await Ct.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 ud(r,t);return{privateKey:n[0],publicKey:n[1]}}async function Da(e,t,r){let n=await Ct.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]);r?.signal?.throwIfAborted();let o=await Ct.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 Ua(e,t,r,n){let o=await Ct.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);n?.signal?.throwIfAborted();let i=await Ct.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},o,t,r instanceof Uint8Array?r:r.subarray());return n?.signal?.throwIfAborted(),i}async function ud(e,t){if(e.privateKey==null||e.publicKey==null)throw new et("Private and public key are required");let r=await Promise.all([Ct.get().subtle.exportKey("jwk",e.privateKey),Ct.get().subtle.exportKey("jwk",e.publicKey)]);return t?.signal?.throwIfAborted(),r}function ka(e){if(e.kty!=="RSA")throw new et("invalid key type");if(e.n==null)throw new et("invalid key modulus");return M(e.n,"base64url").length*8}var vn=class extends Ze{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,Bs(t);let n=br(r);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let o=this.blockLen,i=new Uint8Array(o);i.set(n.length>o?t.create().update(n).digest():n);for(let s=0;s<i.length;s++)i[s]^=54;this.iHash.update(i),this.oHash=t.create();for(let s=0;s<i.length;s++)i[s]^=106;this.oHash.update(i),Wt(i)}update(t){return Ye(this),this.iHash.update(t),this}digestInto(t){Ye(this),ut(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:o,destroyed:i,blockLen:s,outputLen:a}=this;return t=t,t.finished=o,t.destroyed=i,t.blockLen=s,t.outputLen=a,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()}},Bi=(e,t,r)=>new vn(e,t).update(r).digest();Bi.create=(e,t)=>new vn(e,t);function Ka(e){e.lowS!==void 0&&Jt("lowS",e.lowS),e.prehash!==void 0&&Jt("prehash",e.prehash)}var Ii=class extends Error{constructor(t=""){super(t)}},Qt={Err:Ii,_tlv:{encode:(e,t)=>{let{Err:r}=Qt;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=Tr(n);if(o.length/2&128)throw new r("tlv.encode: long form length too big");let i=n>127?Tr(o.length/2|128):"";return Tr(e)+i+o+t},decode(e,t){let{Err:r}=Qt,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 u=o&127;if(!u)throw new r("tlv.decode(long): indefinite length not supported");if(u>4)throw new r("tlv.decode(long): byte length is too big");let d=t.subarray(n,n+u);if(d.length!==u)throw new r("tlv.decode: length bytes not complete");if(d[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let c of d)s=s<<8|c;if(n+=u,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+s)}}},_int:{encode(e){let{Err:t}=Qt;if(e<Lr)throw new t("integer: negative integers are not allowed");let r=Tr(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}=Qt;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 Xe(e)}},toSig(e){let{Err:t,_int:r,_tlv:n}=Qt,o=j("signature",e),{v:i,l:s}=n.decode(48,o);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:u}=n.decode(2,i),{v:d,l:c}=n.decode(2,u);if(c.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(d)}},hexFromSig(e){let{_tlv:t,_int:r}=Qt,n=t.encode(2,r.encode(e.r)),o=t.encode(2,r.encode(e.s)),i=n+o;return t.encode(48,i)}},Lr=BigInt(0),Pr=BigInt(1),fd=BigInt(2),Tn=BigInt(3),ld=BigInt(4);function dd(e,t,r){function n(o){let i=e.sqr(o),s=e.mul(i,o);return e.add(e.add(s,e.mul(o,t)),r)}return n}function Fa(e,t,r){let{BYTES:n}=e;function o(i){let s;if(typeof i=="bigint")s=i;else{let a=j("private key",i);if(t){if(!t.includes(a.length*2))throw new Error("invalid private key");let u=new Uint8Array(n);u.set(a,u.length-a.length),a=u}try{s=e.fromBytes(a)}catch{throw new Error(`invalid private key: expected ui8a of size ${n}, got ${typeof i}`)}}if(r&&(s=e.create(s)),!e.isValidNot0(s))throw new Error("invalid private key: out of range [1..N-1]");return s}return o}function hd(e,t={}){let{Fp:r,Fn:n}=pn("weierstrass",e,t),{h:o,n:i}=e;me(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:s}=t;if(s&&(!r.is0(e.a)||typeof s.beta!="bigint"||typeof s.splitScalar!="function"))throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function');function a(){if(!r.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function u(g,f,x){let{x:h,y:p}=f.toAffine(),S=r.toBytes(h);if(Jt("isCompressed",x),x){a();let B=!r.isOdd(p);return Et(Oa(B),S)}else return Et(Uint8Array.of(4),S,r.toBytes(p))}function d(g){ut(g);let f=r.BYTES,x=f+1,h=2*f+1,p=g.length,S=g[0],B=g.subarray(1);if(p===x&&(S===2||S===3)){let v=r.fromBytes(B);if(!r.isValid(v))throw new Error("bad point: is not on curve, wrong x");let I=y(v),k;try{k=r.sqrt(I)}catch(q){let O=q instanceof Error?": "+q.message:"";throw new Error("bad point: is not on curve, sqrt error"+O)}a();let P=r.isOdd(k);return(S&1)===1!==P&&(k=r.neg(k)),{x:v,y:k}}else if(p===h&&S===4){let v=r.fromBytes(B.subarray(f*0,f*1)),I=r.fromBytes(B.subarray(f*1,f*2));if(!b(v,I))throw new Error("bad point: is not on curve");return{x:v,y:I}}else throw new Error(`bad point: got length ${p}, expected compressed=${x} or uncompressed=${h}`)}let c=t.toBytes||u,l=t.fromBytes||d,y=dd(r,e.a,e.b);function b(g,f){let x=r.sqr(f),h=y(g);return r.eql(x,h)}if(!b(e.Gx,e.Gy))throw new Error("bad curve params: generator point");let T=r.mul(r.pow(e.a,Tn),ld),A=r.mul(r.sqr(e.b),BigInt(27));if(r.is0(r.add(T,A)))throw new Error("bad curve params: a or b");function w(g,f,x=!1){if(!r.isValid(f)||x&&r.is0(f))throw new Error(`bad point coordinate ${g}`);return f}function C(g){if(!(g instanceof E))throw new Error("ProjectivePoint expected")}let U=Qe((g,f)=>{let{px:x,py:h,pz:p}=g;if(r.eql(p,r.ONE))return{x,y:h};let S=g.is0();f==null&&(f=S?r.ONE:r.inv(p));let B=r.mul(x,f),v=r.mul(h,f),I=r.mul(p,f);if(S)return{x:r.ZERO,y:r.ZERO};if(!r.eql(I,r.ONE))throw new Error("invZ was invalid");return{x:B,y:v}}),D=Qe(g=>{if(g.is0()){if(t.allowInfinityPoint&&!r.is0(g.py))return;throw new Error("bad point: ZERO")}let{x:f,y:x}=g.toAffine();if(!r.isValid(f)||!r.isValid(x))throw new Error("bad point: x or y not field elements");if(!b(f,x))throw new Error("bad point: equation left != right");if(!g.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function K(g,f,x,h,p){return x=new E(r.mul(x.px,g),x.py,x.pz),f=tr(h,f),x=tr(p,x),f.add(x)}class E{constructor(f,x,h){this.px=w("x",f),this.py=w("y",x,!0),this.pz=w("z",h),Object.freeze(this)}static fromAffine(f){let{x,y:h}=f||{};if(!f||!r.isValid(x)||!r.isValid(h))throw new Error("invalid affine point");if(f instanceof E)throw new Error("projective point not allowed");return r.is0(x)&&r.is0(h)?E.ZERO:new E(x,h,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(f){return ln(E,"pz",f)}static fromBytes(f){return ut(f),E.fromHex(f)}static fromHex(f){let x=E.fromAffine(l(j("pointHex",f)));return x.assertValidity(),x}static fromPrivateKey(f){let x=Fa(n,t.allowedPrivateKeyLengths,t.wrapPrivateKey);return E.BASE.multiply(x(f))}static msm(f,x){return hn(E,n,f,x)}precompute(f=8,x=!0){return N.setWindowSize(this,f),x||this.multiply(Tn),this}_setWindowSize(f){this.precompute(f)}assertValidity(){D(this)}hasEvenY(){let{y:f}=this.toAffine();if(!r.isOdd)throw new Error("Field doesn't support isOdd");return!r.isOdd(f)}equals(f){C(f);let{px:x,py:h,pz:p}=this,{px:S,py:B,pz:v}=f,I=r.eql(r.mul(x,v),r.mul(S,p)),k=r.eql(r.mul(h,v),r.mul(B,p));return I&&k}negate(){return new E(this.px,r.neg(this.py),this.pz)}double(){let{a:f,b:x}=e,h=r.mul(x,Tn),{px:p,py:S,pz:B}=this,v=r.ZERO,I=r.ZERO,k=r.ZERO,P=r.mul(p,p),$=r.mul(S,S),q=r.mul(B,B),O=r.mul(p,S);return O=r.add(O,O),k=r.mul(p,B),k=r.add(k,k),v=r.mul(f,k),I=r.mul(h,q),I=r.add(v,I),v=r.sub($,I),I=r.add($,I),I=r.mul(v,I),v=r.mul(O,v),k=r.mul(h,k),q=r.mul(f,q),O=r.sub(P,q),O=r.mul(f,O),O=r.add(O,k),k=r.add(P,P),P=r.add(k,P),P=r.add(P,q),P=r.mul(P,O),I=r.add(I,P),q=r.mul(S,B),q=r.add(q,q),P=r.mul(q,O),v=r.sub(v,P),k=r.mul(q,$),k=r.add(k,k),k=r.add(k,k),new E(v,I,k)}add(f){C(f);let{px:x,py:h,pz:p}=this,{px:S,py:B,pz:v}=f,I=r.ZERO,k=r.ZERO,P=r.ZERO,$=e.a,q=r.mul(e.b,Tn),O=r.mul(x,S),tt=r.mul(h,B),rt=r.mul(p,v),ct=r.add(x,h),Z=r.add(S,B);ct=r.mul(ct,Z),Z=r.add(O,tt),ct=r.sub(ct,Z),Z=r.add(x,p);let dt=r.add(S,v);return Z=r.mul(Z,dt),dt=r.add(O,rt),Z=r.sub(Z,dt),dt=r.add(h,p),I=r.add(B,v),dt=r.mul(dt,I),I=r.add(tt,rt),dt=r.sub(dt,I),P=r.mul($,Z),I=r.mul(q,rt),P=r.add(I,P),I=r.sub(tt,P),P=r.add(tt,P),k=r.mul(I,P),tt=r.add(O,O),tt=r.add(tt,O),rt=r.mul($,rt),Z=r.mul(q,Z),tt=r.add(tt,rt),rt=r.sub(O,rt),rt=r.mul($,rt),Z=r.add(Z,rt),O=r.mul(tt,Z),k=r.add(k,O),O=r.mul(dt,Z),I=r.mul(ct,I),I=r.sub(I,O),O=r.mul(ct,tt),P=r.mul(dt,P),P=r.add(P,O),new E(I,k,P)}subtract(f){return this.add(f.negate())}is0(){return this.equals(E.ZERO)}multiply(f){let{endo:x}=t;if(!n.isValidNot0(f))throw new Error("invalid scalar: out of range");let h,p,S=B=>N.wNAFCached(this,B,E.normalizeZ);if(x){let{k1neg:B,k1:v,k2neg:I,k2:k}=x.splitScalar(f),{p:P,f:$}=S(v),{p:q,f:O}=S(k);p=$.add(O),h=K(x.beta,P,q,B,I)}else{let{p:B,f:v}=S(f);h=B,p=v}return E.normalizeZ([h,p])[0]}multiplyUnsafe(f){let{endo:x}=t,h=this;if(!n.isValid(f))throw new Error("invalid scalar: out of range");if(f===Lr||h.is0())return E.ZERO;if(f===Pr)return h;if(N.hasPrecomputes(this))return this.multiply(f);if(x){let{k1neg:p,k1:S,k2neg:B,k2:v}=x.splitScalar(f),{p1:I,p2:k}=aa(E,h,S,v);return K(x.beta,I,k,p,B)}else return N.wNAFCachedUnsafe(h,f)}multiplyAndAddUnsafe(f,x,h){let p=this.multiplyUnsafe(x).add(f.multiplyUnsafe(h));return p.is0()?void 0:p}toAffine(f){return U(this,f)}isTorsionFree(){let{isTorsionFree:f}=t;return o===Pr?!0:f?f(E,this):N.wNAFCachedUnsafe(this,i).is0()}clearCofactor(){let{clearCofactor:f}=t;return o===Pr?this:f?f(E,this):this.multiplyUnsafe(o)}toBytes(f=!0){return Jt("isCompressed",f),this.assertValidity(),c(E,this,f)}toRawBytes(f=!0){return this.toBytes(f)}toHex(f=!0){return Mt(this.toBytes(f))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}E.BASE=new E(e.Gx,e.Gy,r.ONE),E.ZERO=new E(r.ZERO,r.ONE,r.ZERO),E.Fp=r,E.Fn=n;let R=n.BITS,N=dn(E,t.endo?Math.ceil(R/2):R);return E}function Oa(e){return Uint8Array.of(e?2:3)}function pd(e,t,r={}){me(t,{hash:"function"},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});let n=t.randomBytes||Er,o=t.hmac||((h,...p)=>Bi(t.hash,h,Et(...p))),{Fp:i,Fn:s}=e,{ORDER:a,BITS:u}=s;function d(h){let p=a>>Pr;return h>p}function c(h){return d(h)?s.neg(h):h}function l(h,p){if(!s.isValidNot0(p))throw new Error(`invalid signature ${h}: out of range 1..CURVE.n`)}class y{constructor(p,S,B){l("r",p),l("s",S),this.r=p,this.s=S,B!=null&&(this.recovery=B),Object.freeze(this)}static fromCompact(p){let S=s.BYTES,B=j("compactSignature",p,S*2);return new y(s.fromBytes(B.subarray(0,S)),s.fromBytes(B.subarray(S,S*2)))}static fromDER(p){let{r:S,s:B}=Qt.toSig(j("DER",p));return new y(S,B)}assertValidity(){}addRecoveryBit(p){return new y(this.r,this.s,p)}recoverPublicKey(p){let S=i.ORDER,{r:B,s:v,recovery:I}=this;if(I==null||![0,1,2,3].includes(I))throw new Error("recovery id invalid");if(a*fd<S&&I>1)throw new Error("recovery id is ambiguous for h>1 curve");let P=I===2||I===3?B+a:B;if(!i.isValid(P))throw new Error("recovery id 2 or 3 invalid");let $=i.toBytes(P),q=e.fromHex(Et(Oa((I&1)===0),$)),O=s.inv(P),tt=D(j("msgHash",p)),rt=s.create(-tt*O),ct=s.create(v*O),Z=e.BASE.multiplyUnsafe(rt).add(q.multiplyUnsafe(ct));if(Z.is0())throw new Error("point at infinify");return Z.assertValidity(),Z}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new y(this.r,s.neg(this.s),this.recovery):this}toBytes(p){if(p==="compact")return Et(s.toBytes(this.r),s.toBytes(this.s));if(p==="der")return We(Qt.hexFromSig(this));throw new Error("invalid format")}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return Mt(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return Mt(this.toBytes("compact"))}}let b=Fa(s,r.allowedPrivateKeyLengths,r.wrapPrivateKey),T={isValidPrivateKey(h){try{return b(h),!0}catch{return!1}},normPrivateKeyToScalar:b,randomPrivateKey:()=>{let h=a;return ea(n(Wo(h)),h)},precompute(h=8,p=e.BASE){return p.precompute(h,!1)}};function A(h,p=!0){return e.fromPrivateKey(h).toBytes(p)}function w(h){if(typeof h=="bigint")return!1;if(h instanceof e)return!0;let S=j("key",h).length,B=i.BYTES,v=B+1,I=2*B+1;if(!(r.allowedPrivateKeyLengths||s.BYTES===v))return S===v||S===I}function C(h,p,S=!0){if(w(h)===!0)throw new Error("first arg must be private key");if(w(p)===!1)throw new Error("second arg must be public key");return e.fromHex(p).multiply(b(h)).toBytes(S)}let U=t.bits2int||function(h){if(h.length>8192)throw new Error("input is too large");let p=Xe(h),S=h.length*8-u;return S>0?p>>BigInt(S):p},D=t.bits2int_modN||function(h){return s.create(U(h))},K=Ce(u);function E(h){return pe("num < 2^"+u,h,Lr,K),s.toBytes(h)}function R(h,p,S=N){if(["recovered","canonical"].some(ct=>ct in S))throw new Error("sign() legacy options not supported");let{hash:B}=t,{lowS:v,prehash:I,extraEntropy:k}=S;v==null&&(v=!0),h=j("msgHash",h),Ka(S),I&&(h=j("prehashed msgHash",B(h)));let P=D(h),$=b(p),q=[E($),E(P)];if(k!=null&&k!==!1){let ct=k===!0?n(i.BYTES):k;q.push(j("extraEntropy",ct))}let O=Et(...q),tt=P;function rt(ct){let Z=U(ct);if(!s.isValidNot0(Z))return;let dt=s.inv(Z),lr=e.BASE.multiply(Z).toAffine(),Ke=s.create(lr.x);if(Ke===Lr)return;let Ae=s.create(dt*s.create(tt+Ke*$));if(Ae===Lr)return;let uo=(lr.x===Ke?0:2)|Number(lr.y&Pr),Fe=Ae;return v&&d(Ae)&&(Fe=c(Ae),uo^=1),new y(Ke,Fe,uo)}return{seed:O,k2sig:rt}}let N={lowS:t.lowS,prehash:!1},g={lowS:t.lowS,prehash:!1};function f(h,p,S=N){let{seed:B,k2sig:v}=R(h,p,S);return zs(t.hash.outputLen,s.BYTES,o)(B,v)}e.BASE.precompute(8);function x(h,p,S,B=g){let v=h;p=j("msgHash",p),S=j("publicKey",S),Ka(B);let{lowS:I,prehash:k,format:P}=B;if("strict"in B)throw new Error("options.strict was renamed to lowS");if(P!==void 0&&!["compact","der","js"].includes(P))throw new Error('format must be "compact", "der" or "js"');let $=typeof v=="string"||je(v),q=!$&&!P&&typeof v=="object"&&v!==null&&typeof v.r=="bigint"&&typeof v.s=="bigint";if(!$&&!q)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let O,tt;try{if(q)if(P===void 0||P==="js")O=new y(v.r,v.s);else throw new Error("invalid format");if($){try{P!=="compact"&&(O=y.fromDER(v))}catch(Fe){if(!(Fe instanceof Qt.Err))throw Fe}!O&&P!=="der"&&(O=y.fromCompact(v))}tt=e.fromHex(S)}catch{return!1}if(!O||I&&O.hasHighS())return!1;k&&(p=t.hash(p));let{r:rt,s:ct}=O,Z=D(p),dt=s.inv(ct),lr=s.create(Z*dt),Ke=s.create(rt*dt),Ae=e.BASE.multiplyUnsafe(lr).add(tt.multiplyUnsafe(Ke));return Ae.is0()?!1:s.create(Ae.x)===rt}return Object.freeze({getPublicKey:A,getSharedSecret:C,sign:f,verify:x,utils:T,Point:e,Signature:y})}function md(e){let t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=Pt(t.n,e.nBitLength),o={Fp:r,Fn:n,allowedPrivateKeyLengths:e.allowedPrivateKeyLengths,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,wrapPrivateKey:e.wrapPrivateKey,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes};return{CURVE:t,curveOpts:o}}function yd(e){let{CURVE:t,curveOpts:r}=md(e),n={hash:e.hash,hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN};return{CURVE:t,curveOpts:r,ecdsaOpts:n}}function gd(e,t){return Object.assign({},t,{ProjectivePoint:t.Point,CURVE:e})}function Ma(e){let{CURVE:t,curveOpts:r,ecdsaOpts:n}=yd(e),o=hd(t,r),i=pd(o,n,r);return gd(e,i)}function Va(e,t){let r=n=>Ma({...e,hash:n});return{...r(t),create:r}}var Bn={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},Py=BigInt(0),xd=BigInt(1),Ci=BigInt(2),Ha=(e,t)=>(e+t/Ci)/t;function wd(e){let t=Bn.p,r=BigInt(3),n=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),a=BigInt(44),u=BigInt(88),d=e*e*e%t,c=d*d*e%t,l=Y(c,r,t)*c%t,y=Y(l,r,t)*c%t,b=Y(y,Ci,t)*d%t,T=Y(b,o,t)*b%t,A=Y(T,i,t)*T%t,w=Y(A,a,t)*A%t,C=Y(w,u,t)*w%t,U=Y(C,a,t)*A%t,D=Y(U,r,t)*c%t,K=Y(D,s,t)*T%t,E=Y(K,n,t)*d%t,R=Y(E,Ci,t);if(!_i.eql(_i.sqr(R),e))throw new Error("Cannot find square root");return R}var _i=Pt(Bn.p,void 0,void 0,{sqrt:wd}),or=Va({...Bn,Fp:_i,lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=Bn.n,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-xd*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=r,s=BigInt("0x100000000000000000000000000000000"),a=Ha(i*e,t),u=Ha(-n*e,t),d=W(e-a*r-u*o,t),c=W(-a*n-u*i,t),l=d>s,y=c>s;if(l&&(d=t-d),y&&(c=t-c),d>s||c>s)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:d,k2neg:y,k2:c}}}},un);function qa(e,t,r,n){let o=yr.digest(r instanceof Uint8Array?r:r.subarray());if(xn(o))return o.then(({digest:i})=>(n?.signal?.throwIfAborted(),or.verify(t,i,e))).catch(i=>{throw i.name==="AbortError"?i:new Ir(String(i))});try{return n?.signal?.throwIfAborted(),or.verify(t,o.digest,e)}catch(i){throw new Ir(String(i))}}var In=class{type="secp256k1";raw;_key;constructor(t){this._key=za(t),this.raw=$a(this._key)}toMultihash(){return Nt.digest(fe(this))}toCID(){return G.createV1(114,this.toMultihash())}toString(){return z.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:J(this.raw,t.raw)}verify(t,r,n){return qa(this._key,r,t,n)}};function Di(e){return new In(e)}function $a(e){return or.ProjectivePoint.fromHex(e).toRawBytes(!0)}function za(e){try{return or.ProjectivePoint.fromHex(e),e}catch(t){throw new Oe(String(t))}}function Ga(e,t){let{Type:r,Data:n}=qt.decode(e),o=n??new Uint8Array;switch(r){case Q.RSA:return Ai(o,t);case Q.Ed25519:return ni(o);case Q.secp256k1:return Di(o);case Q.ECDSA:return Vo(o);default:throw new Ve}}function Cn(e){let{Type:t,Data:r}=qt.decode(e.digest),n=r??new Uint8Array;switch(t){case Q.Ed25519:return ni(n);case Q.secp256k1:return Di(n);case Q.ECDSA:return Vo(n);default:throw new Ve}}function fe(e){return qt.encode({Type:Q[e.type],Data:e.raw})}var Za=Symbol.for("nodejs.util.inspect.custom"),bd=114,kr=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()})`}[fo]=!0;toString(){return this.string==null&&(this.string=z.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return G.createV1(bd,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return J(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return J(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[Za](){return`PeerId(${this.toString()})`}},_n=class extends kr{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Dn=class extends kr{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},Un=class extends kr{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},Ed=2336,Kr=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Nt.digest(M(this.url))}[Za](){return`PeerId(${this.url})`}[fo]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return G.createV1(Ed,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=V(t)),t.toString()===this.toString())}};var Sd=114,ja=2336;function Rn(e,t){let r;if(e.charAt(0)==="1"||e.charAt(0)==="Q")r=Zt(z.decode(`z${e}`));else{if(e.startsWith("k51qzi5uqu5")||e.startsWith("kzwfwjn5ji4")||e.startsWith("k2k4r8")||e.startsWith("bafz"))return Ui(G.parse(e));if(t==null)throw new et('Please pass a multibase decoder for strings that do not start with "1" or "Q"');r=Zt(t.decode(e))}return Ya(r)}function Ya(e){if(vd(e))return new _n({multihash:e});if(Ad(e))try{let t=Cn(e);if(t.type==="Ed25519")return new Dn({multihash:e,publicKey:t});if(t.type==="secp256k1")return new Un({multihash:e,publicKey:t})}catch{let r=V(e.digest);return new Kr(new URL(r))}throw new Me("Supplied PeerID Multihash is invalid")}function Ui(e){if(e?.multihash==null||e.version==null||e.version===1&&e.code!==Sd&&e.code!==ja)throw new Xr("Supplied PeerID CID is invalid");if(e.code===ja){let t=V(e.multihash.digest);return new Kr(new URL(t))}return Ya(e.multihash)}function Ad(e){return e.code===Nt.code}function vd(e){return e.code===yr.code}var te="/",Wa=new TextEncoder().encode(te),Nn=Wa[0],Fr=class e{_buf;constructor(t,r){if(typeof t=="string")this._buf=M(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Nn)throw new Error("Invalid key")}toString(t="utf8"){return V(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new e(t.join(te))}static random(){return new e(Math.random().toString().substring(2))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new e(t):typeof t.uint8Array=="function"?new e(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Wa),this._buf[0]!==Nn){let t=new Uint8Array(this._buf.byteLength+1);t.fill(Nn,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Nn;)this._buf=this._buf.subarray(0,-1)}less(t){let r=this.list(),n=t.list();for(let o=0;o<r.length;o++){if(n.length<o+1)return!1;let i=r[o],s=n[o];if(i<s)return!0;if(i>s)return!1}return r.length<n.length}reverse(){return e.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(te).slice(1)}type(){return Td(this.baseNamespace())}name(){return Bd(this.baseNamespace())}instance(t){return new e(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(te)||(t+=te),t+=this.type(),new e(t)}parent(){let t=this.list();return t.length===1?new e(te):new e(t.slice(0,-1).join(te))}child(t){return this.toString()===te?t:t.toString()===te?this:new e(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return e.withNamespaces([...this.namespaces(),...Id(t.map(r=>r.namespaces()))])}};function Td(e){let t=e.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function Bd(e){let t=e.split(":");return t[t.length-1]}function Id(e){return[].concat(...e)}var cu=Wr(Ln(),1);var Pn=class extends Error{static name="SignatureCreationError";constructor(t="Record signature creation failed"){super(t),this.name="SignatureCreationError"}},Kt=class extends Error{static name="SignatureVerificationError";constructor(t="Record signature verification failed"){super(t),this.name="SignatureVerificationError"}},kn=class extends Error{static name="RecordExpiredError";constructor(t="Record has expired"){super(t),this.name="RecordExpiredError"}},Ne=class extends Error{static name="UnsupportedValidityError";constructor(t="The validity type is unsupported"){super(t),this.name="UnsupportedValidityError"}},Kn=class extends Error{static name="RecordTooLargeError";constructor(t="The record is too large"){super(t),this.name="RecordTooLargeError"}},Or=class extends Error{static name="InvalidValueError";constructor(t="Value must be a valid content path starting with /"){super(t),this.name="InvalidValueError"}},Fn=class extends Error{static name="InvalidRecordDataError";constructor(t="Invalid record data"){super(t),this.name="InvalidRecordDataError"}},Mr=class extends Error{static name="InvalidEmbeddedPublicKeyError";constructor(t="Invalid embedded public key"){super(t),this.name="InvalidEmbeddedPublicKeyError"}};var st;(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=()=>Ur(r)}(t=e.ValidityType||(e.ValidityType={}));let n;e.codec=()=>(n==null&&(n=be((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 a={},u=i==null?o.len:o.pos+i;for(;o.pos<u;){let d=o.uint32();switch(d>>>3){case 1:{a.value=o.bytes();break}case 2:{a.signatureV1=o.bytes();break}case 3:{a.validityType=e.ValidityType.codec().decode(o);break}case 4:{a.validity=o.bytes();break}case 5:{a.sequence=o.uint64();break}case 6:{a.ttl=o.uint64();break}case 7:{a.pubKey=o.bytes();break}case 8:{a.signatureV2=o.bytes();break}case 9:{a.data=o.bytes();break}default:{o.skipType(d&7);break}}}return a})),n),e.encode=o=>we(o,e.codec()),e.decode=(o,i)=>xe(o,e.codec(),i)})(st||(st={}));var Cd=["string","number","bigint","symbol"],_d=["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 Xa(e){if(e===null)return"null";if(e===void 0)return"undefined";if(e===!0||e===!1)return"boolean";let t=typeof e;if(Cd.includes(t))return t;if(t==="function")return"Function";if(Array.isArray(e))return"Array";if(Dd(e))return"Buffer";let r=Ud(e);return r||"Object"}function Dd(e){return e&&e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer.call(null,e)}function Ud(e){let t=Object.prototype.toString.call(e).slice(8,-1);if(_d.includes(t))return t}var m=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}};m.uint=new m(0,"uint",!0);m.negint=new m(1,"negint",!0);m.bytes=new m(2,"bytes",!0);m.string=new m(3,"string",!0);m.array=new m(4,"array",!1);m.map=new m(5,"map",!1);m.tag=new m(6,"tag",!1);m.float=new m(7,"float",!0);m.false=new m(7,"false",!0);m.true=new m(7,"true",!0);m.null=new m(7,"null",!0);m.undefined=new m(7,"undefined",!0);m.break=new m(7,"break",!0);var L=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 ir=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Rd=new TextDecoder,Nd=new TextEncoder;function On(e){return ir&&globalThis.Buffer.isBuffer(e)}function Ni(e){return e instanceof Uint8Array?On(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e:Uint8Array.from(e)}var ec=ir?(e,t,r)=>r-t>64?globalThis.Buffer.from(e.subarray(t,r)).toString("utf8"):Qa(e,t,r):(e,t,r)=>r-t>64?Rd.decode(e.subarray(t,r)):Qa(e,t,r),rc=ir?e=>e.length>64?globalThis.Buffer.from(e):Ja(e):e=>e.length>64?Nd.encode(e):Ja(e),$t=e=>Uint8Array.from(e),sr=ir?(e,t,r)=>On(e)?new Uint8Array(e.subarray(t,r)):e.slice(t,r):(e,t,r)=>e.slice(t,r),nc=ir?(e,t)=>(e=e.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),Ni(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},oc=ir?e=>globalThis.Buffer.allocUnsafe(e):e=>new Uint8Array(e);function ic(e,t){if(On(e)&&On(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 Ja(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 Qa(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 a,u,d,c;switch(s){case 1:o<128&&(i=o);break;case 2:a=e[t+1],(a&192)===128&&(c=(o&31)<<6|a&63,c>127&&(i=c));break;case 3:a=e[t+1],u=e[t+2],(a&192)===128&&(u&192)===128&&(c=(o&15)<<12|(a&63)<<6|u&63,c>2047&&(c<55296||c>57343)&&(i=c));break;case 4:a=e[t+1],u=e[t+2],d=e[t+3],(a&192)===128&&(u&192)===128&&(d&192)===128&&(c=(o&15)<<18|(a&63)<<12|(u&63)<<6|d&63,c>65535&&c<1114112&&(i=c))}}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 Ld(n)}var tc=4096;function Ld(e){let t=e.length;if(t<=tc)return String.fromCharCode.apply(String,e);let r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=tc));return r}var Pd=256,Vr=class{constructor(t=Pd){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=oc(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=sr(n,0,this.cursor)}else r=nc(this.chunks,this.cursor);return t&&this.reset(),r}};var F="CBOR decode error:",Li="CBOR encode error:",Hr=[];Hr[23]=1;Hr[24]=2;Hr[25]=3;Hr[26]=5;Hr[27]=9;function ee(e,t,r){if(e.length-t<r)throw new Error(`${F} not enough data for type`)}var ot=[24,256,65536,4294967296,BigInt("18446744073709551616")];function At(e,t,r){ee(e,t,1);let n=e[t];if(r.strict===!0&&n<ot[0])throw new Error(`${F} integer encoded in more bytes than necessary (strict decode)`);return n}function vt(e,t,r){ee(e,t,2);let n=e[t]<<8|e[t+1];if(r.strict===!0&&n<ot[1])throw new Error(`${F} integer encoded in more bytes than necessary (strict decode)`);return n}function Tt(e,t,r){ee(e,t,4);let n=e[t]*16777216+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];if(r.strict===!0&&n<ot[2])throw new Error(`${F} integer encoded in more bytes than necessary (strict decode)`);return n}function Bt(e,t,r){ee(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<ot[3])throw new Error(`${F} 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(`${F} integers outside of the safe integer range are not supported`)}function sc(e,t,r,n){return new L(m.uint,At(e,t+1,n),2)}function ac(e,t,r,n){return new L(m.uint,vt(e,t+1,n),3)}function cc(e,t,r,n){return new L(m.uint,Tt(e,t+1,n),5)}function uc(e,t,r,n){return new L(m.uint,Bt(e,t+1,n),9)}function _t(e,t){return at(e,0,t.value)}function at(e,t,r){if(r<ot[0]){let n=Number(r);e.push([t|n])}else if(r<ot[1]){let n=Number(r);e.push([t|24,n])}else if(r<ot[2]){let n=Number(r);e.push([t|25,n>>>8,n&255])}else if(r<ot[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<ot[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(`${F} encountered BigInt larger than allowable range`)}}_t.encodedSize=function(t){return at.encodedSize(t.value)};at.encodedSize=function(t){return t<ot[0]?1:t<ot[1]?2:t<ot[2]?3:t<ot[3]?5:9};_t.compareTokens=function(t,r){return t.value<r.value?-1:t.value>r.value?1:0};function fc(e,t,r,n){return new L(m.negint,-1-At(e,t+1,n),2)}function lc(e,t,r,n){return new L(m.negint,-1-vt(e,t+1,n),3)}function dc(e,t,r,n){return new L(m.negint,-1-Tt(e,t+1,n),5)}var Pi=BigInt(-1),hc=BigInt(1);function pc(e,t,r,n){let o=Bt(e,t+1,n);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new L(m.negint,i,9)}if(n.allowBigInt!==!0)throw new Error(`${F} integers outside of the safe integer range are not supported`);return new L(m.negint,Pi-BigInt(o),9)}function Mn(e,t){let r=t.value,n=typeof r=="bigint"?r*Pi-hc:r*-1-1;at(e,t.type.majorEncoded,n)}Mn.encodedSize=function(t){let r=t.value,n=typeof r=="bigint"?r*Pi-hc:r*-1-1;return n<ot[0]?1:n<ot[1]?2:n<ot[2]?3:n<ot[3]?5:9};Mn.compareTokens=function(t,r){return t.value<r.value?1:t.value>r.value?-1:0};function qr(e,t,r,n){ee(e,t,r+n);let o=sr(e,t+r,t+r+n);return new L(m.bytes,o,r+n)}function mc(e,t,r,n){return qr(e,t,1,r)}function yc(e,t,r,n){return qr(e,t,2,At(e,t+1,n))}function gc(e,t,r,n){return qr(e,t,3,vt(e,t+1,n))}function xc(e,t,r,n){return qr(e,t,5,Tt(e,t+1,n))}function wc(e,t,r,n){let o=Bt(e,t+1,n);if(typeof o=="bigint")throw new Error(`${F} 64-bit integer bytes lengths not supported`);return qr(e,t,9,o)}function Vn(e){return e.encodedBytes===void 0&&(e.encodedBytes=e.type===m.string?rc(e.value):e.value),e.encodedBytes}function ar(e,t){let r=Vn(t);at(e,t.type.majorEncoded,r.length),e.push(r)}ar.encodedSize=function(t){let r=Vn(t);return at.encodedSize(r.length)+r.length};ar.compareTokens=function(t,r){return Kd(Vn(t),Vn(r))};function Kd(e,t){return e.length<t.length?-1:e.length>t.length?1:ic(e,t)}function $r(e,t,r,n,o){let i=r+n;ee(e,t,i);let s=new L(m.string,ec(e,t+r,t+i),i);return o.retainStringBytes===!0&&(s.byteValue=sr(e,t+r,t+i)),s}function bc(e,t,r,n){return $r(e,t,1,r,n)}function Ec(e,t,r,n){return $r(e,t,2,At(e,t+1,n),n)}function Sc(e,t,r,n){return $r(e,t,3,vt(e,t+1,n),n)}function Ac(e,t,r,n){return $r(e,t,5,Tt(e,t+1,n),n)}function vc(e,t,r,n){let o=Bt(e,t+1,n);if(typeof o=="bigint")throw new Error(`${F} 64-bit integer string lengths not supported`);return $r(e,t,9,o,n)}var Tc=ar;function cr(e,t,r,n){return new L(m.array,n,r)}function Bc(e,t,r,n){return cr(e,t,1,r)}function Ic(e,t,r,n){return cr(e,t,2,At(e,t+1,n))}function Cc(e,t,r,n){return cr(e,t,3,vt(e,t+1,n))}function _c(e,t,r,n){return cr(e,t,5,Tt(e,t+1,n))}function Dc(e,t,r,n){let o=Bt(e,t+1,n);if(typeof o=="bigint")throw new Error(`${F} 64-bit integer array lengths not supported`);return cr(e,t,9,o)}function Uc(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${F} indefinite length items not allowed`);return cr(e,t,1,1/0)}function Hn(e,t){at(e,m.array.majorEncoded,t.value)}Hn.compareTokens=_t.compareTokens;Hn.encodedSize=function(t){return at.encodedSize(t.value)};function ur(e,t,r,n){return new L(m.map,n,r)}function Rc(e,t,r,n){return ur(e,t,1,r)}function Nc(e,t,r,n){return ur(e,t,2,At(e,t+1,n))}function Lc(e,t,r,n){return ur(e,t,3,vt(e,t+1,n))}function Pc(e,t,r,n){return ur(e,t,5,Tt(e,t+1,n))}function kc(e,t,r,n){let o=Bt(e,t+1,n);if(typeof o=="bigint")throw new Error(`${F} 64-bit integer map lengths not supported`);return ur(e,t,9,o)}function Kc(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${F} indefinite length items not allowed`);return ur(e,t,1,1/0)}function qn(e,t){at(e,m.map.majorEncoded,t.value)}qn.compareTokens=_t.compareTokens;qn.encodedSize=function(t){return at.encodedSize(t.value)};function Fc(e,t,r,n){return new L(m.tag,r,1)}function Oc(e,t,r,n){return new L(m.tag,At(e,t+1,n),2)}function Mc(e,t,r,n){return new L(m.tag,vt(e,t+1,n),3)}function Vc(e,t,r,n){return new L(m.tag,Tt(e,t+1,n),5)}function Hc(e,t,r,n){return new L(m.tag,Bt(e,t+1,n),9)}function $n(e,t){at(e,m.tag.majorEncoded,t.value)}$n.compareTokens=_t.compareTokens;$n.encodedSize=function(t){return at.encodedSize(t.value)};var qd=20,$d=21,zd=22,Gd=23;function qc(e,t,r,n){if(n.allowUndefined===!1)throw new Error(`${F} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new L(m.null,null,1):new L(m.undefined,void 0,1)}function $c(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${F} indefinite length items not allowed`);return new L(m.break,void 0,1)}function ki(e,t,r){if(r){if(r.allowNaN===!1&&Number.isNaN(e))throw new Error(`${F} NaN values are not supported`);if(r.allowInfinity===!1&&(e===1/0||e===-1/0))throw new Error(`${F} Infinity values are not supported`)}return new L(m.float,e,t)}function zc(e,t,r,n){return ki(Ki(e,t+1),3,n)}function Gc(e,t,r,n){return ki(Fi(e,t+1),5,n)}function Zc(e,t,r,n){return ki(Xc(e,t+1),9,n)}function zn(e,t,r){let n=t.value;if(n===!1)e.push([m.float.majorEncoded|qd]);else if(n===!0)e.push([m.float.majorEncoded|$d]);else if(n===null)e.push([m.float.majorEncoded|zd]);else if(n===void 0)e.push([m.float.majorEncoded|Gd]);else{let o,i=!1;(!r||r.float64!==!0)&&(Yc(n),o=Ki(Ft,1),n===o||Number.isNaN(n)?(Ft[0]=249,e.push(Ft.slice(0,3)),i=!0):(Wc(n),o=Fi(Ft,1),n===o&&(Ft[0]=250,e.push(Ft.slice(0,5)),i=!0))),i||(Zd(n),o=Xc(Ft,1),Ft[0]=251,e.push(Ft.slice(0,9)))}}zn.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){Yc(n);let o=Ki(Ft,1);if(n===o||Number.isNaN(n))return 3;if(Wc(n),o=Fi(Ft,1),n===o)return 5}return 9};var jc=new ArrayBuffer(9),Dt=new DataView(jc,1),Ft=new Uint8Array(jc,0);function Yc(e){if(e===1/0)Dt.setUint16(0,31744,!1);else if(e===-1/0)Dt.setUint16(0,64512,!1);else if(Number.isNaN(e))Dt.setUint16(0,32256,!1);else{Dt.setFloat32(0,e);let t=Dt.getUint32(0),r=(t&2139095040)>>23,n=t&8388607;if(r===255)Dt.setUint16(0,31744,!1);else if(r===0)Dt.setUint16(0,(e&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?Dt.setUint16(0,0):o<-14?Dt.setUint16(0,(t&2147483648)>>16|1<<24+o,!1):Dt.setUint16(0,(t&2147483648)>>16|o+15<<10|n>>13,!1)}}}function Ki(e,t){if(e.length-t<2)throw new Error(`${F} 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 Wc(e){Dt.setFloat32(0,e,!1)}function Fi(e,t){if(e.length-t<4)throw new Error(`${F} not enough data for float32`);let r=(e.byteOffset||0)+t;return new DataView(e.buffer,r,4).getFloat32(0,!1)}function Zd(e){Dt.setFloat64(0,e,!1)}function Xc(e,t){if(e.length-t<8)throw new Error(`${F} not enough data for float64`);let r=(e.byteOffset||0)+t;return new DataView(e.buffer,r,8).getFloat64(0,!1)}zn.compareTokens=_t.compareTokens;function H(e,t,r){throw new Error(`${F} encountered invalid minor (${r}) for major ${e[t]>>>5}`)}function Gn(e){return()=>{throw new Error(`${F} ${e}`)}}var _=[];for(let e=0;e<=23;e++)_[e]=H;_[24]=sc;_[25]=ac;_[26]=cc;_[27]=uc;_[28]=H;_[29]=H;_[30]=H;_[31]=H;for(let e=32;e<=55;e++)_[e]=H;_[56]=fc;_[57]=lc;_[58]=dc;_[59]=pc;_[60]=H;_[61]=H;_[62]=H;_[63]=H;for(let e=64;e<=87;e++)_[e]=mc;_[88]=yc;_[89]=gc;_[90]=xc;_[91]=wc;_[92]=H;_[93]=H;_[94]=H;_[95]=Gn("indefinite length bytes/strings are not supported");for(let e=96;e<=119;e++)_[e]=bc;_[120]=Ec;_[121]=Sc;_[122]=Ac;_[123]=vc;_[124]=H;_[125]=H;_[126]=H;_[127]=Gn("indefinite length bytes/strings are not supported");for(let e=128;e<=151;e++)_[e]=Bc;_[152]=Ic;_[153]=Cc;_[154]=_c;_[155]=Dc;_[156]=H;_[157]=H;_[158]=H;_[159]=Uc;for(let e=160;e<=183;e++)_[e]=Rc;_[184]=Nc;_[185]=Lc;_[186]=Pc;_[187]=kc;_[188]=H;_[189]=H;_[190]=H;_[191]=Kc;for(let e=192;e<=215;e++)_[e]=Fc;_[216]=Oc;_[217]=Mc;_[218]=Vc;_[219]=Hc;_[220]=H;_[221]=H;_[222]=H;_[223]=H;for(let e=224;e<=243;e++)_[e]=Gn("simple values are not supported");_[244]=H;_[245]=H;_[246]=H;_[247]=qc;_[248]=Gn("simple values are not supported");_[249]=zc;_[250]=Gc;_[251]=Zc;_[252]=H;_[253]=H;_[254]=H;_[255]=$c;var Ot=[];for(let e=0;e<24;e++)Ot[e]=new L(m.uint,e,1);for(let e=-1;e>=-24;e--)Ot[31-e]=new L(m.negint,e,1);Ot[64]=new L(m.bytes,new Uint8Array(0),1);Ot[96]=new L(m.string,"",1);Ot[128]=new L(m.array,0,1);Ot[160]=new L(m.map,0,1);Ot[244]=new L(m.false,!1,1);Ot[245]=new L(m.true,!0,1);Ot[246]=new L(m.null,null,1);function Jc(e){switch(e.type){case m.false:return $t([244]);case m.true:return $t([245]);case m.null:return $t([246]);case m.bytes:return e.value.length?void 0:$t([64]);case m.string:return e.value===""?$t([96]):void 0;case m.array:return e.value===0?$t([128]):void 0;case m.map:return e.value===0?$t([160]):void 0;case m.uint:return e.value<24?$t([Number(e.value)]):void 0;case m.negint:if(e.value>=-24)return $t([31-Number(e.value)])}}var Yd={float64:!1,mapSorter:Jd,quickEncodeToken:Jc};function Wd(){let e=[];return e[m.uint.major]=_t,e[m.negint.major]=Mn,e[m.bytes.major]=ar,e[m.string.major]=Tc,e[m.array.major]=Hn,e[m.map.major]=qn,e[m.tag.major]=$n,e[m.float.major]=zn,e}var Qc=Wd(),Oi=new Vr,jn=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(`${Li} object contains circular references`);return new e(r,t)}},Ee={null:new L(m.null,null),undefined:new L(m.undefined,void 0),true:new L(m.true,!0),false:new L(m.false,!1),emptyArray:new L(m.array,0),emptyMap:new L(m.map,0)},Se={number(e,t,r,n){return!Number.isInteger(e)||!Number.isSafeInteger(e)?new L(m.float,e):e>=0?new L(m.uint,e):new L(m.negint,e)},bigint(e,t,r,n){return e>=BigInt(0)?new L(m.uint,e):new L(m.negint,e)},Uint8Array(e,t,r,n){return new L(m.bytes,e)},string(e,t,r,n){return new L(m.string,e)},boolean(e,t,r,n){return e?Ee.true:Ee.false},null(e,t,r,n){return Ee.null},undefined(e,t,r,n){return Ee.undefined},ArrayBuffer(e,t,r,n){return new L(m.bytes,new Uint8Array(e))},DataView(e,t,r,n){return new L(m.bytes,new Uint8Array(e.buffer,e.byteOffset,e.byteLength))},Array(e,t,r,n){if(!e.length)return r.addBreakTokens===!0?[Ee.emptyArray,new L(m.break)]:Ee.emptyArray;n=jn.createCheck(n,e);let o=[],i=0;for(let s of e)o[i++]=Zn(s,r,n);return r.addBreakTokens?[new L(m.array,e.length),o,new L(m.break)]:[new L(m.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?[Ee.emptyMap,new L(m.break)]:Ee.emptyMap;n=jn.createCheck(n,e);let a=[],u=0;for(let d of i)a[u++]=[Zn(d,r,n),Zn(o?e.get(d):e[d],r,n)];return Xd(a,r),r.addBreakTokens?[new L(m.map,s),a,new L(m.break)]:[new L(m.map,s),a]}};Se.Map=Se.Object;Se.Buffer=Se.Uint8Array;for(let e of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Se[`${e}Array`]=Se.DataView;function Zn(e,t={},r){let n=Xa(e),o=t&&t.typeEncoders&&t.typeEncoders[n]||Se[n];if(typeof o=="function"){let s=o(e,n,t,r);if(s!=null)return s}let i=Se[n];if(!i)throw new Error(`${Li} unsupported type: ${n}`);return i(e,n,t,r)}function Xd(e,t){t.mapSorter&&e.sort(t.mapSorter)}function Jd(e,t){let r=Array.isArray(e[0])?e[0][0]:e[0],n=Array.isArray(t[0])?t[0][0]:t[0];if(r.type!==n.type)return r.type.compare(n.type);let o=r.type.major,i=Qc[o].compareTokens(r,n);return i===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),i}function tu(e,t,r,n){if(Array.isArray(t))for(let o of t)tu(e,o,r,n);else r[t.type.major](e,t,n)}function Qd(e,t,r){let n=Zn(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),a=new Vr(s);if(i(a,n,r),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return Ni(a.chunks[0])}}return Oi.reset(),tu(Oi,n,t,r),Oi.toBytes(!0)}function Mi(e,t){return t=Object.assign({},Yd,t),Qd(e,Qc,t)}var th={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},Yn=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=Ot[t];if(r===void 0){let n=_[t];if(!n)throw new Error(`${F} 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}},zr=Symbol.for("DONE"),Wn=Symbol.for("BREAK");function eh(e,t,r){let n=[];for(let o=0;o<e.value;o++){let i=fr(t,r);if(i===Wn){if(e.value===1/0)break;throw new Error(`${F} got unexpected break to lengthed array`)}if(i===zr)throw new Error(`${F} found array but not enough entries (got ${o}, expected ${e.value})`);n[o]=i}return n}function rh(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 a=fr(t,r);if(a===Wn){if(e.value===1/0)break;throw new Error(`${F} got unexpected break to lengthed map`)}if(a===zr)throw new Error(`${F} found map but not enough entries (got ${s} [no key], expected ${e.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${F} non-string keys not supported (got ${typeof a})`);if(r.rejectDuplicateMapKeys===!0&&(n&&i.has(a)||!n&&a in o))throw new Error(`${F} found repeat map key "${a}"`);let u=fr(t,r);if(u===zr)throw new Error(`${F} found map but not enough entries (got ${s} [no value], expected ${e.value})`);n?i.set(a,u):o[a]=u}return n?i:o}function fr(e,t){if(e.done())return zr;let r=e.next();if(r.type===m.break)return Wn;if(r.type.terminal)return r.value;if(r.type===m.array)return eh(r,e,t);if(r.type===m.map)return rh(r,e,t);if(r.type===m.tag){if(t.tags&&typeof t.tags[r.value]=="function"){let n=fr(e,t);return t.tags[r.value](n)}throw new Error(`${F} tag not supported (${r.value})`)}throw new Error("unsupported")}function eu(e,t){if(!(e instanceof Uint8Array))throw new Error(`${F} data to decode must be a Uint8Array`);t=Object.assign({},th,t);let r=t.tokenizer||new Yn(e,t),n=fr(r,t);if(n===zr)throw new Error(`${F} did not find any content to decode`);if(n===Wn)throw new Error(`${F} got unexpected break`);return[n,e.subarray(r.pos())]}function Vi(e,t){let[r,n]=eu(e,t);if(n.length>0)throw new Error(`${F} too many terminals, data makes no sense`);return r}var oh=se("ipns:utils"),ru=M("/ipns/"),ih=114,sh=0,ah=18;function Gr(e){let t;if(e.pubKey!=null)try{t=Ga(e.pubKey)}catch(r){throw oh.error(r),r}if(t!=null)return t}function nu(e,t,r){let n=M(t);return ce([e,r,n])}function Jn(e){let t=M("ipns-signature:");return ce([t,e])}function Qn(e){return"signatureV1"in e?st.encode({value:M(e.value),signatureV1:e.signatureV1,validityType:e.validityType,validity:M(e.validity),sequence:e.sequence,ttl:e.ttl,pubKey:e.pubKey,signatureV2:e.signatureV2,data:e.data}):st.encode({pubKey:e.pubKey,signatureV2:e.signatureV2,data:e.data})}function zt(e){let t=st.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 Kt("Missing data or signatureV2");let r=su(t.data),n=ch(r.Value),o=V(r.Validity);if(t.value!=null&&t.signatureV1!=null)return uh(t),{value:n,validityType:st.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:st.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 Pe(e){return ce([ru,e.bytes])}function ou(e){let t=Zt(e.slice(ru.length));if(!Xn(t,sh)&&!Xn(t,ah))throw new Me("Multihash in IPNS key was not identity or sha2-256");return t}function iu(e,t,r,n,o){let i;if(t===st.ValidityType.EOL)i=0;else throw new Ne("The validity type is unsupported");return Mi({Value:e,Validity:r,ValidityType:i,Sequence:n,TTL:o})}function su(e){let t=Vi(e);if(t.ValidityType===0)t.ValidityType=st.ValidityType.EOL;else throw new Ne("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 ch(e){let t=V(e).trim();if(t.startsWith("/"))return t;try{return`/ipfs/${G.decode(e).toV1().toString()}`}catch{}try{return`/ipfs/${G.parse(t).toV1().toString()}`}catch{}throw new Or("Value must be a valid content path starting with /")}function au(e){if(e!=null){let t=dh(e);if(t!=null)return t.code===ih?`/ipns/${t.toString(Ut)}`:`/ipfs/${t.toV1().toString()}`;if(fh(e))return`/ipns/${Ut.encode(e.bytes)}`;let r=e.toString().trim();if(r.startsWith("/")&&r.length>1)return r}throw new Or("Value must be a valid content path starting with /")}function uh(e){if(e.data==null)throw new Fn("Record data is missing");let t=su(e.data);if(!J(t.Value,e.value??new Uint8Array(0)))throw new Kt('Field "value" did not match between protobuf and CBOR');if(!J(t.Validity,e.validity??new Uint8Array(0)))throw new Kt('Field "validity" did not match between protobuf and CBOR');if(t.ValidityType!==e.validityType)throw new Kt('Field "validityType" did not match between protobuf and CBOR');if(t.Sequence!==e.sequence)throw new Kt('Field "sequence" did not match between protobuf and CBOR');if(t.TTL!==e.ttl)throw new Kt('Field "ttl" did not match between protobuf and CBOR')}function fh(e){return e.bytes instanceof Uint8Array}function lh(e){return typeof e?.toCID=="function"}function dh(e){if(lh(e))return e.toCID();try{return G.parse(e)}catch{}return G.asCID(e)}function Xn(e,t){return e.code===t}var hh=se("ipns"),uu=5*60*1e9,ph="/ipns/",aw=ph.length,fu={v1Compatible:!0,ttlNs:uu};async function lu(e,t,r,n,o=fu){let i=new cu.default(Date.now()+Number(n)),s=st.ValidityType.EOL,a=BigInt(o.ttlNs??uu);return mh(e,t,r,s,i.toString(),a,o)}var mh=async(e,t,r,n,o,i,s=fu)=>{r=BigInt(r);let a=M(o),u=au(t),d=M(u),c=iu(d,n,a,r,i),l=Jn(c),y=await e.sign(l),b;if(e.type==="RSA"&&(b=fe(e.publicKey)),s.v1Compatible===!0){let T=await yh(e,d,n,a),A={value:u,signatureV1:T,validity:o,validityType:n,sequence:r,ttl:i,signatureV2:y,data:c};return b!=null&&(A.pubKey=b),A}else{let T={value:u,validity:o,validityType:n,sequence:r,ttl:i,signatureV2:y,data:c};return b!=null&&(T.pubKey=b),T}},yh=async(e,t,r,n)=>{try{let o=nu(t,r,n);return await e.sign(o)}catch(o){throw hh.error("record signature creation failed",o),new Pn("Record signature creation failed")}};var Hi=Wr(Ln(),1);function to(e,t){let r=t.map((n,o)=>({record:zt(n),index:o}));return r.sort((n,o)=>{let i=n.record.sequence,s=o.record.sequence;if(i>s)return-1;if(i<s)return 1;if(n.record.validityType===st.ValidityType.EOL&&o.record.validityType===st.ValidityType.EOL){let a=Hi.default.fromString(n.record.validity).toDate(),u=Hi.default.fromString(o.record.validity).toDate();if(a.getTime()>u.getTime())return-1;if(a.getTime()<u.getTime())return 1}return 0}),r[0].index}var du=Wr(Ln(),1);var eo=se("ipns:validator"),gh=1024*10,xh=async(e,t)=>{let r=zt(t),n;try{let o=Jn(r.data);n=await e.verify(o,r.signatureV2)}catch{n=!1}if(!n)throw eo.error("record signature verification failed"),new Kt("Record signature verification failed");if(r.validityType===st.ValidityType.EOL){if(du.default.fromString(r.validity).toDate().getTime()<Date.now())throw eo.error("record has expired"),new kn("record has expired")}else if(r.validityType!=null)throw eo.error("the validity type is unsupported"),new Ne("The validity type is unsupported");eo("ipns record for %s is valid",r.value)};async function Zr(e,t){if(t.byteLength>gh)throw new Kn("The record is too large");let r=ou(e),n;Xn(r,0)&&(n=Cn(r));let o=zt(t),i=Gr(o)??n;if(i==null)throw new Mr("Could not extract public key from IPNS record or routing key");let s=Pe(i.toMultihash());if(!J(s,e))throw new Mr("Embedded public key did not match routing key");await xh(i,t)}var lt=class extends Event{type;detail;constructor(t,r){super(t),this.type=t,this.detail=r}};var Eh=Wr(pu(),1);var re;(function(e){e[e.A=1]="A",e[e.CNAME=5]="CNAME",e[e.TXT=16]="TXT",e[e.AAAA=28]="AAAA"})(re||(re={}));var ro=class extends Error{static name="DNSLinkNotFoundError";constructor(t="DNSLink not found"){super(t),this.name="DNSLinkNotFoundError"}},no=class extends Error{static name="RecordsFailedValidationError";constructor(t="Records failed validation"){super(t),this.name="RecordsFailedValidationError"}},oo=class extends Error{static name="UnsupportedMultibasePrefixError";constructor(t="Unsupported multibase prefix"){super(t),this.name="UnsupportedMultibasePrefixError"}},io=class extends Error{static name="UnsupportedMultihashCodecError";constructor(t="Unsupported multihash codec"){super(t),this.name="UnsupportedMultihashCodecError"}},so=class extends Error{static name="InvalidValueError";constructor(t="Invalid value"){super(t),this.name="InvalidValueError"}};var Sh=32;async function mu(e,t,r,n,o={}){if(t===0)throw new Error("recursion limit exceeded");n("query %s for TXT and CNAME records",e);let s=((await r.query(e,{...o,types:[re.TXT]}))?.Answer??[]).sort((d,c)=>d.data.localeCompare(c.data));n("found %d TXT records for %s",s.length,e);for(let d of s)try{let c=d.data;if(c.startsWith('"')&&c.endsWith('"')&&(c=c.substring(1,c.length-1)),!c.startsWith("dnslink="))continue;n("%s TXT %s",d.name,c),c=c.replace("dnslink=","");let[,l,y,...b]=c.split("/");if(l==="ipfs")try{return{value:`/ipfs/${G.parse(y)}${b.length>0?`/${b.join("/")}`:""}`,answer:d}}catch{}else if(l==="ipns"){try{let T;return y.charAt(0)==="1"||y.charAt(0)==="Q"?T=Rn(y):T=Ui(G.parse(y)),{value:`/ipns/${T}${b.length>0?`/${b.join("/")}`:""}`,answer:d}}catch{}return await ao(y,t-1,r,n,o)}else{if(l==="dnslink")return await ao(y,t-1,r,n,o);n('unknown protocol "%s" in DNSLink record for domain: %s',l,e);continue}}catch(c){n.error("could not parse DNS link record for domain %s, %s",e,d.data,c)}n("no DNSLink records found for %s, falling back to CNAME",e);let u=((await r.query(e,{...o,types:[re.CNAME]}))?.Answer??[]).sort((d,c)=>d.data.localeCompare(c.data));n("found %d CNAME records for %s",u.length,e);for(let d of u)try{return await ao(d.data,t-1,r,n,o)}catch(c){n.error("domain %s cname %s had no DNSLink records",e,d.data,c)}throw new ro(`No DNSLink records found for domain: ${e}`)}async function ao(e,t,r,n,o={}){if(t===0)throw new Error("recursion limit exceeded");e.startsWith("_dnslink.")||(e=`_dnslink.${e}`);try{return await mu(e,t,r,n,o)}catch(i){if(i.code!=="ENOTFOUND"&&i.code!=="ENODATA"&&i.name!=="DNSLinkNotFoundError"&&i.name!=="NotFoundError")throw i;return e.startsWith("_dnslink.")?e=e.replace("_dnslink.",""):e=`_dnslink.${e}`,mu(e,t,r,n,o)}}async function yu(e,t,r,n={}){return ao(e,n.maxRecursiveDepth??Sh,t,r,n)}var qi=class{routing;constructor(t){this.routing=t}async put(t,r,n={}){try{await this.routing.put(t,r,n)}catch(o){throw n.onProgress?.(new lt("ipns:routing:helia:error",o)),o}}async get(t,r={}){try{return await this.routing.get(t,r)}catch(n){throw r.onProgress?.(new lt("ipns:routing:helia:error",n)),n}}};function gu(e){return new qi(e)}var jr;(function(e){let t;e.codec=()=>(t==null&&(t=be((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.key!=null&&r.key.byteLength>0&&(n.uint32(10),n.bytes(r.key)),r.value!=null&&r.value.byteLength>0&&(n.uint32(18),n.bytes(r.value)),r.timeReceived!=null&&r.timeReceived!==""&&(n.uint32(42),n.string(r.timeReceived)),o.lengthDelimited!==!1&&n.ldelim()},(r,n,o={})=>{let i={key:It(0),value:It(0),timeReceived:""},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let a=r.uint32();switch(a>>>3){case 1:{i.key=r.bytes();break}case 2:{i.value=r.bytes();break}case 5:{i.timeReceived=r.string();break}default:{r.skipType(a&7);break}}}return i})),t),e.encode=r=>we(r,e.codec()),e.decode=(r,n)=>xe(r,e.codec(),n)})(jr||(jr={}));function xu(e){let t=e.getUTCFullYear(),r=String(e.getUTCMonth()+1).padStart(2,"0"),n=String(e.getUTCDate()).padStart(2,"0"),o=String(e.getUTCHours()).padStart(2,"0"),i=String(e.getUTCMinutes()).padStart(2,"0"),s=String(e.getUTCSeconds()).padStart(2,"0"),a=e.getUTCMilliseconds(),u=String(a*1e3*1e3).padStart(9,"0");return`${t}-${r}-${n}T${o}:${i}:${s}.${u}Z`}function wu(e){let t=new RegExp("(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d+)Z"),r=String(e).trim().match(t);if(r==null)throw new Error("Invalid format");let n=parseInt(r[1],10),o=parseInt(r[2],10)-1,i=parseInt(r[3],10),s=parseInt(r[4],10),a=parseInt(r[5],10),u=parseInt(r[6],10),d=parseInt(r[7].slice(0,-6),10);return new Date(Date.UTC(n,o,i,s,a,u,d))}var ke=class e{key;value;timeReceived;constructor(t,r,n){if(!(t instanceof Uint8Array))throw new Error("key must be a Uint8Array");if(!(r instanceof Uint8Array))throw new Error("value must be a Uint8Array");this.key=t,this.value=r,this.timeReceived=n}serialize(){return jr.encode(this.prepareSerialize())}prepareSerialize(){return{key:this.key,value:this.value,timeReceived:xu(this.timeReceived)}}static deserialize(t){let r=jr.decode(t);return new e(r.key,r.value,new Date(r.timeReceived))}static fromDeserialized(t){let r=wu(t.timeReceived);if(t.key==null)throw new Error("key missing from deserialized object");if(t.value==null)throw new Error("value missing from deserialized object");return new e(t.key,t.value,r)}};var bu;(function(e){e[e.SEND_QUERY=0]="SEND_QUERY",e[e.PEER_RESPONSE=1]="PEER_RESPONSE",e[e.FINAL_PEER=2]="FINAL_PEER",e[e.QUERY_ERROR=3]="QUERY_ERROR",e[e.PROVIDER=4]="PROVIDER",e[e.VALUE=5]="VALUE",e[e.ADD_PEER=6]="ADD_PEER",e[e.DIAL_PEER=7]="DIAL_PEER",e[e.PATH_ENDED=8]="PATH_ENDED"})(bu||(bu={}));function co(e){return new Fr("/dht/record/"+V(e,"base32"),!1)}function Eu(e){return{async put(t,r,n={}){try{let o=co(t);try{let s=await e.get(o),a=ke.deserialize(s);if(J(a.value,r))return}catch(s){if(s.name!=="NotFoundError")throw s}let i=new ke(t,r,new Date);n.onProgress?.(new lt("ipns:routing:datastore:put")),await e.put(o,i.serialize(),n)}catch(o){throw n.onProgress?.(new lt("ipns:routing:datastore:error",o)),o}},async get(t,r={}){try{let n=co(t);r.onProgress?.(new lt("ipns:routing:datastore:get"));let o=await e.get(n,r),i=ke.deserialize(o);return{record:i.value,created:i.timeReceived}}catch(n){throw r.onProgress?.(new lt("ipns:routing:datastore:error",n)),n}},async has(t,r={}){let n=co(t);return e.has(n,r)},async delete(t,r){let n=co(t);return e.delete(n,r)}}}var $i="/ipns/";function zi(e,t){return e.code===t}var ne=se("helia:ipns"),vu=60*1e3,Tu=60*vu,Bh=48*Tu,Gi=23*Tu,Su=BigInt(vu)*5000000n,Au={[Ut.prefix]:Ut,[z.prefix]:z},Zi=class{routers;localStore;timeout;dns;log;constructor(t,r=[]){this.routers=[gu(t.routing),...r],this.localStore=Eu(t.datastore),this.dns=t.dns,this.log=t.logger.forComponent("helia:ipns")}async publish(t,r,n={}){try{let o=1n,i=Pe(t.publicKey.toMultihash());if(await this.localStore.has(i,n)){let{record:d}=await this.localStore.get(i,n);o=zt(d).sequence+1n}let s=n.ttl!=null?BigInt(n.ttl)*1000000n:Su,a=await lu(t,r,o,n.lifetime??Bh,{...n,ttlNs:s}),u=Qn(a);return await this.localStore.put(i,u,n),n.offline!==!0&&await Promise.all(this.routers.map(async d=>{await d.put(i,u,n)})),a}catch(o){throw n.onProgress?.(new lt("ipns:publish:error",o)),o}}async resolve(t,r={}){let n=Wi(t)?t.toMultihash():t,o=Pe(n),i=await this.#e(o,r);return{...await this.#t(i.value,r),record:i}}async resolveDNSLink(t,r={}){let n=await yu(t,this.dns,this.log,r);return{...await this.#t(n.value,r),answer:n.answer}}republish(t={}){if(this.timeout!=null)throw new Error("Republish is already running");t.signal?.addEventListener("abort",()=>{clearTimeout(this.timeout)});async function r(){let n=Date.now();t.onProgress?.(new lt("ipns:republish:start"));let i=Date.now()-n,s=Gi-i;s<0&&(s=t.interval??Gi),setTimeout(()=>{r().catch(a=>{ne.error("error republishing",a)})},s)}this.timeout=setTimeout(()=>{r().catch(n=>{ne.error("error republishing",n)})},t.interval??Gi)}async#t(t,r={}){let n=t.split("/");try{let o=n[1];if(o==="ipns"){let i=n[2],s=i.substring(0,1),a;if(s==="1"||s==="Q")a=z.decode(`z${i}`);else if(Au[s]!=null)a=Au[s].decode(i);else throw new oo(`Unsupported multibase prefix "${s}"`);let u;try{u=Zt(a)}catch{u=G.decode(a).multihash}if(!zi(u,0)&&!zi(u,18))throw new io(`Unsupported multihash codec "${u.code}"`);let{cid:d}=await this.resolve(u,r),c=n.slice(3).join("/");return{cid:d,path:c}}else if(o==="ipfs"){let i=G.parse(n[2]),s=n.slice(3).join("/");return{cid:i,path:s}}}catch(o){ne.error("error parsing ipfs path",o)}throw ne.error("invalid ipfs path %s",t),new so("Invalid value")}async#e(t,r={}){let n=[];if(await this.localStore.has(t,r))if(ne("record is present in the cache"),r.nocache!==!0)try{let{record:a,created:u}=await this.localStore.get(t,r);this.log("record retrieved from cache"),await Zr(t,a),this.log("record was valid");let d=zt(a),c=Number((d.ttl??Su)/1000000n);if(u.getTime()+c>Date.now())return this.log("record TTL was valid"),d;if(r.offline===!0)return this.log("record TTL has been reached but we are resolving offline-only, returning record"),d;this.log("record TTL has been reached, searching routing for updates"),n.push(a)}catch(a){this.log("cached record was invalid",a),await this.localStore.delete(t,r)}else ne("ignoring local cache due to nocache=true option");if(r.offline===!0)throw new dr("Record was not present in the cache or has expired");ne("did not have record locally");let i=0;if(await Promise.all(this.routers.map(async a=>{let u;try{u=await a.get(t,{...r,validate:!1})}catch(d){ne.error("error finding IPNS record",d);return}try{await Zr(t,u),n.push(u)}catch(d){i++,ne.error("error finding IPNS record",d)}})),n.length===0)throw i>0?new no(`${i>1?`${i} records`:"Record"} found for routing key ${i>1?"were":"was"} invalid`):new dr("Could not find record for routing key");let s=n[to(t,n)];return await this.localStore.put(t,s,r),zt(s)}async republishRecord(t,r,n={}){let o;try{if(o=Gr(r)?.toMultihash(),o==null)if(typeof t=="string"){t.startsWith($i)&&(t=t.slice($i.length));try{o=Rn(t).toMultihash()}catch(a){throw new Error(`Invalid string key: ${a.message}`)}}else o=t;if(o==null)throw new Error("No public key multihash found to determine the routing key");let i=Pe(o),s=Qn(r);await Zr(i,s),await this.localStore.put(i,s,n),n.offline!==!0&&await Promise.all(this.routers.map(async a=>{await a.put(i,s,n)}))}catch(i){throw n.onProgress?.(new lt("ipns:republish:error",{key:o,record:r,err:i})),i}}};function Ih(e,{routers:t=[]}={}){return new Zi(e,t)}return Uu(Ch);})();
|
|
2
|
+
"use strict";var HeliaIpns=(()=>{var zu=Object.create;var un=Object.defineProperty;var Zu=Object.getOwnPropertyDescriptor;var Gu=Object.getOwnPropertyNames;var Yu=Object.getPrototypeOf,ju=Object.prototype.hasOwnProperty;var hs=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),yt=(e,t)=>{for(var r in t)un(e,r,{get:t[r],enumerable:!0})},ps=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Gu(t))!ju.call(e,o)&&o!==r&&un(e,o,{get:()=>t[o],enumerable:!(n=Zu(t,o))||n.enumerable});return e};var fn=(e,t,r)=>(r=e!=null?zu(Yu(e)):{},ps(t||!e||!e.__esModule?un(r,"default",{value:e,enumerable:!0}):r,e)),Xu=e=>ps(un({},"__esModule",{value:!0}),e);var $n=hs((fx,ji)=>{var ux=function(){typeof ji<"u"&&(ji.exports=x);var e=86400,t=3200,r=146097*t/400,n=e*r,o=1e3*n,i=864e13,s=4294967296,a=1e6,c="000000000",l=Math.trunc||function(B){var v=B-B%1;return v==0&&(B<0||B===0&&1/B!=1/0)?-0:v},u=x.prototype,d=(x.fromDate=function(B){return new x(+B)},x.fromInt64BE=k(0,1,2,3,0,4),x.fromInt64LE=k(3,2,1,0,4,0),x.fromString=function(h){var v,m=new x,h=(h+="").replace(/^\s*[+\-]?\d+/,function(A){var A=+A,L=1970+(A-1970)%400;return m.year=A-L,L}).replace(/(?:Z|([+\-]\d{2}):?(\d{2}))$/,function(y,A,L){return A<0&&(L*=-1),v=6e4*(60*+A+ +L),""}).replace(/\.\d+$/,function(y){return m.nano=+(y+c).substr(1,9),""}).split(/\D+/);if(1<h.length?h[1]--:h[1]=0,m.time=v=Date.UTC.apply(Date,h)-(v||0),isNaN(v))throw new TypeError("Invalid Date");return w(m)},x.fromTimeT=function(B){return R(B,0)},u.year=0,u.time=0,u.nano=0,u.addNano=function(B){return this.nano+=+B||0,this},u.getNano=function(){var B=w(this);return(B.time%1e3*a+ +B.nano+1e9)%1e9},u.getTimeT=function(){var v=w(this),B=Math.floor(v.time/1e3),v=v.year;return v&&(B+=v*r*e/t),B},u.getYear=function(){return this.toDate().getUTCFullYear()+this.year},u.toDate=function(){return T(w(this).time)},u.toJSON=function(){return this.toString().replace(/0{1,6}Z$/,"Z")},u.toString=function(B){var v=this,m=v.toDate(),h={H:function(){return _(m.getUTCHours())},L:function(){return K(m.getUTCMilliseconds(),3)},M:function(){return _(m.getUTCMinutes())},N:function(){return K(v.getNano(),9)},S:function(){return _(m.getUTCSeconds())},Y:function(){var y=v.getYear();return 999999<y?"+"+y:9999<y?"+"+K(y,6):0<=y?K(y,4):-999999<=y?"-"+K(-y,6):y},a:function(){return p[m.getUTCDay()]},b:function(){return f[m.getUTCMonth()]},d:function(){return _(m.getUTCDate())},e:function(){return function(y){return(9<y?"":" ")+(0|y)}(m.getUTCDate())},m:function(){return _(m.getUTCMonth()+1)}};return function y(A){return A.replace(/%./g,function(L){var g=L[1],U=E[g],g=h[g];return U?y(U):g?g():L})}(B||d)},u.writeInt64BE=D(0,1,2,3,0,4),u.writeInt64LE=D(3,2,1,0,4,0),"%Y-%m-%dT%H:%M:%S.%NZ"),f=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],p=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],E={"%":"%",F:"%Y-%m-%d",n:`
|
|
3
|
+
`,R:"%H:%M",T:"%H:%M:%S",t:" ",X:"%T",Z:"GMT",z:"+0000"};return x;function x(B,v,m){var h=this;if(!(h instanceof x))return new x(B,v,m);h.time=+B||0,h.nano=+v||0,h.year=+m||0,w(h)}function w(B){var v,m,h,y=B.year,A=B.time,L=B.nano,U=((L<0||a<=L)&&(L-=(m=Math.floor(L/a))*a,A+=m,m=1),y%t);return(A<-i||i<A||U)&&((v=l(A/o))&&(y+=v*t,A-=v*o),(h=T(A)).setUTCFullYear(U+h.getUTCFullYear()),h=(A=+h)+(v=l((y-=U)/t))*o,v&&-i<=h&&h<=i&&(y-=v*t,A=h),m=1),m&&(B.year=y,B.time=A,B.nano=L),B}function T(B){var v=new Date(0);return v.setTime(B),v}function R(y,h){y=+y||0;var m=l((h=(h|0)*s)/n)+l(y/n),h=h%n+y%n,y=l(h/n);return y&&(m+=y,h-=y*n),new x(1e3*h,0,m*t)}function D(B,v,m,h,y,A){return function(U,g){var I=w(this);U=U||new Array(8),O(U,g|=0);var N=Math.floor(I.time/1e3),I=I.year*(r*e/t),S=l(I/s)+l(N/s),I=I%s+N%s,N=Math.floor(I/s);return N&&(S+=N,I-=N*s),L(U,g+y,S),L(U,g+A,I),U};function L(U,g,S){U[g+B]=S>>24&255,U[g+v]=S>>16&255,U[g+m]=S>>8&255,U[g+h]=255&S}}function k(B,v,m,h,y,A){return function(U,g){O(U,g|=0);var S=L(U,g+y);return R(L(U,g+A),S)};function L(U,g){return 16777216*U[g+B]+(U[g+v]<<16|U[g+m]<<8|U[g+h])}}function O(B,v){if(B=B&&B.length,B==null)throw new TypeError("Invalid Buffer");if(B<v+8)throw new RangeError("Out of range")}function _(B){return(9<B?"":"0")+(0|B)}function K(B,v){return(c+(0|B)).substr(-v)}}()});var Ru=hs((ib,Uu)=>{Uu.exports=function(e){if(!e)throw Error("hashlru must have a max value, of type number, greater than 0");var t=0,r=Object.create(null),n=Object.create(null);function o(i,s){r[i]=s,t++,t>=e&&(t=0,n=r,r=Object.create(null))}return{has:function(i){return r[i]!==void 0||n[i]!==void 0},remove:function(i){r[i]!==void 0&&(r[i]=void 0),n[i]!==void 0&&(n[i]=void 0)},get:function(i){var s=r[i];if(s!==void 0)return s;if((s=n[i])!==void 0)return o(i,s),s},set:function(i,s){r[i]!==void 0?r[i]=s:o(i,s)},clear:function(){r=Object.create(null),n=Object.create(null)}}}});var Jh={};yt(Jh,{ipns:()=>Wh,ipnsSelector:()=>fo,ipnsValidator:()=>sn});function ms(e){return e==null?!1:(e.type==="RSA"||e.type==="Ed25519"||e.type==="secp256k1"||e.type==="ECDSA")&&e.raw instanceof Uint8Array&&typeof e.equals=="function"&&typeof e.toMultihash=="function"&&typeof e.toCID=="function"&&typeof e.verify=="function"}var Eo=Symbol.for("@libp2p/peer-id");var ot=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},We=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var Br=class extends Error{static name="NotFoundError";constructor(t="Not found"){super(t),this.name="NotFoundError"}};var ln=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 Qe=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var To={};yt(To,{base32:()=>ye,base32hex:()=>af,base32hexpad:()=>uf,base32hexpadupper:()=>ff,base32hexupper:()=>cf,base32pad:()=>of,base32padupper:()=>sf,base32upper:()=>nf,base32z:()=>lf});var np=new Uint8Array(0);function ys(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 jt(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 xs(e){return new TextDecoder().decode(e)}function Wu(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 a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function d(E){if(E instanceof Uint8Array||(ArrayBuffer.isView(E)?E=new Uint8Array(E.buffer,E.byteOffset,E.byteLength):Array.isArray(E)&&(E=Uint8Array.from(E))),!(E instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(E.length===0)return"";for(var x=0,w=0,T=0,R=E.length;T!==R&&E[T]===0;)T++,x++;for(var D=(R-T)*u+1>>>0,k=new Uint8Array(D);T!==R;){for(var O=E[T],_=0,K=D-1;(O!==0||_<w)&&K!==-1;K--,_++)O+=256*k[K]>>>0,k[K]=O%a>>>0,O=O/a>>>0;if(O!==0)throw new Error("Non-zero carry");w=_,T++}for(var B=D-w;B!==D&&k[B]===0;)B++;for(var v=c.repeat(x);B<D;++B)v+=e.charAt(k[B]);return v}function f(E){if(typeof E!="string")throw new TypeError("Expected String");if(E.length===0)return new Uint8Array;var x=0;if(E[x]!==" "){for(var w=0,T=0;E[x]===c;)w++,x++;for(var R=(E.length-x)*l+1>>>0,D=new Uint8Array(R);E[x];){var k=r[E.charCodeAt(x)];if(k===255)return;for(var O=0,_=R-1;(k!==0||O<T)&&_!==-1;_--,O++)k+=a*D[_]>>>0,D[_]=k%256>>>0,k=k/256>>>0;if(k!==0)throw new Error("Non-zero carry");T=O,x++}if(E[x]!==" "){for(var K=R-T;K!==R&&D[K]===0;)K++;for(var B=new Uint8Array(w+(R-K)),v=w;K!==R;)B[v++]=D[K++];return B}}}function p(E){var x=f(E);if(x)return x;throw new Error(`Non-${t} character`)}return{encode:d,decodeUnsafe:f,decode:p}}var Ju=Wu,Qu=Ju,bs=Qu;var So=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")}},Ao=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 Es(this,t)}},vo=class{decoders;constructor(t){this.decoders=t}or(t){return Es(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 Es(e,t){return new vo({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}var Bo=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 So(t,r,n),this.decoder=new Ao(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function tr({name:e,prefix:t,encode:r,decode:n}){return new Bo(e,t,r,n)}function me({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=bs(r,e);return tr({prefix:t,name:e,encode:n,decode:i=>jt(o(i))})}function tf(e,t,r,n){let o=e.length;for(;e[o-1]==="=";)--o;let i=new Uint8Array(o*r/8|0),s=0,a=0,c=0;for(let l=0;l<o;++l){let u=t[e[l]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|u,s+=r,s>=8&&(s-=8,i[c++]=255&a>>s)}if(s>=r||(255&a<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return i}function ef(e,t,r){let n=t[t.length-1]==="=",o=(1<<r)-1,i="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,i+=t[o&a>>s];if(s!==0&&(i+=t[o&a<<r-s]),n)for(;(i.length*r&7)!==0;)i+="=";return i}function rf(e){let t={};for(let r=0;r<e.length;++r)t[e[r]]=r;return t}function Q({name:e,prefix:t,bitsPerChar:r,alphabet:n}){let o=rf(n);return tr({prefix:t,name:e,encode(i){return ef(i,n,r)},decode(i){return tf(i,o,r,e)}})}var ye=Q({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),nf=Q({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),of=Q({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),sf=Q({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),af=Q({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),cf=Q({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),uf=Q({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ff=Q({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),lf=Q({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Io={};yt(Io,{base58btc:()=>G,base58flickr:()=>df});var G=me({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),df=me({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var _o={};yt(_o,{base64:()=>Co,base64pad:()=>hf,base64url:()=>pf,base64urlpad:()=>mf});var Co=Q({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),hf=Q({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),pf=Q({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),mf=Q({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function yf(e,t){try{if(typeof e=="string"&&e.length>0)return gf(e);if(typeof e=="number"&&isFinite(e))return t?.long?wf(e):xf(e);throw new Error("Value is not a string or number.")}catch(r){let n=bf(r)?`${r.message}. value=${JSON.stringify(e)}`:"An unknown error has occured.";throw new Error(n)}}function gf(e){if(e=String(e),e.length>100)throw new Error("Value exceeds the maximum length of 100 characters.");let t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return NaN;let r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*315576e5;case"weeks":case"week":case"w":return r*6048e5;case"days":case"day":case"d":return r*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return r*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return r*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return r*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:throw new Error(`The unit ${n} was matched, but no matching case exists.`)}}var hn=yf;function xf(e){let t=Math.abs(e);return 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 wf(e){let t=Math.abs(e);return t>=864e5?dn(e,t,864e5,"day"):t>=36e5?dn(e,t,36e5,"hour"):t>=6e4?dn(e,t,6e4,"minute"):t>=1e3?dn(e,t,1e3,"second"):`${e} ms`}function dn(e,t,r,n){let o=t>=r*1.5;return`${Math.round(e/r)} ${n}${o?"s":""}`}function bf(e){return typeof e=="object"&&e!==null&&"message"in e}function Do(e){r.debug=r,r.default=r,r.coerce=c,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 d=0;for(let f=0;f<u.length;f++)d=(d<<5)-d+u.charCodeAt(f),d|=0;return r.colors[Math.abs(d)%r.colors.length]}r.selectColor=t;function r(u){let d,f=null,p,E;function x(...w){if(!x.enabled)return;let T=x,R=Number(new Date),D=R-(d||R);T.diff=D,T.prev=d,T.curr=R,d=R,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,(_,K)=>{if(_==="%%")return"%";k++;let B=r.formatters[K];if(typeof B=="function"){let v=w[k];_=B.call(T,v),w.splice(k,1),k--}return _}),r.formatArgs.call(T,w),(T.log||r.log).apply(T,w)}return x.namespace=u,x.useColors=r.useColors(),x.color=r.selectColor(u),x.extend=n,x.destroy=r.destroy,Object.defineProperty(x,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(p!==r.namespaces&&(p=r.namespaces,E=r.enabled(u)),E),set:w=>{f=w}}),typeof r.init=="function"&&r.init(x),x}function n(u,d){let f=r(this.namespace+(typeof d>"u"?":":d)+u);return f.log=this.log,f}function o(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let d,f=(typeof u=="string"?u:"").split(/[\s,]+/),p=f.length;for(d=0;d<p;d++)f[d]&&(u=f[d].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(a),...r.skips.map(a).map(d=>"-"+d)].join(",");return r.enable(""),u}function s(u){if(u[u.length-1]==="*")return!0;let d,f;for(d=0,f=r.skips.length;d<f;d++)if(r.skips[d].test(u))return!1;for(d=0,f=r.names.length;d<f;d++)if(r.names[d].test(u))return!0;return!1}function a(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function c(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=If(),Ef=["#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 Sf(){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 Af(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 vf=console.debug??console.log??(()=>{});function Bf(e){try{e?pn?.setItem("debug",e):pn?.removeItem("debug")}catch{}}function Tf(){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 If(){try{return localStorage}catch{}}function Cf(e){e.j=function(t){try{return JSON.stringify(t)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}}var Ss=Do({formatArgs:Af,save:Bf,load:Tf,useColors:Sf,setupFormatters:Cf,colors:Ef,storage:pn,log:vf});var gt=Ss;gt.formatters.b=e=>e==null?"undefined":G.baseEncode(e);gt.formatters.t=e=>e==null?"undefined":ye.baseEncode(e);gt.formatters.m=e=>e==null?"undefined":Co.baseEncode(e);gt.formatters.p=e=>e==null?"undefined":e.toString();gt.formatters.c=e=>e==null?"undefined":e.toString();gt.formatters.k=e=>e==null?"undefined":e.toString();gt.formatters.a=e=>e==null?"undefined":e.toString();gt.formatters.e=e=>e==null?"undefined":As(e.stack)??As(e.message)??e.toString();function _f(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 ge(e){let t=_f(`${e}:trace`);return gt.enabled(`${e}:trace`)&>.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=gt(`${e}:trace`)),Object.assign(gt(e),{error:gt(`${e}:error`),trace:t})}function As(e){if(e!=null&&(e=e.trim(),e.length!==0))return e}var Uo={};yt(Uo,{base36:()=>Pt,base36upper:()=>Df});var Pt=me({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Df=me({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Uf=Ts,vs=128,Rf=127,Lf=~Rf,Nf=Math.pow(2,31);function Ts(e,t,r){t=t||[],r=r||0;for(var n=r;e>=Nf;)t[r++]=e&255|vs,e/=128;for(;e&Lf;)t[r++]=e&255|vs,e>>>=7;return t[r]=e|0,Ts.bytes=r-n+1,t}var kf=Ro,Pf=128,Bs=127;function Ro(e,n){var r=0,n=n||0,o=0,i=n,s,a=e.length;do{if(i>=a)throw Ro.bytes=0,new RangeError("Could not decode varint");s=e[i++],r+=o<28?(s&Bs)<<o:(s&Bs)*Math.pow(2,o),o+=7}while(s>=Pf);return Ro.bytes=i-n,r}var Kf=Math.pow(2,7),Of=Math.pow(2,14),Mf=Math.pow(2,21),Ff=Math.pow(2,28),Vf=Math.pow(2,35),qf=Math.pow(2,42),Hf=Math.pow(2,49),$f=Math.pow(2,56),zf=Math.pow(2,63),Zf=function(e){return e<Kf?1:e<Of?2:e<Mf?3:e<Ff?4:e<Vf?5:e<qf?6:e<Hf?7:e<$f?8:e<zf?9:10},Gf={encode:Uf,decode:kf,encodingLength:Zf},Yf=Gf,Tr=Yf;function Ir(e,t=0){return[Tr.decode(e,t),Tr.decode.bytes]}function er(e,t,r=0){return Tr.encode(e,t,r),t}function rr(e){return Tr.encodingLength(e)}function Kt(e,t){let r=t.byteLength,n=rr(e),o=n+rr(r),i=new Uint8Array(o+r);return er(e,i,0),er(r,i,n),i.set(t,o),new nr(e,r,t,i)}function Xt(e){let t=jt(e),[r,n]=Ir(t),[o,i]=Ir(t.subarray(n)),s=t.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new nr(r,o,s,t)}function Is(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&ys(e.bytes,r.bytes)}}var nr=class{code;size;digest;bytes;constructor(t,r,n,o){this.code=t,this.size=r,this.digest=n,this.bytes=o}};function Cs(e,t){let{bytes:r,version:n}=e;switch(n){case 0:return Xf(r,Lo(e),t??G.encoder);default:return Wf(r,Lo(e),t??ye.encoder)}}var _s=new WeakMap;function Lo(e){let t=_s.get(e);if(t==null){let r=new Map;return _s.set(e,r),r}return t}var Y=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!==Cr)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Jf)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=Kt(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&&Is(t.multihash,n.multihash)}toString(t){return Cs(this,t)}toJSON(){return{"/":Cs(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??Ds(n,o,i.bytes))}else if(r[Qf]===!0){let{version:n,multihash:o,code:i}=r,s=Xt(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!==Cr)throw new Error(`Version 0 CID must use dag-pb (code: ${Cr}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=Ds(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,Cr,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=jt(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 nr(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[d,f]=Ir(t.subarray(r));return r+=f,d},o=n(),i=Cr;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,a=n(),c=n(),l=r+c,u=l-s;return{version:o,codec:i,multihashCode:a,digestSize:c,multihashSize:u,size:l}}static parse(t,r){let[n,o]=jf(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 Lo(i).set(n,t),i}};function jf(e,t){switch(e[0]){case"Q":{let r=t??G;return[G.prefix,r.decode(`${G.prefix}${e}`)]}case G.prefix:{let r=t??G;return[G.prefix,r.decode(e)]}case ye.prefix:{let r=t??ye;return[ye.prefix,r.decode(e)]}case Pt.prefix:{let r=t??Pt;return[Pt.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 Xf(e,t,r){let{prefix:n}=r;if(n!==G.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 Wf(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 Cr=112,Jf=18;function Ds(e,t,r){let n=rr(e),o=n+rr(t),i=new Uint8Array(o+r.byteLength);return er(e,i,0),er(t,i,n),i.set(r,o),i}var Qf=Symbol.for("@ipld/js-cid/CID");var No={};yt(No,{identity:()=>Ot});var Us=0,tl="identity",Rs=jt;function el(e){return Kt(Us,Rs(e))}var Ot={code:Us,name:tl,encode:Rs,digest:el};function rt(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 Ut(e=0){return new Uint8Array(e)}function St(e=0){return new Uint8Array(e)}function we(e,t){t==null&&(t=e.reduce((o,i)=>o+i.length,0));let r=St(t),n=0;for(let o of e)r.set(o,n),n+=o.length;return r}var Ns=Symbol.for("@achingbrain/uint8arraylist");function Ls(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 yn(e){return!!e?.[Ns]}var At=class e{bufs;length;[Ns]=!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(yn(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(yn(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=Ls(this.bufs,t);return r.buf[r.index]}set(t,r){let n=Ls(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(yn(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 we(n,o)}subarray(t,r){let{bufs:n,length:o}=this._subList(t,r);return n.length===1?n[0]:we(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],a=o,c=a+s.byteLength;if(o=c,t>=c)continue;let l=t>=a&&t<c,u=r>a&&r<=c;if(l&&u){if(t===a&&r===c){n.push(s);break}let d=t-a;n.push(s.subarray(d,d+(r-t)));break}if(l){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(u){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!yn(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 d=0;d<i;d++)s[d]=-1;for(let d=0;d<o;d++)s[n[d]]=d;let a=s,c=this.byteLength-n.byteLength,l=n.byteLength-1,u;for(let d=r;d<=c;d+=u){u=0;for(let f=l;f>=0;f--){let p=this.get(d+f);if(n[f]!==p){u=Math.max(1,f-a[p]);break}}if(u===0)return d}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=St(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=Ut(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=Ut(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=Ut(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=St(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=Ut(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=Ut(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=Ut(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=Ut(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=Ut(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(!rt(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 ko={};yt(ko,{base10:()=>rl});var rl=me({prefix:"9",name:"base10",alphabet:"0123456789"});var Po={};yt(Po,{base16:()=>nl,base16upper:()=>ol});var nl=Q({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),ol=Q({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Ko={};yt(Ko,{base2:()=>il});var il=Q({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Oo={};yt(Oo,{base256emoji:()=>fl});var ks=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}"),sl=ks.reduce((e,t,r)=>(e[r]=t,e),[]),al=ks.reduce((e,t,r)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return e[n]=r,e},[]);function cl(e){return e.reduce((t,r)=>(t+=sl[r],t),"")}function ul(e){let t=[];for(let r of e){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=al[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);t.push(o)}return new Uint8Array(t)}var fl=tr({prefix:"\u{1F680}",name:"base256emoji",encode:cl,decode:ul});var Mo={};yt(Mo,{base8:()=>ll});var ll=Q({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Fo={};yt(Fo,{identity:()=>dl});var dl=tr({prefix:"\0",name:"identity",encode:e=>xs(e),decode:e=>gs(e)});var Qp=new TextEncoder,t0=new TextDecoder;var Ho={};yt(Ho,{sha256:()=>_r,sha512:()=>ml});function qo({name:e,code:t,encode:r}){return new Vo(e,t,r)}var Vo=class{name;code;encode;constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Kt(this.code,r):r.then(n=>Kt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Ks(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}var _r=qo({name:"sha2-256",code:18,encode:Ks("SHA-256")}),ml=qo({name:"sha2-512",code:19,encode:Ks("SHA-512")});var $o={...Fo,...Ko,...Mo,...ko,...Po,...To,...Uo,...Io,..._o,...Oo},d0={...Ho,...No};function Ms(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Os=Ms("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),zo=Ms("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=St(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),yl={utf8:Os,"utf-8":Os,hex:$o.base16,latin1:zo,ascii:zo,binary:zo,...$o},gn=yl;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 $(e,t="utf8"){let r=gn[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.encoder.encode(e).substring(1)}var gl=parseInt("11111",2),Zo=parseInt("10000000",2),xl=parseInt("01111111",2),Fs={0:Dr,1:Dr,2:wl,3:Sl,4:Al,5:El,6:bl,16:Dr,22:Dr,48:Dr};function Wt(e,t={offset:0}){let r=e[t.offset]≷if(t.offset++,Fs[r]!=null)return Fs[r](e,t);throw new Error("No decoder for tag "+r)}function Ur(e,t){let r=0;if((e[t.offset]&Zo)===Zo){let n=e[t.offset]&xl,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 Dr(e,t){Ur(e,t);let r=[];for(;!(t.offset>=e.byteLength);){let n=Wt(e,t);if(n===null)break;r.push(n)}return r}function wl(e,t){let r=Ur(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 bl(e,t){let r=Ur(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 a=`${i}.${s}`,c=[];for(;t.offset<n;){let l=e[t.offset];if(t.offset++,c.push(l&127),l<128){c.reverse();let u=0;for(let d=0;d<c.length;d++)u+=c[d]<<d*7;a+=`.${u}`,c=[]}}return a}function El(e,t){return t.offset++,null}function Sl(e,t){let r=Ur(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 Al(e,t){let r=Ur(e,t),n=e.subarray(t.offset,t.offset+r);return t.offset+=r,n}function vl(e){let t=e.toString(16);t.length%2===1&&(t="0"+t);let r=new At;for(let n=0;n<t.length;n+=2)r.append(Uint8Array.from([parseInt(`${t[n]}${t[n+1]}`,16)]));return r}function Go(e){if(e.byteLength<128)return Uint8Array.from([e.byteLength]);let t=vl(e.byteLength);return new At(Uint8Array.from([t.byteLength|Zo]),t)}function xt(e){let t=new At,r=128;return(e.subarray()[0]&r)===r&&t.append(Uint8Array.from([0])),t.append(e),new At(Uint8Array.from([2]),Go(t),t)}function xn(e){let t=Uint8Array.from([0]),r=new At(t,e);return new At(Uint8Array.from([3]),Go(r),r)}function be(e,t=48){let r=new At;for(let n of e)r.append(n);return new At(Uint8Array.from([t]),Go(r),r)}async function Vs(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 Bl=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),Tl=Uint8Array.from([6,5,43,129,4,0,34]),Il=Uint8Array.from([6,5,43,129,4,0,35]),Cl={ext:!0,kty:"EC",crv:"P-256"},_l={ext:!0,kty:"EC",crv:"P-384"},Dl={ext:!0,kty:"EC",crv:"P-521"},Yo=32,jo=48,Xo=66;function Wo(e){let t=Wt(e);return qs(t)}function qs(e){let t=e[1][1][0],r=1,n,o;if(t.byteLength===Yo*2+1)return n=$(t.subarray(r,r+Yo),"base64url"),o=$(t.subarray(r+Yo),"base64url"),new or({...Cl,key_ops:["verify"],x:n,y:o});if(t.byteLength===jo*2+1)return n=$(t.subarray(r,r+jo),"base64url"),o=$(t.subarray(r+jo),"base64url"),new or({..._l,key_ops:["verify"],x:n,y:o});if(t.byteLength===Xo*2+1)return n=$(t.subarray(r,r+Xo),"base64url"),o=$(t.subarray(r+Xo),"base64url"),new or({...Dl,key_ops:["verify"],x:n,y:o});throw new ot(`coordinates were wrong length, got ${t.byteLength}, expected 65, 97 or 133`)}function Hs(e){return be([xt(Uint8Array.from([1])),be([Ul(e.crv)],160),be([xn(new At(Uint8Array.from([4]),H(e.x??"","base64url"),H(e.y??"","base64url")))],161)]).subarray()}function Ul(e){if(e==="P-256")return Bl;if(e==="P-384")return Tl;if(e==="P-521")return Il;throw new ot(`Invalid curve ${e}`)}var or=class{type="ECDSA";jwk;_raw;constructor(t){this.jwk=t}get raw(){return this._raw==null&&(this._raw=Hs(this.jwk)),this._raw}toMultihash(){return Ot.digest(Ee(this))}toCID(){return Y.createV1(114,this.toMultihash())}toString(){return G.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:rt(this.raw,t.raw)}async verify(t,r,n){return Vs(this.jwk,r,t,n)}};var Ke=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Oe(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Rr(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function tt(e,...t){if(!Oe(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function wn(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Rr(e.outputLen),Rr(e.blockLen)}function sr(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 zs(e,t){tt(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function Qt(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function bn(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Mt(e,t){return e<<32-t|e>>>t}var Zs=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Rl=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Rt(e){if(tt(e),Zs)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Rl[e[r]];return t}var Jt={_0:48,_9:57,A:65,F:70,a:97,f:102};function $s(e){if(e>=Jt._0&&e<=Jt._9)return e-Jt._0;if(e>=Jt.A&&e<=Jt.F)return e-(Jt.A-10);if(e>=Jt.a&&e<=Jt.f)return e-(Jt.a-10)}function Me(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Zs)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=$s(e.charCodeAt(i)),a=$s(e.charCodeAt(i+1));if(s===void 0||a===void 0){let c=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[o]=s*16+a}return n}function Jo(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Lr(e){return typeof e=="string"&&(e=Jo(e)),tt(e),e}function wt(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];tt(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}var ir=class{};function Qo(e){let t=n=>e().update(Lr(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Nr(e=32){if(Ke&&typeof Ke.getRandomValues=="function")return Ke.getRandomValues(new Uint8Array(e));if(Ke&&typeof Ke.randomBytes=="function")return Uint8Array.from(Ke.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function Ll(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,l=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+l,a,n)}function Gs(e,t,r){return e&t^~e&r}function Ys(e,t,r){return e&t^e&r^t&r}var kr=class extends ir{constructor(t,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=bn(this.buffer)}update(t){sr(this),t=Lr(t),tt(t);let{view:r,buffer:n,blockLen:o}=this,i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=bn(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){sr(this),zs(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,Qt(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let d=s;d<o;d++)r[d]=0;Ll(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=bn(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=c/4,u=this.get();if(l>u.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<l;d++)a.setUint32(4*d,u[d],i)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:a}=this;return t.destroyed=s,t.finished=i,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},te=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var ut=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var En=BigInt(4294967295),js=BigInt(32);function Nl(e,t=!1){return t?{h:Number(e&En),l:Number(e>>js&En)}:{h:Number(e>>js&En)|0,l:Number(e&En)|0}}function Xs(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:a}=Nl(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var ti=(e,t,r)=>e>>>r,ei=(e,t,r)=>e<<32-r|t>>>r,Fe=(e,t,r)=>e>>>r|t<<32-r,Ve=(e,t,r)=>e<<32-r|t>>>r,Pr=(e,t,r)=>e<<64-r|t>>>r-32,Kr=(e,t,r)=>e>>>r-32|t<<64-r;function $t(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Ws=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Js=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Qs=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),ta=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,ea=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),ra=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var Pl=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]),Se=new Uint32Array(64),Sn=class extends kr{constructor(t=32){super(64,t,8,!1),this.A=te[0]|0,this.B=te[1]|0,this.C=te[2]|0,this.D=te[3]|0,this.E=te[4]|0,this.F=te[5]|0,this.G=te[6]|0,this.H=te[7]|0}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[t,r,n,o,i,s,a,c]}set(t,r,n,o,i,s,a,c){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=a|0,this.H=c|0}process(t,r){for(let d=0;d<16;d++,r+=4)Se[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let f=Se[d-15],p=Se[d-2],E=Mt(f,7)^Mt(f,18)^f>>>3,x=Mt(p,17)^Mt(p,19)^p>>>10;Se[d]=x+Se[d-7]+E+Se[d-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:l,H:u}=this;for(let d=0;d<64;d++){let f=Mt(a,6)^Mt(a,11)^Mt(a,25),p=u+f+Gs(a,c,l)+Pl[d]+Se[d]|0,x=(Mt(n,2)^Mt(n,13)^Mt(n,22))+Ys(n,o,i)|0;u=l,l=c,c=a,a=s+p|0,s=i,i=o,o=n,n=p+x|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,u=u+this.H|0,this.set(n,o,i,s,a,c,l,u)}roundClean(){Qt(Se)}destroy(){this.set(0,0,0,0,0,0,0,0),Qt(this.buffer)}};var na=Xs(["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))),Kl=na[0],Ol=na[1],Ae=new Uint32Array(80),ve=new Uint32Array(80),ri=class extends kr{constructor(t=64){super(128,t,16,!1),this.Ah=ut[0]|0,this.Al=ut[1]|0,this.Bh=ut[2]|0,this.Bl=ut[3]|0,this.Ch=ut[4]|0,this.Cl=ut[5]|0,this.Dh=ut[6]|0,this.Dl=ut[7]|0,this.Eh=ut[8]|0,this.El=ut[9]|0,this.Fh=ut[10]|0,this.Fl=ut[11]|0,this.Gh=ut[12]|0,this.Gl=ut[13]|0,this.Hh=ut[14]|0,this.Hl=ut[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:l,El:u,Fh:d,Fl:f,Gh:p,Gl:E,Hh:x,Hl:w}=this;return[t,r,n,o,i,s,a,c,l,u,d,f,p,E,x,w]}set(t,r,n,o,i,s,a,c,l,u,d,f,p,E,x,w){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=a|0,this.Dl=c|0,this.Eh=l|0,this.El=u|0,this.Fh=d|0,this.Fl=f|0,this.Gh=p|0,this.Gl=E|0,this.Hh=x|0,this.Hl=w|0}process(t,r){for(let D=0;D<16;D++,r+=4)Ae[D]=t.getUint32(r),ve[D]=t.getUint32(r+=4);for(let D=16;D<80;D++){let k=Ae[D-15]|0,O=ve[D-15]|0,_=Fe(k,O,1)^Fe(k,O,8)^ti(k,O,7),K=Ve(k,O,1)^Ve(k,O,8)^ei(k,O,7),B=Ae[D-2]|0,v=ve[D-2]|0,m=Fe(B,v,19)^Pr(B,v,61)^ti(B,v,6),h=Ve(B,v,19)^Kr(B,v,61)^ei(B,v,6),y=Qs(K,h,ve[D-7],ve[D-16]),A=ta(y,_,m,Ae[D-7],Ae[D-16]);Ae[D]=A|0,ve[D]=y|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:l,Dl:u,Eh:d,El:f,Fh:p,Fl:E,Gh:x,Gl:w,Hh:T,Hl:R}=this;for(let D=0;D<80;D++){let k=Fe(d,f,14)^Fe(d,f,18)^Pr(d,f,41),O=Ve(d,f,14)^Ve(d,f,18)^Kr(d,f,41),_=d&p^~d&x,K=f&E^~f&w,B=ea(R,O,K,Ol[D],ve[D]),v=ra(B,T,k,_,Kl[D],Ae[D]),m=B|0,h=Fe(n,o,28)^Pr(n,o,34)^Pr(n,o,39),y=Ve(n,o,28)^Kr(n,o,34)^Kr(n,o,39),A=n&i^n&a^i&a,L=o&s^o&c^s&c;T=x|0,R=w|0,x=p|0,w=E|0,p=d|0,E=f|0,{h:d,l:f}=$t(l|0,u|0,v|0,m|0),l=a|0,u=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let U=Ws(m,y,L);n=Js(U,v,h,A),o=U|0}({h:n,l:o}=$t(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=$t(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=$t(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:u}=$t(this.Dh|0,this.Dl|0,l|0,u|0),{h:d,l:f}=$t(this.Eh|0,this.El|0,d|0,f|0),{h:p,l:E}=$t(this.Fh|0,this.Fl|0,p|0,E|0),{h:x,l:w}=$t(this.Gh|0,this.Gl|0,x|0,w|0),{h:T,l:R}=$t(this.Hh|0,this.Hl|0,T|0,R|0),this.set(n,o,i,s,a,c,l,u,d,f,p,E,x,w,T,R)}roundClean(){Qt(Ae,ve)}destroy(){Qt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var An=Qo(()=>new Sn);var oa=Qo(()=>new ri);var ii=BigInt(0),oi=BigInt(1);function ee(e,t){if(typeof t!="boolean")throw new Error(e+" boolean expected, got "+t)}function Or(e){let t=e.toString(16);return t.length&1?"0"+t:t}function ia(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?ii:BigInt("0x"+e)}function ar(e){return ia(Rt(e))}function re(e){return tt(e),ia(Rt(Uint8Array.from(e).reverse()))}function vn(e,t){return Me(e.toString(16).padStart(t*2,"0"))}function ne(e,t){return vn(e,t).reverse()}function j(e,t,r){let n;if(typeof t=="string")try{n=Me(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(Oe(t))n=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(e+" of length "+r+" expected, got "+o);return n}function sa(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}var ni=e=>typeof e=="bigint"&&ii<=e;function aa(e,t,r){return ni(e)&&ni(t)&&ni(r)&&t<=e&&e<r}function Be(e,t,r,n){if(!aa(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function Bn(e){let t;for(t=0;e>ii;e>>=oi,t+=1);return t}var Te=e=>(oi<<BigInt(e))-oi;function ca(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=p=>new Uint8Array(p),o=p=>Uint8Array.of(p),i=n(e),s=n(e),a=0,c=()=>{i.fill(1),s.fill(0),a=0},l=(...p)=>r(s,i,...p),u=(p=n(0))=>{s=l(o(0),p),i=l(),p.length!==0&&(s=l(o(1),p),i=l())},d=()=>{if(a++>=1e3)throw new Error("drbg: tried 1000 values");let p=0,E=[];for(;p<t;){i=l();let x=i.slice();E.push(x),p+=i.length}return wt(...E)};return(p,E)=>{c(),u(p);let x;for(;!(x=E(d()));)u();return c(),x}}function Ie(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(o,i,s){let a=e[o];if(s&&a===void 0)return;let c=typeof a;if(c!==i||a===null)throw new Error(`param "${o}" is invalid: expected ${i}, got ${c}`)}Object.entries(t).forEach(([o,i])=>n(o,i,!1)),Object.entries(r).forEach(([o,i])=>n(o,i,!0))}function cr(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 pt=BigInt(0),at=BigInt(1),qe=BigInt(2),la=BigInt(3),da=BigInt(4),ha=BigInt(5),Ml=BigInt(7),pa=BigInt(8),Fl=BigInt(9),ma=BigInt(16);function et(e,t){let r=e%t;return r>=pt?r:t+r}function J(e,t,r){let n=e;for(;t-- >pt;)n*=n,n%=r;return n}function ua(e,t){if(e===pt)throw new Error("invert: expected non-zero number");if(t<=pt)throw new Error("invert: expected positive modulus, got "+t);let r=et(e,t),n=t,o=pt,i=at,s=at,a=pt;for(;r!==pt;){let l=n/r,u=n%r,d=o-s*l,f=i-a*l;n=r,r=u,o=s,i=a,s=d,a=f}if(n!==at)throw new Error("invert: does not exist");return et(o,t)}function si(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function ya(e,t){let r=(e.ORDER+at)/da,n=e.pow(t,r);return si(e,n,t),n}function Vl(e,t){let r=(e.ORDER-ha)/pa,n=e.mul(t,qe),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,qe),o),a=e.mul(i,e.sub(s,e.ONE));return si(e,a,t),a}function ql(e){let t=vt(e),r=ga(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+Ml)/ma;return(a,c)=>{let l=a.pow(c,s),u=a.mul(l,n),d=a.mul(l,o),f=a.mul(l,i),p=a.eql(a.sqr(u),c),E=a.eql(a.sqr(d),c);l=a.cmov(l,u,p),u=a.cmov(f,d,E);let x=a.eql(a.sqr(u),c),w=a.cmov(l,u,x);return si(a,w,c),w}}function ga(e){if(e<la)throw new Error("sqrt is not defined for small field");let t=e-at,r=0;for(;t%qe===pt;)t/=qe,r++;let n=qe,o=vt(e);for(;fa(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return ya;let i=o.pow(n,t),s=(t+at)/qe;return function(c,l){if(c.is0(l))return l;if(fa(c,l)!==1)throw new Error("Cannot find square root");let u=r,d=c.mul(c.ONE,i),f=c.pow(l,t),p=c.pow(l,s);for(;!c.eql(f,c.ONE);){if(c.is0(f))return c.ZERO;let E=1,x=c.sqr(f);for(;!c.eql(x,c.ONE);)if(E++,x=c.sqr(x),E===u)throw new Error("Cannot find square root");let w=at<<BigInt(u-E-1),T=c.pow(d,w);u=E,d=c.sqr(T),f=c.mul(f,d),p=c.mul(p,T)}return p}}function Hl(e){return e%da===la?ya:e%pa===ha?Vl:e%ma===Fl?ql(e):ga(e)}var oe=(e,t)=>(et(e,t)&at)===at,$l=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ai(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=$l.reduce((n,o)=>(n[o]="function",n),t);return Ie(e,r),e}function zl(e,t,r){if(r<pt)throw new Error("invalid exponent, negatives unsupported");if(r===pt)return e.ONE;if(r===at)return t;let n=e.ONE,o=t;for(;r>pt;)r&at&&(n=e.mul(n,o)),o=e.sqr(o),r>>=at;return n}function Mr(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((s,a,c)=>e.is0(a)?s:(n[c]=s,e.mul(s,a)),e.ONE),i=e.inv(o);return t.reduceRight((s,a,c)=>e.is0(a)?s:(n[c]=e.mul(s,n[c]),e.mul(s,a)),i),n}function fa(e,t){let r=(e.ORDER-at)/qe,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 xa(e,t){t!==void 0&&Rr(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function vt(e,t,r=!1,n={}){if(e<=pt)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,i,s=!1,a;if(typeof t=="object"&&t!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let f=t;f.BITS&&(o=f.BITS),f.sqrt&&(i=f.sqrt),typeof f.isLE=="boolean"&&(r=f.isLE),typeof f.modOnDecode=="boolean"&&(s=f.modOnDecode),a=f.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(i=n.sqrt);let{nBitLength:c,nByteLength:l}=xa(e,o);if(l>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let u,d=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:l,MASK:Te(c),ZERO:pt,ONE:at,allowedLengths:a,create:f=>et(f,e),isValid:f=>{if(typeof f!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof f);return pt<=f&&f<e},is0:f=>f===pt,isValidNot0:f=>!d.is0(f)&&d.isValid(f),isOdd:f=>(f&at)===at,neg:f=>et(-f,e),eql:(f,p)=>f===p,sqr:f=>et(f*f,e),add:(f,p)=>et(f+p,e),sub:(f,p)=>et(f-p,e),mul:(f,p)=>et(f*p,e),pow:(f,p)=>zl(d,f,p),div:(f,p)=>et(f*ua(p,e),e),sqrN:f=>f*f,addN:(f,p)=>f+p,subN:(f,p)=>f-p,mulN:(f,p)=>f*p,inv:f=>ua(f,e),sqrt:i||(f=>(u||(u=Hl(e)),u(d,f))),toBytes:f=>r?ne(f,l):vn(f,l),fromBytes:(f,p=!0)=>{if(a){if(!a.includes(f.length)||f.length>l)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+f.length);let x=new Uint8Array(l);x.set(f,r?0:x.length-f.length),f=x}if(f.length!==l)throw new Error("Field.fromBytes: expected "+l+" bytes, got "+f.length);let E=r?re(f):ar(f);if(s&&(E=et(E,e)),!p&&!d.isValid(E))throw new Error("invalid field element: outside of range 0..ORDER");return E},invertBatch:f=>Mr(d,f),cmov:(f,p,E)=>E?p:f});return Object.freeze(d)}function wa(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 ci(e){let t=wa(e);return t+Math.ceil(t/2)}function ui(e,t,r=!1){let n=e.length,o=wa(t),i=ci(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?re(e):ar(e),a=et(s,t-at)+at;return r?ne(a,o):vn(a,o)}var ur=BigInt(0),He=BigInt(1);function Fr(e,t){let r=t.negate();return e?r:t}function ie(e,t){let r=Mr(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function Aa(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function fi(e,t){Aa(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=Te(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function ba(e,t,r){let{windowSize:n,mask:o,maxNumber:i,shiftBy:s}=r,a=Number(e&o),c=e>>s;a>n&&(a-=i,c+=He);let l=t*n,u=l+Math.abs(a)-1,d=a===0,f=a<0,p=t%2!==0;return{nextN:c,offset:u,isZero:d,isNeg:f,isNegF:p,offsetF:l}}function Zl(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((r,n)=>{if(!(r instanceof t))throw new Error("invalid point at index "+n)})}function Gl(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((r,n)=>{if(!t.isValid(r))throw new Error("invalid scalar at index "+n)})}var li=new WeakMap,va=new WeakMap;function di(e){return va.get(e)||1}function Ea(e){if(e!==ur)throw new Error("invalid wNAF")}var fr=class{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>ur;)r&He&&(n=n.add(o)),o=o.double(),r>>=He;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=fi(r,this.bits),i=[],s=t,a=s;for(let c=0;c<n;c++){a=s,i.push(a);for(let l=1;l<o;l++)a=a.add(s),i.push(a);s=a.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=fi(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:l,isZero:u,isNeg:d,isNegF:f,offsetF:p}=ba(n,a,s);n=c,u?i=i.add(Fr(f,r[p])):o=o.add(Fr(d,r[l]))}return Ea(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=fi(t,this.bits);for(let s=0;s<i.windows&&n!==ur;s++){let{nextN:a,offset:c,isZero:l,isNeg:u}=ba(n,s,i);if(n=a,!l){let d=r[c];o=o.add(u?d.negate():d)}}return Ea(n),o}getPrecomputes(t,r,n){let o=li.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),li.set(r,o))),o}cached(t,r,n){let o=di(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=di(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){Aa(r,this.bits),va.set(t,r),li.delete(t)}hasCache(t){return di(t)!==1}};function Ba(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>ur||n>ur;)r&He&&(i=i.add(o)),n&He&&(s=s.add(o)),o=o.double(),r>>=He,n>>=He;return{p1:i,p2:s}}function lr(e,t,r,n){Zl(r,e),Gl(n,t);let o=r.length,i=n.length;if(o!==i)throw new Error("arrays of points and scalars must have equal length");let s=e.ZERO,a=Bn(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let l=Te(c),u=new Array(Number(l)+1).fill(s),d=Math.floor((t.BITS-1)/c)*c,f=s;for(let p=d;p>=0;p-=c){u.fill(s);for(let x=0;x<i;x++){let w=n[x],T=Number(w>>BigInt(p)&l);u[T]=u[T].add(r[x])}let E=s;for(let x=u.length-1,w=s;x>0;x--)w=w.add(u[x]),E=E.add(w);if(f=f.add(E),p!==0)for(let x=0;x<c;x++)f=f.double()}return f}function Sa(e,t){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return ai(t),t}else return vt(e)}function Tn(e,t,r={}){if(!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let a of["p","n","h"]){let c=t[a];if(!(typeof c=="bigint"&&c>ur))throw new Error(`CURVE.${a} must be positive bigint`)}let n=Sa(t.p,r.Fp),o=Sa(t.n,r.Fn),s=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let a of s)if(!n.isValid(t[a]))throw new Error(`CURVE.${a} must be valid field element of CURVE.Fp`);return{Fp:n,Fn:o}}var zt=BigInt(0),st=BigInt(1),hi=BigInt(2),Yl=BigInt(8);function jl(e,t,r,n){let o=e.sqr(r),i=e.sqr(n),s=e.add(e.mul(t.a,o),i),a=e.add(e.ONE,e.mul(t.d,e.mul(o,i)));return e.eql(s,a)}function Xl(e,t={}){let{Fp:r,Fn:n}=Tn("edwards",e,t),{h:o,n:i}=e;Ie(t,{},{uvRatio:"function"});let s=hi<<BigInt(n.BYTES*8)-st,a=x=>r.create(x),c=t.uvRatio||((x,w)=>{try{return{isValid:!0,value:r.sqrt(r.div(x,w))}}catch{return{isValid:!1,value:zt}}});if(!jl(r,e,e.Gx,e.Gy))throw new Error("bad curve params: generator point");function l(x,w,T=!1){let R=T?st:zt;return Be("coordinate "+x,w,R,s),w}function u(x){if(!(x instanceof p))throw new Error("ExtendedPoint expected")}let d=cr((x,w)=>{let{X:T,Y:R,Z:D}=x,k=x.is0();w==null&&(w=k?Yl:r.inv(D));let O=a(T*w),_=a(R*w),K=r.mul(D,w);if(k)return{x:zt,y:st};if(K!==st)throw new Error("invZ was invalid");return{x:O,y:_}}),f=cr(x=>{let{a:w,d:T}=e;if(x.is0())throw new Error("bad point: ZERO");let{X:R,Y:D,Z:k,T:O}=x,_=a(R*R),K=a(D*D),B=a(k*k),v=a(B*B),m=a(_*w),h=a(B*a(m+K)),y=a(v+a(T*a(_*K)));if(h!==y)throw new Error("bad point: equation left != right (1)");let A=a(R*D),L=a(k*O);if(A!==L)throw new Error("bad point: equation left != right (2)");return!0});class p{constructor(w,T,R,D){this.X=l("x",w),this.Y=l("y",T),this.Z=l("z",R,!0),this.T=l("t",D),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(w){return ie(p,w)}static msm(w,T){return lr(p,n,w,T)}_setWindowSize(w){this.precompute(w)}static fromAffine(w){if(w instanceof p)throw new Error("extended point not allowed");let{x:T,y:R}=w||{};return l("x",T),l("y",R),new p(T,R,st,a(T*R))}precompute(w=8,T=!0){return E.createCache(this,w),T||this.multiply(hi),this}assertValidity(){f(this)}equals(w){u(w);let{X:T,Y:R,Z:D}=this,{X:k,Y:O,Z:_}=w,K=a(T*_),B=a(k*D),v=a(R*_),m=a(O*D);return K===B&&v===m}is0(){return this.equals(p.ZERO)}negate(){return new p(a(-this.X),this.Y,this.Z,a(-this.T))}double(){let{a:w}=e,{X:T,Y:R,Z:D}=this,k=a(T*T),O=a(R*R),_=a(hi*a(D*D)),K=a(w*k),B=T+R,v=a(a(B*B)-k-O),m=K+O,h=m-_,y=K-O,A=a(v*h),L=a(m*y),U=a(v*y),g=a(h*m);return new p(A,L,g,U)}add(w){u(w);let{a:T,d:R}=e,{X:D,Y:k,Z:O,T:_}=this,{X:K,Y:B,Z:v,T:m}=w,h=a(D*K),y=a(k*B),A=a(_*R*m),L=a(O*v),U=a((D+k)*(K+B)-h-y),g=L-A,S=L+A,I=a(y-T*h),N=a(U*g),M=a(S*I),V=a(U*I),q=a(g*S);return new p(N,M,q,V)}subtract(w){return this.add(w.negate())}multiply(w){let T=w;Be("scalar",T,st,i);let{p:R,f:D}=E.cached(this,T,k=>ie(p,k));return ie(p,[R,D])[0]}multiplyUnsafe(w,T=p.ZERO){let R=w;return Be("scalar",R,zt,i),R===zt?p.ZERO:this.is0()||R===st?this:E.unsafe(this,R,D=>ie(p,D),T)}isSmallOrder(){return this.multiplyUnsafe(o).is0()}isTorsionFree(){return E.unsafe(this,i).is0()}toAffine(w){return d(this,w)}clearCofactor(){return o===st?this:this.multiplyUnsafe(o)}static fromBytes(w,T=!1){return tt(w),p.fromHex(w,T)}static fromHex(w,T=!1){let{d:R,a:D}=e,k=r.BYTES;w=j("pointHex",w,k),ee("zip215",T);let O=w.slice(),_=w[k-1];O[k-1]=_&-129;let K=re(O),B=T?s:r.ORDER;Be("pointHex.y",K,zt,B);let v=a(K*K),m=a(v-st),h=a(R*v-D),{isValid:y,value:A}=c(m,h);if(!y)throw new Error("Point.fromHex: invalid y coordinate");let L=(A&st)===st,U=(_&128)!==0;if(!T&&A===zt&&U)throw new Error("Point.fromHex: x=0 and x_0=1");return U!==L&&(A=a(-A)),p.fromAffine({x:A,y:K})}toBytes(){let{x:w,y:T}=this.toAffine(),R=ne(T,r.BYTES);return R[R.length-1]|=w&st?128:0,R}toRawBytes(){return this.toBytes()}toHex(){return Rt(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}p.BASE=new p(e.Gx,e.Gy,st,a(e.Gx*e.Gy)),p.ZERO=new p(zt,st,st,zt),p.Fp=r,p.Fn=n;let E=new fr(p,n.BYTES*8);return p}var In=class{constructor(t){this.ep=t}static fromBytes(t){throw new Error("fromBytes must be implemented by subclass")}static fromHex(t){throw new Error("fromHex must be implemented by subclass")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(t){return this.ep.toAffine(t)}toRawBytes(){return this.toBytes()}toHex(){return Rt(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(t){return this.assertSame(t),this.init(this.ep.add(t.ep))}subtract(t){return this.assertSame(t),this.init(this.ep.subtract(t.ep))}multiply(t){return this.init(this.ep.multiply(t))}multiplyUnsafe(t){return this.init(this.ep.multiplyUnsafe(t))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(t,r){return this.init(this.ep.precompute(t,r))}};function Wl(e,t,r){if(typeof t!="function")throw new Error('"hash" function param is required');Ie(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:i,Fn:s}=e,a=s.ORDER,c=r.randomBytes||Nr,l=r.adjustScalarBytes||(h=>h),u=r.domain||((h,y,A)=>{if(ee("phflag",A),y.length||A)throw new Error("Contexts/pre-hash are not supported");return h});function d(h){return s.create(h)}function f(h){return d(re(h))}function p(h){let y=i.BYTES;h=j("private key",h,y);let A=j("hashed private key",t(h),2*y),L=l(A.slice(0,y)),U=A.slice(y,2*y),g=f(L);return{head:L,prefix:U,scalar:g}}function E(h){let{head:y,prefix:A,scalar:L}=p(h),U=o.multiply(L),g=U.toBytes();return{head:y,prefix:A,scalar:L,point:U,pointBytes:g}}function x(h){return E(h).pointBytes}function w(h=Uint8Array.of(),...y){let A=wt(...y);return f(t(u(A,j("context",h),!!n)))}function T(h,y,A={}){h=j("message",h),n&&(h=n(h));let{prefix:L,scalar:U,pointBytes:g}=E(y),S=w(A.context,L,h),I=o.multiply(S).toBytes(),N=w(A.context,I,g,h),M=d(S+N*U);Be("signature.s",M,zt,a);let V=i.BYTES,q=wt(I,ne(M,V));return j("result",q,V*2)}let R={zip215:!0};function D(h,y,A,L=R){let{context:U,zip215:g}=L,S=i.BYTES;h=j("signature",h,2*S),y=j("message",y),A=j("publicKey",A,S),g!==void 0&&ee("zip215",g),n&&(y=n(y));let I=re(h.slice(S,2*S)),N,M,V;try{N=e.fromHex(A,g),M=e.fromHex(h.slice(0,S),g),V=o.multiplyUnsafe(I)}catch{return!1}if(!g&&N.isSmallOrder())return!1;let q=w(U,M.toBytes(),N.toBytes(),y);return M.add(N.multiplyUnsafe(q)).subtract(V).clearCofactor().is0()}o.precompute(8);let k=i.BYTES,O={secret:k,public:k,signature:2*k,seed:k};function _(h=c(O.seed)){return h}let K={getExtendedPublicKey:E,randomSecretKey:_,isValidSecretKey:v,isValidPublicKey:m,randomPrivateKey:_,toMontgomery(h){let{y}=e.fromBytes(h),A=k===32;if(!A&&k!==57)throw new Error("only defined for 25519 and 448");let L=A?i.div(st+y,st-y):i.div(y-st,y+st);return i.toBytes(L)},toMontgomeryPriv(h){tt(h,k);let y=t(h.subarray(0,k));return l(y).subarray(0,k)},precompute(h=8,y=e.BASE){return y.precompute(h,!1)}};function B(h){let y=K.randomSecretKey(h);return{secretKey:y,publicKey:x(y)}}function v(h){try{return!!s.fromBytes(h,!1)}catch{return!1}}function m(h,y){try{return!!e.fromBytes(h,y)}catch{return!1}}return Object.freeze({keygen:B,getPublicKey:x,sign:T,verify:D,utils:K,Point:e,info:{type:"edwards",lengths:O}})}function Jl(e){let t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=vt(t.n,e.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:e.uvRatio},i={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,hash:e.hash,eddsaOpts:i}}function Ql(e,t){return Object.assign({},t,{ExtendedPoint:t.Point,CURVE:e})}function Ta(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=Jl(e),i=Xl(t,r),s=Wl(i,n,o);return Ql(e,s)}var td=BigInt(0),se=BigInt(1),Ia=BigInt(2),bm=BigInt(3),ed=BigInt(5),rd=BigInt(8),Vr={p:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:rd,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function nd(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=Vr.p,a=e*e%i*e%i,c=J(a,Ia,i)*a%i,l=J(c,se,i)*e%i,u=J(l,ed,i)*l%i,d=J(u,t,i)*u%i,f=J(d,r,i)*d%i,p=J(f,n,i)*f%i,E=J(p,o,i)*p%i,x=J(E,o,i)*p%i,w=J(x,t,i)*u%i;return{pow_p_5_8:J(w,Ia,i)*e%i,b2:a}}function od(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var pi=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function gi(e,t){let r=Vr.p,n=et(t*t*t,r),o=et(n*n*t,r),i=nd(e*o).pow_p_5_8,s=et(e*n*i,r),a=et(t*s*s,r),c=s,l=et(s*pi,r),u=a===e,d=a===et(-e,r),f=a===et(-e*pi,r);return u&&(s=c),(d||f)&&(s=l),oe(s,r)&&(s=et(-s,r)),{isValid:u||d,value:s}}var $e=vt(Vr.p,{isLE:!0}),id=vt(Vr.n,{isLE:!0}),sd={...Vr,Fp:$e,hash:oa,adjustScalarBytes:od,uvRatio:gi},Bt=Ta(sd);var mi=pi,ad=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),cd=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),ud=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),fd=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Ca=e=>gi(se,e),ld=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),yi=e=>Bt.CURVE.Fp.create(re(e)&ld);function _a(e){let{d:t}=Bt.CURVE,r=Bt.CURVE.Fp.ORDER,n=Bt.CURVE.Fp.create,o=n(mi*e*e),i=n((o+se)*ud),s=BigInt(-1),a=n((s-t*o)*n(o+t)),{isValid:c,value:l}=gi(i,a),u=n(l*e);oe(u,r)||(u=n(-u)),c||(l=u),c||(s=o);let d=n(s*(o-se)*fd-a),f=l*l,p=n((l+l)*a),E=n(d*ad),x=n(se-f),w=n(se+f);return new Bt.Point(n(p*w),n(x*E),n(E*w),n(p*x))}function dd(e){tt(e,64);let t=yi(e.subarray(0,32)),r=_a(t),n=yi(e.subarray(32,64)),o=_a(n);return new ae(r.add(o))}var ae=class e extends In{constructor(t){super(t)}static fromAffine(t){return new e(Bt.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return dd(j("ristrettoHash",t,64))}static fromBytes(t){tt(t,32);let{a:r,d:n}=Bt.CURVE,o=$e.ORDER,i=$e.create,s=yi(t);if(!sa(ne(s,32),t)||oe(s,o))throw new Error("invalid ristretto255 encoding 1");let a=i(s*s),c=i(se+r*a),l=i(se-r*a),u=i(c*c),d=i(l*l),f=i(r*n*u-d),{isValid:p,value:E}=Ca(i(f*d)),x=i(E*l),w=i(E*x*f),T=i((s+s)*x);oe(T,o)&&(T=i(-T));let R=i(c*w),D=i(T*R);if(!p||oe(D,o)||R===td)throw new Error("invalid ristretto255 encoding 2");return new e(new Bt.Point(T,R,se,D))}static fromHex(t){return e.fromBytes(j("ristrettoHex",t,32))}static msm(t,r){return lr(e,Bt.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,i=$e.ORDER,s=$e.create,a=s(s(n+r)*s(n-r)),c=s(t*r),l=s(c*c),{value:u}=Ca(s(a*l)),d=s(u*a),f=s(u*c),p=s(d*f*o),E;if(oe(o*p,i)){let w=s(r*mi),T=s(t*mi);t=w,r=T,E=s(d*cd)}else E=f;oe(t*p,i)&&(r=s(-r));let x=s((n-r)*E);return oe(x,i)&&(x=s(-x)),ne(x,32)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:i}=t.ep,s=$e.create,a=s(r*i)===s(n*o),c=s(n*i)===s(r*o);return a||c}is0(){return this.equals(e.ZERO)}};ae.BASE=new ae(Bt.Point.BASE);ae.ZERO=new ae(Bt.Point.ZERO);ae.Fp=$e;ae.Fn=id;var qr=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 Da={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 Lt=Da;var _n=32;var xi,hd=(async()=>{try{return await Lt.get().subtle.generateKey({name:"Ed25519"},!0,["sign","verify"]),!0}catch{return!1}})();async function pd(e,t,r){if(e.buffer instanceof ArrayBuffer){let n=await Lt.get().subtle.importKey("raw",e.buffer,{name:"Ed25519"},!1,["verify"]);return await Lt.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 md(e,t,r){return Bt.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}async function Ua(e,t,r){return xi==null&&(xi=await hd),xi?pd(e,t,r):md(e,t,r)}function Dn(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var Un=class{type="Ed25519";raw;constructor(t){this.raw=wi(t,_n)}toMultihash(){return Ot.digest(Ee(this))}toCID(){return Y.createV1(114,this.toMultihash())}toString(){return G.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:rt(this.raw,t.raw)}verify(t,r,n){n?.signal?.throwIfAborted();let o=Ua(this.raw,r,t);return Dn(o)?o.then(i=>(n?.signal?.throwIfAborted(),i)):o}};function bi(e){return e=wi(e,_n),new Un(e)}function wi(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new ot(`Key must be a Uint8Array of length ${t}, got ${e.length}`);return e}var gd=Math.pow(2,7),xd=Math.pow(2,14),wd=Math.pow(2,21),La=Math.pow(2,28),Na=Math.pow(2,35),ka=Math.pow(2,42),Pa=Math.pow(2,49),mt=128,Ce=127;function Hr(e){if(e<gd)return 1;if(e<xd)return 2;if(e<wd)return 3;if(e<La)return 4;if(e<Na)return 5;if(e<ka)return 6;if(e<Pa)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Ka(e,t,r=0){switch(Hr(e)){case 8:t[r++]=e&255|mt,e/=128;case 7:t[r++]=e&255|mt,e/=128;case 6:t[r++]=e&255|mt,e/=128;case 5:t[r++]=e&255|mt,e/=128;case 4:t[r++]=e&255|mt,e>>>=7;case 3:t[r++]=e&255|mt,e>>>=7;case 2:t[r++]=e&255|mt,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function Oa(e,t){let r=e[t],n=0;if(n+=r&Ce,r<mt||(r=e[t+1],n+=(r&Ce)<<7,r<mt)||(r=e[t+2],n+=(r&Ce)<<14,r<mt)||(r=e[t+3],n+=(r&Ce)<<21,r<mt)||(r=e[t+4],n+=(r&Ce)*La,r<mt)||(r=e[t+5],n+=(r&Ce)*Na,r<mt)||(r=e[t+6],n+=(r&Ce)*ka,r<mt)||(r=e[t+7],n+=(r&Ce)*Pa,r<mt))return n;throw new RangeError("Could not decode varint")}var Ei=new Float32Array([-0]),_e=new Uint8Array(Ei.buffer);function Ma(e,t,r){Ei[0]=e,t[r]=_e[0],t[r+1]=_e[1],t[r+2]=_e[2],t[r+3]=_e[3]}function Fa(e,t){return _e[0]=e[t],_e[1]=e[t+1],_e[2]=e[t+2],_e[3]=e[t+3],Ei[0]}var Si=new Float64Array([-0]),dt=new Uint8Array(Si.buffer);function Va(e,t,r){Si[0]=e,t[r]=dt[0],t[r+1]=dt[1],t[r+2]=dt[2],t[r+3]=dt[3],t[r+4]=dt[4],t[r+5]=dt[5],t[r+6]=dt[6],t[r+7]=dt[7]}function qa(e,t){return dt[0]=e[t],dt[1]=e[t+1],dt[2]=e[t+2],dt[3]=e[t+3],dt[4]=e[t+4],dt[5]=e[t+5],dt[6]=e[t+6],dt[7]=e[t+7],Si[0]}var bd=BigInt(Number.MAX_SAFE_INTEGER),Ed=BigInt(Number.MIN_SAFE_INTEGER),Tt=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 ze;if(t<bd&&t>Ed)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>Ha&&(o=0n,++n>Ha&&(n=0n))),new e(Number(o),Number(n))}static fromNumber(t){if(t===0)return ze;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):ze}},ze=new Tt(0,0);ze.toBigInt=function(){return 0n};ze.zzEncode=ze.zzDecode=function(){return this};ze.length=function(){return 1};var Ha=4294967296n;function $a(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 za(e,t,r){if(r-t<1)return"";let o,i=[],s=0,a;for(;t<r;)a=e[t++],a<128?i[s++]=a:a>191&&a<224?i[s++]=(a&31)<<6|e[t++]&63:a>239&&a<365?(a=((a&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,i[s++]=55296+(a>>10),i[s++]=56320+(a&1023)):i[s++]=(a&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 Ai(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 Ft(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 vi=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,Ft(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 Ft(this,4);return Rn(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Ft(this,4);return Rn(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Ft(this,4);let t=Fa(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Ft(this,4);let t=qa(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 Ft(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return za(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Ft(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Ft(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 Tt(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 Ft(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 Ft(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 Ft(this,8);let t=Rn(this.buf,this.pos+=4),r=Rn(this.buf,this.pos+=4);return new Tt(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=Oa(this.buf,this.pos);return this.pos+=Hr(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 Bi(e){return new vi(e instanceof Uint8Array?e:e.subarray())}function De(e,t,r){let n=Bi(e);return t.decode(n,void 0,r)}function Ti(e){let t=e??8192,r=t>>>1,n,o=t;return function(s){if(s<1||s>r)return St(s);o+s>t&&(n=St(t),o=0);let a=n.subarray(o,o+=s);return(o&7)!==0&&(o=(o|7)+1),a}}var Ze=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function Ii(){}var _i=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Sd=Ti();function Ad(e){return globalThis.Buffer!=null?St(e):Sd(e)}var zr=class{len;head;tail;states;constructor(){this.len=0,this.head=new Ze(Ii,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new Ze(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Di((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(Ln,10,Tt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=Tt.fromBigInt(t);return this._push(Ln,r.length(),r)}uint64Number(t){return this._push(Ka,Hr(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=Tt.fromBigInt(t).zzEncode();return this._push(Ln,r.length(),r)}sint64Number(t){let r=Tt.fromNumber(t).zzEncode();return this._push(Ln,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Ci,1,t?1:0)}fixed32(t){return this._push($r,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=Tt.fromBigInt(t);return this._push($r,4,r.lo)._push($r,4,r.hi)}fixed64Number(t){let r=Tt.fromNumber(t);return this._push($r,4,r.lo)._push($r,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(Ma,4,t)}double(t){return this._push(Va,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(Ci,1,0):this.uint32(r)._push(Bd,r,t)}string(t){let r=$a(t);return r!==0?this.uint32(r)._push(Ai,r,t):this._push(Ci,1,0)}fork(){return this.states=new _i(this),this.head=this.tail=new Ze(Ii,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 Ze(Ii,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=Ad(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function Ci(e,t,r){t[r]=e&255}function vd(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var Di=class extends Ze{next;constructor(t,r){super(vd,t,r),this.next=void 0}};function Ln(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 $r(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 Bd(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(zr.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(Td,t,e),this},zr.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(Id,t,e),this});function Td(e,t,r){t.set(e,r)}function Id(e,t,r){e.length<40?Ai(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(H(e),r)}function Ui(){return new zr}function Ue(e,t){let r=Ui();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 Nn(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 a=t(i);s.int32(a)},n=function(i){let s=i.int32();return t(s)};return Nn("enum",dr.VARINT,r,n)}function Re(e,t){return Nn("message",dr.LENGTH_DELIMITED,e,t)}var nt;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.secp256k1="secp256k1",e.ECDSA="ECDSA"})(nt||(nt={}));var Ri;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.secp256k1=2]="secp256k1",e[e.ECDSA=3]="ECDSA"})(Ri||(Ri={}));(function(e){e.codec=()=>Zr(Ri)})(nt||(nt={}));var Zt;(function(e){let t;e.codec=()=>(t==null&&(t=Re((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),nt.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 a=r.uint32();switch(a>>>3){case 1:{i.Type=nt.codec().decode(r);break}case 2:{i.Data=r.bytes();break}default:{r.skipType(a&7);break}}}return i})),t),e.encode=r=>Ue(r,e.codec()),e.decode=(r,n)=>De(r,e.codec(),n)})(Zt||(Zt={}));var Li;(function(e){let t;e.codec=()=>(t==null&&(t=Re((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),nt.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 a=r.uint32();switch(a>>>3){case 1:{i.Type=nt.codec().decode(r);break}case 2:{i.Data=r.bytes();break}default:{r.skipType(a&7);break}}}return i})),t),e.encode=r=>Ue(r,e.codec()),e.decode=(r,n)=>De(r,e.codec(),n)})(Li||(Li={}));var Yr={};yt(Yr,{MAX_RSA_KEY_SIZE:()=>Ni,generateRSAKeyPair:()=>Wa,jwkToJWKKeyPair:()=>Ja,jwkToPkcs1:()=>Ud,jwkToPkix:()=>Oi,jwkToRSAPrivateKey:()=>qi,pkcs1MessageToJwk:()=>Pi,pkcs1MessageToRSAPrivateKey:()=>Mi,pkcs1ToJwk:()=>Dd,pkcs1ToRSAPrivateKey:()=>Xa,pkixMessageToJwk:()=>Ki,pkixMessageToRSAPublicKey:()=>Vi,pkixToJwk:()=>Rd,pkixToRSAPublicKey:()=>Fi});var kn=An;var hr=class{type="RSA";jwk;_raw;_multihash;constructor(t,r){this.jwk=t,this._multihash=r}get raw(){return this._raw==null&&(this._raw=Yr.jwkToPkix(this.jwk)),this._raw}toMultihash(){return this._multihash}toCID(){return Y.createV1(114,this._multihash)}toString(){return G.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:rt(this.raw,t.raw)}verify(t,r,n){return ja(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=Yr.jwkToPkcs1(this.jwk)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:rt(this.raw,t.raw)}sign(t,r){return Ya(this.jwk,t,r)}};var Ni=8192,ki=18,Cd=1062,_d=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function Dd(e){let t=Wt(e);return Pi(t)}function Pi(e){return{n:$(e[1],"base64url"),e:$(e[2],"base64url"),d:$(e[3],"base64url"),p:$(e[4],"base64url"),q:$(e[5],"base64url"),dp:$(e[6],"base64url"),dq:$(e[7],"base64url"),qi:$(e[8],"base64url"),kty:"RSA"}}function Ud(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 ot("JWK was missing components");return be([xt(Uint8Array.from([0])),xt(H(e.n,"base64url")),xt(H(e.e,"base64url")),xt(H(e.d,"base64url")),xt(H(e.p,"base64url")),xt(H(e.q,"base64url")),xt(H(e.dp,"base64url")),xt(H(e.dq,"base64url")),xt(H(e.qi,"base64url"))]).subarray()}function Rd(e){let t=Wt(e,{offset:0});return Ki(t)}function Ki(e){let t=Wt(e[1],{offset:0});return{kty:"RSA",n:$(t[0],"base64url"),e:$(t[1],"base64url")}}function Oi(e){if(e.n==null||e.e==null)throw new ot("JWK was missing components");return be([_d,xn(be([xt(H(e.n,"base64url")),xt(H(e.e,"base64url"))]))]).subarray()}function Xa(e){let t=Wt(e);return Mi(t)}function Mi(e){let t=Pi(e);return qi(t)}function Fi(e,t){if(e.byteLength>=Cd)throw new We("Key size is too large");let r=Wt(e,{offset:0});return Vi(r,e,t)}function Vi(e,t,r){let n=Ki(e);if(r==null){let o=kn(Zt.encode({Type:nt.RSA,Data:t}));r=Kt(ki,o)}return new hr(n,r)}function qi(e){if(tc(e)>Ni)throw new ot("Key size is too large");let t=Ja(e),r=kn(Zt.encode({Type:nt.RSA,Data:Oi(t.publicKey)})),n=Kt(ki,r);return new Gr(t.privateKey,new hr(t.publicKey,n))}async function Wa(e){if(e>Ni)throw new ot("Key size is too large");let t=await Qa(e),r=kn(Zt.encode({Type:nt.RSA,Data:Oi(t.publicKey)})),n=Kt(ki,r);return new Gr(t.privateKey,new hr(t.publicKey,n))}function Ja(e){if(e==null)throw new ot("Missing key parameter");return{privateKey:e,publicKey:{kty:e.kty,n:e.n,e:e.e}}}async function Qa(e,t){let r=await Lt.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 Ld(r,t);return{privateKey:n[0],publicKey:n[1]}}async function Ya(e,t,r){let n=await Lt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]);r?.signal?.throwIfAborted();let o=await Lt.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 ja(e,t,r,n){let o=await Lt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);n?.signal?.throwIfAborted();let i=await Lt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},o,t,r instanceof Uint8Array?r:r.subarray());return n?.signal?.throwIfAborted(),i}async function Ld(e,t){if(e.privateKey==null||e.publicKey==null)throw new ot("Private and public key are required");let r=await Promise.all([Lt.get().subtle.exportKey("jwk",e.privateKey),Lt.get().subtle.exportKey("jwk",e.publicKey)]);return t?.signal?.throwIfAborted(),r}function tc(e){if(e.kty!=="RSA")throw new ot("invalid key type");if(e.n==null)throw new ot("invalid key modulus");return H(e.n,"base64url").length*8}var Pn=class extends ir{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,wn(t);let n=Lr(r);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let o=this.blockLen,i=new Uint8Array(o);i.set(n.length>o?t.create().update(n).digest():n);for(let s=0;s<i.length;s++)i[s]^=54;this.iHash.update(i),this.oHash=t.create();for(let s=0;s<i.length;s++)i[s]^=106;this.oHash.update(i),Qt(i)}update(t){return sr(this),this.iHash.update(t),this}digestInto(t){sr(this),tt(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:o,destroyed:i,blockLen:s,outputLen:a}=this;return t=t,t.finished=o,t.destroyed=i,t.blockLen=s,t.outputLen=a,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()}},Hi=(e,t,r)=>new Pn(e,t).update(r).digest();Hi.create=(e,t)=>new Pn(e,t);var ec=(e,t)=>(e+(e>=0?t:-t)/nc)/t;function Nd(e,t,r){let[[n,o],[i,s]]=t,a=ec(s*e,r),c=ec(-o*e,r),l=e-a*n-c*i,u=-a*o-c*s,d=l<ue,f=u<ue;d&&(l=-l),f&&(u=-u);let p=Te(Math.ceil(Bn(r)/2))+mr;if(l<ue||l>=p||u<ue||u>=p)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:l,k2neg:f,k2:u}}function rc(e){e.lowS!==void 0&&ee("lowS",e.lowS),e.prehash!==void 0&&ee("prehash",e.prehash)}var $i=class extends Error{constructor(t=""){super(t)}},ce={Err:$i,_tlv:{encode:(e,t)=>{let{Err:r}=ce;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}=ce,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 c=o&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let l=t.subarray(n,n+c);if(l.length!==c)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+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+s)}}},_int:{encode(e){let{Err:t}=ce;if(e<ue)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}=ce;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 ar(e)}},toSig(e){let{Err:t,_int:r,_tlv:n}=ce,o=j("signature",e),{v:i,l:s}=n.decode(48,o);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,i),{v:l,l:u}=n.decode(2,c);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(l)}},hexFromSig(e){let{_tlv:t,_int:r}=ce,n=t.encode(2,r.encode(e.r)),o=t.encode(2,r.encode(e.s)),i=n+o;return t.encode(48,i)}},ue=BigInt(0),mr=BigInt(1),nc=BigInt(2),Kn=BigInt(3),kd=BigInt(4);function Pd(e,t,r){function n(o){let i=e.sqr(o),s=e.mul(i,o);return e.add(e.add(s,e.mul(o,t)),r)}return n}function pr(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=j("private key",t);try{n=e.fromBytes(o)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof t}`)}}if(!e.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function Kd(e,t={}){let{Fp:r,Fn:n}=Tn("weierstrass",e,t),{h:o,n:i}=e;Ie(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:s}=t;if(s&&(!r.is0(e.a)||typeof s.beta!="bigint"||!Array.isArray(s.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');function a(){if(!r.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function c(v,m,h){let{x:y,y:A}=m.toAffine(),L=r.toBytes(y);if(ee("isCompressed",h),h){a();let U=!r.isOdd(A);return wt(oc(U),L)}else return wt(Uint8Array.of(4),L,r.toBytes(A))}function l(v){tt(v);let m=r.BYTES,h=m+1,y=2*m+1,A=v.length,L=v[0],U=v.subarray(1);if(A===h&&(L===2||L===3)){let g=r.fromBytes(U);if(!r.isValid(g))throw new Error("bad point: is not on curve, wrong x");let S=f(g),I;try{I=r.sqrt(S)}catch(V){let q=V instanceof Error?": "+V.message:"";throw new Error("bad point: is not on curve, sqrt error"+q)}a();let N=r.isOdd(I);return(L&1)===1!==N&&(I=r.neg(I)),{x:g,y:I}}else if(A===y&&L===4){let g=r.fromBytes(U.subarray(m*0,m*1)),S=r.fromBytes(U.subarray(m*1,m*2));if(!p(g,S))throw new Error("bad point: is not on curve");return{x:g,y:S}}else throw new Error(`bad point: got length ${A}, expected compressed=${h} or uncompressed=${y}`)}let u=t.toBytes||c,d=t.fromBytes||l,f=Pd(r,e.a,e.b);function p(v,m){let h=r.sqr(m),y=f(v);return r.eql(h,y)}if(!p(e.Gx,e.Gy))throw new Error("bad curve params: generator point");let E=r.mul(r.pow(e.a,Kn),kd),x=r.mul(r.sqr(e.b),BigInt(27));if(r.is0(r.add(E,x)))throw new Error("bad curve params: a or b");function w(v,m,h=!1){if(!r.isValid(m)||h&&r.is0(m))throw new Error(`bad point coordinate ${v}`);return m}function T(v){if(!(v instanceof _))throw new Error("ProjectivePoint expected")}function R(v){if(!s||!s.basises)throw new Error("no endo");return Nd(v,s.basises,n.ORDER)}let D=cr((v,m)=>{let{X:h,Y:y,Z:A}=v;if(r.eql(A,r.ONE))return{x:h,y};let L=v.is0();m==null&&(m=L?r.ONE:r.inv(A));let U=r.mul(h,m),g=r.mul(y,m),S=r.mul(A,m);if(L)return{x:r.ZERO,y:r.ZERO};if(!r.eql(S,r.ONE))throw new Error("invZ was invalid");return{x:U,y:g}}),k=cr(v=>{if(v.is0()){if(t.allowInfinityPoint&&!r.is0(v.Y))return;throw new Error("bad point: ZERO")}let{x:m,y:h}=v.toAffine();if(!r.isValid(m)||!r.isValid(h))throw new Error("bad point: x or y not field elements");if(!p(m,h))throw new Error("bad point: equation left != right");if(!v.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function O(v,m,h,y,A){return h=new _(r.mul(h.X,v),h.Y,h.Z),m=Fr(y,m),h=Fr(A,h),m.add(h)}class _{constructor(m,h,y){this.X=w("x",m),this.Y=w("y",h,!0),this.Z=w("z",y),Object.freeze(this)}static fromAffine(m){let{x:h,y}=m||{};if(!m||!r.isValid(h)||!r.isValid(y))throw new Error("invalid affine point");if(m instanceof _)throw new Error("projective point not allowed");return r.is0(h)&&r.is0(y)?_.ZERO:new _(h,y,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}static normalizeZ(m){return ie(_,m)}static fromBytes(m){return tt(m),_.fromHex(m)}static fromHex(m){let h=_.fromAffine(d(j("pointHex",m)));return h.assertValidity(),h}static fromPrivateKey(m){return _.BASE.multiply(pr(n,m))}static msm(m,h){return lr(_,n,m,h)}_setWindowSize(m){this.precompute(m)}precompute(m=8,h=!0){return B.createCache(this,m),h||this.multiply(Kn),this}assertValidity(){k(this)}hasEvenY(){let{y:m}=this.toAffine();if(!r.isOdd)throw new Error("Field doesn't support isOdd");return!r.isOdd(m)}equals(m){T(m);let{X:h,Y:y,Z:A}=this,{X:L,Y:U,Z:g}=m,S=r.eql(r.mul(h,g),r.mul(L,A)),I=r.eql(r.mul(y,g),r.mul(U,A));return S&&I}negate(){return new _(this.X,r.neg(this.Y),this.Z)}double(){let{a:m,b:h}=e,y=r.mul(h,Kn),{X:A,Y:L,Z:U}=this,g=r.ZERO,S=r.ZERO,I=r.ZERO,N=r.mul(A,A),M=r.mul(L,L),V=r.mul(U,U),q=r.mul(A,L);return q=r.add(q,q),I=r.mul(A,U),I=r.add(I,I),g=r.mul(m,I),S=r.mul(y,V),S=r.add(g,S),g=r.sub(M,S),S=r.add(M,S),S=r.mul(g,S),g=r.mul(q,g),I=r.mul(y,I),V=r.mul(m,V),q=r.sub(N,V),q=r.mul(m,q),q=r.add(q,I),I=r.add(N,N),N=r.add(I,N),N=r.add(N,V),N=r.mul(N,q),S=r.add(S,N),V=r.mul(L,U),V=r.add(V,V),N=r.mul(V,q),g=r.sub(g,N),I=r.mul(V,M),I=r.add(I,I),I=r.add(I,I),new _(g,S,I)}add(m){T(m);let{X:h,Y:y,Z:A}=this,{X:L,Y:U,Z:g}=m,S=r.ZERO,I=r.ZERO,N=r.ZERO,M=e.a,V=r.mul(e.b,Kn),q=r.mul(h,L),W=r.mul(y,U),X=r.mul(A,g),bt=r.add(h,y),Z=r.add(L,U);bt=r.mul(bt,Z),Z=r.add(q,W),bt=r.sub(bt,Z),Z=r.add(h,A);let it=r.add(L,g);return Z=r.mul(Z,it),it=r.add(q,X),Z=r.sub(Z,it),it=r.add(y,A),S=r.add(U,g),it=r.mul(it,S),S=r.add(W,X),it=r.sub(it,S),N=r.mul(M,Z),S=r.mul(V,X),N=r.add(S,N),S=r.sub(W,N),N=r.add(W,N),I=r.mul(S,N),W=r.add(q,q),W=r.add(W,q),X=r.mul(M,X),Z=r.mul(V,Z),W=r.add(W,X),X=r.sub(q,X),X=r.mul(M,X),Z=r.add(Z,X),q=r.mul(W,Z),I=r.add(I,q),q=r.mul(it,Z),S=r.mul(bt,S),S=r.sub(S,q),q=r.mul(bt,W),N=r.mul(it,N),N=r.add(N,q),new _(S,I,N)}subtract(m){return this.add(m.negate())}is0(){return this.equals(_.ZERO)}multiply(m){let{endo:h}=t;if(!n.isValidNot0(m))throw new Error("invalid scalar: out of range");let y,A,L=U=>B.cached(this,U,g=>ie(_,g));if(h){let{k1neg:U,k1:g,k2neg:S,k2:I}=R(m),{p:N,f:M}=L(g),{p:V,f:q}=L(I);A=M.add(q),y=O(h.beta,N,V,U,S)}else{let{p:U,f:g}=L(m);y=U,A=g}return ie(_,[y,A])[0]}multiplyUnsafe(m){let{endo:h}=t,y=this;if(!n.isValid(m))throw new Error("invalid scalar: out of range");if(m===ue||y.is0())return _.ZERO;if(m===mr)return y;if(B.hasCache(this))return this.multiply(m);if(h){let{k1neg:A,k1:L,k2neg:U,k2:g}=R(m),{p1:S,p2:I}=Ba(_,y,L,g);return O(h.beta,S,I,A,U)}else return B.unsafe(y,m)}multiplyAndAddUnsafe(m,h,y){let A=this.multiplyUnsafe(h).add(m.multiplyUnsafe(y));return A.is0()?void 0:A}toAffine(m){return D(this,m)}isTorsionFree(){let{isTorsionFree:m}=t;return o===mr?!0:m?m(_,this):B.unsafe(this,i).is0()}clearCofactor(){let{clearCofactor:m}=t;return o===mr?this:m?m(_,this):this.multiplyUnsafe(o)}isSmallOrder(){return this.multiplyUnsafe(o).is0()}toBytes(m=!0){return ee("isCompressed",m),this.assertValidity(),u(_,this,m)}toRawBytes(m=!0){return this.toBytes(m)}toHex(m=!0){return Rt(this.toBytes(m))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}_.BASE=new _(e.Gx,e.Gy,r.ONE),_.ZERO=new _(r.ZERO,r.ONE,r.ZERO),_.Fp=r,_.Fn=n;let K=n.BITS,B=new fr(_,t.endo?Math.ceil(K/2):K);return _}function oc(e){return Uint8Array.of(e?2:3)}function Od(e,t,r={}){wn(t),Ie(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});let n=r.randomBytes||Nr,o=r.hmac||((g,...S)=>Hi(t,g,wt(...S))),{Fp:i,Fn:s}=e,{ORDER:a,BITS:c}=s,l=ci(a),u={secret:s.BYTES,public:1+i.BYTES,publicUncompressed:1+2*i.BYTES,signature:2*s.BYTES,seed:l};function d(g){let S=a>>mr;return g>S}function f(g){return d(g)?s.neg(g):g}function p(g,S){if(!s.isValidNot0(S))throw new Error(`invalid signature ${g}: out of range 1..CURVE.n`)}class E{constructor(S,I,N){p("r",S),p("s",I),this.r=S,this.s=I,N!=null&&(this.recovery=N),Object.freeze(this)}static fromBytes(S,I="compact"){if(I==="compact"){let N=s.BYTES;tt(S,N*2);let M=S.subarray(0,N),V=S.subarray(N,N*2);return new E(s.fromBytes(M),s.fromBytes(V))}if(I==="der"){tt(S);let{r:N,s:M}=ce.toSig(S);return new E(N,M)}throw new Error("invalid format")}static fromHex(S,I){return this.fromBytes(Me(S),I)}addRecoveryBit(S){return new E(this.r,this.s,S)}recoverPublicKey(S){let I=i.ORDER,{r:N,s:M,recovery:V}=this;if(V==null||![0,1,2,3].includes(V))throw new Error("recovery id invalid");if(a*nc<I&&V>1)throw new Error("recovery id is ambiguous for h>1 curve");let W=V===2||V===3?N+a:N;if(!i.isValid(W))throw new Error("recovery id 2 or 3 invalid");let X=i.toBytes(W),bt=e.fromHex(wt(oc((V&1)===0),X)),Z=s.inv(W),it=K(j("msgHash",S)),Et=s.create(-it*Z),pe=s.create(M*Z),ke=e.BASE.multiplyUnsafe(Et).add(bt.multiplyUnsafe(pe));if(ke.is0())throw new Error("point at infinify");return ke.assertValidity(),ke}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new E(this.r,s.neg(this.s),this.recovery):this}toBytes(S="compact"){if(S==="compact")return wt(s.toBytes(this.r),s.toBytes(this.s));if(S==="der")return Me(ce.hexFromSig(this));throw new Error("invalid format")}toHex(S){return Rt(this.toBytes(S))}assertValidity(){}static fromCompact(S){return E.fromBytes(j("sig",S),"compact")}static fromDER(S){return E.fromBytes(j("sig",S),"der")}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return Rt(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return Rt(this.toBytes("compact"))}}function x(g){try{return!!pr(s,g)}catch{return!1}}function w(g,S){try{let I=g.length;return S===!0&&I!==u.public||S===!1&&I!==u.publicUncompressed?!1:!!e.fromBytes(g)}catch{return!1}}function T(g=n(l)){return ui(g,a)}let R={isValidSecretKey:x,isValidPublicKey:w,randomSecretKey:T,isValidPrivateKey:x,randomPrivateKey:T,normPrivateKeyToScalar:g=>pr(s,g),precompute(g=8,S=e.BASE){return S.precompute(g,!1)}};function D(g,S=!0){return e.BASE.multiply(pr(s,g)).toBytes(S)}function k(g){if(typeof g=="bigint")return!1;if(g instanceof e)return!0;if(s.allowedLengths||u.secret===u.public)return;let S=j("key",g).length;return S===u.public||S===u.publicUncompressed}function O(g,S,I=!0){if(k(g)===!0)throw new Error("first arg must be private key");if(k(S)===!1)throw new Error("second arg must be public key");let N=pr(s,g);return e.fromHex(S).multiply(N).toBytes(I)}let _=r.bits2int||function(g){if(g.length>8192)throw new Error("input is too large");let S=ar(g),I=g.length*8-c;return I>0?S>>BigInt(I):S},K=r.bits2int_modN||function(g){return s.create(_(g))},B=Te(c);function v(g){return Be("num < 2^"+c,g,ue,B),s.toBytes(g)}function m(g,S,I=h){if(["recovered","canonical"].some(Et=>Et in I))throw new Error("sign() legacy options not supported");let{lowS:N,prehash:M,extraEntropy:V}=I;N==null&&(N=!0),g=j("msgHash",g),rc(I),M&&(g=j("prehashed msgHash",t(g)));let q=K(g),W=pr(s,S),X=[v(W),v(q)];if(V!=null&&V!==!1){let Et=V===!0?n(u.secret):V;X.push(j("extraEntropy",Et))}let bt=wt(...X),Z=q;function it(Et){let pe=_(Et);if(!s.isValidNot0(pe))return;let ke=s.inv(pe),Ar=e.BASE.multiply(pe).toAffine(),Pe=s.create(Ar.x);if(Pe===ue)return;let vr=s.create(ke*s.create(Z+Pe*W));if(vr===ue)return;let ls=(Ar.x===Pe?0:2)|Number(Ar.y&mr),ds=vr;return N&&d(vr)&&(ds=f(vr),ls^=1),new E(Pe,ds,ls)}return{seed:bt,k2sig:it}}let h={lowS:r.lowS,prehash:!1},y={lowS:r.lowS,prehash:!1};function A(g,S,I=h){let{seed:N,k2sig:M}=m(g,S,I);return ca(t.outputLen,s.BYTES,o)(N,M)}e.BASE.precompute(8);function L(g,S,I,N=y){let M=g;S=j("msgHash",S),I=j("publicKey",I),rc(N);let{lowS:V,prehash:q,format:W}=N;if("strict"in N)throw new Error("options.strict was renamed to lowS");let X,bt;if(W===void 0){let Z=typeof M=="string"||Oe(M),it=!Z&&M!==null&&typeof M=="object"&&typeof M.r=="bigint"&&typeof M.s=="bigint";if(!Z&&!it)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(it)X=new E(M.r,M.s);else if(Z){try{X=E.fromDER(M)}catch(Et){if(!(Et instanceof ce.Err))throw Et}if(!X)try{X=E.fromCompact(M)}catch{return!1}}}else if(W==="compact"||W==="der"){if(typeof M!="string"&&!Oe(M))throw new Error('"der" / "compact" format expects Uint8Array signature');X=E.fromBytes(j("sig",M),W)}else if(W==="js"){if(!(M instanceof E))throw new Error('"js" format expects Signature instance');X=M}else throw new Error('format must be "compact", "der" or "js"');if(!X)return!1;try{if(bt=e.fromHex(I),V&&X.hasHighS())return!1;q&&(S=t(S));let{r:Z,s:it}=X,Et=K(S),pe=s.inv(it),ke=s.create(Et*pe),Ar=s.create(Z*pe),Pe=e.BASE.multiplyUnsafe(ke).add(bt.multiplyUnsafe(Ar));return Pe.is0()?!1:s.create(Pe.x)===Z}catch{return!1}}function U(g){let S=R.randomSecretKey(g);return{secretKey:S,publicKey:D(S)}}return Object.freeze({keygen:U,getPublicKey:D,sign:A,verify:L,getSharedSecret:O,utils:R,Point:e,Signature:E,info:{type:"weierstrass",lengths:u,publicKeyHasPrefix:!0}})}function Md(e){let t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(s=>Math.ceil(s/2)))):void 0,o=vt(t.n,{BITS:e.nBitLength,allowedLengths:n,modOnDecode:e.wrapPrivateKey}),i={Fp:r,Fn:o,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes};return{CURVE:t,curveOpts:i}}function Fd(e){let{CURVE:t,curveOpts:r}=Md(e),n={hmac:e.hmac,randomBytes:e.randomBytes,lowS:e.lowS,bits2int:e.bits2int,bits2int_modN:e.bits2int_modN};return{CURVE:t,curveOpts:r,hash:e.hash,ecdsaOpts:n}}function Vd(e,t){return Object.assign({},t,{ProjectivePoint:t.Point,CURVE:e})}function ic(e){let{CURVE:t,curveOpts:r,hash:n,ecdsaOpts:o}=Fd(e),i=Kd(t,r),s=Od(i,n,o);return Vd(e,s)}function sc(e,t){let r=n=>ic({...e,hash:n});return{...r(t),create:r}}var Zi={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},qd={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var ac=BigInt(2);function Hd(e){let t=Zi.p,r=BigInt(3),n=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),l=e*e*e%t,u=l*l*e%t,d=J(u,r,t)*u%t,f=J(d,r,t)*u%t,p=J(f,ac,t)*l%t,E=J(p,o,t)*p%t,x=J(E,i,t)*E%t,w=J(x,a,t)*x%t,T=J(w,c,t)*w%t,R=J(T,a,t)*x%t,D=J(R,r,t)*u%t,k=J(D,s,t)*E%t,O=J(k,n,t)*l%t,_=J(O,ac,t);if(!zi.eql(zi.sqr(_),e))throw new Error("Cannot find square root");return _}var zi=vt(Zi.p,void 0,void 0,{sqrt:Hd}),yr=sc({...Zi,Fp:zi,lowS:!0,endo:qd},An);function cc(e,t,r,n){let o=_r.digest(r instanceof Uint8Array?r:r.subarray());if(Dn(o))return o.then(({digest:i})=>(n?.signal?.throwIfAborted(),yr.verify(t,i,e))).catch(i=>{throw i.name==="AbortError"?i:new qr(String(i))});try{return n?.signal?.throwIfAborted(),yr.verify(t,o.digest,e)}catch(i){throw new qr(String(i))}}var On=class{type="secp256k1";raw;_key;constructor(t){this._key=fc(t),this.raw=uc(this._key)}toMultihash(){return Ot.digest(Ee(this))}toCID(){return Y.createV1(114,this.toMultihash())}toString(){return G.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:rt(this.raw,t.raw)}verify(t,r,n){return cc(this._key,r,t,n)}};function Gi(e){return new On(e)}function uc(e){return yr.ProjectivePoint.fromHex(e).toRawBytes(!0)}function fc(e){try{return yr.ProjectivePoint.fromHex(e),e}catch(t){throw new We(String(t))}}function lc(e,t){let{Type:r,Data:n}=Zt.decode(e),o=n??new Uint8Array;switch(r){case nt.RSA:return Fi(o,t);case nt.Ed25519:return bi(o);case nt.secp256k1:return Gi(o);case nt.ECDSA:return Wo(o);default:throw new Qe}}function Mn(e){let{Type:t,Data:r}=Zt.decode(e.digest),n=r??new Uint8Array;switch(t){case nt.Ed25519:return bi(n);case nt.secp256k1:return Gi(n);case nt.ECDSA:return Wo(n);default:throw new Qe}}function Ee(e){return Zt.encode({Type:nt[e.type],Data:e.raw})}var dc=Symbol.for("nodejs.util.inspect.custom"),$d=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()})`}[Eo]=!0;toString(){return this.string==null&&(this.string=G.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return Y.createV1($d,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return rt(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return rt(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[dc](){return`PeerId(${this.toString()})`}},Fn=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}},qn=class extends jr{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},zd=2336,Xr=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Ot.digest(H(this.url))}[dc](){return`PeerId(${this.url})`}[Eo]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return Y.createV1(zd,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=$(t)),t.toString()===this.toString())}};var Zd=114,hc=2336;function Hn(e,t){let r;if(e.charAt(0)==="1"||e.charAt(0)==="Q")r=Xt(G.decode(`z${e}`));else{if(e.startsWith("k51qzi5uqu5")||e.startsWith("kzwfwjn5ji4")||e.startsWith("k2k4r8")||e.startsWith("bafz"))return Yi(Y.parse(e));if(t==null)throw new ot('Please pass a multibase decoder for strings that do not start with "1" or "Q"');r=Xt(t.decode(e))}return pc(r)}function pc(e){if(Yd(e))return new Fn({multihash:e});if(Gd(e))try{let t=Mn(e);if(t.type==="Ed25519")return new Vn({multihash:e,publicKey:t});if(t.type==="secp256k1")return new qn({multihash:e,publicKey:t})}catch{let r=$(e.digest);return new Xr(new URL(r))}throw new Je("Supplied PeerID Multihash is invalid")}function Yi(e){if(e?.multihash==null||e.version==null||e.version===1&&e.code!==Zd&&e.code!==hc)throw new ln("Supplied PeerID CID is invalid");if(e.code===hc){let t=$(e.multihash.digest);return new Xr(new URL(t))}return pc(e.multihash)}function Gd(e){return e.code===Ot.code}function Yd(e){return e.code===_r.code}var Tu=fn($n(),1);var zn=class extends Error{static name="SignatureCreationError";constructor(t="Record signature creation failed"){super(t),this.name="SignatureCreationError"}},Vt=class extends Error{static name="SignatureVerificationError";constructor(t="Record signature verification failed"){super(t),this.name="SignatureVerificationError"}},Zn=class extends Error{static name="RecordExpiredError";constructor(t="Record has expired"){super(t),this.name="RecordExpiredError"}},Ge=class extends Error{static name="UnsupportedValidityError";constructor(t="The validity type is unsupported"){super(t),this.name="UnsupportedValidityError"}},Gn=class extends Error{static name="RecordTooLargeError";constructor(t="The record is too large"){super(t),this.name="RecordTooLargeError"}},Wr=class extends Error{static name="InvalidValueError";constructor(t="Value must be a valid content path starting with /"){super(t),this.name="InvalidValueError"}},Yn=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=Re((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 a={},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let l=o.uint32();switch(l>>>3){case 1:{a.value=o.bytes();break}case 2:{a.signatureV1=o.bytes();break}case 3:{a.validityType=e.ValidityType.codec().decode(o);break}case 4:{a.validity=o.bytes();break}case 5:{a.sequence=o.uint64();break}case 6:{a.ttl=o.uint64();break}case 7:{a.pubKey=o.bytes();break}case 8:{a.signatureV2=o.bytes();break}case 9:{a.data=o.bytes();break}default:{o.skipType(l&7);break}}}return a})),n),e.encode=o=>Ue(o,e.codec()),e.decode=(o,i)=>De(o,e.codec(),i)})(ft||(ft={}));var jd=["string","number","bigint","symbol"],Xd=["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 mc(e){if(e===null)return"null";if(e===void 0)return"undefined";if(e===!0||e===!1)return"boolean";let t=typeof e;if(jd.includes(t))return t;if(t==="function")return"Function";if(Array.isArray(e))return"Array";if(Wd(e))return"Buffer";let r=Jd(e);return r||"Object"}function Wd(e){return e&&e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer.call(null,e)}function Jd(e){let t=Object.prototype.toString.call(e).slice(8,-1);if(Xd.includes(t))return t}var b=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}};b.uint=new b(0,"uint",!0);b.negint=new b(1,"negint",!0);b.bytes=new b(2,"bytes",!0);b.string=new b(3,"string",!0);b.array=new b(4,"array",!1);b.map=new b(5,"map",!1);b.tag=new b(6,"tag",!1);b.float=new b(7,"float",!0);b.false=new b(7,"false",!0);b.true=new b(7,"true",!0);b.null=new b(7,"null",!0);b.undefined=new b(7,"undefined",!0);b.break=new b(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 gr=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Qd=new TextDecoder,th=new TextEncoder;function jn(e){return gr&&globalThis.Buffer.isBuffer(e)}function Xi(e){return e instanceof Uint8Array?jn(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e:Uint8Array.from(e)}var wc=gr?(e,t,r)=>r-t>64?globalThis.Buffer.from(e.subarray(t,r)).toString("utf8"):gc(e,t,r):(e,t,r)=>r-t>64?Qd.decode(e.subarray(t,r)):gc(e,t,r),bc=gr?e=>e.length>64?globalThis.Buffer.from(e):yc(e):e=>e.length>64?th.encode(e):yc(e),Gt=e=>Uint8Array.from(e),xr=gr?(e,t,r)=>jn(e)?new Uint8Array(e.subarray(t,r)):e.slice(t,r):(e,t,r)=>e.slice(t,r),Ec=gr?(e,t)=>(e=e.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),Xi(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},Sc=gr?e=>globalThis.Buffer.allocUnsafe(e):e=>new Uint8Array(e);function Ac(e,t){if(jn(e)&&jn(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 yc(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 gc(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 a,c,l,u;switch(s){case 1:o<128&&(i=o);break;case 2:a=e[t+1],(a&192)===128&&(u=(o&31)<<6|a&63,u>127&&(i=u));break;case 3:a=e[t+1],c=e[t+2],(a&192)===128&&(c&192)===128&&(u=(o&15)<<12|(a&63)<<6|c&63,u>2047&&(u<55296||u>57343)&&(i=u));break;case 4:a=e[t+1],c=e[t+2],l=e[t+3],(a&192)===128&&(c&192)===128&&(l&192)===128&&(u=(o&15)<<18|(a&63)<<12|(c&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 eh(n)}var xc=4096;function eh(e){let t=e.length;if(t<=xc)return String.fromCharCode.apply(String,e);let r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=xc));return r}var rh=256,Qr=class{constructor(t=rh){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=Sc(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=xr(n,0,this.cursor)}else r=Ec(this.chunks,this.cursor);return t&&this.reset(),r}};var F="CBOR decode error:",Wi="CBOR encode error:",tn=[];tn[23]=1;tn[24]=2;tn[25]=3;tn[26]=5;tn[27]=9;function fe(e,t,r){if(e.length-t<r)throw new Error(`${F} not enough data for type`)}var ct=[24,256,65536,4294967296,BigInt("18446744073709551616")];function It(e,t,r){fe(e,t,1);let n=e[t];if(r.strict===!0&&n<ct[0])throw new Error(`${F} integer encoded in more bytes than necessary (strict decode)`);return n}function Ct(e,t,r){fe(e,t,2);let n=e[t]<<8|e[t+1];if(r.strict===!0&&n<ct[1])throw new Error(`${F} integer encoded in more bytes than necessary (strict decode)`);return n}function _t(e,t,r){fe(e,t,4);let n=e[t]*16777216+(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];if(r.strict===!0&&n<ct[2])throw new Error(`${F} integer encoded in more bytes than necessary (strict decode)`);return n}function Dt(e,t,r){fe(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<ct[3])throw new Error(`${F} 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(`${F} integers outside of the safe integer range are not supported`)}function vc(e,t,r,n){return new P(b.uint,It(e,t+1,n),2)}function Bc(e,t,r,n){return new P(b.uint,Ct(e,t+1,n),3)}function Tc(e,t,r,n){return new P(b.uint,_t(e,t+1,n),5)}function Ic(e,t,r,n){return new P(b.uint,Dt(e,t+1,n),9)}function Nt(e,t){return lt(e,0,t.value)}function lt(e,t,r){if(r<ct[0]){let n=Number(r);e.push([t|n])}else if(r<ct[1]){let n=Number(r);e.push([t|24,n])}else if(r<ct[2]){let n=Number(r);e.push([t|25,n>>>8,n&255])}else if(r<ct[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<ct[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(`${F} encountered BigInt larger than allowable range`)}}Nt.encodedSize=function(t){return lt.encodedSize(t.value)};lt.encodedSize=function(t){return t<ct[0]?1:t<ct[1]?2:t<ct[2]?3:t<ct[3]?5:9};Nt.compareTokens=function(t,r){return t.value<r.value?-1:t.value>r.value?1:0};function Cc(e,t,r,n){return new P(b.negint,-1-It(e,t+1,n),2)}function _c(e,t,r,n){return new P(b.negint,-1-Ct(e,t+1,n),3)}function Dc(e,t,r,n){return new P(b.negint,-1-_t(e,t+1,n),5)}var Ji=BigInt(-1),Uc=BigInt(1);function Rc(e,t,r,n){let o=Dt(e,t+1,n);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new P(b.negint,i,9)}if(n.allowBigInt!==!0)throw new Error(`${F} integers outside of the safe integer range are not supported`);return new P(b.negint,Ji-BigInt(o),9)}function Xn(e,t){let r=t.value,n=typeof r=="bigint"?r*Ji-Uc:r*-1-1;lt(e,t.type.majorEncoded,n)}Xn.encodedSize=function(t){let r=t.value,n=typeof r=="bigint"?r*Ji-Uc:r*-1-1;return n<ct[0]?1:n<ct[1]?2:n<ct[2]?3:n<ct[3]?5:9};Xn.compareTokens=function(t,r){return t.value<r.value?1:t.value>r.value?-1:0};function en(e,t,r,n){fe(e,t,r+n);let o=xr(e,t+r,t+r+n);return new P(b.bytes,o,r+n)}function Lc(e,t,r,n){return en(e,t,1,r)}function Nc(e,t,r,n){return en(e,t,2,It(e,t+1,n))}function kc(e,t,r,n){return en(e,t,3,Ct(e,t+1,n))}function Pc(e,t,r,n){return en(e,t,5,_t(e,t+1,n))}function Kc(e,t,r,n){let o=Dt(e,t+1,n);if(typeof o=="bigint")throw new Error(`${F} 64-bit integer bytes lengths not supported`);return en(e,t,9,o)}function Wn(e){return e.encodedBytes===void 0&&(e.encodedBytes=e.type===b.string?bc(e.value):e.value),e.encodedBytes}function wr(e,t){let r=Wn(t);lt(e,t.type.majorEncoded,r.length),e.push(r)}wr.encodedSize=function(t){let r=Wn(t);return lt.encodedSize(r.length)+r.length};wr.compareTokens=function(t,r){return oh(Wn(t),Wn(r))};function oh(e,t){return e.length<t.length?-1:e.length>t.length?1:Ac(e,t)}function rn(e,t,r,n,o){let i=r+n;fe(e,t,i);let s=new P(b.string,wc(e,t+r,t+i),i);return o.retainStringBytes===!0&&(s.byteValue=xr(e,t+r,t+i)),s}function Oc(e,t,r,n){return rn(e,t,1,r,n)}function Mc(e,t,r,n){return rn(e,t,2,It(e,t+1,n),n)}function Fc(e,t,r,n){return rn(e,t,3,Ct(e,t+1,n),n)}function Vc(e,t,r,n){return rn(e,t,5,_t(e,t+1,n),n)}function qc(e,t,r,n){let o=Dt(e,t+1,n);if(typeof o=="bigint")throw new Error(`${F} 64-bit integer string lengths not supported`);return rn(e,t,9,o,n)}var Hc=wr;function br(e,t,r,n){return new P(b.array,n,r)}function $c(e,t,r,n){return br(e,t,1,r)}function zc(e,t,r,n){return br(e,t,2,It(e,t+1,n))}function Zc(e,t,r,n){return br(e,t,3,Ct(e,t+1,n))}function Gc(e,t,r,n){return br(e,t,5,_t(e,t+1,n))}function Yc(e,t,r,n){let o=Dt(e,t+1,n);if(typeof o=="bigint")throw new Error(`${F} 64-bit integer array lengths not supported`);return br(e,t,9,o)}function jc(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${F} indefinite length items not allowed`);return br(e,t,1,1/0)}function Jn(e,t){lt(e,b.array.majorEncoded,t.value)}Jn.compareTokens=Nt.compareTokens;Jn.encodedSize=function(t){return lt.encodedSize(t.value)};function Er(e,t,r,n){return new P(b.map,n,r)}function Xc(e,t,r,n){return Er(e,t,1,r)}function Wc(e,t,r,n){return Er(e,t,2,It(e,t+1,n))}function Jc(e,t,r,n){return Er(e,t,3,Ct(e,t+1,n))}function Qc(e,t,r,n){return Er(e,t,5,_t(e,t+1,n))}function tu(e,t,r,n){let o=Dt(e,t+1,n);if(typeof o=="bigint")throw new Error(`${F} 64-bit integer map lengths not supported`);return Er(e,t,9,o)}function eu(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${F} indefinite length items not allowed`);return Er(e,t,1,1/0)}function Qn(e,t){lt(e,b.map.majorEncoded,t.value)}Qn.compareTokens=Nt.compareTokens;Qn.encodedSize=function(t){return lt.encodedSize(t.value)};function ru(e,t,r,n){return new P(b.tag,r,1)}function nu(e,t,r,n){return new P(b.tag,It(e,t+1,n),2)}function ou(e,t,r,n){return new P(b.tag,Ct(e,t+1,n),3)}function iu(e,t,r,n){return new P(b.tag,_t(e,t+1,n),5)}function su(e,t,r,n){return new P(b.tag,Dt(e,t+1,n),9)}function to(e,t){lt(e,b.tag.majorEncoded,t.value)}to.compareTokens=Nt.compareTokens;to.encodedSize=function(t){return lt.encodedSize(t.value)};var fh=20,lh=21,dh=22,hh=23;function au(e,t,r,n){if(n.allowUndefined===!1)throw new Error(`${F} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new P(b.null,null,1):new P(b.undefined,void 0,1)}function cu(e,t,r,n){if(n.allowIndefinite===!1)throw new Error(`${F} indefinite length items not allowed`);return new P(b.break,void 0,1)}function Qi(e,t,r){if(r){if(r.allowNaN===!1&&Number.isNaN(e))throw new Error(`${F} NaN values are not supported`);if(r.allowInfinity===!1&&(e===1/0||e===-1/0))throw new Error(`${F} Infinity values are not supported`)}return new P(b.float,e,t)}function uu(e,t,r,n){return Qi(ts(e,t+1),3,n)}function fu(e,t,r,n){return Qi(es(e,t+1),5,n)}function lu(e,t,r,n){return Qi(mu(e,t+1),9,n)}function eo(e,t,r){let n=t.value;if(n===!1)e.push([b.float.majorEncoded|fh]);else if(n===!0)e.push([b.float.majorEncoded|lh]);else if(n===null)e.push([b.float.majorEncoded|dh]);else if(n===void 0)e.push([b.float.majorEncoded|hh]);else{let o,i=!1;(!r||r.float64!==!0)&&(hu(n),o=ts(qt,1),n===o||Number.isNaN(n)?(qt[0]=249,e.push(qt.slice(0,3)),i=!0):(pu(n),o=es(qt,1),n===o&&(qt[0]=250,e.push(qt.slice(0,5)),i=!0))),i||(ph(n),o=mu(qt,1),qt[0]=251,e.push(qt.slice(0,9)))}}eo.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){hu(n);let o=ts(qt,1);if(n===o||Number.isNaN(n))return 3;if(pu(n),o=es(qt,1),n===o)return 5}return 9};var du=new ArrayBuffer(9),kt=new DataView(du,1),qt=new Uint8Array(du,0);function hu(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 ts(e,t){if(e.length-t<2)throw new Error(`${F} 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 pu(e){kt.setFloat32(0,e,!1)}function es(e,t){if(e.length-t<4)throw new Error(`${F} not enough data for float32`);let r=(e.byteOffset||0)+t;return new DataView(e.buffer,r,4).getFloat32(0,!1)}function ph(e){kt.setFloat64(0,e,!1)}function mu(e,t){if(e.length-t<8)throw new Error(`${F} not enough data for float64`);let r=(e.byteOffset||0)+t;return new DataView(e.buffer,r,8).getFloat64(0,!1)}eo.compareTokens=Nt.compareTokens;function z(e,t,r){throw new Error(`${F} encountered invalid minor (${r}) for major ${e[t]>>>5}`)}function ro(e){return()=>{throw new Error(`${F} ${e}`)}}var C=[];for(let e=0;e<=23;e++)C[e]=z;C[24]=vc;C[25]=Bc;C[26]=Tc;C[27]=Ic;C[28]=z;C[29]=z;C[30]=z;C[31]=z;for(let e=32;e<=55;e++)C[e]=z;C[56]=Cc;C[57]=_c;C[58]=Dc;C[59]=Rc;C[60]=z;C[61]=z;C[62]=z;C[63]=z;for(let e=64;e<=87;e++)C[e]=Lc;C[88]=Nc;C[89]=kc;C[90]=Pc;C[91]=Kc;C[92]=z;C[93]=z;C[94]=z;C[95]=ro("indefinite length bytes/strings are not supported");for(let e=96;e<=119;e++)C[e]=Oc;C[120]=Mc;C[121]=Fc;C[122]=Vc;C[123]=qc;C[124]=z;C[125]=z;C[126]=z;C[127]=ro("indefinite length bytes/strings are not supported");for(let e=128;e<=151;e++)C[e]=$c;C[152]=zc;C[153]=Zc;C[154]=Gc;C[155]=Yc;C[156]=z;C[157]=z;C[158]=z;C[159]=jc;for(let e=160;e<=183;e++)C[e]=Xc;C[184]=Wc;C[185]=Jc;C[186]=Qc;C[187]=tu;C[188]=z;C[189]=z;C[190]=z;C[191]=eu;for(let e=192;e<=215;e++)C[e]=ru;C[216]=nu;C[217]=ou;C[218]=iu;C[219]=su;C[220]=z;C[221]=z;C[222]=z;C[223]=z;for(let e=224;e<=243;e++)C[e]=ro("simple values are not supported");C[244]=z;C[245]=z;C[246]=z;C[247]=au;C[248]=ro("simple values are not supported");C[249]=uu;C[250]=fu;C[251]=lu;C[252]=z;C[253]=z;C[254]=z;C[255]=cu;var Ht=[];for(let e=0;e<24;e++)Ht[e]=new P(b.uint,e,1);for(let e=-1;e>=-24;e--)Ht[31-e]=new P(b.negint,e,1);Ht[64]=new P(b.bytes,new Uint8Array(0),1);Ht[96]=new P(b.string,"",1);Ht[128]=new P(b.array,0,1);Ht[160]=new P(b.map,0,1);Ht[244]=new P(b.false,!1,1);Ht[245]=new P(b.true,!0,1);Ht[246]=new P(b.null,null,1);function yu(e){switch(e.type){case b.false:return Gt([244]);case b.true:return Gt([245]);case b.null:return Gt([246]);case b.bytes:return e.value.length?void 0:Gt([64]);case b.string:return e.value===""?Gt([96]):void 0;case b.array:return e.value===0?Gt([128]):void 0;case b.map:return e.value===0?Gt([160]):void 0;case b.uint:return e.value<24?Gt([Number(e.value)]):void 0;case b.negint:if(e.value>=-24)return Gt([31-Number(e.value)])}}var yh={float64:!1,mapSorter:wh,quickEncodeToken:yu};function gh(){let e=[];return e[b.uint.major]=Nt,e[b.negint.major]=Xn,e[b.bytes.major]=wr,e[b.string.major]=Hc,e[b.array.major]=Jn,e[b.map.major]=Qn,e[b.tag.major]=to,e[b.float.major]=eo,e}var gu=gh(),rs=new Qr,oo=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(`${Wi} object contains circular references`);return new e(r,t)}},Le={null:new P(b.null,null),undefined:new P(b.undefined,void 0),true:new P(b.true,!0),false:new P(b.false,!1),emptyArray:new P(b.array,0),emptyMap:new P(b.map,0)},Ne={number(e,t,r,n){return!Number.isInteger(e)||!Number.isSafeInteger(e)?new P(b.float,e):e>=0?new P(b.uint,e):new P(b.negint,e)},bigint(e,t,r,n){return e>=BigInt(0)?new P(b.uint,e):new P(b.negint,e)},Uint8Array(e,t,r,n){return new P(b.bytes,e)},string(e,t,r,n){return new P(b.string,e)},boolean(e,t,r,n){return e?Le.true:Le.false},null(e,t,r,n){return Le.null},undefined(e,t,r,n){return Le.undefined},ArrayBuffer(e,t,r,n){return new P(b.bytes,new Uint8Array(e))},DataView(e,t,r,n){return new P(b.bytes,new Uint8Array(e.buffer,e.byteOffset,e.byteLength))},Array(e,t,r,n){if(!e.length)return r.addBreakTokens===!0?[Le.emptyArray,new P(b.break)]:Le.emptyArray;n=oo.createCheck(n,e);let o=[],i=0;for(let s of e)o[i++]=no(s,r,n);return r.addBreakTokens?[new P(b.array,e.length),o,new P(b.break)]:[new P(b.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?[Le.emptyMap,new P(b.break)]:Le.emptyMap;n=oo.createCheck(n,e);let a=[],c=0;for(let l of i)a[c++]=[no(l,r,n),no(o?e.get(l):e[l],r,n)];return xh(a,r),r.addBreakTokens?[new P(b.map,s),a,new P(b.break)]:[new P(b.map,s),a]}};Ne.Map=Ne.Object;Ne.Buffer=Ne.Uint8Array;for(let e of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Ne[`${e}Array`]=Ne.DataView;function no(e,t={},r){let n=mc(e),o=t&&t.typeEncoders&&t.typeEncoders[n]||Ne[n];if(typeof o=="function"){let s=o(e,n,t,r);if(s!=null)return s}let i=Ne[n];if(!i)throw new Error(`${Wi} unsupported type: ${n}`);return i(e,n,t,r)}function xh(e,t){t.mapSorter&&e.sort(t.mapSorter)}function wh(e,t){let r=Array.isArray(e[0])?e[0][0]:e[0],n=Array.isArray(t[0])?t[0][0]:t[0];if(r.type!==n.type)return r.type.compare(n.type);let o=r.type.major,i=gu[o].compareTokens(r,n);return i===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),i}function xu(e,t,r,n){if(Array.isArray(t))for(let o of t)xu(e,o,r,n);else r[t.type.major](e,t,n)}function bh(e,t,r){let n=no(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),a=new Qr(s);if(i(a,n,r),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return Xi(a.chunks[0])}}return rs.reset(),xu(rs,n,t,r),rs.toBytes(!0)}function ns(e,t){return t=Object.assign({},yh,t),bh(e,gu,t)}var Eh={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},io=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=C[t];if(!n)throw new Error(`${F} 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"),so=Symbol.for("BREAK");function Sh(e,t,r){let n=[];for(let o=0;o<e.value;o++){let i=Sr(t,r);if(i===so){if(e.value===1/0)break;throw new Error(`${F} got unexpected break to lengthed array`)}if(i===nn)throw new Error(`${F} found array but not enough entries (got ${o}, expected ${e.value})`);n[o]=i}return n}function Ah(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 a=Sr(t,r);if(a===so){if(e.value===1/0)break;throw new Error(`${F} got unexpected break to lengthed map`)}if(a===nn)throw new Error(`${F} found map but not enough entries (got ${s} [no key], expected ${e.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${F} non-string keys not supported (got ${typeof a})`);if(r.rejectDuplicateMapKeys===!0&&(n&&i.has(a)||!n&&a in o))throw new Error(`${F} found repeat map key "${a}"`);let c=Sr(t,r);if(c===nn)throw new Error(`${F} found map but not enough entries (got ${s} [no value], expected ${e.value})`);n?i.set(a,c):o[a]=c}return n?i:o}function Sr(e,t){if(e.done())return nn;let r=e.next();if(r.type===b.break)return so;if(r.type.terminal)return r.value;if(r.type===b.array)return Sh(r,e,t);if(r.type===b.map)return Ah(r,e,t);if(r.type===b.tag){if(t.tags&&typeof t.tags[r.value]=="function"){let n=Sr(e,t);return t.tags[r.value](n)}throw new Error(`${F} tag not supported (${r.value})`)}throw new Error("unsupported")}function wu(e,t){if(!(e instanceof Uint8Array))throw new Error(`${F} data to decode must be a Uint8Array`);t=Object.assign({},Eh,t);let r=t.tokenizer||new io(e,t),n=Sr(r,t);if(n===nn)throw new Error(`${F} did not find any content to decode`);if(n===so)throw new Error(`${F} got unexpected break`);return[n,e.subarray(r.pos())]}function os(e,t){let[r,n]=wu(e,t);if(n.length>0)throw new Error(`${F} too many terminals, data makes no sense`);return r}var Bh=ge("ipns:utils"),bu=H("/ipns/"),Th=114,Ih=0,Ch=18;function on(e){let t;if(e.pubKey!=null)try{t=lc(e.pubKey)}catch(r){throw Bh.error(r),r}if(t!=null)return t}function Eu(e,t,r){let n=H(t);return we([e,r,n])}function co(e){let t=H("ipns-signature:");return we([t,e])}function uo(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 Yt(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 Vt("Missing data or signatureV2");let r=vu(t.data),n=_h(r.Value),o=$(r.Validity);if(t.value!=null&&t.signatureV1!=null)return Dh(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 je(e){return we([bu,e.bytes])}function Su(e){let t=Xt(e.slice(bu.length));if(!ao(t,Ih)&&!ao(t,Ch))throw new Je("Multihash in IPNS key was not identity or sha2-256");return t}function Au(e,t,r,n,o){let i;if(t===ft.ValidityType.EOL)i=0;else throw new Ge("The validity type is unsupported");return ns({Value:e,Validity:r,ValidityType:i,Sequence:n,TTL:o})}function vu(e){let t=os(e);if(t.ValidityType===0)t.ValidityType=ft.ValidityType.EOL;else throw new Ge("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 _h(e){let t=$(e).trim();if(t.startsWith("/"))return t;try{return`/ipfs/${Y.decode(e).toV1().toString()}`}catch{}try{return`/ipfs/${Y.parse(t).toV1().toString()}`}catch{}throw new Wr("Value must be a valid content path starting with /")}function Bu(e){if(e!=null){let t=Lh(e);if(t!=null)return t.code===Th?`/ipns/${t.toString(Pt)}`:`/ipfs/${t.toV1().toString()}`;if(Uh(e))return`/ipns/${Pt.encode(e.bytes)}`;let r=e.toString().trim();if(r.startsWith("/")&&r.length>1)return r}throw new Wr("Value must be a valid content path starting with /")}function Dh(e){if(e.data==null)throw new Yn("Record data is missing");let t=vu(e.data);if(!rt(t.Value,e.value??new Uint8Array(0)))throw new Vt('Field "value" did not match between protobuf and CBOR');if(!rt(t.Validity,e.validity??new Uint8Array(0)))throw new Vt('Field "validity" did not match between protobuf and CBOR');if(t.ValidityType!==e.validityType)throw new Vt('Field "validityType" did not match between protobuf and CBOR');if(t.Sequence!==e.sequence)throw new Vt('Field "sequence" did not match between protobuf and CBOR');if(t.TTL!==e.ttl)throw new Vt('Field "ttl" did not match between protobuf and CBOR')}function Uh(e){return e.bytes instanceof Uint8Array}function Rh(e){return typeof e?.toCID=="function"}function Lh(e){if(Rh(e))return e.toCID();try{return Y.parse(e)}catch{}return Y.asCID(e)}function ao(e,t){return e.code===t}var Nh=ge("ipns"),Iu=300*1e9,kh="/ipns/",_w=kh.length,Cu={v1Compatible:!0,ttlNs:Iu};async function _u(e,t,r,n,o=Cu){let i=new Tu.default(Date.now()+Number(n)),s=ft.ValidityType.EOL,a=BigInt(o.ttlNs??Iu);return Ph(e,t,r,s,i.toString(),a,o)}var Ph=async(e,t,r,n,o,i,s=Cu)=>{r=BigInt(r);let a=H(o),c=Bu(t),l=H(c),u=Au(l,n,a,r,i),d=co(u),f=await e.sign(d),p;if(e.type==="RSA"&&(p=Ee(e.publicKey)),s.v1Compatible===!0){let E=await Kh(e,l,n,a),x={value:c,signatureV1:E,validity:o,validityType:n,sequence:r,ttl:i,signatureV2:f,data:u};return p!=null&&(x.pubKey=p),x}else{let E={value:c,validity:o,validityType:n,sequence:r,ttl:i,signatureV2:f,data:u};return p!=null&&(E.pubKey=p),E}},Kh=async(e,t,r,n)=>{try{let o=Eu(t,r,n);return await e.sign(o)}catch(o){throw Nh.error("record signature creation failed",o),new zn("Record signature creation failed")}};var is=fn($n(),1);function fo(e,t){let r=t.map((n,o)=>({record:Yt(n),index:o}));return r.sort((n,o)=>{let i=n.record.sequence,s=o.record.sequence;if(i>s)return-1;if(i<s)return 1;if(n.record.validityType===ft.ValidityType.EOL&&o.record.validityType===ft.ValidityType.EOL){let a=is.default.fromString(n.record.validity).toDate(),c=is.default.fromString(o.record.validity).toDate();if(a.getTime()>c.getTime())return-1;if(a.getTime()<c.getTime())return 1}return 0}),r[0].index}var Du=fn($n(),1);var lo=ge("ipns:validator"),Oh=1024*10;async function Mh(e,t){let r=Yt(t),n;try{let o=co(r.data);n=await e.verify(o,r.signatureV2)}catch{n=!1}if(!n)throw lo.error("record signature verification failed"),new Vt("Record signature verification failed");if(r.validityType===ft.ValidityType.EOL){if(Du.default.fromString(r.validity).toDate().getTime()<Date.now())throw lo.error("record has expired"),new Zn("record has expired")}else if(r.validityType!=null)throw lo.error("the validity type is unsupported"),new Ge("The validity type is unsupported");lo("ipns record for %s is valid",r.value)}async function sn(e,t){if(t.byteLength>Oh)throw new Gn("The record is too large");let r=Su(e),n;ao(r,0)&&(n=Mn(r));let o=Yt(t),i=on(o)??n;if(i==null)throw new Jr("Could not extract public key from IPNS record or routing key");let s=je(i.toMultihash());if(!rt(s,e))throw new Jr("Embedded public key did not match routing key");await Mh(i,t)}var ht=class extends Event{type;detail;constructor(t,r){super(t),this.type=t,this.detail=r}};var qh=fn(Ru(),1);var le;(function(e){e[e.A=1]="A",e[e.CNAME=5]="CNAME",e[e.TXT=16]="TXT",e[e.AAAA=28]="AAAA"})(le||(le={}));var ho=class extends Error{static name="DNSLinkNotFoundError";constructor(t="DNSLink not found"){super(t),this.name="DNSLinkNotFoundError"}},po=class extends Error{static name="RecordsFailedValidationError";constructor(t="Records failed validation"){super(t),this.name="RecordsFailedValidationError"}},mo=class extends Error{static name="UnsupportedMultibasePrefixError";constructor(t="Unsupported multibase prefix"){super(t),this.name="UnsupportedMultibasePrefixError"}},yo=class extends Error{static name="UnsupportedMultihashCodecError";constructor(t="Unsupported multihash codec"){super(t),this.name="UnsupportedMultihashCodecError"}},go=class extends Error{static name="InvalidValueError";constructor(t="Invalid value"){super(t),this.name="InvalidValueError"}};var Hh=32;async function Lu(e,t,r,n,o={}){if(t===0)throw new Error("recursion limit exceeded");n("query %s for TXT and CNAME records",e);let s=((await r.query(e,{...o,types:[le.TXT]}))?.Answer??[]).sort((l,u)=>l.data.localeCompare(u.data));n("found %d TXT records for %s",s.length,e);for(let l of s)try{let u=l.data;if(u.startsWith('"')&&u.endsWith('"')&&(u=u.substring(1,u.length-1)),!u.startsWith("dnslink="))continue;n("%s TXT %s",l.name,u),u=u.replace("dnslink=","");let[,d,f,...p]=u.split("/");if(d==="ipfs")try{return{value:`/ipfs/${Y.parse(f)}${p.length>0?`/${p.join("/")}`:""}`,answer:l}}catch{}else if(d==="ipns"){try{let E;return f.charAt(0)==="1"||f.charAt(0)==="Q"?E=Hn(f):E=Yi(Y.parse(f)),{value:`/ipns/${E}${p.length>0?`/${p.join("/")}`:""}`,answer:l}}catch{}return await xo(f,t-1,r,n,o)}else{if(d==="dnslink")return await xo(f,t-1,r,n,o);n('unknown protocol "%s" in DNSLink record for domain: %s',d,e);continue}}catch(u){n.error("could not parse DNS link record for domain %s, %s",e,l.data,u)}n("no DNSLink records found for %s, falling back to CNAME",e);let c=((await r.query(e,{...o,types:[le.CNAME]}))?.Answer??[]).sort((l,u)=>l.data.localeCompare(u.data));n("found %d CNAME records for %s",c.length,e);for(let l of c)try{return await xo(l.data,t-1,r,n,o)}catch(u){n.error("domain %s cname %s had no DNSLink records",e,l.data,u)}throw new ho(`No DNSLink records found for domain: ${e}`)}async function xo(e,t,r,n,o={}){if(t===0)throw new Error("recursion limit exceeded");e.startsWith("_dnslink.")||(e=`_dnslink.${e}`);try{return await Lu(e,t,r,n,o)}catch(i){if(i.code!=="ENOTFOUND"&&i.code!=="ENODATA"&&i.name!=="DNSLinkNotFoundError"&&i.name!=="NotFoundError")throw i;return e.startsWith("_dnslink.")?e=e.replace("_dnslink.",""):e=`_dnslink.${e}`,Lu(e,t,r,n,o)}}async function Nu(e,t,r,n={}){return xo(e,n.maxRecursiveDepth??Hh,t,r,n)}var ss=class{routing;constructor(t){this.routing=t}async put(t,r,n={}){try{await this.routing.put(t,r,n)}catch(o){throw n.onProgress?.(new ht("ipns:routing:helia:error",o)),o}}async get(t,r={}){try{return await this.routing.get(t,r)}catch(n){throw r.onProgress?.(new ht("ipns:routing:helia:error",n)),n}}};function ku(e){return new ss(e)}var an;(function(e){let t;e.codec=()=>(t==null&&(t=Re((r,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),r.key!=null&&r.key.byteLength>0&&(n.uint32(10),n.bytes(r.key)),r.value!=null&&r.value.byteLength>0&&(n.uint32(18),n.bytes(r.value)),r.timeReceived!=null&&r.timeReceived!==""&&(n.uint32(42),n.string(r.timeReceived)),o.lengthDelimited!==!1&&n.ldelim()},(r,n,o={})=>{let i={key:Ut(0),value:Ut(0),timeReceived:""},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let a=r.uint32();switch(a>>>3){case 1:{i.key=r.bytes();break}case 2:{i.value=r.bytes();break}case 5:{i.timeReceived=r.string();break}default:{r.skipType(a&7);break}}}return i})),t),e.encode=r=>Ue(r,e.codec()),e.decode=(r,n)=>De(r,e.codec(),n)})(an||(an={}));function Pu(e){let t=e.getUTCFullYear(),r=String(e.getUTCMonth()+1).padStart(2,"0"),n=String(e.getUTCDate()).padStart(2,"0"),o=String(e.getUTCHours()).padStart(2,"0"),i=String(e.getUTCMinutes()).padStart(2,"0"),s=String(e.getUTCSeconds()).padStart(2,"0"),a=e.getUTCMilliseconds(),c=String(a*1e3*1e3).padStart(9,"0");return`${t}-${r}-${n}T${o}:${i}:${s}.${c}Z`}function Ku(e){let t=new RegExp("(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d+)Z"),r=String(e).trim().match(t);if(r==null)throw new Error("Invalid format");let n=parseInt(r[1],10),o=parseInt(r[2],10)-1,i=parseInt(r[3],10),s=parseInt(r[4],10),a=parseInt(r[5],10),c=parseInt(r[6],10),l=parseInt(r[7].slice(0,-6),10);return new Date(Date.UTC(n,o,i,s,a,c,l))}var Xe=class e{key;value;timeReceived;constructor(t,r,n){if(!(t instanceof Uint8Array))throw new Error("key must be a Uint8Array");if(!(r instanceof Uint8Array))throw new Error("value must be a Uint8Array");this.key=t,this.value=r,this.timeReceived=n}serialize(){return an.encode(this.prepareSerialize())}prepareSerialize(){return{key:this.key,value:this.value,timeReceived:Pu(this.timeReceived)}}static deserialize(t){let r=an.decode(t);return new e(r.key,r.value,new Date(r.timeReceived))}static fromDeserialized(t){let r=Ku(t.timeReceived);if(t.key==null)throw new Error("key missing from deserialized object");if(t.value==null)throw new Error("value missing from deserialized object");return new e(t.key,t.value,r)}};var de="/",Ou=new TextEncoder().encode(de),wo=Ou[0],cn=class e{_buf;constructor(t,r){if(typeof t=="string")this._buf=H(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==wo)throw new Error("Invalid key")}toString(t="utf8"){return $(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new e(t.join(de))}static random(){return new e(Math.random().toString().substring(2))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new e(t):typeof t.uint8Array=="function"?new e(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Ou),this._buf[0]!==wo){let t=new Uint8Array(this._buf.byteLength+1);t.fill(wo,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===wo;)this._buf=this._buf.subarray(0,-1)}less(t){let r=this.list(),n=t.list();for(let o=0;o<r.length;o++){if(n.length<o+1)return!1;let i=r[o],s=n[o];if(i<s)return!0;if(i>s)return!1}return r.length<n.length}reverse(){return e.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(de).slice(1)}type(){return zh(this.baseNamespace())}name(){return Zh(this.baseNamespace())}instance(t){return new e(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(de)||(t+=de),t+=this.type(),new e(t)}parent(){let t=this.list();return t.length===1?new e(de):new e(t.slice(0,-1).join(de))}child(t){return this.toString()===de?t:t.toString()===de?this:new e(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return e.withNamespaces([...this.namespaces(),...Gh(t.map(r=>r.namespaces()))])}};function zh(e){let t=e.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function Zh(e){let t=e.split(":");return t[t.length-1]}function Gh(e){return[].concat(...e)}var Mu;(function(e){e[e.SEND_QUERY=0]="SEND_QUERY",e[e.PEER_RESPONSE=1]="PEER_RESPONSE",e[e.FINAL_PEER=2]="FINAL_PEER",e[e.QUERY_ERROR=3]="QUERY_ERROR",e[e.PROVIDER=4]="PROVIDER",e[e.VALUE=5]="VALUE",e[e.ADD_PEER=6]="ADD_PEER",e[e.DIAL_PEER=7]="DIAL_PEER",e[e.PATH_ENDED=8]="PATH_ENDED"})(Mu||(Mu={}));function bo(e){return new cn("/dht/record/"+$(e,"base32"),!1)}function Fu(e){return{async put(t,r,n={}){try{let o=bo(t);try{let s=await e.get(o),a=Xe.deserialize(s);if(rt(a.value,r))return}catch(s){if(s.name!=="NotFoundError")throw s}let i=new Xe(t,r,new Date);n.onProgress?.(new ht("ipns:routing:datastore:put")),await e.put(o,i.serialize(),n)}catch(o){throw n.onProgress?.(new ht("ipns:routing:datastore:error",o)),o}},async get(t,r={}){try{let n=bo(t);r.onProgress?.(new ht("ipns:routing:datastore:get"));let o=await e.get(n,r),i=Xe.deserialize(o);return{record:i.value,created:i.timeReceived}}catch(n){throw r.onProgress?.(new ht("ipns:routing:datastore:error",n)),n}},async has(t,r={}){let n=bo(t);return e.has(n,r)},async delete(t,r){let n=bo(t);return e.delete(n,r)}}}var as="/ipns/";function cs(e,t){return e.code===t}var he=ge("helia:ipns"),Hu=60*1e3,$u=60*Hu,Xh=48*$u,us=23*$u,Vu=BigInt(Hu)*5000000n,qu={[Pt.prefix]:Pt,[G.prefix]:G},fs=class{routers;localStore;timeout;dns;log;constructor(t,r=[]){this.routers=[ku(t.routing),...r],this.localStore=Fu(t.datastore),this.dns=t.dns,this.log=t.logger.forComponent("helia:ipns")}async publish(t,r,n={}){try{let o=1n,i=je(t.publicKey.toMultihash());if(await this.localStore.has(i,n)){let{record:l}=await this.localStore.get(i,n);o=Yt(l).sequence+1n}let s=n.ttl!=null?BigInt(n.ttl)*1000000n:Vu,a=await _u(t,r,o,n.lifetime??Xh,{...n,ttlNs:s}),c=uo(a);return await this.localStore.put(i,c,n),n.offline!==!0&&await Promise.all(this.routers.map(async l=>{await l.put(i,c,n)})),a}catch(o){throw n.onProgress?.(new ht("ipns:publish:error",o)),o}}async resolve(t,r={}){let n=ms(t)?t.toMultihash():t,o=je(n),i=await this.#e(o,r);return{...await this.#t(i.value,r),record:i}}async resolveDNSLink(t,r={}){let n=await Nu(t,this.dns,this.log,r);return{...await this.#t(n.value,r),answer:n.answer}}republish(t={}){if(this.timeout!=null)throw new Error("Republish is already running");t.signal?.addEventListener("abort",()=>{clearTimeout(this.timeout)});async function r(){let n=Date.now();t.onProgress?.(new ht("ipns:republish:start"));let i=Date.now()-n,s=us-i;s<0&&(s=t.interval??us),setTimeout(()=>{r().catch(a=>{he.error("error republishing",a)})},s)}this.timeout=setTimeout(()=>{r().catch(n=>{he.error("error republishing",n)})},t.interval??us)}async#t(t,r={}){let n=t.split("/");try{let o=n[1];if(o==="ipns"){let i=n[2],s=i.substring(0,1),a;if(s==="1"||s==="Q")a=G.decode(`z${i}`);else if(qu[s]!=null)a=qu[s].decode(i);else throw new mo(`Unsupported multibase prefix "${s}"`);let c;try{c=Xt(a)}catch{c=Y.decode(a).multihash}if(!cs(c,0)&&!cs(c,18))throw new yo(`Unsupported multihash codec "${c.code}"`);let{cid:l}=await this.resolve(c,r),u=n.slice(3).join("/");return{cid:l,path:u}}else if(o==="ipfs"){let i=Y.parse(n[2]),s=n.slice(3).join("/");return{cid:i,path:s}}}catch(o){he.error("error parsing ipfs path",o)}throw he.error("invalid ipfs path %s",t),new go("Invalid value")}async#e(t,r={}){let n=[];if(await this.localStore.has(t,r))if(he("record is present in the cache"),r.nocache!==!0)try{let{record:a,created:c}=await this.localStore.get(t,r);this.log("record retrieved from cache"),await sn(t,a),this.log("record was valid");let l=Yt(a),u=Number((l.ttl??Vu)/1000000n);if(c.getTime()+u>Date.now())return this.log("record TTL was valid"),l;if(r.offline===!0)return this.log("record TTL has been reached but we are resolving offline-only, returning record"),l;this.log("record TTL has been reached, searching routing for updates"),n.push(a)}catch(a){this.log("cached record was invalid",a),await this.localStore.delete(t,r)}else he("ignoring local cache due to nocache=true option");if(r.offline===!0)throw new Br("Record was not present in the cache or has expired");he("did not have record locally");let i=0;if(await Promise.all(this.routers.map(async a=>{let c;try{c=await a.get(t,{...r,validate:!1})}catch(l){he.error("error finding IPNS record",l);return}try{await sn(t,c),n.push(c)}catch(l){i++,he.error("error finding IPNS record",l)}})),n.length===0)throw i>0?new po(`${i>1?`${i} records`:"Record"} found for routing key ${i>1?"were":"was"} invalid`):new Br("Could not find record for routing key");let s=n[fo(t,n)];return await this.localStore.put(t,s,r),Yt(s)}async republishRecord(t,r,n={}){let o;try{if(o=on(r)?.toMultihash(),o==null)if(typeof t=="string"){t.startsWith(as)&&(t=t.slice(as.length));try{o=Hn(t).toMultihash()}catch(a){throw new Error(`Invalid string key: ${a.message}`)}}else o=t;if(o==null)throw new Error("No public key multihash found to determine the routing key");let i=je(o),s=uo(r);await sn(i,s),await this.localStore.put(i,s,n),n.offline!==!0&&await Promise.all(this.routers.map(async a=>{await a.put(i,s,n)}))}catch(i){throw n.onProgress?.(new ht("ipns:republish:error",{key:o,record:r,err:i})),i}}};function Wh(e,{routers:t=[]}={}){return new fs(e,t)}return Xu(Jh);})();
|
|
4
4
|
/*! Bundled license information:
|
|
5
5
|
|
|
6
6
|
@noble/hashes/esm/utils.js:
|