@libp2p/plaintext 1.0.12 → 1.0.13
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 +1 -1
- package/package.json +2 -2
package/dist/index.min.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PPlaintext = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2PPlaintext=(()=>{var Sr=Object.create;var yt=Object.defineProperty;var Dr=Object.getOwnPropertyDescriptor;var Nr=Object.getOwnPropertyNames;var Ir=Object.getPrototypeOf,Rr=Object.prototype.hasOwnProperty;var Ur=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),E=(r,t)=>{for(var e in t)yt(r,e,{get:t[e],enumerable:!0})},Be=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Nr(t))!Rr.call(r,i)&&i!==e&&yt(r,i,{get:()=>t[i],enumerable:!(n=Dr(t,i))||n.enumerable});return r};var Tr=(r,t,e)=>(e=r!=null?Sr(Ir(r)):{},Be(t||!r||!r.__esModule?yt(e,"default",{value:r,enumerable:!0}):e,r)),Br=r=>Be(yt({},"__esModule",{value:!0}),r);var cr=Ur((vo,ar)=>{"use strict";function sr(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function Wn(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return sr(r,e)}catch{e.message=r.message,e.stack=r.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(r)),sr(new i,e)}}ar.exports=Wn});var hi={};E(hi,{plaintext:()=>ci});var Fe=Symbol.for("@libp2p/peer-id");var xt=class r extends Error{code;constructor(t="Unexpected Peer"){super(t),this.code=r.code}static code="ERR_UNEXPECTED_PEER"},Et=class r extends Error{code;constructor(t="Invalid crypto exchange"){super(t),this.code=r.code}static code="ERR_INVALID_CRYPTO_EXCHANGE"};var Gt={};E(Gt,{base58btc:()=>A,base58flickr:()=>Or});var di=new Uint8Array(0);function Ce(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function v(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function ve(r){return new TextEncoder().encode(r)}function _e(r){return new TextDecoder().decode(r)}function Fr(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var i=0;i<r.length;i++){var o=r.charAt(i),s=o.charCodeAt(0);if(e[s]!==255)throw new TypeError(o+" is ambiguous");e[s]=i}var a=r.length,c=r.charAt(0),f=Math.log(a)/Math.log(256),d=Math.log(256)/Math.log(a);function u(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var y=0,z=0,D=0,U=l.length;D!==U&&l[D]===0;)D++,y++;for(var T=(U-D)*d+1>>>0,L=new Uint8Array(T);D!==U;){for(var B=l[D],O=0,N=T-1;(B!==0||O<z)&&N!==-1;N--,O++)B+=256*L[N]>>>0,L[N]=B%a>>>0,B=B/a>>>0;if(B!==0)throw new Error("Non-zero carry");z=O,D++}for(var C=T-z;C!==T&&L[C]===0;)C++;for(var bt=c.repeat(y);C<T;++C)bt+=r.charAt(L[C]);return bt}function b(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var y=0;if(l[y]!==" "){for(var z=0,D=0;l[y]===c;)z++,y++;for(var U=(l.length-y)*f+1>>>0,T=new Uint8Array(U);l[y];){var L=e[l.charCodeAt(y)];if(L===255)return;for(var B=0,O=U-1;(L!==0||B<D)&&O!==-1;O--,B++)L+=a*T[O]>>>0,T[O]=L%256>>>0,L=L/256>>>0;if(L!==0)throw new Error("Non-zero carry");D=B,y++}if(l[y]!==" "){for(var N=U-D;N!==U&&T[N]===0;)N++;for(var C=new Uint8Array(z+(U-N)),bt=z;N!==U;)C[bt++]=T[N++];return C}}}function wt(l){var y=b(l);if(y)return y;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:b,decode:wt}}var Cr=Fr,vr=Cr,Oe=vr;var Mt=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Vt=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Me(this,t)}},Pt=class{decoders;constructor(t){this.decoders=t}or(t){return Me(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Me(r,t){return new Pt({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var zt=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,i){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=i,this.encoder=new Mt(t,e,n),this.decoder=new Vt(t,e,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function j({name:r,prefix:t,encode:e,decode:n}){return new zt(r,t,e,n)}function M({name:r,prefix:t,alphabet:e}){let{encode:n,decode:i}=Oe(e,r);return j({prefix:t,name:r,encode:n,decode:o=>v(i(o))})}function _r(r,t,e,n){let i={};for(let d=0;d<t.length;++d)i[t[d]]=d;let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*e/8|0),a=0,c=0,f=0;for(let d=0;d<o;++d){let u=i[r[d]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|u,a+=e,a>=8&&(a-=8,s[f++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s}function kr(r,t,e){let n=t[t.length-1]==="=",i=(1<<e)-1,o="",s=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],s+=8;s>e;)s-=e,o+=t[i&a>>s];if(s!==0&&(o+=t[i&a<<e-s]),n)for(;o.length*e&7;)o+="=";return o}function p({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return j({prefix:t,name:r,encode(i){return kr(i,n,e)},decode(i){return _r(i,n,e,r)}})}var A=M({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Or=M({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var $t={};E($t,{base10:()=>Mr});var Mr=M({prefix:"9",name:"base10",alphabet:"0123456789"});var Ht={};E(Ht,{base16:()=>Vr,base16upper:()=>Pr});var Vr=p({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Pr=p({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var qt={};E(qt,{base2:()=>zr});var zr=p({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var jt={};E(jt,{base256emoji:()=>jr});var Ve=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}"),Gr=Ve.reduce((r,t,e)=>(r[e]=t,r),[]),$r=Ve.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function Hr(r){return r.reduce((t,e)=>(t+=Gr[e],t),"")}function qr(r){let t=[];for(let e of r){let n=$r[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var jr=j({prefix:"\u{1F680}",name:"base256emoji",encode:Hr,decode:qr});var Xt={};E(Xt,{base32:()=>X,base32hex:()=>Kr,base32hexpad:()=>Zr,base32hexpadupper:()=>Yr,base32hexupper:()=>Qr,base32pad:()=>Wr,base32padupper:()=>Jr,base32upper:()=>Xr,base32z:()=>tn});var X=p({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Xr=p({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Wr=p({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Jr=p({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Kr=p({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Qr=p({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Zr=p({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Yr=p({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),tn=p({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Wt={};E(Wt,{base36:()=>en,base36upper:()=>rn});var en=M({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),rn=M({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Jt={};E(Jt,{base64:()=>nn,base64pad:()=>on,base64url:()=>sn,base64urlpad:()=>an});var nn=p({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),on=p({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),sn=p({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),an=p({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Kt={};E(Kt,{base8:()=>cn});var cn=p({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Qt={};E(Qt,{identity:()=>hn});var hn=j({prefix:"\0",name:"identity",encode:r=>_e(r),decode:r=>ve(r)});var Ui=new TextEncoder,Ti=new TextDecoder;var Yt={};E(Yt,{identity:()=>Z});var ln=Ge,Pe=128,dn=127,pn=~dn,mn=Math.pow(2,31);function Ge(r,t,e){t=t||[],e=e||0;for(var n=e;r>=mn;)t[e++]=r&255|Pe,r/=128;for(;r&pn;)t[e++]=r&255|Pe,r>>>=7;return t[e]=r|0,Ge.bytes=e-n+1,t}var gn=Zt,wn=128,ze=127;function Zt(r,n){var e=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a)throw Zt.bytes=0,new RangeError("Could not decode varint");s=r[o++],e+=i<28?(s&ze)<<i:(s&ze)*Math.pow(2,i),i+=7}while(s>=wn);return Zt.bytes=o-n,e}var bn=Math.pow(2,7),yn=Math.pow(2,14),xn=Math.pow(2,21),En=Math.pow(2,28),An=Math.pow(2,35),Ln=Math.pow(2,42),Sn=Math.pow(2,49),Dn=Math.pow(2,56),Nn=Math.pow(2,63),In=function(r){return r<bn?1:r<yn?2:r<xn?3:r<En?4:r<An?5:r<Ln?6:r<Sn?7:r<Dn?8:r<Nn?9:10},Rn={encode:ln,decode:gn,encodingLength:In},Un=Rn,st=Un;function at(r,t=0){return[st.decode(r,t),st.decode.bytes]}function W(r,t,e=0){return st.encode(r,t,e),t}function J(r){return st.encodingLength(r)}function F(r,t){let e=t.byteLength,n=J(r),i=n+J(e),o=new Uint8Array(i+e);return W(r,o,0),W(e,o,n),o.set(t,i),new K(r,e,t,o)}function ct(r){let t=v(r),[e,n]=at(t),[i,o]=at(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new K(e,i,s,t)}function $e(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Ce(r.bytes,e.bytes)}}var K=class{code;size;digest;bytes;constructor(t,e,n,i){this.code=t,this.size=e,this.digest=n,this.bytes=i}};var He=0,Tn="identity",qe=v;function Bn(r){return F(He,qe(r))}var Z={code:He,name:Tn,encode:qe,digest:Bn};var re={};E(re,{sha256:()=>ht,sha512:()=>Fn});function ee({name:r,code:t,encode:e}){return new te(r,t,e)}var te=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?F(this.code,e):e.then(n=>F(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Xe(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var ht=ee({name:"sha2-256",code:18,encode:Xe("SHA-256")}),Fn=ee({name:"sha2-512",code:19,encode:Xe("SHA-512")});function We(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return vn(e,ne(r),t??A.encoder);default:return _n(e,ne(r),t??X.encoder)}}var Je=new WeakMap;function ne(r){let t=Je.get(r);if(t==null){let e=new Map;return Je.set(r,e),e}return t}var G=class r{code;version;multihash;bytes;"/";constructor(t,e,n,i){this.code=e,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==ut)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==kn)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=F(t,e);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&$e(t.multihash,n.multihash)}toString(t){return We(this,t)}toJSON(){return{"/":We(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:i,multihash:o,bytes:s}=e;return new r(n,i,o,s??Ke(n,i,o.bytes))}else if(e[On]===!0){let{version:n,multihash:i,code:o}=e,s=ct(i);return r.create(n,o,s)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==ut)throw new Error(`Version 0 CID must use dag-pb (code: ${ut}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let i=Ke(t,e,n.bytes);return new r(t,e,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,ut,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,i=v(t.subarray(n,n+e.multihashSize));if(i.byteLength!==e.multihashSize)throw new Error("Incorrect length");let o=i.subarray(e.multihashSize-e.digestSize),s=new K(e.multihashCode,e.digestSize,o,i);return[e.version===0?r.createV0(s):r.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[u,b]=at(t.subarray(e));return e+=b,u},i=n(),o=ut;if(i===18?(i=0,e=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=e,a=n(),c=n(),f=e+c,d=f-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:d,size:f}}static parse(t,e){let[n,i]=Cn(t,e),o=r.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return ne(o).set(n,t),o}};function Cn(r,t){switch(r[0]){case"Q":{let e=t??A;return[A.prefix,e.decode(`${A.prefix}${r}`)]}case A.prefix:{let e=t??A;return[A.prefix,e.decode(r)]}case X.prefix:{let e=t??X;return[X.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function vn(r,t,e){let{prefix:n}=e;if(n!==A.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let i=t.get(n);if(i==null){let o=e.encode(r).slice(1);return t.set(n,o),o}else return i}function _n(r,t,e){let{prefix:n}=e,i=t.get(n);if(i==null){let o=e.encode(r);return t.set(n,o),o}else return i}var ut=112,kn=18;function Ke(r,t,e){let n=J(r),i=n+J(t),o=new Uint8Array(i+e.byteLength);return W(r,o,0),W(t,o,n),o.set(e,i),o}var On=Symbol.for("@ipld/js-cid/CID");var Y={...Qt,...qt,...Kt,...$t,...Ht,...Xt,...Wt,...Gt,...Jt,...jt},Qi={...re,...Yt};function ft(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var Mn=Symbol.for("nodejs.util.inspect.custom"),Qe=Object.values(Y).map(r=>r.decoder).reduce((r,t)=>r.or(t),Y.identity.decoder),Ze=114,ie=36,oe=37,lt=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Fe]=!0;toString(){return this.string==null&&(this.string=A.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return G.createV1(Ze,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return ft(this.multihash.bytes,t);if(typeof t=="string")return Vn(t).equals(this);if(t?.multihash?.bytes!=null)return ft(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Mn](){return`PeerId(${this.toString()})`}},tt=class extends lt{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},et=class extends lt{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},rt=class extends lt{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function Vn(r,t){if(t=t??Qe,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=ct(A.decode(`z${r}`));return r.startsWith("12D")?new et({multihash:e}):r.startsWith("16U")?new rt({multihash:e}):new tt({multihash:e})}return se(Qe.decode(r))}function se(r){try{let t=ct(r);if(t.code===Z.code){if(t.digest.length===ie)return new et({multihash:t});if(t.digest.length===oe)return new rt({multihash:t})}if(t.code===ht.code)return new tt({multihash:t})}catch{return Pn(G.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function Pn(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==Ze)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===ht.code)return new tt({multihash:r.multihash});if(t.code===Z.code){if(t.digest.length===ie)return new et({multihash:r.multihash});if(t.digest.length===oe)return new rt({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Ye(r,t){return r.length===ie?new et({multihash:F(Z.code,r),privateKey:t}):r.length===oe?new rt({multihash:F(Z.code,r),privateKey:t}):new tt({multihash:await ht.digest(r),publicKey:r,privateKey:t})}function V(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function _(r=0){return globalThis.Buffer?.alloc!=null?V(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function m(r=0){return globalThis.Buffer?.allocUnsafe!=null?V(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function ae(r,t){if(globalThis.Buffer!=null)return V(globalThis.Buffer.concat(r,t));t==null&&(t=r.reduce((i,o)=>i+o.length,0));let e=m(t),n=0;for(let i of r)e.set(i,n),n+=i.length;return V(e)}var er=Symbol.for("@achingbrain/uint8arraylist");function tr(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let i=e+n.byteLength;if(t<i)return{buf:n,index:t-e};e=i}throw new RangeError("index is out of bounds")}function Lt(r){return!!r?.[er]}var S=class r{bufs;length;[er]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(Lt(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(Lt(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=tr(this.bufs,t);return e.buf[e.index]}set(t,e){let n=tr(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(Lt(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:i}=this._subList(t,e);return ae(n,i)}subarray(t,e){let{bufs:n,length:i}=this._subList(t,e);return n.length===1?n[0]:ae(n,i)}sublist(t,e){let{bufs:n,length:i}=this._subList(t,e),o=new r;return o.length=i,o.bufs=[...n],o}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,t>=c)continue;let f=t>=a&&t<c,d=e>a&&e<=c;if(f&&d){if(t===a&&e===c){n.push(s);break}let u=t-a;n.push(s.subarray(u,u+(e-t)));break}if(f){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(d){if(e===c){n.push(s);break}n.push(s.subarray(0,e-a));break}n.push(s)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!Lt(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let u=0;u<o;u++)s[u]=-1;for(let u=0;u<i;u++)s[n[u]]=u;let a=s,c=this.byteLength-n.byteLength,f=n.byteLength-1,d;for(let u=e;u<=c;u+=d){d=0;for(let b=f;b>=0;b--){let wt=this.get(u+b);if(n[b]!==wt){d=Math.max(1,b-a[wt]);break}}if(d===0)return u}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=m(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let i=_(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,e,n),this.write(i,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let i=_(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,e,n),this.write(i,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let i=_(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,e,n),this.write(i,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=m(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let i=_(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,e,n),this.write(i,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let i=_(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,e,n),this.write(i,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let i=_(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,e,n),this.write(i,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let i=_(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,e,n),this.write(i,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let i=_(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,e,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!ft(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((i,o)=>i+o.byteLength,0)),n.length=e,n}};function nt(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var St=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=e??"ABORT_ERR"}};async function rr(r,t,e){if(t==null)return r;if(t.aborted)return Promise.reject(new St(e?.errorMessage,e?.errorCode));let n,i=new St(e?.errorMessage,e?.errorCode);try{return await Promise.race([r,new Promise((o,s)=>{n=()=>{s(i)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var ce=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=nt(),this.haveNext=nt()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let t=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=nt(),t}async throw(t){return this.ended=!0,t!=null&&this.haveNext.reject(t),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),t}async push(t,e){await this._push(t,e)}async end(t,e){t!=null?await this.throw(t):await this._push(void 0,e)}async _push(t,e){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=nt(),await rr(this.needNext.promise,e?.signal,e)}};function nr(){return new ce}var Dt=class extends Error{code;constructor(t,e){super(t),this.code=e}},he=class extends Dt{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function ir(r,t){let e=nr();r.sink(e).catch(async s=>{await e.end(s)}),r.sink=async s=>{for await(let a of s)await e.push(a);await e.end()};let n=r.source;r.source[Symbol.iterator]!=null?n=r.source[Symbol.iterator]():r.source[Symbol.asyncIterator]!=null&&(n=r.source[Symbol.asyncIterator]());let i=new S;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,f=new Promise((d,u)=>{c=()=>{u(new he("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:u,value:b}=await Promise.race([n.next(),f]);return u===!0?new S:b}for(;i.byteLength<s;){let{value:u,done:b}=await Promise.race([n.next(),f]);if(b===!0)throw new Dt("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(u)}let d=i.sublist(0,s);return i.consume(s),d}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(s,a)=>{a?.signal?.throwIfAborted(),s instanceof Uint8Array?await e.push(s,a):await e.push(s.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let s=r.source;r.source=async function*(){t?.yieldBytes===!1?yield i:yield*i,yield*s}()}return r}}}var zn=Math.pow(2,7),Gn=Math.pow(2,14),$n=Math.pow(2,21),ue=Math.pow(2,28),fe=Math.pow(2,35),le=Math.pow(2,42),de=Math.pow(2,49),h=128,g=127;function k(r){if(r<zn)return 1;if(r<Gn)return 2;if(r<$n)return 3;if(r<ue)return 4;if(r<fe)return 5;if(r<le)return 6;if(r<de)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Hn(r,t,e=0){switch(k(r)){case 8:t[e++]=r&255|h,r/=128;case 7:t[e++]=r&255|h,r/=128;case 6:t[e++]=r&255|h,r/=128;case 5:t[e++]=r&255|h,r/=128;case 4:t[e++]=r&255|h,r>>>=7;case 3:t[e++]=r&255|h,r>>>=7;case 2:t[e++]=r&255|h,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function qn(r,t,e=0){switch(k(r)){case 8:t.set(e++,r&255|h),r/=128;case 7:t.set(e++,r&255|h),r/=128;case 6:t.set(e++,r&255|h),r/=128;case 5:t.set(e++,r&255|h),r/=128;case 4:t.set(e++,r&255|h),r>>>=7;case 3:t.set(e++,r&255|h),r>>>=7;case 2:t.set(e++,r&255|h),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function jn(r,t){let e=r[t],n=0;if(n+=e&g,e<h||(e=r[t+1],n+=(e&g)<<7,e<h)||(e=r[t+2],n+=(e&g)<<14,e<h)||(e=r[t+3],n+=(e&g)<<21,e<h)||(e=r[t+4],n+=(e&g)*ue,e<h)||(e=r[t+5],n+=(e&g)*fe,e<h)||(e=r[t+6],n+=(e&g)*le,e<h)||(e=r[t+7],n+=(e&g)*de,e<h))return n;throw new RangeError("Could not decode varint")}function Xn(r,t){let e=r.get(t),n=0;if(n+=e&g,e<h||(e=r.get(t+1),n+=(e&g)<<7,e<h)||(e=r.get(t+2),n+=(e&g)<<14,e<h)||(e=r.get(t+3),n+=(e&g)<<21,e<h)||(e=r.get(t+4),n+=(e&g)*ue,e<h)||(e=r.get(t+5),n+=(e&g)*fe,e<h)||(e=r.get(t+6),n+=(e&g)*le,e<h)||(e=r.get(t+7),n+=(e&g)*de,e<h))return n;throw new RangeError("Could not decode varint")}function or(r,t,e=0){return t==null&&(t=m(k(r))),t instanceof Uint8Array?Hn(r,t,e):qn(r,t,e)}function Nt(r,t=0){return r instanceof Uint8Array?jn(r,t):Xn(r,t)}function It(r){return r[Symbol.asyncIterator]!=null}var Rt=r=>{let t=k(r),e=m(t);return or(r,e),Rt.bytes=t,e};Rt.bytes=0;function dt(r,t){t=t??{};let e=t.lengthEncoder??Rt;function*n(i){let o=e(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return It(r)?async function*(){for await(let i of r)yield*n(i)}():function*(){for(let i of r)yield*n(i)}()}dt.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??Rt;return new S(e(r.byteLength),r)};var it=Tr(cr(),1);var Jn=8,Kn=1024*1024*4,$;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})($||($={}));var ge=r=>{let t=Nt(r);return ge.bytes=k(t),t};ge.bytes=0;function me(r,t){let e=new S,n=$.LENGTH,i=-1,o=t?.lengthDecoder??ge,s=t?.maxLengthLength??Jn,a=t?.maxDataLength??Kn;function*c(){for(;e.byteLength>0;){if(n===$.LENGTH)try{if(i=o(e),i<0)throw(0,it.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,it.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let f=o.bytes;e.consume(f),t?.onLength!=null&&t.onLength(i),n=$.DATA}catch(f){if(f instanceof RangeError){if(e.byteLength>s)throw(0,it.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw f}if(n===$.DATA){if(e.byteLength<i)break;let f=e.sublist(0,i);e.consume(i),t?.onData!=null&&t.onData(f),yield f,n=$.LENGTH}}}return It(r)?async function*(){for await(let f of r)e.append(f),yield*c();if(e.byteLength>0)throw(0,it.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let f of r)e.append(f),yield*c();if(e.byteLength>0)throw(0,it.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}me.fromReader=(r,t)=>{let e=1,n=async function*(){for(;;)try{let{done:o,value:s}=await r.next(e);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{e=1}}();return me(n,{...t??{},onLength:o=>{e=o}})};var Ut=class extends Error{code;constructor(t,e){super(t),this.code=e}},hr=r=>Nt(r);hr.bytes=0;function ur(r,t={}){let e=ir(r,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=k(t.maxDataLength)),{read:async i=>{let o=-1,s=new S,a=t?.lengthDecoder??hr;for(;;){s.append(await e.read(1,i));try{o=a(s)}catch(c){if(c instanceof RangeError)continue;throw c}if(t?.maxLengthLength!=null&&s.byteLength>t.maxLengthLength)throw new Ut("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(o>-1)break}if(t?.maxDataLength!=null&&o>t.maxDataLength)throw new Ut("message length too long","ERR_MSG_DATA_TOO_LONG");return e.read(o,i)},write:async(i,o)=>{await e.write(dt.single(i,t),o)},writeV:async(i,o)=>{let s=new S(...i.map(a=>dt.single(a,t)));await e.write(s,o)},unwrap:()=>e.unwrap()}}function fr(r,t){let e=ur(r,t),n={read:async(i,o)=>{let s=await e.read(o);return i.decode(s)},write:async(i,o,s)=>{await e.write(o.encode(i),s)},writeV:async(i,o,s)=>{await e.writeV(i.map(a=>o.encode(a)),s)},pb:i=>({read:async o=>n.read(i,o),write:async(o,s)=>n.write(o,i,s),writeV:async(o,s)=>n.writeV(o,i,s),unwrap:()=>n}),unwrap:()=>e.unwrap()};return n}var we=new Float32Array([-0]),P=new Uint8Array(we.buffer);function lr(r,t,e){we[0]=r,t[e]=P[0],t[e+1]=P[1],t[e+2]=P[2],t[e+3]=P[3]}function dr(r,t){return P[0]=r[t],P[1]=r[t+1],P[2]=r[t+2],P[3]=r[t+3],we[0]}var be=new Float64Array([-0]),w=new Uint8Array(be.buffer);function pr(r,t,e){be[0]=r,t[e]=w[0],t[e+1]=w[1],t[e+2]=w[2],t[e+3]=w[3],t[e+4]=w[4],t[e+5]=w[5],t[e+6]=w[6],t[e+7]=w[7]}function mr(r,t){return w[0]=r[t],w[1]=r[t+1],w[2]=r[t+2],w[3]=r[t+3],w[4]=r[t+4],w[5]=r[t+5],w[6]=r[t+6],w[7]=r[t+7],be[0]}var Zn=BigInt(Number.MAX_SAFE_INTEGER),Yn=BigInt(Number.MIN_SAFE_INTEGER),x=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return H;if(t<Zn&&t>Yn)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,i=t-(n<<32n);return e&&(n=~n|0n,i=~i|0n,++i>gr&&(i=0n,++n>gr&&(n=0n))),new r(Number(i),Number(n))}static fromNumber(t){if(t===0)return H;let e=t<0;e&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return e&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new r(n,i)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):H}},H=new x(0,0);H.toBigInt=function(){return 0n};H.zzEncode=H.zzDecode=function(){return this};H.length=function(){return 1};var gr=4294967296n;function wr(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function br(r,t,e){if(e-t<1)return"";let i,o=[],s=0,a;for(;t<e;)a=r[t++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function ye(r,t,e){let n=e,i,o;for(let s=0;s<r.length;++s)i=r.charCodeAt(s),i<128?t[e++]=i:i<2048?(t[e++]=i>>6|192,t[e++]=i&63|128):(i&64512)===55296&&((o=r.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,t[e++]=i>>18|240,t[e++]=i>>12&63|128,t[e++]=i>>6&63|128,t[e++]=i&63|128):(t[e++]=i>>12|224,t[e++]=i>>6&63|128,t[e++]=i&63|128);return e-n}function I(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function Tt(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var xe=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,I(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 I(this,4);return Tt(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw I(this,4);return Tt(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw I(this,4);let t=dr(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw I(this,4);let t=mr(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw I(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return br(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw I(this,t);this.pos+=t}else do if(this.pos>=this.len)throw I(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new x(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw I(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw I(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw I(this,8);let t=Tt(this.buf,this.pos+=4),e=Tt(this.buf,this.pos+=4);return new x(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}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 Ee(r){return new xe(r instanceof Uint8Array?r:r.subarray())}function Bt(r,t){let e=Ee(r);return t.decode(e)}function Er(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var xr=Er("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Ae=Er("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=m(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),ti={utf8:xr,"utf-8":xr,hex:Y.base16,latin1:Ae,ascii:Ae,binary:Ae,...Y},Ar=ti;function Lr(r,t="utf8"){let e=Ar[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?V(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function Le(r){let t=r??8192,e=t>>>1,n,i=t;return function(s){if(s<1||s>e)return m(s);i+s>t&&(n=m(t),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var q=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function Se(){}var Ne=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},ei=Le();function ri(r){return globalThis.Buffer!=null?m(r):ei(r)}var gt=class{len;head;tail;states;constructor(){this.len=0,this.head=new q(Se,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new q(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Ie((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(pt,10,x.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=x.fromBigInt(t);return this._push(pt,e.length(),e)}uint64Number(t){let e=x.fromNumber(t);return this._push(pt,e.length(),e)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=x.fromBigInt(t).zzEncode();return this._push(pt,e.length(),e)}sint64Number(t){let e=x.fromNumber(t).zzEncode();return this._push(pt,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(De,1,t?1:0)}fixed32(t){return this._push(mt,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=x.fromBigInt(t);return this._push(mt,4,e.lo)._push(mt,4,e.hi)}fixed64Number(t){let e=x.fromNumber(t);return this._push(mt,4,e.lo)._push(mt,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(lr,4,t)}double(t){return this._push(pr,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(De,1,0):this.uint32(e)._push(ii,e,t)}string(t){let e=wr(t);return e!==0?this.uint32(e)._push(ye,e,t):this._push(De,1,0)}fork(){return this.states=new Ne(this),this.head=this.tail=new q(Se,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 q(Se,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=ri(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function De(r,t,e){t[e]=r&255}function ni(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var Ie=class extends q{next;constructor(t,e){super(ni,t,e),this.next=void 0}};function pt(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function mt(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function ii(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(gt.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(oi,t,r),this},gt.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(si,t,r),this});function oi(r,t,e){t.set(r,e)}function si(r,t,e){r.length<40?ye(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(Lr(r),e)}function Re(){return new gt}function Ft(r,t){let e=Re();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var ot;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(ot||(ot={}));function Ct(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function Ue(r){function t(i){if(r[i.toString()]==null)throw new Error("Invalid enum value");return r[i]}let e=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return Ct("enum",ot.VARINT,e,n)}function vt(r,t){return Ct("message",ot.LENGTH_DELIMITED,r,t)}var _t;(function(r){let t;r.codec=()=>(t==null&&(t=vt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.id!=null&&(n.uint32(10),n.bytes(e.id)),e.pubkey!=null&&(n.uint32(18),Ot.codec().encode(e.pubkey,n)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.id=e.bytes();break;case 2:i.pubkey=Ot.codec().decode(e,e.uint32());break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>Ft(e,r.codec()),r.decode=e=>Bt(e,r.codec())})(_t||(_t={}));var R;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.Secp256k1="Secp256k1",r.ECDSA="ECDSA"})(R||(R={}));var kt;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.Secp256k1=2]="Secp256k1",r[r.ECDSA=3]="ECDSA"})(kt||(kt={}));(function(r){r.codec=()=>Ue(kt)})(R||(R={}));var Ot;(function(r){let t;r.codec=()=>(t==null&&(t=vt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.Type!=null&&kt[e.Type]!==0&&(n.uint32(8),R.codec().encode(e.Type,n)),e.Data!=null&&e.Data.byteLength>0&&(n.uint32(18),n.bytes(e.Data)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={Type:R.RSA,Data:new Uint8Array(0)},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.Type=R.codec().decode(e);break;case 2:i.Data=e.bytes();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>Ft(e,r.codec()),r.decode=e=>Bt(e,r.codec())})(Ot||(Ot={}));var ai="/plaintext/2.0.0",Te=class{protocol=ai;log;timeout;constructor(t,e={}){this.log=t.logger.forComponent("libp2p:plaintext"),this.timeout=e.timeout??1e3}async secureInbound(t,e,n){return this._encrypt(t,e,n)}async secureOutbound(t,e,n){return this._encrypt(t,e,n)}async _encrypt(t,e,n){let i=AbortSignal.timeout(this.timeout),o=fr(e).pb(_t),s=R.RSA;t.type==="Ed25519"?s=R.Ed25519:t.type==="secp256k1"&&(s=R.Secp256k1),this.log("write pubkey exchange to peer %p",n);let[,a]=await Promise.all([o.write({id:t.toBytes(),pubkey:{Type:s,Data:t.publicKey??new Uint8Array(0)}},{signal:i}),o.read({signal:i})]),c;try{if(a.pubkey==null)throw new Error("Public key missing");if(a.pubkey.Data.length===0)throw new Error("Public key data too short");if(a.id==null)throw new Error("Remote id missing");if(c=await Ye(a.pubkey.Data),!c.equals(se(a.id)))throw new Error("Public key did not match id")}catch(f){throw this.log.error(f),new Et("Remote did not provide its public key")}if(n!=null&&!c.equals(n))throw new xt;return this.log("plaintext key exchange completed successfully with peer %p",c),{conn:o.unwrap().unwrap(),remotePeer:c}}};function ci(r){return t=>new Te(t,r)}return Br(hi);})();
|
|
2
|
+
"use strict";var Libp2PPlaintext=(()=>{var Ft=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var dr=Object.prototype.hasOwnProperty;var E=(r,t)=>{for(var e in t)Ft(r,e,{get:t[e],enumerable:!0})},pr=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of lr(t))!dr.call(r,i)&&i!==e&&Ft(r,i,{get:()=>t[i],enumerable:!(n=fr(t,i))||n.enumerable});return r};var mr=r=>pr(Ft({},"__esModule",{value:!0}),r);var qn={};E(qn,{plaintext:()=>$n});var Ae=Symbol.for("@libp2p/peer-id");var wt=class r extends Error{code;constructor(t="Unexpected Peer"){super(t),this.code=r.code}static code="ERR_UNEXPECTED_PEER"},gt=class r extends Error{code;constructor(t="Invalid crypto exchange"){super(t),this.code=r.code}static code="ERR_INVALID_CRYPTO_EXCHANGE"};var Mt={};E(Mt,{base58btc:()=>A,base58flickr:()=>Er});var Hn=new Uint8Array(0);function Se(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function T(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function Le(r){return new TextEncoder().encode(r)}function De(r){return new TextDecoder().decode(r)}function wr(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var i=0;i<r.length;i++){var s=r.charAt(i),o=s.charCodeAt(0);if(e[o]!==255)throw new TypeError(s+" is ambiguous");e[o]=i}var a=r.length,h=r.charAt(0),d=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function u(f){if(f instanceof Uint8Array||(ArrayBuffer.isView(f)?f=new Uint8Array(f.buffer,f.byteOffset,f.byteLength):Array.isArray(f)&&(f=Uint8Array.from(f))),!(f instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(f.length===0)return"";for(var b=0,z=0,L=0,R=f.length;L!==R&&f[L]===0;)L++,b++;for(var U=(R-L)*l+1>>>0,S=new Uint8Array(U);L!==R;){for(var B=f[L],M=0,D=U-1;(B!==0||M<z)&&D!==-1;D--,M++)B+=256*S[D]>>>0,S[D]=B%a>>>0,B=B/a>>>0;if(B!==0)throw new Error("Non-zero carry");z=M,L++}for(var C=U-z;C!==U&&S[C]===0;)C++;for(var mt=h.repeat(b);C<U;++C)mt+=r.charAt(S[C]);return mt}function g(f){if(typeof f!="string")throw new TypeError("Expected String");if(f.length===0)return new Uint8Array;var b=0;if(f[b]!==" "){for(var z=0,L=0;f[b]===h;)z++,b++;for(var R=(f.length-b)*d+1>>>0,U=new Uint8Array(R);f[b];){var S=e[f.charCodeAt(b)];if(S===255)return;for(var B=0,M=R-1;(S!==0||B<L)&&M!==-1;M--,B++)S+=a*U[M]>>>0,U[M]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");L=B,b++}if(f[b]!==" "){for(var D=R-L;D!==R&&U[D]===0;)D++;for(var C=new Uint8Array(z+(R-D)),mt=z;D!==R;)C[mt++]=U[D++];return C}}}function pt(f){var b=g(f);if(b)return b;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:g,decode:pt}}var gr=wr,br=gr,Ne=br;var Ct=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Tt=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Re(this,t)}},kt=class{decoders;constructor(t){this.decoders=t}or(t){return Re(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Re(r,t){return new kt({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var vt=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,i){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=i,this.encoder=new Ct(t,e,n),this.decoder=new Tt(t,e,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function q({name:r,prefix:t,encode:e,decode:n}){return new vt(r,t,e,n)}function V({name:r,prefix:t,alphabet:e}){let{encode:n,decode:i}=Ne(e,r);return q({prefix:t,name:r,encode:n,decode:s=>T(i(s))})}function yr(r,t,e,n){let i={};for(let l=0;l<t.length;++l)i[t[l]]=l;let s=r.length;for(;r[s-1]==="=";)--s;let o=new Uint8Array(s*e/8|0),a=0,h=0,d=0;for(let l=0;l<s;++l){let u=i[r[l]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);h=h<<e|u,a+=e,a>=8&&(a-=8,o[d++]=255&h>>a)}if(a>=e||255&h<<8-a)throw new SyntaxError("Unexpected end of data");return o}function xr(r,t,e){let n=t[t.length-1]==="=",i=(1<<e)-1,s="",o=0,a=0;for(let h=0;h<r.length;++h)for(a=a<<8|r[h],o+=8;o>e;)o-=e,s+=t[i&a>>o];if(o!==0&&(s+=t[i&a<<e-o]),n)for(;s.length*e&7;)s+="=";return s}function p({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return q({prefix:t,name:r,encode(i){return xr(i,n,e)},decode(i){return yr(i,n,e,r)}})}var A=V({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Er=V({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Vt={};E(Vt,{base10:()=>Ar});var Ar=V({prefix:"9",name:"base10",alphabet:"0123456789"});var _t={};E(_t,{base16:()=>Sr,base16upper:()=>Lr});var Sr=p({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Lr=p({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Ot={};E(Ot,{base2:()=>Dr});var Dr=p({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var zt={};E(zt,{base256emoji:()=>Br});var Ue=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}"),Ir=Ue.reduce((r,t,e)=>(r[e]=t,r),[]),Nr=Ue.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function Rr(r){return r.reduce((t,e)=>(t+=Ir[e],t),"")}function Ur(r){let t=[];for(let e of r){let n=Nr[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var Br=q({prefix:"\u{1F680}",name:"base256emoji",encode:Rr,decode:Ur});var Pt={};E(Pt,{base32:()=>j,base32hex:()=>kr,base32hexpad:()=>Mr,base32hexpadupper:()=>Vr,base32hexupper:()=>vr,base32pad:()=>Cr,base32padupper:()=>Tr,base32upper:()=>Fr,base32z:()=>_r});var j=p({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Fr=p({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Cr=p({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Tr=p({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),kr=p({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),vr=p({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Mr=p({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Vr=p({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),_r=p({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Gt={};E(Gt,{base36:()=>Or,base36upper:()=>zr});var Or=V({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),zr=V({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var $t={};E($t,{base64:()=>Pr,base64pad:()=>Gr,base64url:()=>$r,base64urlpad:()=>qr});var Pr=p({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Gr=p({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),$r=p({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),qr=p({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var qt={};E(qt,{base8:()=>jr});var jr=p({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var jt={};E(jt,{identity:()=>Wr});var Wr=q({prefix:"\0",name:"identity",encode:r=>De(r),decode:r=>Le(r)});var ui=new TextEncoder,fi=new TextDecoder;var Xt={};E(Xt,{identity:()=>K});var Jr=Ce,Be=128,Kr=127,Qr=~Kr,Zr=Math.pow(2,31);function Ce(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Zr;)t[e++]=r&255|Be,r/=128;for(;r&Qr;)t[e++]=r&255|Be,r>>>=7;return t[e]=r|0,Ce.bytes=e-n+1,t}var Yr=Wt,tn=128,Fe=127;function Wt(r,n){var e=0,n=n||0,i=0,s=n,o,a=r.length;do{if(s>=a)throw Wt.bytes=0,new RangeError("Could not decode varint");o=r[s++],e+=i<28?(o&Fe)<<i:(o&Fe)*Math.pow(2,i),i+=7}while(o>=tn);return Wt.bytes=s-n,e}var en=Math.pow(2,7),rn=Math.pow(2,14),nn=Math.pow(2,21),sn=Math.pow(2,28),on=Math.pow(2,35),an=Math.pow(2,42),hn=Math.pow(2,49),cn=Math.pow(2,56),un=Math.pow(2,63),fn=function(r){return r<en?1:r<rn?2:r<nn?3:r<sn?4:r<on?5:r<an?6:r<hn?7:r<cn?8:r<un?9:10},ln={encode:Jr,decode:Yr,encodingLength:fn},dn=ln,nt=dn;function it(r,t=0){return[nt.decode(r,t),nt.decode.bytes]}function W(r,t,e=0){return nt.encode(r,t,e),t}function X(r){return nt.encodingLength(r)}function F(r,t){let e=t.byteLength,n=X(r),i=n+X(e),s=new Uint8Array(i+e);return W(r,s,0),W(e,s,n),s.set(t,i),new H(r,e,t,s)}function st(r){let t=T(r),[e,n]=it(t),[i,s]=it(t.subarray(n)),o=t.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new H(e,i,o,t)}function Te(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Se(r.bytes,e.bytes)}}var H=class{code;size;digest;bytes;constructor(t,e,n,i){this.code=t,this.size=e,this.digest=n,this.bytes=i}};var ke=0,pn="identity",ve=T;function mn(r){return F(ke,ve(r))}var K={code:ke,name:pn,encode:ve,digest:mn};var Kt={};E(Kt,{sha256:()=>ot,sha512:()=>wn});function Jt({name:r,code:t,encode:e}){return new Ht(r,t,e)}var Ht=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?F(this.code,e):e.then(n=>F(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Ve(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var ot=Jt({name:"sha2-256",code:18,encode:Ve("SHA-256")}),wn=Jt({name:"sha2-512",code:19,encode:Ve("SHA-512")});function _e(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return bn(e,Qt(r),t??A.encoder);default:return yn(e,Qt(r),t??j.encoder)}}var Oe=new WeakMap;function Qt(r){let t=Oe.get(r);if(t==null){let e=new Map;return Oe.set(r,e),e}return t}var P=class r{code;version;multihash;bytes;"/";constructor(t,e,n,i){this.code=e,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==at)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==xn)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=F(t,e);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&Te(t.multihash,n.multihash)}toString(t){return _e(this,t)}toJSON(){return{"/":_e(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:i,multihash:s,bytes:o}=e;return new r(n,i,s,o??ze(n,i,s.bytes))}else if(e[En]===!0){let{version:n,multihash:i,code:s}=e,o=st(i);return r.create(n,s,o)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==at)throw new Error(`Version 0 CID must use dag-pb (code: ${at}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let i=ze(t,e,n.bytes);return new r(t,e,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,at,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,i=T(t.subarray(n,n+e.multihashSize));if(i.byteLength!==e.multihashSize)throw new Error("Incorrect length");let s=i.subarray(e.multihashSize-e.digestSize),o=new H(e.multihashCode,e.digestSize,s,i);return[e.version===0?r.createV0(o):r.createV1(e.codec,o),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[u,g]=it(t.subarray(e));return e+=g,u},i=n(),s=at;if(i===18?(i=0,e=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=e,a=n(),h=n(),d=e+h,l=d-o;return{version:i,codec:s,multihashCode:a,digestSize:h,multihashSize:l,size:d}}static parse(t,e){let[n,i]=gn(t,e),s=r.decode(i);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Qt(s).set(n,t),s}};function gn(r,t){switch(r[0]){case"Q":{let e=t??A;return[A.prefix,e.decode(`${A.prefix}${r}`)]}case A.prefix:{let e=t??A;return[A.prefix,e.decode(r)]}case j.prefix:{let e=t??j;return[j.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function bn(r,t,e){let{prefix:n}=e;if(n!==A.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let i=t.get(n);if(i==null){let s=e.encode(r).slice(1);return t.set(n,s),s}else return i}function yn(r,t,e){let{prefix:n}=e,i=t.get(n);if(i==null){let s=e.encode(r);return t.set(n,s),s}else return i}var at=112,xn=18;function ze(r,t,e){let n=X(r),i=n+X(t),s=new Uint8Array(i+e.byteLength);return W(r,s,0),W(t,s,n),s.set(e,i),s}var En=Symbol.for("@ipld/js-cid/CID");var Q={...jt,...Ot,...qt,...Vt,..._t,...Pt,...Gt,...Mt,...$t,...zt},Ci={...Kt,...Xt};function ht(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var An=Symbol.for("nodejs.util.inspect.custom"),Pe=Object.values(Q).map(r=>r.decoder).reduce((r,t)=>r.or(t),Q.identity.decoder),Ge=114,Zt=36,Yt=37,ct=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Ae]=!0;toString(){return this.string==null&&(this.string=A.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return P.createV1(Ge,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return ht(this.multihash.bytes,t);if(typeof t=="string")return Sn(t).equals(this);if(t?.multihash?.bytes!=null)return ht(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[An](){return`PeerId(${this.toString()})`}},Z=class extends ct{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Y=class extends ct{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},tt=class extends ct{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function Sn(r,t){if(t=t??Pe,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=st(A.decode(`z${r}`));return r.startsWith("12D")?new Y({multihash:e}):r.startsWith("16U")?new tt({multihash:e}):new Z({multihash:e})}return te(Pe.decode(r))}function te(r){try{let t=st(r);if(t.code===K.code){if(t.digest.length===Zt)return new Y({multihash:t});if(t.digest.length===Yt)return new tt({multihash:t})}if(t.code===ot.code)return new Z({multihash:t})}catch{return Ln(P.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function Ln(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==Ge)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===ot.code)return new Z({multihash:r.multihash});if(t.code===K.code){if(t.digest.length===Zt)return new Y({multihash:r.multihash});if(t.digest.length===Yt)return new tt({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function $e(r,t){return r.length===Zt?new Y({multihash:F(K.code,r),privateKey:t}):r.length===Yt?new tt({multihash:F(K.code,r),privateKey:t}):new Z({multihash:await ot.digest(r),publicKey:r,privateKey:t})}function _(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function k(r=0){return globalThis.Buffer?.alloc!=null?_(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function y(r=0){return globalThis.Buffer?.allocUnsafe!=null?_(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function ee(r,t){if(globalThis.Buffer!=null)return _(globalThis.Buffer.concat(r,t));t==null&&(t=r.reduce((i,s)=>i+s.length,0));let e=y(t),n=0;for(let i of r)e.set(i,n),n+=i.length;return _(e)}var je=Symbol.for("@achingbrain/uint8arraylist");function qe(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let i=e+n.byteLength;if(t<i)return{buf:n,index:t-e};e=i}throw new RangeError("index is out of bounds")}function yt(r){return!!r?.[je]}var v=class r{bufs;length;[je]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(yt(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(yt(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=qe(this.bufs,t);return e.buf[e.index]}set(t,e){let n=qe(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(yt(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:i}=this._subList(t,e);return ee(n,i)}subarray(t,e){let{bufs:n,length:i}=this._subList(t,e);return n.length===1?n[0]:ee(n,i)}sublist(t,e){let{bufs:n,length:i}=this._subList(t,e),s=new r;return s.length=i,s.bufs=[...n],s}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],i=0;for(let s=0;s<this.bufs.length;s++){let o=this.bufs[s],a=i,h=a+o.byteLength;if(i=h,t>=h)continue;let d=t>=a&&t<h,l=e>a&&e<=h;if(d&&l){if(t===a&&e===h){n.push(o);break}let u=t-a;n.push(o.subarray(u,u+(e-t)));break}if(d){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(l){if(e===h){n.push(o);break}n.push(o.subarray(0,e-a));break}n.push(o)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!yt(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let s=256,o=new Int32Array(s);for(let u=0;u<s;u++)o[u]=-1;for(let u=0;u<i;u++)o[n[u]]=u;let a=o,h=this.byteLength-n.byteLength,d=n.byteLength-1,l;for(let u=e;u<=h;u+=l){l=0;for(let g=d;g>=0;g--){let pt=this.get(u+g);if(n[g]!==pt){l=Math.max(1,g-a[pt]);break}}if(l===0)return u}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=y(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let i=k(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,e,n),this.write(i,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let i=k(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,e,n),this.write(i,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let i=k(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,e,n),this.write(i,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=y(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let i=k(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,e,n),this.write(i,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let i=k(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,e,n),this.write(i,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let i=k(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,e,n),this.write(i,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let i=k(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,e,n),this.write(i,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let i=k(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,e,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!ht(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((i,s)=>i+s.byteLength,0)),n.length=e,n}};function et(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var xt=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=e??"ABORT_ERR"}};async function We(r,t,e){if(t==null)return r;if(t.aborted)return Promise.reject(new xt(e?.errorMessage,e?.errorCode));let n,i=new xt(e?.errorMessage,e?.errorCode);try{return await Promise.race([r,new Promise((s,o)=>{n=()=>{o(i)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var re=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=et(),this.haveNext=et()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let t=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=et(),t}async throw(t){return this.ended=!0,t!=null&&this.haveNext.reject(t),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),t}async push(t,e){await this._push(t,e)}async end(t,e){t!=null?await this.throw(t):await this._push(void 0,e)}async _push(t,e){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=et(),await We(this.needNext.promise,e?.signal,e)}};function Xe(){return new re}var Et=class extends Error{code;constructor(t,e){super(t),this.code=e}},ne=class extends Et{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function He(r,t){let e=Xe();r.sink(e).catch(async o=>{await e.end(o)}),r.sink=async o=>{for await(let a of o)await e.push(a);await e.end()};let n=r.source;r.source[Symbol.iterator]!=null?n=r.source[Symbol.iterator]():r.source[Symbol.asyncIterator]!=null&&(n=r.source[Symbol.asyncIterator]());let i=new v;return{read:async(o,a)=>{a?.signal?.throwIfAborted();let h,d=new Promise((l,u)=>{h=()=>{u(new ne("Read aborted"))},a?.signal?.addEventListener("abort",h)});try{if(o==null){let{done:u,value:g}=await Promise.race([n.next(),d]);return u===!0?new v:g}for(;i.byteLength<o;){let{value:u,done:g}=await Promise.race([n.next(),d]);if(g===!0)throw new Et("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(u)}let l=i.sublist(0,o);return i.consume(o),l}finally{h!=null&&a?.signal?.removeEventListener("abort",h)}},write:async(o,a)=>{a?.signal?.throwIfAborted(),o instanceof Uint8Array?await e.push(o,a):await e.push(o.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let o=r.source;r.source=async function*(){t?.yieldBytes===!1?yield i:yield*i,yield*o}()}return r}}}var Dn=Math.pow(2,7),In=Math.pow(2,14),Nn=Math.pow(2,21),ie=Math.pow(2,28),se=Math.pow(2,35),oe=Math.pow(2,42),ae=Math.pow(2,49),c=128,m=127;function ut(r){if(r<Dn)return 1;if(r<In)return 2;if(r<Nn)return 3;if(r<ie)return 4;if(r<se)return 5;if(r<oe)return 6;if(r<ae)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Rn(r,t,e=0){switch(ut(r)){case 8:t[e++]=r&255|c,r/=128;case 7:t[e++]=r&255|c,r/=128;case 6:t[e++]=r&255|c,r/=128;case 5:t[e++]=r&255|c,r/=128;case 4:t[e++]=r&255|c,r>>>=7;case 3:t[e++]=r&255|c,r>>>=7;case 2:t[e++]=r&255|c,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function Un(r,t,e=0){switch(ut(r)){case 8:t.set(e++,r&255|c),r/=128;case 7:t.set(e++,r&255|c),r/=128;case 6:t.set(e++,r&255|c),r/=128;case 5:t.set(e++,r&255|c),r/=128;case 4:t.set(e++,r&255|c),r>>>=7;case 3:t.set(e++,r&255|c),r>>>=7;case 2:t.set(e++,r&255|c),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function Bn(r,t){let e=r[t],n=0;if(n+=e&m,e<c||(e=r[t+1],n+=(e&m)<<7,e<c)||(e=r[t+2],n+=(e&m)<<14,e<c)||(e=r[t+3],n+=(e&m)<<21,e<c)||(e=r[t+4],n+=(e&m)*ie,e<c)||(e=r[t+5],n+=(e&m)*se,e<c)||(e=r[t+6],n+=(e&m)*oe,e<c)||(e=r[t+7],n+=(e&m)*ae,e<c))return n;throw new RangeError("Could not decode varint")}function Fn(r,t){let e=r.get(t),n=0;if(n+=e&m,e<c||(e=r.get(t+1),n+=(e&m)<<7,e<c)||(e=r.get(t+2),n+=(e&m)<<14,e<c)||(e=r.get(t+3),n+=(e&m)<<21,e<c)||(e=r.get(t+4),n+=(e&m)*ie,e<c)||(e=r.get(t+5),n+=(e&m)*se,e<c)||(e=r.get(t+6),n+=(e&m)*oe,e<c)||(e=r.get(t+7),n+=(e&m)*ae,e<c))return n;throw new RangeError("Could not decode varint")}function Je(r,t,e=0){return t==null&&(t=y(ut(r))),t instanceof Uint8Array?Rn(r,t,e):Un(r,t,e)}function Ke(r,t=0){return r instanceof Uint8Array?Bn(r,t):Fn(r,t)}var At=class extends Error{code;constructor(t,e){super(t),this.code=e}};function Qe(r,t={}){let e=He(r,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=ut(t.maxDataLength));let n=t?.lengthDecoder??Ke,i=t?.lengthEncoder??Je;return{read:async o=>{let a=-1,h=new v;for(;;){h.append(await e.read(1,o));try{a=n(h)}catch(d){if(d instanceof RangeError)continue;throw d}if(t?.maxLengthLength!=null&&h.byteLength>t.maxLengthLength)throw new At("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(a>-1)break}if(t?.maxDataLength!=null&&a>t.maxDataLength)throw new At("message length too long","ERR_MSG_DATA_TOO_LONG");return e.read(a,o)},write:async(o,a)=>{await e.write(new v(i(o.byteLength),o),a)},writeV:async(o,a)=>{let h=new v(...o.flatMap(d=>[i(d.byteLength),d]));await e.write(h,a)},unwrap:()=>e.unwrap()}}function Ze(r,t){let e=Qe(r,t),n={read:async(i,s)=>{let o=await e.read(s);return i.decode(o)},write:async(i,s,o)=>{await e.write(s.encode(i),o)},writeV:async(i,s,o)=>{await e.writeV(i.map(a=>s.encode(a)),o)},pb:i=>({read:async s=>n.read(i,s),write:async(s,o)=>n.write(s,i,o),writeV:async(s,o)=>n.writeV(s,i,o),unwrap:()=>n}),unwrap:()=>e.unwrap()};return n}var he=new Float32Array([-0]),O=new Uint8Array(he.buffer);function Ye(r,t,e){he[0]=r,t[e]=O[0],t[e+1]=O[1],t[e+2]=O[2],t[e+3]=O[3]}function tr(r,t){return O[0]=r[t],O[1]=r[t+1],O[2]=r[t+2],O[3]=r[t+3],he[0]}var ce=new Float64Array([-0]),w=new Uint8Array(ce.buffer);function er(r,t,e){ce[0]=r,t[e]=w[0],t[e+1]=w[1],t[e+2]=w[2],t[e+3]=w[3],t[e+4]=w[4],t[e+5]=w[5],t[e+6]=w[6],t[e+7]=w[7]}function rr(r,t){return w[0]=r[t],w[1]=r[t+1],w[2]=r[t+2],w[3]=r[t+3],w[4]=r[t+4],w[5]=r[t+5],w[6]=r[t+6],w[7]=r[t+7],ce[0]}var Tn=BigInt(Number.MAX_SAFE_INTEGER),kn=BigInt(Number.MIN_SAFE_INTEGER),x=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return G;if(t<Tn&&t>kn)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,i=t-(n<<32n);return e&&(n=~n|0n,i=~i|0n,++i>nr&&(i=0n,++n>nr&&(n=0n))),new r(Number(i),Number(n))}static fromNumber(t){if(t===0)return G;let e=t<0;e&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return e&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new r(n,i)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):G}},G=new x(0,0);G.toBigInt=function(){return 0n};G.zzEncode=G.zzDecode=function(){return this};G.length=function(){return 1};var nr=4294967296n;function ir(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function sr(r,t,e){if(e-t<1)return"";let i,s=[],o=0,a;for(;t<e;)a=r[t++],a<128?s[o++]=a:a>191&&a<224?s[o++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,s[o++]=55296+(a>>10),s[o++]=56320+(a&1023)):s[o++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,o>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,s)),o=0);return i!=null?(o>0&&i.push(String.fromCharCode.apply(String,s.slice(0,o))),i.join("")):String.fromCharCode.apply(String,s.slice(0,o))}function ue(r,t,e){let n=e,i,s;for(let o=0;o<r.length;++o)i=r.charCodeAt(o),i<128?t[e++]=i:i<2048?(t[e++]=i>>6|192,t[e++]=i&63|128):(i&64512)===55296&&((s=r.charCodeAt(o+1))&64512)===56320?(i=65536+((i&1023)<<10)+(s&1023),++o,t[e++]=i>>18|240,t[e++]=i>>12&63|128,t[e++]=i>>6&63|128,t[e++]=i&63|128):(t[e++]=i>>12|224,t[e++]=i>>6&63|128,t[e++]=i&63|128);return e-n}function I(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function St(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var fe=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,I(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 I(this,4);return St(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw I(this,4);return St(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw I(this,4);let t=tr(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw I(this,4);let t=rr(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw I(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return sr(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw I(this,t);this.pos+=t}else do if(this.pos>=this.len)throw I(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new x(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw I(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw I(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw I(this,8);let t=St(this.buf,this.pos+=4),e=St(this.buf,this.pos+=4);return new x(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}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 le(r){return new fe(r instanceof Uint8Array?r:r.subarray())}function Lt(r,t){let e=le(r);return t.decode(e)}function hr(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var ar=hr("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),de=hr("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=y(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),vn={utf8:ar,"utf-8":ar,hex:Q.base16,latin1:de,ascii:de,binary:de,...Q},cr=vn;function ur(r,t="utf8"){let e=cr[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?_(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function pe(r){let t=r??8192,e=t>>>1,n,i=t;return function(o){if(o<1||o>e)return y(o);i+o>t&&(n=y(t),i=0);let a=n.subarray(i,i+=o);return i&7&&(i=(i|7)+1),a}}var $=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function me(){}var ge=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Mn=pe();function Vn(r){return globalThis.Buffer!=null?y(r):Mn(r)}var dt=class{len;head;tail;states;constructor(){this.len=0,this.head=new $(me,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new $(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new be((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(ft,10,x.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=x.fromBigInt(t);return this._push(ft,e.length(),e)}uint64Number(t){let e=x.fromNumber(t);return this._push(ft,e.length(),e)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=x.fromBigInt(t).zzEncode();return this._push(ft,e.length(),e)}sint64Number(t){let e=x.fromNumber(t).zzEncode();return this._push(ft,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(we,1,t?1:0)}fixed32(t){return this._push(lt,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=x.fromBigInt(t);return this._push(lt,4,e.lo)._push(lt,4,e.hi)}fixed64Number(t){let e=x.fromNumber(t);return this._push(lt,4,e.lo)._push(lt,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(Ye,4,t)}double(t){return this._push(er,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(we,1,0):this.uint32(e)._push(On,e,t)}string(t){let e=ir(t);return e!==0?this.uint32(e)._push(ue,e,t):this._push(we,1,0)}fork(){return this.states=new ge(this),this.head=this.tail=new $(me,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 $(me,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=Vn(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function we(r,t,e){t[e]=r&255}function _n(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var be=class extends ${next;constructor(t,e){super(_n,t,e),this.next=void 0}};function ft(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function lt(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function On(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(dt.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(zn,t,r),this},dt.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Pn,t,r),this});function zn(r,t,e){t.set(r,e)}function Pn(r,t,e){r.length<40?ue(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(ur(r),e)}function ye(){return new dt}function Dt(r,t){let e=ye();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var rt;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(rt||(rt={}));function It(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function xe(r){function t(i){if(r[i.toString()]==null)throw new Error("Invalid enum value");return r[i]}let e=function(s,o){let a=t(s);o.int32(a)},n=function(s){let o=s.int32();return t(o)};return It("enum",rt.VARINT,e,n)}function Nt(r,t){return It("message",rt.LENGTH_DELIMITED,r,t)}var Rt;(function(r){let t;r.codec=()=>(t==null&&(t=Nt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.id!=null&&(n.uint32(10),n.bytes(e.id)),e.pubkey!=null&&(n.uint32(18),Bt.codec().encode(e.pubkey,n)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.id=e.bytes();break;case 2:i.pubkey=Bt.codec().decode(e,e.uint32());break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>Dt(e,r.codec()),r.decode=e=>Lt(e,r.codec())})(Rt||(Rt={}));var N;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.Secp256k1="Secp256k1",r.ECDSA="ECDSA"})(N||(N={}));var Ut;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.Secp256k1=2]="Secp256k1",r[r.ECDSA=3]="ECDSA"})(Ut||(Ut={}));(function(r){r.codec=()=>xe(Ut)})(N||(N={}));var Bt;(function(r){let t;r.codec=()=>(t==null&&(t=Nt((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.Type!=null&&Ut[e.Type]!==0&&(n.uint32(8),N.codec().encode(e.Type,n)),e.Data!=null&&e.Data.byteLength>0&&(n.uint32(18),n.bytes(e.Data)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={Type:N.RSA,Data:new Uint8Array(0)},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let o=e.uint32();switch(o>>>3){case 1:i.Type=N.codec().decode(e);break;case 2:i.Data=e.bytes();break;default:e.skipType(o&7);break}}return i})),t),r.encode=e=>Dt(e,r.codec()),r.decode=e=>Lt(e,r.codec())})(Bt||(Bt={}));var Gn="/plaintext/2.0.0",Ee=class{protocol=Gn;log;timeout;constructor(t,e={}){this.log=t.logger.forComponent("libp2p:plaintext"),this.timeout=e.timeout??1e3}async secureInbound(t,e,n){return this._encrypt(t,e,n)}async secureOutbound(t,e,n){return this._encrypt(t,e,n)}async _encrypt(t,e,n){let i=AbortSignal.timeout(this.timeout),s=Ze(e).pb(Rt),o=N.RSA;t.type==="Ed25519"?o=N.Ed25519:t.type==="secp256k1"&&(o=N.Secp256k1),this.log("write pubkey exchange to peer %p",n);let[,a]=await Promise.all([s.write({id:t.toBytes(),pubkey:{Type:o,Data:t.publicKey??new Uint8Array(0)}},{signal:i}),s.read({signal:i})]),h;try{if(a.pubkey==null)throw new Error("Public key missing");if(a.pubkey.Data.length===0)throw new Error("Public key data too short");if(a.id==null)throw new Error("Remote id missing");if(h=await $e(a.pubkey.Data),!h.equals(te(a.id)))throw new Error("Public key did not match id")}catch(d){throw this.log.error(d),new gt("Remote did not provide its public key")}if(n!=null&&!h.equals(n))throw new wt;return this.log("plaintext key exchange completed successfully with peer %p",h),{conn:s.unwrap().unwrap(),remotePeer:h}}};function $n(r){return t=>new Ee(t,r)}return mr(qn);})();
|
|
3
3
|
return Libp2PPlaintext}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/plaintext",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.13",
|
|
4
4
|
"description": "An insecure connection encrypter",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/connection-encrypter-plaintext#readme",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"uint8arraylist": "^2.4.7"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@libp2p/interface-compliance-tests": "^5.
|
|
62
|
+
"@libp2p/interface-compliance-tests": "^5.2.0",
|
|
63
63
|
"@libp2p/logger": "^4.0.5",
|
|
64
64
|
"@libp2p/peer-id-factory": "^4.0.5",
|
|
65
65
|
"@multiformats/multiaddr": "^12.1.10",
|