libp2p 1.0.12-5d1f68e92 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.js +40 -40
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.d.ts.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/typedoc-urls.json +10 -0
- package/package.json +18 -18
- package/src/version.ts +1 -1
package/dist/index.min.js
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2P = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2P=(()=>{var
|
|
3
|
-
`)}return n};ku.decode=function(t,e){if(typeof t!="string")throw new TypeError('"input" must be a string.');if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');var r=Pm[e];if(!r){r=Pm[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,o=e.charAt(0),s=[0],n=0;n<t.length;n++){var a=r[t.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<s.length;++c)u+=s[c]*i,s[c]=u&255,u>>=8;for(;u>0;)s.push(u&255),u>>=8}for(var f=0;t[f]===o&&f<t.length-1;++f)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function JE(t,e){var r=0,n=e.length,i=e.charAt(0),o=[0];for(r=0;r<t.length();++r){for(var s=0,a=t.at(r);s<o.length;++s)a+=o[s]<<8,o[s]=a%n,a=a/n|0;for(;a>0;)o.push(a%n),a=a/n|0}var c="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)c+=i;for(r=o.length-1;r>=0;--r)c+=e[o[r]];return c}});var ke=z((PO,Km)=>{var Um=le(),Mm=km(),S=Km.exports=Um.util=Um.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){S.nextTick=process.nextTick,typeof setImmediate=="function"?S.setImmediate=setImmediate:S.setImmediate=S.nextTick;return}if(typeof setImmediate=="function"){S.setImmediate=function(){return setImmediate.apply(void 0,arguments)},S.nextTick=function(a){return setImmediate(a)};return}if(S.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(f){f()})}};var s=a,t="forge.setImmediate",e=[];S.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=S.setImmediate;S.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}S.nextTick=S.setImmediate})();S.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;S.globalScope=function(){return S.isNodejs?globalThis:typeof self>"u"?window:self}();S.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};S.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};S.isArrayBufferView=function(t){return t&&S.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Ko(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}S.ByteBuffer=Uu;function Uu(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(S.isArrayBuffer(t)||S.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof Uu||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}S.ByteStringBuffer=Uu;var ZE=4096;S.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>ZE&&(this.data.substr(0,1),this._constructedStringLength=0)};S.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};S.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};S.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};S.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};S.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};S.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(S.encodeUtf8(t))};S.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};S.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};S.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};S.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};S.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};S.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};S.ByteStringBuffer.prototype.putInt=function(t,e){Ko(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};S.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};S.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};S.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};S.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};S.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};S.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};S.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};S.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};S.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};S.ByteStringBuffer.prototype.getInt=function(t){Ko(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};S.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};S.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};S.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};S.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};S.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};S.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};S.ByteStringBuffer.prototype.copy=function(){var t=S.createBuffer(this.data);return t.read=this.read,t};S.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};S.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};S.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};S.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};S.ByteStringBuffer.prototype.toString=function(){return S.decodeUtf8(this.bytes())};function eA(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=S.isArrayBuffer(t),n=S.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}S.DataBuffer=eA;S.DataBuffer.prototype.length=function(){return this.write-this.read};S.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};S.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};S.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};S.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};S.DataBuffer.prototype.putBytes=function(t,e){if(S.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(S.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof S.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&S.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof S.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var o;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=S.binary.hex.decode(t,o,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=S.binary.base64.decode(t,o,this.write),this;if(e==="utf8"&&(t=S.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=S.binary.raw.decode(o),this;if(e==="utf16")return this.accommodate(t.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=S.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};S.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};S.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};S.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};S.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};S.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};S.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};S.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};S.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};S.DataBuffer.prototype.putInt=function(t,e){Ko(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};S.DataBuffer.prototype.putSignedInt=function(t,e){return Ko(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};S.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};S.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};S.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};S.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};S.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};S.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};S.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};S.DataBuffer.prototype.getInt=function(t){Ko(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};S.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};S.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};S.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};S.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};S.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};S.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};S.DataBuffer.prototype.copy=function(){return new S.DataBuffer(this)};S.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};S.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};S.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};S.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};S.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return S.binary.raw.encode(e);if(t==="hex")return S.binary.hex.encode(e);if(t==="base64")return S.binary.base64.encode(e);if(t==="utf8")return S.text.utf8.decode(e);if(t==="utf16")return S.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};S.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=S.encodeUtf8(t)),new S.ByteBuffer(t)};S.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};S.xorBytes=function(t,e,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=t.charCodeAt(s)^e.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};S.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};S.bytesToHex=function(t){return S.createBuffer(t).toHex()};S.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var Kr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Vr=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],Fm="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";S.encode64=function(t,e){for(var r="",n="",i,o,s,a=0;a<t.length;)i=t.charCodeAt(a++),o=t.charCodeAt(a++),s=t.charCodeAt(a++),r+=Kr.charAt(i>>2),r+=Kr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Kr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Kr.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
4
|
-
`,r=r.substr(e));return n+=r,n};
|
|
5
|
-
`,r=r.substr(e));return n+=r,n};S.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,u=r;c<t.length;)i=Vr[t.charCodeAt(c++)-43],o=Vr[t.charCodeAt(c++)-43],s=Vr[t.charCodeAt(c++)-43],a=Vr[t.charCodeAt(c++)-43],n[u++]=i<<2|o>>4,s!==64&&(n[u++]=(o&15)<<4|s>>2,a!==64&&(n[u++]=(s&3)<<6|a));return e?u-r:n.subarray(0,u)};S.binary.base58.encode=function(t,e){return S.binary.baseN.encode(t,Fm,e)};S.binary.base58.decode=function(t,e){return S.binary.baseN.decode(t,Fm,e)};S.text={utf8:{},utf16:{}};S.text.utf8.encode=function(t,e,r){t=S.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,o=0;o<t.length;++o)n[i++]=t.charCodeAt(o);return e?i-r:n};S.text.utf8.decode=function(t){return S.decodeUtf8(String.fromCharCode.apply(null,t))};S.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<t.length;++a)i[s++]=t.charCodeAt(a),o+=2;return e?o-r:n};S.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};S.deflate=function(t,e,r){if(e=S.decode64(t.deflate(S.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};S.inflate=function(t,e,r){var n=t.inflate(S.encode64(e)).rval;return n===null?null:S.decode64(n)};var Mu=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=S.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},Fu=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(S.decode64(r))),r},tA=function(t,e,r,n){var i=Fu(t,e);i===null&&(i={}),i[r]=n,Mu(t,e,i)},rA=function(t,e,r){var n=Fu(t,e);return n!==null&&(n=r in n?n[r]:null),n},nA=function(t,e,r){var n=Fu(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),Mu(t,e,n)}},iA=function(t,e){Mu(t,e,null)},la=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,o=!1,s=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),o=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};S.setItem=function(t,e,r,n,i){la(tA,arguments,i)};S.getItem=function(t,e,r,n){return la(rA,arguments,n)};S.removeItem=function(t,e,r,n){la(nA,arguments,n)};S.clearItems=function(t,e,r){la(iA,arguments,r)};S.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};S.format=function(t){for(var e=/%./g,r,n,i=0,o=[],s=0;r=e.exec(t);){n=t.substring(s,e.lastIndex-2),n.length>0&&o.push(n),s=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?o.push(arguments[i+++1]):o.push("<?>");break;case"%":o.push("%");break;default:o.push("<%"+a+"?>")}}return o.push(t.substring(s)),o.join("")};S.formatNumber=function(t,e,r,n){var i=t,o=isNaN(e=Math.abs(e))?2:e,s=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",f=u.length>3?u.length%3:0;return c+(f?u.substr(0,f)+a:"")+u.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-u).toFixed(o).slice(2):"")};S.formatSize=function(t){return t>=1073741824?t=S.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=S.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=S.formatNumber(t/1024,0)+" KiB":t=S.formatNumber(t,0)+" bytes",t};S.bytesFromIP=function(t){return t.indexOf(".")!==-1?S.bytesFromIPv4(t):t.indexOf(":")!==-1?S.bytesFromIPv6(t):null};S.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=S.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};S.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(s){return s.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=S.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=S.hexToBytes(t[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};S.bytesToIP=function(t){return t.length===4?S.bytesToIPv4(t):t.length===16?S.bytesToIPv6(t):null};S.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};S.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var o=S.bytesToHex(t[i]+t[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=e.length;!s||a!==s.end+1?r.push({start:a,end:a}):(s.end=a,s.end-s.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(o)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};S.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in S&&!t.update)return e(null,S.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return S.cores=navigator.hardwareConcurrency,e(null,S.cores);if(typeof Worker>"u")return S.cores=1,e(null,S.cores);if(typeof Blob>"u")return S.cores=2,e(null,S.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(f,h){return f+h},0)/s.length);return S.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,S.cores)}i(c,function(f,h){s.push(o(c,h)),n(s,a-1,c)})}function i(s,a){for(var c=[],u=[],f=0;f<s;++f){var h=new Worker(r);h.addEventListener("message",function(p){if(u.push(p.data),u.length===s){for(var y=0;y<s;++y)c[y].terminate();a(null,u)}}),c.push(h)}for(var f=0;f<s;++f)c[f].postMessage(f)}function o(s,a){for(var c=[],u=0;u<s;++u)for(var f=a[u],h=c[u]=[],p=0;p<s;++p)if(u!==p){var y=a[p];(f.st>y.st&&f.st<y.et||y.st>f.st&&y.st<f.et)&&h.push(p)}return c.reduce(function(l,d){return Math.max(l,d.length)},0)}}});var ha=z((OO,Vm)=>{var Vo=le();Vo.pki=Vo.pki||{};var Ku=Vm.exports=Vo.pki.oids=Vo.oids=Vo.oids||{};function N(t,e){Ku[t]=e,Ku[e]=t}function oe(t,e){Ku[t]=e}N("1.2.840.113549.1.1.1","rsaEncryption");N("1.2.840.113549.1.1.4","md5WithRSAEncryption");N("1.2.840.113549.1.1.5","sha1WithRSAEncryption");N("1.2.840.113549.1.1.7","RSAES-OAEP");N("1.2.840.113549.1.1.8","mgf1");N("1.2.840.113549.1.1.9","pSpecified");N("1.2.840.113549.1.1.10","RSASSA-PSS");N("1.2.840.113549.1.1.11","sha256WithRSAEncryption");N("1.2.840.113549.1.1.12","sha384WithRSAEncryption");N("1.2.840.113549.1.1.13","sha512WithRSAEncryption");N("1.3.101.112","EdDSA25519");N("1.2.840.10040.4.3","dsa-with-sha1");N("1.3.14.3.2.7","desCBC");N("1.3.14.3.2.26","sha1");N("1.3.14.3.2.29","sha1WithRSASignature");N("2.16.840.1.101.3.4.2.1","sha256");N("2.16.840.1.101.3.4.2.2","sha384");N("2.16.840.1.101.3.4.2.3","sha512");N("2.16.840.1.101.3.4.2.4","sha224");N("2.16.840.1.101.3.4.2.5","sha512-224");N("2.16.840.1.101.3.4.2.6","sha512-256");N("1.2.840.113549.2.2","md2");N("1.2.840.113549.2.5","md5");N("1.2.840.113549.1.7.1","data");N("1.2.840.113549.1.7.2","signedData");N("1.2.840.113549.1.7.3","envelopedData");N("1.2.840.113549.1.7.4","signedAndEnvelopedData");N("1.2.840.113549.1.7.5","digestedData");N("1.2.840.113549.1.7.6","encryptedData");N("1.2.840.113549.1.9.1","emailAddress");N("1.2.840.113549.1.9.2","unstructuredName");N("1.2.840.113549.1.9.3","contentType");N("1.2.840.113549.1.9.4","messageDigest");N("1.2.840.113549.1.9.5","signingTime");N("1.2.840.113549.1.9.6","counterSignature");N("1.2.840.113549.1.9.7","challengePassword");N("1.2.840.113549.1.9.8","unstructuredAddress");N("1.2.840.113549.1.9.14","extensionRequest");N("1.2.840.113549.1.9.20","friendlyName");N("1.2.840.113549.1.9.21","localKeyId");N("1.2.840.113549.1.9.22.1","x509Certificate");N("1.2.840.113549.1.12.10.1.1","keyBag");N("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");N("1.2.840.113549.1.12.10.1.3","certBag");N("1.2.840.113549.1.12.10.1.4","crlBag");N("1.2.840.113549.1.12.10.1.5","secretBag");N("1.2.840.113549.1.12.10.1.6","safeContentsBag");N("1.2.840.113549.1.5.13","pkcs5PBES2");N("1.2.840.113549.1.5.12","pkcs5PBKDF2");N("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");N("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");N("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");N("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");N("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");N("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");N("1.2.840.113549.2.7","hmacWithSHA1");N("1.2.840.113549.2.8","hmacWithSHA224");N("1.2.840.113549.2.9","hmacWithSHA256");N("1.2.840.113549.2.10","hmacWithSHA384");N("1.2.840.113549.2.11","hmacWithSHA512");N("1.2.840.113549.3.7","des-EDE3-CBC");N("2.16.840.1.101.3.4.1.2","aes128-CBC");N("2.16.840.1.101.3.4.1.22","aes192-CBC");N("2.16.840.1.101.3.4.1.42","aes256-CBC");N("2.5.4.3","commonName");N("2.5.4.4","surname");N("2.5.4.5","serialNumber");N("2.5.4.6","countryName");N("2.5.4.7","localityName");N("2.5.4.8","stateOrProvinceName");N("2.5.4.9","streetAddress");N("2.5.4.10","organizationName");N("2.5.4.11","organizationalUnitName");N("2.5.4.12","title");N("2.5.4.13","description");N("2.5.4.15","businessCategory");N("2.5.4.17","postalCode");N("2.5.4.42","givenName");N("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");N("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");N("2.16.840.1.113730.1.1","nsCertType");N("2.16.840.1.113730.1.13","nsComment");oe("2.5.29.1","authorityKeyIdentifier");oe("2.5.29.2","keyAttributes");oe("2.5.29.3","certificatePolicies");oe("2.5.29.4","keyUsageRestriction");oe("2.5.29.5","policyMapping");oe("2.5.29.6","subtreesConstraint");oe("2.5.29.7","subjectAltName");oe("2.5.29.8","issuerAltName");oe("2.5.29.9","subjectDirectoryAttributes");oe("2.5.29.10","basicConstraints");oe("2.5.29.11","nameConstraints");oe("2.5.29.12","policyConstraints");oe("2.5.29.13","basicConstraints");N("2.5.29.14","subjectKeyIdentifier");N("2.5.29.15","keyUsage");oe("2.5.29.16","privateKeyUsagePeriod");N("2.5.29.17","subjectAltName");N("2.5.29.18","issuerAltName");N("2.5.29.19","basicConstraints");oe("2.5.29.20","cRLNumber");oe("2.5.29.21","cRLReason");oe("2.5.29.22","expirationDate");oe("2.5.29.23","instructionCode");oe("2.5.29.24","invalidityDate");oe("2.5.29.25","cRLDistributionPoints");oe("2.5.29.26","issuingDistributionPoint");oe("2.5.29.27","deltaCRLIndicator");oe("2.5.29.28","issuingDistributionPoint");oe("2.5.29.29","certificateIssuer");oe("2.5.29.30","nameConstraints");N("2.5.29.31","cRLDistributionPoints");N("2.5.29.32","certificatePolicies");oe("2.5.29.33","policyMappings");oe("2.5.29.34","policyConstraints");N("2.5.29.35","authorityKeyIdentifier");oe("2.5.29.36","policyConstraints");N("2.5.29.37","extKeyUsage");oe("2.5.29.46","freshestCRL");oe("2.5.29.54","inhibitAnyPolicy");N("1.3.6.1.4.1.11129.2.4.2","timestampList");N("1.3.6.1.5.5.7.1.1","authorityInfoAccess");N("1.3.6.1.5.5.7.3.1","serverAuth");N("1.3.6.1.5.5.7.3.2","clientAuth");N("1.3.6.1.5.5.7.3.3","codeSigning");N("1.3.6.1.5.5.7.3.4","emailProtection");N("1.3.6.1.5.5.7.3.8","timeStamping")});var zo=z((kO,zm)=>{var pe=le();ke();ha();var M=zm.exports=pe.asn1=pe.asn1||{};M.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};M.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};M.create=function(t,e,r,n,i){if(pe.util.isArray(n)){for(var o=[],s=0;s<n.length;++s)n[s]!==void 0&&o.push(n[s]);n=o}var a={tagClass:t,type:e,constructed:r,composed:r||pe.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=M.copy(a)),a};M.copy=function(t,e){var r;if(pe.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(M.copy(t[n],e));return r}return typeof t=="string"?t:(r={tagClass:t.tagClass,type:t.type,constructed:t.constructed,composed:t.composed,value:M.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};M.equals=function(t,e,r){if(pe.util.isArray(t)){if(!pe.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!M.equals(t[n],e[n]))return!1;return!0}if(typeof t!=typeof e)return!1;if(typeof t=="string")return t===e;var i=t.tagClass===e.tagClass&&t.type===e.type&&t.constructed===e.constructed&&t.composed===e.composed&&M.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};M.getBerValueLength=function(t){var e=t.getByte();if(e!==128){var r,n=e&128;return n?r=t.getInt((e&127)<<3):r=e,r}};function qo(t,e,r){if(r>e){var n=new Error("Too few bytes to parse DER.");throw n.available=t.length(),n.remaining=e,n.requested=r,n}}var oA=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;qo(t,e,o),n=t.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};M.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=pe.util.createBuffer(t));var r=t.length(),n=da(t,t.length(),0,e);if(e.parseAllBytes&&t.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=t.length(),i}return n};function da(t,e,r,n){var i;qo(t,e,2);var o=t.getByte();e--;var s=o&192,a=o&31;i=t.length();var c=oA(t,e);if(e-=i-t.length(),c!==void 0&&c>e){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=t.length(),u.remaining=e,u.requested=c,u}c=e}var f,h,p=(o&32)===32;if(p)if(f=[],c===void 0)for(;;){if(qo(t,e,2),t.bytes(2)==="\0\0"){t.getBytes(2),e-=2;break}i=t.length(),f.push(da(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),f.push(da(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(f===void 0&&s===M.Class.UNIVERSAL&&a===M.Type.BITSTRING&&(h=t.bytes(c)),f===void 0&&n.decodeBitStrings&&s===M.Class.UNIVERSAL&&a===M.Type.BITSTRING&&c>1){var y=t.read,l=e,d=0;if(a===M.Type.BITSTRING&&(qo(t,e,1),d=t.getByte(),e--),d===0)try{i=t.length();var m={strict:!0,decodeBitStrings:!0},g=da(t,e,r+1,m),x=i-t.length();e-=x,a==M.Type.BITSTRING&&x++;var b=g.tagClass;x===c&&(b===M.Class.UNIVERSAL||b===M.Class.CONTEXT_SPECIFIC)&&(f=[g])}catch{}f===void 0&&(t.read=y,e=l)}if(f===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===M.Type.BMPSTRING)for(f="";c>0;c-=2)qo(t,e,2),f+=String.fromCharCode(t.getInt16()),e-=2;else f=t.getBytes(c),e-=c}var v=h===void 0?null:{bitStringContents:h};return M.create(s,a,p,f,v)}M.toDer=function(t){var e=pe.util.createBuffer(),r=t.tagClass|t.type,n=pe.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=M.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var o=0;o<t.value.length;++o)t.value[o]!==void 0&&n.putBuffer(M.toDer(t.value[o]))}else if(t.type===M.Type.BMPSTRING)for(var o=0;o<t.value.length;++o)n.putInt16(t.value.charCodeAt(o));else t.type===M.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)===128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);e.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)e.putByte(a.charCodeAt(o))}return e.putBuffer(n),e};M.oidToDer=function(t){var e=t.split("."),r=pe.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,o,s,a=2;a<e.length;++a){n=!0,i=[],o=parseInt(e[a],10);do s=o&127,o=o>>>7,n||(s|=128),i.push(s),n=!1;while(o>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};M.derToOid=function(t){var e;typeof t=="string"&&(t=pe.util.createBuffer(t));var r=t.getByte();e=Math.floor(r/40)+"."+r%40;for(var n=0;t.length()>0;)r=t.getByte(),n=n<<7,r&128?n+=r&127:(e+="."+(n+r),n=0);return e};M.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),o=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var f=parseInt(t.substr(u+1,2),10),h=parseInt(t.substr(u+4,2),10),p=f*60+h;p*=6e4,c==="+"?e.setTime(+e-p):e.setTime(+e+p)}return e};M.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),s=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,f=!1;t.charAt(t.length-1)==="Z"&&(f=!0);var h=t.length-5,p=t.charAt(h);if(p==="+"||p==="-"){var y=parseInt(t.substr(h+1,2),10),l=parseInt(t.substr(h+4,2),10);u=y*60+l,u*=6e4,p==="+"&&(u*=-1),f=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),f?(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(o,s,a,c)),e};M.dateToUtcTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push((""+t.getUTCFullYear()).substr(2)),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};M.dateToGeneralizedTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push(""+t.getUTCFullYear()),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};M.integerToDer=function(t){var e=pe.util.createBuffer();if(t>=-128&&t<128)return e.putSignedInt(t,8);if(t>=-32768&&t<32768)return e.putSignedInt(t,16);if(t>=-8388608&&t<8388608)return e.putSignedInt(t,24);if(t>=-2147483648&&t<2147483648)return e.putSignedInt(t,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=t,r};M.derToInteger=function(t){typeof t=="string"&&(t=pe.util.createBuffer(t));var e=t.length()*8;if(e>32)throw new Error("Integer too large; max is 32-bits.");return t.getSignedInt(e)};M.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&pe.util.isArray(e.value))for(var o=0,s=0;i&&s<e.value.length;++s)i=e.value[s].optional||!1,t.value[o]&&(i=M.validate(t.value[o],e.value[s],r,n),i?++o:e.value[s].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var qm=/[^\\u0000-\\u00ff]/;M.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
|
6
|
-
`);for(var i="",
|
|
2
|
+
"use strict";var Libp2P=(()=>{var Fm=Object.create;var ts=Object.defineProperty;var Km=Object.getOwnPropertyDescriptor;var qm=Object.getOwnPropertyNames;var Vm=Object.getPrototypeOf,$m=Object.prototype.hasOwnProperty;var q=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Me=(t,e)=>{for(var r in e)ts(t,r,{get:e[r],enumerable:!0})},kl=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of qm(e))!$m.call(t,i)&&i!==r&&ts(t,i,{get:()=>e[i],enumerable:!(n=Km(e,i))||n.enumerable});return t};var we=(t,e,r)=>(r=t!=null?Fm(Vm(t)):{},kl(e||!t||!t.__esModule?ts(r,"default",{value:t,enumerable:!0}):r,t)),zm=t=>kl(ts({},"__esModule",{value:!0}),t);var fe=q((bv,Ol)=>{Ol.exports={options:{usePureJavaScript:!1}}});var Fl=q((wv,Ul)=>{var Jo={};Ul.exports=Jo;var Ml={};Jo.encode=function(t,e,r){if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(t instanceof Uint8Array))n=Hm(t,e);else{var i=0,s=e.length,o=e.charAt(0),a=[0];for(i=0;i<t.length;++i){for(var c=0,u=t[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%s,u=u/s|0;for(;u>0;)a.push(u%s),u=u/s|0}for(i=0;t[i]===0&&i<t.length-1;++i)n+=o;for(i=a.length-1;i>=0;--i)n+=e[a[i]]}if(r){var l=new RegExp(".{1,"+r+"}","g");n=n.match(l).join(`\r
|
|
3
|
+
`)}return n};Jo.decode=function(t,e){if(typeof t!="string")throw new TypeError('"input" must be a string.');if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');var r=Ml[e];if(!r){r=Ml[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,s=e.charAt(0),o=[0],n=0;n<t.length;n++){var a=r[t.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<o.length;++c)u+=o[c]*i,o[c]=u&255,u>>=8;for(;u>0;)o.push(u&255),u>>=8}for(var l=0;t[l]===s&&l<t.length-1;++l)o.push(0);return typeof Buffer<"u"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function Hm(t,e){var r=0,n=e.length,i=e.charAt(0),s=[0];for(r=0;r<t.length();++r){for(var o=0,a=t.at(r);o<s.length;++o)a+=s[o]<<8,s[o]=a%n,a=a/n|0;for(;a>0;)s.push(a%n),a=a/n|0}var c="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)c+=i;for(r=s.length-1;r>=0;--r)c+=e[s[r]];return c}});var Be=q((Ev,$l)=>{var Kl=fe(),ql=Fl(),w=$l.exports=Kl.util=Kl.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){w.nextTick=process.nextTick,typeof setImmediate=="function"?w.setImmediate=setImmediate:w.setImmediate=w.nextTick;return}if(typeof setImmediate=="function"){w.setImmediate=function(){return setImmediate.apply(void 0,arguments)},w.nextTick=function(a){return setImmediate(a)};return}if(w.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(l){l()})}};var o=a,t="forge.setImmediate",e=[];w.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var s=w.setImmediate;w.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}w.nextTick=w.setImmediate})();w.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;w.globalScope=function(){return w.isNodejs?globalThis:typeof self>"u"?window:self}();w.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};w.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};w.isArrayBufferView=function(t){return t&&w.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function ci(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}w.ByteBuffer=ea;function ea(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(w.isArrayBuffer(t)||w.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof ea||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}w.ByteStringBuffer=ea;var Gm=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>Gm&&(this.data.substr(0,1),this._constructedStringLength=0)};w.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};w.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};w.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};w.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};w.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};w.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(w.encodeUtf8(t))};w.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};w.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};w.ByteStringBuffer.prototype.putInt=function(t,e){ci(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};w.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};w.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};w.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};w.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};w.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};w.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};w.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};w.ByteStringBuffer.prototype.getInt=function(t){ci(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};w.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};w.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};w.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var t=w.createBuffer(this.data);return t.read=this.read,t};w.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};w.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};w.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};w.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function Wm(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=w.isArrayBuffer(t),n=w.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}w.DataBuffer=Wm;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};w.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};w.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};w.DataBuffer.prototype.putBytes=function(t,e){if(w.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(w.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof w.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&w.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof w.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var s;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.hex.decode(t,s,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.base64.decode(t,s,this.write),this;if(e==="utf8"&&(t=w.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(s),this;if(e==="utf16")return this.accommodate(t.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};w.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};w.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};w.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};w.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};w.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};w.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};w.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(t,e){ci(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};w.DataBuffer.prototype.putSignedInt=function(t,e){return ci(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};w.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};w.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};w.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};w.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};w.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};w.DataBuffer.prototype.getInt=function(t){ci(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};w.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};w.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};w.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};w.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};w.DataBuffer.prototype.copy=function(){return new w.DataBuffer(this)};w.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};w.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};w.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};w.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};w.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return w.binary.raw.encode(e);if(t==="hex")return w.binary.hex.encode(e);if(t==="base64")return w.binary.base64.encode(e);if(t==="utf8")return w.text.utf8.decode(e);if(t==="utf16")return w.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};w.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=w.encodeUtf8(t)),new w.ByteBuffer(t)};w.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};w.xorBytes=function(t,e,r){for(var n="",i="",s="",o=0,a=0;r>0;--r,++o)i=t.charCodeAt(o)^e.charCodeAt(o),a>=10&&(n+=s,s="",a=0),s+=String.fromCharCode(i),++a;return n+=s,n};w.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};w.bytesToHex=function(t){return w.createBuffer(t).toHex()};w.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var dr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",pr=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],Vl="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.encode64=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.length;)i=t.charCodeAt(a++),s=t.charCodeAt(a++),o=t.charCodeAt(a++),r+=dr.charAt(i>>2),r+=dr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=dr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":dr.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
4
|
+
`,r=r.substr(e));return n+=r,n};w.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,s,o=0;o<t.length;)r=pr[t.charCodeAt(o++)-43],n=pr[t.charCodeAt(o++)-43],i=pr[t.charCodeAt(o++)-43],s=pr[t.charCodeAt(o++)-43],e+=String.fromCharCode(r<<2|n>>4),i!==64&&(e+=String.fromCharCode((n&15)<<4|i>>2),s!==64&&(e+=String.fromCharCode((i&3)<<6|s)));return e};w.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};w.decodeUtf8=function(t){return decodeURIComponent(escape(t))};w.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:ql.encode,decode:ql.decode}};w.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};w.binary.raw.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);return e?i-r:n};w.binary.hex.encode=w.bytesToHex;w.binary.hex.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/2))),r=r||0;var i=0,s=r;for(t.length&1&&(i=1,n[s++]=parseInt(t[0],16));i<t.length;i+=2)n[s++]=parseInt(t.substr(i,2),16);return e?s-r:n};w.binary.base64.encode=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.byteLength;)i=t[a++],s=t[a++],o=t[a++],r+=dr.charAt(i>>2),r+=dr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=dr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":dr.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
5
|
+
`,r=r.substr(e));return n+=r,n};w.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,s,o,a,c=0,u=r;c<t.length;)i=pr[t.charCodeAt(c++)-43],s=pr[t.charCodeAt(c++)-43],o=pr[t.charCodeAt(c++)-43],a=pr[t.charCodeAt(c++)-43],n[u++]=i<<2|s>>4,o!==64&&(n[u++]=(s&15)<<4|o>>2,a!==64&&(n[u++]=(o&3)<<6|a));return e?u-r:n.subarray(0,u)};w.binary.base58.encode=function(t,e){return w.binary.baseN.encode(t,Vl,e)};w.binary.base58.decode=function(t,e){return w.binary.baseN.decode(t,Vl,e)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(t,e,r){t=w.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);return e?i-r:n};w.text.utf8.decode=function(t){return w.decodeUtf8(String.fromCharCode.apply(null,t))};w.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var s=r,o=r,a=0;a<t.length;++a)i[o++]=t.charCodeAt(a),s+=2;return e?s-r:n};w.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};w.deflate=function(t,e,r){if(e=w.decode64(t.deflate(w.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};w.inflate=function(t,e,r){var n=t.inflate(w.encode64(e)).rval;return n===null?null:w.decode64(n)};var ta=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=w.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},ra=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(w.decode64(r))),r},Ym=function(t,e,r,n){var i=ra(t,e);i===null&&(i={}),i[r]=n,ta(t,e,i)},Qm=function(t,e,r){var n=ra(t,e);return n!==null&&(n=r in n?n[r]:null),n},Xm=function(t,e,r){var n=ra(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var s in n){i=!1;break}i&&(n=null),ta(t,e,n)}},Zm=function(t,e){ta(t,e,null)},rs=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,s=!1,o=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),s=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};w.setItem=function(t,e,r,n,i){rs(Ym,arguments,i)};w.getItem=function(t,e,r,n){return rs(Qm,arguments,n)};w.removeItem=function(t,e,r,n){rs(Xm,arguments,n)};w.clearItems=function(t,e,r){rs(Zm,arguments,r)};w.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};w.format=function(t){for(var e=/%./g,r,n,i=0,s=[],o=0;r=e.exec(t);){n=t.substring(o,e.lastIndex-2),n.length>0&&s.push(n),o=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?s.push(arguments[i+++1]):s.push("<?>");break;case"%":s.push("%");break;default:s.push("<%"+a+"?>")}}return s.push(t.substring(o)),s.join("")};w.formatNumber=function(t,e,r,n){var i=t,s=isNaN(e=Math.abs(e))?2:e,o=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",l=u.length>3?u.length%3:0;return c+(l?u.substr(0,l)+a:"")+u.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-u).toFixed(s).slice(2):"")};w.formatSize=function(t){return t>=1073741824?t=w.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=w.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=w.formatNumber(t/1024,0)+" KiB":t=w.formatNumber(t,0)+" bytes",t};w.bytesFromIP=function(t){return t.indexOf(".")!==-1?w.bytesFromIPv4(t):t.indexOf(":")!==-1?w.bytesFromIPv6(t):null};w.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=w.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};w.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(o){return o.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=w.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=w.hexToBytes(t[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};w.bytesToIP=function(t){return t.length===4?w.bytesToIPv4(t):t.length===16?w.bytesToIPv6(t):null};w.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};w.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var s=w.bytesToHex(t[i]+t[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=r[r.length-1],a=e.length;!o||a!==o.end+1?r.push({start:a,end:a}):(o.end=a,o.end-o.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(s)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};w.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in w&&!t.update)return e(null,w.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return w.cores=navigator.hardwareConcurrency,e(null,w.cores);if(typeof Worker>"u")return w.cores=1,e(null,w.cores);if(typeof Blob>"u")return w.cores=2,e(null,w.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(o){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(o,a,c){if(a===0){var u=Math.floor(o.reduce(function(l,f){return l+f},0)/o.length);return w.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,w.cores)}i(c,function(l,f){o.push(s(c,f)),n(o,a-1,c)})}function i(o,a){for(var c=[],u=[],l=0;l<o;++l){var f=new Worker(r);f.addEventListener("message",function(d){if(u.push(d.data),u.length===o){for(var p=0;p<o;++p)c[p].terminate();a(null,u)}}),c.push(f)}for(var l=0;l<o;++l)c[l].postMessage(l)}function s(o,a){for(var c=[],u=0;u<o;++u)for(var l=a[u],f=c[u]=[],d=0;d<o;++d)if(u!==d){var p=a[d];(l.st>p.st&&l.st<p.et||p.st>l.st&&p.st<l.et)&&f.push(d)}return c.reduce(function(h,m){return Math.max(h,m.length)},0)}}});var ns=q((vv,zl)=>{var ui=fe();ui.pki=ui.pki||{};var na=zl.exports=ui.pki.oids=ui.oids=ui.oids||{};function L(t,e){na[t]=e,na[e]=t}function oe(t,e){na[t]=e}L("1.2.840.113549.1.1.1","rsaEncryption");L("1.2.840.113549.1.1.4","md5WithRSAEncryption");L("1.2.840.113549.1.1.5","sha1WithRSAEncryption");L("1.2.840.113549.1.1.7","RSAES-OAEP");L("1.2.840.113549.1.1.8","mgf1");L("1.2.840.113549.1.1.9","pSpecified");L("1.2.840.113549.1.1.10","RSASSA-PSS");L("1.2.840.113549.1.1.11","sha256WithRSAEncryption");L("1.2.840.113549.1.1.12","sha384WithRSAEncryption");L("1.2.840.113549.1.1.13","sha512WithRSAEncryption");L("1.3.101.112","EdDSA25519");L("1.2.840.10040.4.3","dsa-with-sha1");L("1.3.14.3.2.7","desCBC");L("1.3.14.3.2.26","sha1");L("1.3.14.3.2.29","sha1WithRSASignature");L("2.16.840.1.101.3.4.2.1","sha256");L("2.16.840.1.101.3.4.2.2","sha384");L("2.16.840.1.101.3.4.2.3","sha512");L("2.16.840.1.101.3.4.2.4","sha224");L("2.16.840.1.101.3.4.2.5","sha512-224");L("2.16.840.1.101.3.4.2.6","sha512-256");L("1.2.840.113549.2.2","md2");L("1.2.840.113549.2.5","md5");L("1.2.840.113549.1.7.1","data");L("1.2.840.113549.1.7.2","signedData");L("1.2.840.113549.1.7.3","envelopedData");L("1.2.840.113549.1.7.4","signedAndEnvelopedData");L("1.2.840.113549.1.7.5","digestedData");L("1.2.840.113549.1.7.6","encryptedData");L("1.2.840.113549.1.9.1","emailAddress");L("1.2.840.113549.1.9.2","unstructuredName");L("1.2.840.113549.1.9.3","contentType");L("1.2.840.113549.1.9.4","messageDigest");L("1.2.840.113549.1.9.5","signingTime");L("1.2.840.113549.1.9.6","counterSignature");L("1.2.840.113549.1.9.7","challengePassword");L("1.2.840.113549.1.9.8","unstructuredAddress");L("1.2.840.113549.1.9.14","extensionRequest");L("1.2.840.113549.1.9.20","friendlyName");L("1.2.840.113549.1.9.21","localKeyId");L("1.2.840.113549.1.9.22.1","x509Certificate");L("1.2.840.113549.1.12.10.1.1","keyBag");L("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");L("1.2.840.113549.1.12.10.1.3","certBag");L("1.2.840.113549.1.12.10.1.4","crlBag");L("1.2.840.113549.1.12.10.1.5","secretBag");L("1.2.840.113549.1.12.10.1.6","safeContentsBag");L("1.2.840.113549.1.5.13","pkcs5PBES2");L("1.2.840.113549.1.5.12","pkcs5PBKDF2");L("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");L("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");L("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");L("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");L("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");L("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");L("1.2.840.113549.2.7","hmacWithSHA1");L("1.2.840.113549.2.8","hmacWithSHA224");L("1.2.840.113549.2.9","hmacWithSHA256");L("1.2.840.113549.2.10","hmacWithSHA384");L("1.2.840.113549.2.11","hmacWithSHA512");L("1.2.840.113549.3.7","des-EDE3-CBC");L("2.16.840.1.101.3.4.1.2","aes128-CBC");L("2.16.840.1.101.3.4.1.22","aes192-CBC");L("2.16.840.1.101.3.4.1.42","aes256-CBC");L("2.5.4.3","commonName");L("2.5.4.4","surname");L("2.5.4.5","serialNumber");L("2.5.4.6","countryName");L("2.5.4.7","localityName");L("2.5.4.8","stateOrProvinceName");L("2.5.4.9","streetAddress");L("2.5.4.10","organizationName");L("2.5.4.11","organizationalUnitName");L("2.5.4.12","title");L("2.5.4.13","description");L("2.5.4.15","businessCategory");L("2.5.4.17","postalCode");L("2.5.4.42","givenName");L("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");L("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");L("2.16.840.1.113730.1.1","nsCertType");L("2.16.840.1.113730.1.13","nsComment");oe("2.5.29.1","authorityKeyIdentifier");oe("2.5.29.2","keyAttributes");oe("2.5.29.3","certificatePolicies");oe("2.5.29.4","keyUsageRestriction");oe("2.5.29.5","policyMapping");oe("2.5.29.6","subtreesConstraint");oe("2.5.29.7","subjectAltName");oe("2.5.29.8","issuerAltName");oe("2.5.29.9","subjectDirectoryAttributes");oe("2.5.29.10","basicConstraints");oe("2.5.29.11","nameConstraints");oe("2.5.29.12","policyConstraints");oe("2.5.29.13","basicConstraints");L("2.5.29.14","subjectKeyIdentifier");L("2.5.29.15","keyUsage");oe("2.5.29.16","privateKeyUsagePeriod");L("2.5.29.17","subjectAltName");L("2.5.29.18","issuerAltName");L("2.5.29.19","basicConstraints");oe("2.5.29.20","cRLNumber");oe("2.5.29.21","cRLReason");oe("2.5.29.22","expirationDate");oe("2.5.29.23","instructionCode");oe("2.5.29.24","invalidityDate");oe("2.5.29.25","cRLDistributionPoints");oe("2.5.29.26","issuingDistributionPoint");oe("2.5.29.27","deltaCRLIndicator");oe("2.5.29.28","issuingDistributionPoint");oe("2.5.29.29","certificateIssuer");oe("2.5.29.30","nameConstraints");L("2.5.29.31","cRLDistributionPoints");L("2.5.29.32","certificatePolicies");oe("2.5.29.33","policyMappings");oe("2.5.29.34","policyConstraints");L("2.5.29.35","authorityKeyIdentifier");oe("2.5.29.36","policyConstraints");L("2.5.29.37","extKeyUsage");oe("2.5.29.46","freshestCRL");oe("2.5.29.54","inhibitAnyPolicy");L("1.3.6.1.4.1.11129.2.4.2","timestampList");L("1.3.6.1.5.5.7.1.1","authorityInfoAccess");L("1.3.6.1.5.5.7.3.1","serverAuth");L("1.3.6.1.5.5.7.3.2","clientAuth");L("1.3.6.1.5.5.7.3.3","codeSigning");L("1.3.6.1.5.5.7.3.4","emailProtection");L("1.3.6.1.5.5.7.3.8","timeStamping")});var fi=q((_v,Gl)=>{var pe=fe();Be();ns();var O=Gl.exports=pe.asn1=pe.asn1||{};O.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};O.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};O.create=function(t,e,r,n,i){if(pe.util.isArray(n)){for(var s=[],o=0;o<n.length;++o)n[o]!==void 0&&s.push(n[o]);n=s}var a={tagClass:t,type:e,constructed:r,composed:r||pe.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=O.copy(a)),a};O.copy=function(t,e){var r;if(pe.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(O.copy(t[n],e));return r}return typeof t=="string"?t:(r={tagClass:t.tagClass,type:t.type,constructed:t.constructed,composed:t.composed,value:O.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};O.equals=function(t,e,r){if(pe.util.isArray(t)){if(!pe.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!O.equals(t[n],e[n]))return!1;return!0}if(typeof t!=typeof e)return!1;if(typeof t=="string")return t===e;var i=t.tagClass===e.tagClass&&t.type===e.type&&t.constructed===e.constructed&&t.composed===e.composed&&O.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};O.getBerValueLength=function(t){var e=t.getByte();if(e!==128){var r,n=e&128;return n?r=t.getInt((e&127)<<3):r=e,r}};function li(t,e,r){if(r>e){var n=new Error("Too few bytes to parse DER.");throw n.available=t.length(),n.remaining=e,n.requested=r,n}}var jm=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var s=r&127;li(t,e,s),n=t.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};O.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=pe.util.createBuffer(t));var r=t.length(),n=is(t,t.length(),0,e);if(e.parseAllBytes&&t.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=t.length(),i}return n};function is(t,e,r,n){var i;li(t,e,2);var s=t.getByte();e--;var o=s&192,a=s&31;i=t.length();var c=jm(t,e);if(e-=i-t.length(),c!==void 0&&c>e){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=t.length(),u.remaining=e,u.requested=c,u}c=e}var l,f,d=(s&32)===32;if(d)if(l=[],c===void 0)for(;;){if(li(t,e,2),t.bytes(2)==="\0\0"){t.getBytes(2),e-=2;break}i=t.length(),l.push(is(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(is(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&o===O.Class.UNIVERSAL&&a===O.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&o===O.Class.UNIVERSAL&&a===O.Type.BITSTRING&&c>1){var p=t.read,h=e,m=0;if(a===O.Type.BITSTRING&&(li(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},g=is(t,e,r+1,y),x=i-t.length();e-=x,a==O.Type.BITSTRING&&x++;var b=g.tagClass;x===c&&(b===O.Class.UNIVERSAL||b===O.Class.CONTEXT_SPECIFIC)&&(l=[g])}catch{}l===void 0&&(t.read=p,e=h)}if(l===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===O.Type.BMPSTRING)for(l="";c>0;c-=2)li(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c),e-=c}var A=f===void 0?null:{bitStringContents:f};return O.create(o,a,d,l,A)}O.toDer=function(t){var e=pe.util.createBuffer(),r=t.tagClass|t.type,n=pe.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=O.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var s=0;s<t.value.length;++s)t.value[s]!==void 0&&n.putBuffer(O.toDer(t.value[s]))}else if(t.type===O.Type.BMPSTRING)for(var s=0;s<t.value.length;++s)n.putInt16(t.value.charCodeAt(s));else t.type===O.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)===128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);e.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)e.putByte(a.charCodeAt(s))}return e.putBuffer(n),e};O.oidToDer=function(t){var e=t.split("."),r=pe.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,s,o,a=2;a<e.length;++a){n=!0,i=[],s=parseInt(e[a],10);do o=s&127,s=s>>>7,n||(o|=128),i.push(o),n=!1;while(s>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};O.derToOid=function(t){var e;typeof t=="string"&&(t=pe.util.createBuffer(t));var r=t.getByte();e=Math.floor(r/40)+"."+r%40;for(var n=0;t.length()>0;)r=t.getByte(),n=n<<7,r&128?n+=r&127:(e+="."+(n+r),n=0);return e};O.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),s=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var l=parseInt(t.substr(u+1,2),10),f=parseInt(t.substr(u+4,2),10),d=l*60+f;d*=6e4,c==="+"?e.setTime(+e-d):e.setTime(+e+d)}return e};O.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),o=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,l=!1;t.charAt(t.length-1)==="Z"&&(l=!0);var f=t.length-5,d=t.charAt(f);if(d==="+"||d==="-"){var p=parseInt(t.substr(f+1,2),10),h=parseInt(t.substr(f+4,2),10);u=p*60+h,u*=6e4,d==="+"&&(u*=-1),l=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),l?(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(s,o,a,c)),e};O.dateToUtcTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push((""+t.getUTCFullYear()).substr(2)),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};O.dateToGeneralizedTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push(""+t.getUTCFullYear()),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};O.integerToDer=function(t){var e=pe.util.createBuffer();if(t>=-128&&t<128)return e.putSignedInt(t,8);if(t>=-32768&&t<32768)return e.putSignedInt(t,16);if(t>=-8388608&&t<8388608)return e.putSignedInt(t,24);if(t>=-2147483648&&t<2147483648)return e.putSignedInt(t,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=t,r};O.derToInteger=function(t){typeof t=="string"&&(t=pe.util.createBuffer(t));var e=t.length()*8;if(e>32)throw new Error("Integer too large; max is 32-bits.");return t.getSignedInt(e)};O.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&pe.util.isArray(e.value))for(var s=0,o=0;i&&o<e.value.length;++o)i=e.value[o].optional||!1,t.value[s]&&(i=O.validate(t.value[s],e.value[o],r,n),i?++s:e.value[o].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var Hl=/[^\\u0000-\\u00ff]/;O.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
|
6
|
+
`);for(var i="",s=0;s<e*r;++s)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case O.Class.UNIVERSAL:n+="Universal:";break;case O.Class.APPLICATION:n+="Application:";break;case O.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case O.Class.PRIVATE:n+="Private:";break}if(t.tagClass===O.Class.UNIVERSAL)switch(n+=t.type,t.type){case O.Type.NONE:n+=" (None)";break;case O.Type.BOOLEAN:n+=" (Boolean)";break;case O.Type.INTEGER:n+=" (Integer)";break;case O.Type.BITSTRING:n+=" (Bit string)";break;case O.Type.OCTETSTRING:n+=" (Octet string)";break;case O.Type.NULL:n+=" (Null)";break;case O.Type.OID:n+=" (Object Identifier)";break;case O.Type.ODESC:n+=" (Object Descriptor)";break;case O.Type.EXTERNAL:n+=" (External or Instance of)";break;case O.Type.REAL:n+=" (Real)";break;case O.Type.ENUMERATED:n+=" (Enumerated)";break;case O.Type.EMBEDDED:n+=" (Embedded PDV)";break;case O.Type.UTF8:n+=" (UTF8)";break;case O.Type.ROID:n+=" (Relative Object Identifier)";break;case O.Type.SEQUENCE:n+=" (Sequence)";break;case O.Type.SET:n+=" (Set)";break;case O.Type.PRINTABLESTRING:n+=" (Printable String)";break;case O.Type.IA5String:n+=" (IA5String (ASCII))";break;case O.Type.UTCTIME:n+=" (UTC time)";break;case O.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case O.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
|
|
7
7
|
`,n+=i+"Constructed: "+t.constructed+`
|
|
8
|
-
`,t.composed){for(var s=0,a="",o=0;o<t.value.length;++o)t.value[o]!==void 0&&(s+=1,a+=M.prettyPrint(t.value[o],e+1,r),o+1<t.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",t.type===M.Type.OID){var c=M.derToOid(t.value);n+=c,pe.pki&&pe.pki.oids&&c in pe.pki.oids&&(n+=" ("+pe.pki.oids[c]+") ")}if(t.type===M.Type.INTEGER)try{n+=M.derToInteger(t.value)}catch{n+="0x"+pe.util.bytesToHex(t.value)}else if(t.type===M.Type.BITSTRING){if(t.value.length>1?n+="0x"+pe.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(t.type===M.Type.OCTETSTRING)qm.test(t.value)||(n+="("+t.value+") "),n+="0x"+pe.util.bytesToHex(t.value);else if(t.type===M.Type.UTF8)try{n+=pe.util.decodeUtf8(t.value)}catch(f){if(f.message==="URI malformed")n+="0x"+pe.util.bytesToHex(t.value)+" (malformed UTF8)";else throw f}else t.type===M.Type.PRINTABLESTRING||t.type===M.Type.IA5String?n+=t.value:qm.test(t.value)?n+="0x"+pe.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var qu=z((UO,$m)=>{var qe=le();ke();$m.exports=qe.cipher=qe.cipher||{};qe.cipher.algorithms=qe.cipher.algorithms||{};qe.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=qe.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new qe.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};qe.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=qe.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new qe.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};qe.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),qe.cipher.algorithms[t]=e};qe.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in qe.cipher.algorithms?qe.cipher.algorithms[t]:null};var Vu=qe.cipher.BlockCipher=function(t){this.algorithm=t.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=t.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=t.decrypt,this.algorithm.initialize(t)};Vu.prototype.start=function(t){t=t||{};var e={};for(var r in t)e[r]=t[r];e.decrypt=this._decrypt,this._finish=!1,this._input=qe.util.createBuffer(),this.output=t.output||qe.util.createBuffer(),this.mode.start(e)};Vu.prototype.update=function(t){for(t&&this._input.putBuffer(t);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};Vu.prototype.finish=function(t){t&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return t(this.blockSize,r,!1)},this.mode.unpad=function(r){return t(this.blockSize,r,!0)});var e={};return e.decrypt=this._decrypt,e.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,e)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,e))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,e))}});var $u=z((MO,Hm)=>{var ze=le();ke();ze.cipher=ze.cipher||{};var J=Hm.exports=ze.cipher.modes=ze.cipher.modes||{};J.ecb=function(t){t=t||{},this.name="ECB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};J.ecb.prototype.start=function(t){};J.ecb.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};J.ecb.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};J.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};J.ecb.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};J.cbc=function(t){t=t||{},this.name="CBC",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};J.cbc.prototype.start=function(t){if(t.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in t)this._iv=pa(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};J.cbc.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n]);this._prev=this._outBlock};J.cbc.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};J.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};J.cbc.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};J.cfb=function(t){t=t||{},this.name="CFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=ze.util.createBuffer(),this._partialBytes=0};J.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=pa(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};J.cfb.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32()^this._outBlock[i],e.putInt32(this._inBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};J.cfb.prototype.decrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32(),e.putInt32(this._inBlock[i]^this._outBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};J.ofb=function(t){t=t||{},this.name="OFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=ze.util.createBuffer(),this._partialBytes=0};J.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=pa(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};J.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};J.ofb.prototype.decrypt=J.ofb.prototype.encrypt;J.ctr=function(t){t=t||{},this.name="CTR",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=ze.util.createBuffer(),this._partialBytes=0};J.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=pa(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};J.ctr.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]);else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}ma(this._inBlock)};J.ctr.prototype.decrypt=J.ctr.prototype.encrypt;J.gcm=function(t){t=t||{},this.name="GCM",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=ze.util.createBuffer(),this._partialBytes=0,this._R=3774873600};J.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=ze.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=ze.util.createBuffer(t.additionalData):r=ze.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=ze.util.createBuffer(t.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=e.length();if(n===12)this._j0=[e.getInt32(),e.getInt32(),e.getInt32(),1];else{for(this._j0=[0,0,0,0];e.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(zu(n*8)))}this._inBlock=this._j0.slice(0),ma(this._inBlock),this._partialBytes=0,r=ze.util.createBuffer(r),this._aDataLength=zu(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};J.gcm.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^=t.getInt32());this._cipherLength+=this.blockSize}else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o<=0||r){if(r){var s=n%this.blockSize;this._cipherLength+=s,this._partialOutput.truncate(this.blockSize-s)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),ma(this._inBlock)};J.gcm.prototype.decrypt=function(t,e,r){var n=t.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),ma(this._inBlock),this._hashBlock[0]=t.getInt32(),this._hashBlock[1]=t.getInt32(),this._hashBlock[2]=t.getInt32(),this._hashBlock[3]=t.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};J.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=ze.util.createBuffer();var n=this._aDataLength.concat(zu(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var o=0;o<this._ints;++o)this.tag.putInt32(this._s[o]^i[o]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};J.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var o=t[i/32|0]&1<<31-i%32;o&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};J.gcm.prototype.pow=function(t,e){for(var r=t[3]&1,n=3;n>0;--n)e[n]=t[n]>>>1|(t[n-1]&1)<<31;e[0]=t[0]>>>1,r&&(e[0]^=this._R)};J.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,o=this._m[r][i];e[0]^=o[0],e[1]^=o[1],e[2]^=o[2],e[3]^=o[3]}return e};J.gcm.prototype.ghash=function(t,e,r){return e[0]^=r[0],e[1]^=r[1],e[2]^=r[2],e[3]^=r[3],this.tableMultiply(e)};J.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,o=new Array(i),s=0;s<i;++s){var a=[0,0,0,0],c=s/n|0,u=(n-1-s%n)*e;a[c]=1<<e-1<<u,o[s]=this.generateSubHashTable(this.multiply(a,t),e)}return o};J.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var o=n>>>1;o>0;)this.pow(i[2*o],i[o]=[]),o>>=1;for(o=2;o<n;){for(var s=1;s<o;++s){var a=i[o],c=i[s];i[o+s]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}o*=2}for(i[0]=[0,0,0,0],o=n+1;o<r;++o){var u=i[o^n];i[o]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function pa(t,e){if(typeof t=="string"&&(t=ze.util.createBuffer(t)),ze.util.isArray(t)&&t.length>4){var r=t;t=ze.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(t.length()<e)throw new Error("Invalid IV length; got "+t.length()+" bytes and expected "+e+" bytes.");if(!ze.util.isArray(t)){for(var i=[],o=e/4,n=0;n<o;++n)i.push(t.getInt32());t=i}return t}function ma(t){t[t.length-1]=t[t.length-1]+1&4294967295}function zu(t){return[t/4294967296|0,t&4294967295]}});var Yu=z((FO,Qm)=>{var de=le();qu();$u();ke();Qm.exports=de.aes=de.aes||{};de.aes.startEncrypting=function(t,e,r,n){var i=ya({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};de.aes.createEncryptionCipher=function(t,e){return ya({key:t,output:null,decrypt:!1,mode:e})};de.aes.startDecrypting=function(t,e,r,n){var i=ya({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};de.aes.createDecryptionCipher=function(t,e){return ya({key:t,output:null,decrypt:!0,mode:e})};de.aes.Algorithm=function(t,e){Wu||Wm();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Gu(r._w,n,i,!1)},decrypt:function(n,i){return Gu(r._w,n,i,!0)}}}),r._init=!1};de.aes.Algorithm.prototype.initialize=function(t){if(!this._init){var e=t.key,r;if(typeof e=="string"&&(e.length===16||e.length===24||e.length===32))e=de.util.createBuffer(e);else if(de.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=de.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!de.util.isArray(e)){r=e,e=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)e.push(r.getInt32())}}if(!de.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=Ym(e,t.decrypt&&!s),this._init=!0}};de.aes._expandKey=function(t,e){return Wu||Wm(),Ym(t,e)};de.aes._updateBlock=Gu;ui("AES-ECB",de.cipher.modes.ecb);ui("AES-CBC",de.cipher.modes.cbc);ui("AES-CFB",de.cipher.modes.cfb);ui("AES-OFB",de.cipher.modes.ofb);ui("AES-CTR",de.cipher.modes.ctr);ui("AES-GCM",de.cipher.modes.gcm);function ui(t,e){var r=function(){return new de.aes.Algorithm(t,e)};de.cipher.registerAlgorithm(t,r)}var Wu=!1,ci=4,ft,Hu,Gm,xn,Ot;function Wm(){Wu=!0,Gm=[0,1,2,4,8,16,32,64,128,27,54];for(var t=new Array(256),e=0;e<128;++e)t[e]=e<<1,t[e+128]=e+128<<1^283;ft=new Array(256),Hu=new Array(256),xn=new Array(4),Ot=new Array(4);for(var e=0;e<4;++e)xn[e]=new Array(256),Ot[e]=new Array(256);for(var r=0,n=0,i,o,s,a,c,u,f,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,ft[r]=a,Hu[a]=r,c=t[a],i=t[r],o=t[i],s=t[o],u=c<<24^a<<16^a<<8^(a^c),f=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var h=0;h<4;++h)xn[h][r]=u,Ot[h][a]=f,u=u<<24|u>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^t[t[t[i^s]]],n^=t[t[n]])}}function Ym(t,e){for(var r=t.slice(0),n,i=1,o=r.length,s=o+6+1,a=ci*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=ft[n>>>16&255]<<24^ft[n>>>8&255]<<16^ft[n&255]<<8^ft[n>>>24]^Gm[i]<<24,i++):o>6&&c%o===4&&(n=ft[n>>>24]<<24^ft[n>>>16&255]<<16^ft[n>>>8&255]<<8^ft[n&255]),r[c]=r[c-o]^n;if(e){var u,f=Ot[0],h=Ot[1],p=Ot[2],y=Ot[3],l=r.slice(0);a=r.length;for(var c=0,d=a-ci;c<a;c+=ci,d-=ci)if(c===0||c===a-ci)l[c]=r[d],l[c+1]=r[d+3],l[c+2]=r[d+2],l[c+3]=r[d+1];else for(var m=0;m<ci;++m)u=r[d+m],l[c+(3&-m)]=f[ft[u>>>24]]^h[ft[u>>>16&255]]^p[ft[u>>>8&255]]^y[ft[u&255]];r=l}return r}function Gu(t,e,r,n){var i=t.length/4-1,o,s,a,c,u;n?(o=Ot[0],s=Ot[1],a=Ot[2],c=Ot[3],u=Hu):(o=xn[0],s=xn[1],a=xn[2],c=xn[3],u=ft);var f,h,p,y,l,d,m;f=e[0]^t[0],h=e[n?3:1]^t[1],p=e[2]^t[2],y=e[n?1:3]^t[3];for(var g=3,x=1;x<i;++x)l=o[f>>>24]^s[h>>>16&255]^a[p>>>8&255]^c[y&255]^t[++g],d=o[h>>>24]^s[p>>>16&255]^a[y>>>8&255]^c[f&255]^t[++g],m=o[p>>>24]^s[y>>>16&255]^a[f>>>8&255]^c[h&255]^t[++g],y=o[y>>>24]^s[f>>>16&255]^a[h>>>8&255]^c[p&255]^t[++g],f=l,h=d,p=m;r[0]=u[f>>>24]<<24^u[h>>>16&255]<<16^u[p>>>8&255]<<8^u[y&255]^t[++g],r[n?3:1]=u[h>>>24]<<24^u[p>>>16&255]<<16^u[y>>>8&255]<<8^u[f&255]^t[++g],r[2]=u[p>>>24]<<24^u[y>>>16&255]<<16^u[f>>>8&255]<<8^u[h&255]^t[++g],r[n?1:3]=u[y>>>24]<<24^u[f>>>16&255]<<16^u[h>>>8&255]<<8^u[p&255]^t[++g]}function ya(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=de.cipher.createDecipher(r,t.key):n=de.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof de.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Jm=z((KO,jm)=>{var ye=le();qu();$u();ke();jm.exports=ye.des=ye.des||{};ye.des.startEncrypting=function(t,e,r,n){var i=ga({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ye.des.createEncryptionCipher=function(t,e){return ga({key:t,output:null,decrypt:!1,mode:e})};ye.des.startDecrypting=function(t,e,r,n){var i=ga({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ye.des.createDecryptionCipher=function(t,e){return ga({key:t,output:null,decrypt:!0,mode:e})};ye.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return Xm(r._keys,n,i,!1)},decrypt:function(n,i){return Xm(r._keys,n,i,!0)}}}),r._init=!1};ye.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=ye.util.createBuffer(t.key);if(this.name.indexOf("3DES")===0&&e.length()!==24)throw new Error("Invalid Triple-DES key size: "+e.length()*8);this._keys=pA(e),this._init=!0}};Ht("DES-ECB",ye.cipher.modes.ecb);Ht("DES-CBC",ye.cipher.modes.cbc);Ht("DES-CFB",ye.cipher.modes.cfb);Ht("DES-OFB",ye.cipher.modes.ofb);Ht("DES-CTR",ye.cipher.modes.ctr);Ht("3DES-ECB",ye.cipher.modes.ecb);Ht("3DES-CBC",ye.cipher.modes.cbc);Ht("3DES-CFB",ye.cipher.modes.cfb);Ht("3DES-OFB",ye.cipher.modes.ofb);Ht("3DES-CTR",ye.cipher.modes.ctr);function Ht(t,e){var r=function(){return new ye.des.Algorithm(t,e)};ye.cipher.registerAlgorithm(t,r)}var sA=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],aA=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],cA=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],uA=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],fA=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],lA=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],hA=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],dA=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];function pA(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],o=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],f=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],h=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],p=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],y=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],l=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],d=t.length()>8?3:1,m=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,b,v=0;v<d;v++){var w=t.getInt32(),E=t.getInt32();b=(w>>>4^E)&252645135,E^=b,w^=b<<4,b=(E>>>-16^w)&65535,w^=b,E^=b<<-16,b=(w>>>2^E)&858993459,E^=b,w^=b<<2,b=(E>>>-16^w)&65535,w^=b,E^=b<<-16,b=(w>>>1^E)&1431655765,E^=b,w^=b<<1,b=(E>>>8^w)&16711935,w^=b,E^=b<<8,b=(w>>>1^E)&1431655765,E^=b,w^=b<<1,b=w<<8|E>>>20&240,w=E<<24|E<<8&16711680|E>>>8&65280|E>>>24&240,E=b;for(var A=0;A<g.length;++A){g[A]?(w=w<<2|w>>>26,E=E<<2|E>>>26):(w=w<<1|w>>>27,E=E<<1|E>>>27),w&=-15,E&=-15;var C=e[w>>>28]|r[w>>>24&15]|n[w>>>20&15]|i[w>>>16&15]|o[w>>>12&15]|s[w>>>8&15]|a[w>>>4&15],P=c[E>>>28]|u[E>>>24&15]|f[E>>>20&15]|h[E>>>16&15]|p[E>>>12&15]|y[E>>>8&15]|l[E>>>4&15];b=(P>>>16^C)&65535,m[x++]=C^b,m[x++]=P^b<<16}}return m}function Xm(t,e,r,n){var i=t.length===32?3:9,o;i===3?o=n?[30,-2,-2]:[0,32,2]:o=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s,a=e[0],c=e[1];s=(a>>>4^c)&252645135,c^=s,a^=s<<4,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var f=o[u+1],h=o[u+2],p=o[u];p!=f;p+=h){var y=c^t[p],l=(c>>>4|c<<28)^t[p+1];s=a,a=c,c=s^(aA[y>>>24&63]|uA[y>>>16&63]|lA[y>>>8&63]|dA[y&63]|sA[l>>>24&63]|cA[l>>>16&63]|fA[l>>>8&63]|hA[l&63])}s=a,a=c,c=s}a=a>>>1|a<<31,c=c>>>1|c<<31,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(a>>>4^c)&252645135,c^=s,a^=s<<4,r[0]=a,r[1]=c}function ga(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=ye.cipher.createDecipher(r,t.key):n=ye.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof ye.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var bn=z((VO,Zm)=>{var xa=le();Zm.exports=xa.md=xa.md||{};xa.md.algorithms=xa.md.algorithms||{}});var ty=z((qO,ey)=>{var dr=le();bn();ke();var mA=ey.exports=dr.hmac=dr.hmac||{};mA.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(o,s){if(o!==null)if(typeof o=="string")if(o=o.toLowerCase(),o in dr.md.algorithms)e=dr.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else e=o;if(s===null)s=t;else{if(typeof s=="string")s=dr.util.createBuffer(s);else if(dr.util.isArray(s)){var a=s;s=dr.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>e.blockLength&&(e.start(),e.update(s.bytes()),s=e.digest()),r=dr.util.createBuffer(),n=dr.util.createBuffer(),u=s.length();for(var c=0;c<u;++c){var a=s.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<e.blockLength)for(var a=e.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);t=s,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(o){e.update(o)},i.getMac=function(){var o=e.digest().bytes();return e.start(),e.update(n),e.update(o),e.digest()},i.digest=i.getMac,i}});var $o=z(()=>{});var ny=z((HO,ry)=>{var lt=le();ty();bn();ke();var yA=lt.pkcs5=lt.pkcs5||{},pr;lt.util.isNodejs&&!lt.options.usePureJavaScript&&(pr=$o());ry.exports=lt.pbkdf2=yA.pbkdf2=function(t,e,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),lt.util.isNodejs&&!lt.options.usePureJavaScript&&pr.pbkdf2&&(i===null||typeof i!="object")&&(pr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),o?pr.pbkdf2Sync.length===4?pr.pbkdf2(t,e,r,n,function(b,v){if(b)return o(b);o(null,v.toString("binary"))}):pr.pbkdf2(t,e,r,n,i,function(b,v){if(b)return o(b);o(null,v.toString("binary"))}):pr.pbkdf2Sync.length===4?pr.pbkdf2Sync(t,e,r,n).toString("binary"):pr.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in lt.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=lt.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var a=new Error("Derived key is too long.");if(o)return o(a);throw a}var c=Math.ceil(n/s),u=n-(c-1)*s,f=lt.hmac.create();f.start(i,t);var h="",p,y,l;if(!o){for(var d=1;d<=c;++d){f.start(null,null),f.update(e),f.update(lt.util.int32ToBytes(d)),p=l=f.digest().getBytes();for(var m=2;m<=r;++m)f.start(null,null),f.update(l),y=f.digest().getBytes(),p=lt.util.xorBytes(p,y,s),l=y;h+=d<c?p:p.substr(0,u)}return h}var d=1,m;function g(){if(d>c)return o(null,h);f.start(null,null),f.update(e),f.update(lt.util.int32ToBytes(d)),p=l=f.digest().getBytes(),m=2,x()}function x(){if(m<=r)return f.start(null,null),f.update(l),y=f.digest().getBytes(),p=lt.util.xorBytes(p,y,s),l=y,++m,lt.util.setImmediate(x);h+=d<c?p:p.substr(0,u),++d,g()}g()}});var sy=z((GO,oy)=>{var wa=le();ke();var iy=oy.exports=wa.pem=wa.pem||{};iy.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
|
|
9
|
-
`,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=
|
|
10
|
-
`),r+=
|
|
8
|
+
`,t.composed){for(var o=0,a="",s=0;s<t.value.length;++s)t.value[s]!==void 0&&(o+=1,a+=O.prettyPrint(t.value[s],e+1,r),s+1<t.value.length&&(a+=","));n+=i+"Sub values: "+o+a}else{if(n+=i+"Value: ",t.type===O.Type.OID){var c=O.derToOid(t.value);n+=c,pe.pki&&pe.pki.oids&&c in pe.pki.oids&&(n+=" ("+pe.pki.oids[c]+") ")}if(t.type===O.Type.INTEGER)try{n+=O.derToInteger(t.value)}catch{n+="0x"+pe.util.bytesToHex(t.value)}else if(t.type===O.Type.BITSTRING){if(t.value.length>1?n+="0x"+pe.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(t.type===O.Type.OCTETSTRING)Hl.test(t.value)||(n+="("+t.value+") "),n+="0x"+pe.util.bytesToHex(t.value);else if(t.type===O.Type.UTF8)try{n+=pe.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+pe.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===O.Type.PRINTABLESTRING||t.type===O.Type.IA5String?n+=t.value:Hl.test(t.value)?n+="0x"+pe.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var sa=q((Sv,Wl)=>{var Ue=fe();Be();Wl.exports=Ue.cipher=Ue.cipher||{};Ue.cipher.algorithms=Ue.cipher.algorithms||{};Ue.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Ue.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Ue.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Ue.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Ue.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Ue.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Ue.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Ue.cipher.algorithms[t]=e};Ue.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Ue.cipher.algorithms?Ue.cipher.algorithms[t]:null};var ia=Ue.cipher.BlockCipher=function(t){this.algorithm=t.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=t.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=t.decrypt,this.algorithm.initialize(t)};ia.prototype.start=function(t){t=t||{};var e={};for(var r in t)e[r]=t[r];e.decrypt=this._decrypt,this._finish=!1,this._input=Ue.util.createBuffer(),this.output=t.output||Ue.util.createBuffer(),this.mode.start(e)};ia.prototype.update=function(t){for(t&&this._input.putBuffer(t);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};ia.prototype.finish=function(t){t&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return t(this.blockSize,r,!1)},this.mode.unpad=function(r){return t(this.blockSize,r,!0)});var e={};return e.decrypt=this._decrypt,e.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,e)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,e))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,e))}});var aa=q((Av,Yl)=>{var Fe=fe();Be();Fe.cipher=Fe.cipher||{};var j=Yl.exports=Fe.cipher.modes=Fe.cipher.modes||{};j.ecb=function(t){t=t||{},this.name="ECB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};j.ecb.prototype.start=function(t){};j.ecb.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};j.ecb.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};j.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};j.ecb.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};j.cbc=function(t){t=t||{},this.name="CBC",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};j.cbc.prototype.start=function(t){if(t.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in t)this._iv=ss(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};j.cbc.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n]);this._prev=this._outBlock};j.cbc.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};j.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};j.cbc.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};j.cfb=function(t){t=t||{},this.name="CFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Fe.util.createBuffer(),this._partialBytes=0};j.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=ss(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};j.cfb.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32()^this._outBlock[i],e.putInt32(this._inBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};j.cfb.prototype.decrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32(),e.putInt32(this._inBlock[i]^this._outBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};j.ofb=function(t){t=t||{},this.name="OFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Fe.util.createBuffer(),this._partialBytes=0};j.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=ss(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};j.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};j.ofb.prototype.decrypt=j.ofb.prototype.encrypt;j.ctr=function(t){t=t||{},this.name="CTR",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Fe.util.createBuffer(),this._partialBytes=0};j.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=ss(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};j.ctr.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]);else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}os(this._inBlock)};j.ctr.prototype.decrypt=j.ctr.prototype.encrypt;j.gcm=function(t){t=t||{},this.name="GCM",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Fe.util.createBuffer(),this._partialBytes=0,this._R=3774873600};j.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=Fe.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Fe.util.createBuffer(t.additionalData):r=Fe.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Fe.util.createBuffer(t.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=e.length();if(n===12)this._j0=[e.getInt32(),e.getInt32(),e.getInt32(),1];else{for(this._j0=[0,0,0,0];e.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(oa(n*8)))}this._inBlock=this._j0.slice(0),os(this._inBlock),this._partialBytes=0,r=Fe.util.createBuffer(r),this._aDataLength=oa(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};j.gcm.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^=t.getInt32());this._cipherLength+=this.blockSize}else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s<=0||r){if(r){var o=n%this.blockSize;this._cipherLength+=o,this._partialOutput.truncate(this.blockSize-o)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),os(this._inBlock)};j.gcm.prototype.decrypt=function(t,e,r){var n=t.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),os(this._inBlock),this._hashBlock[0]=t.getInt32(),this._hashBlock[1]=t.getInt32(),this._hashBlock[2]=t.getInt32(),this._hashBlock[3]=t.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};j.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=Fe.util.createBuffer();var n=this._aDataLength.concat(oa(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var s=0;s<this._ints;++s)this.tag.putInt32(this._s[s]^i[s]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};j.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var s=t[i/32|0]&1<<31-i%32;s&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};j.gcm.prototype.pow=function(t,e){for(var r=t[3]&1,n=3;n>0;--n)e[n]=t[n]>>>1|(t[n-1]&1)<<31;e[0]=t[0]>>>1,r&&(e[0]^=this._R)};j.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,s=this._m[r][i];e[0]^=s[0],e[1]^=s[1],e[2]^=s[2],e[3]^=s[3]}return e};j.gcm.prototype.ghash=function(t,e,r){return e[0]^=r[0],e[1]^=r[1],e[2]^=r[2],e[3]^=r[3],this.tableMultiply(e)};j.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,s=new Array(i),o=0;o<i;++o){var a=[0,0,0,0],c=o/n|0,u=(n-1-o%n)*e;a[c]=1<<e-1<<u,s[o]=this.generateSubHashTable(this.multiply(a,t),e)}return s};j.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var s=n>>>1;s>0;)this.pow(i[2*s],i[s]=[]),s>>=1;for(s=2;s<n;){for(var o=1;o<s;++o){var a=i[s],c=i[o];i[s+o]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}s*=2}for(i[0]=[0,0,0,0],s=n+1;s<r;++s){var u=i[s^n];i[s]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function ss(t,e){if(typeof t=="string"&&(t=Fe.util.createBuffer(t)),Fe.util.isArray(t)&&t.length>4){var r=t;t=Fe.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(t.length()<e)throw new Error("Invalid IV length; got "+t.length()+" bytes and expected "+e+" bytes.");if(!Fe.util.isArray(t)){for(var i=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function os(t){t[t.length-1]=t[t.length-1]+1&4294967295}function oa(t){return[t/4294967296|0,t&4294967295]}});var fa=q((Iv,jl)=>{var de=fe();sa();aa();Be();jl.exports=de.aes=de.aes||{};de.aes.startEncrypting=function(t,e,r,n){var i=as({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};de.aes.createEncryptionCipher=function(t,e){return as({key:t,output:null,decrypt:!1,mode:e})};de.aes.startDecrypting=function(t,e,r,n){var i=as({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};de.aes.createDecryptionCipher=function(t,e){return as({key:t,output:null,decrypt:!0,mode:e})};de.aes.Algorithm=function(t,e){la||Xl();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return ua(r._w,n,i,!1)},decrypt:function(n,i){return ua(r._w,n,i,!0)}}}),r._init=!1};de.aes.Algorithm.prototype.initialize=function(t){if(!this._init){var e=t.key,r;if(typeof e=="string"&&(e.length===16||e.length===24||e.length===32))e=de.util.createBuffer(e);else if(de.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=de.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!de.util.isArray(e)){r=e,e=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)e.push(r.getInt32())}}if(!de.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var s=this.mode.name,o=["CFB","OFB","CTR","GCM"].indexOf(s)!==-1;this._w=Zl(e,t.decrypt&&!o),this._init=!0}};de.aes._expandKey=function(t,e){return la||Xl(),Zl(t,e)};de.aes._updateBlock=ua;bn("AES-ECB",de.cipher.modes.ecb);bn("AES-CBC",de.cipher.modes.cbc);bn("AES-CFB",de.cipher.modes.cfb);bn("AES-OFB",de.cipher.modes.ofb);bn("AES-CTR",de.cipher.modes.ctr);bn("AES-GCM",de.cipher.modes.gcm);function bn(t,e){var r=function(){return new de.aes.Algorithm(t,e)};de.cipher.registerAlgorithm(t,r)}var la=!1,xn=4,it,ca,Ql,Or,At;function Xl(){la=!0,Ql=[0,1,2,4,8,16,32,64,128,27,54];for(var t=new Array(256),e=0;e<128;++e)t[e]=e<<1,t[e+128]=e+128<<1^283;it=new Array(256),ca=new Array(256),Or=new Array(4),At=new Array(4);for(var e=0;e<4;++e)Or[e]=new Array(256),At[e]=new Array(256);for(var r=0,n=0,i,s,o,a,c,u,l,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,it[r]=a,ca[a]=r,c=t[a],i=t[r],s=t[i],o=t[s],u=c<<24^a<<16^a<<8^(a^c),l=(i^s^o)<<24^(r^o)<<16^(r^s^o)<<8^(r^i^o);for(var f=0;f<4;++f)Or[f][r]=u,At[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;r===0?r=n=1:(r=i^t[t[t[i^o]]],n^=t[t[n]])}}function Zl(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=xn*o,c=s;c<a;++c)n=r[c-1],c%s===0?(n=it[n>>>16&255]<<24^it[n>>>8&255]<<16^it[n&255]<<8^it[n>>>24]^Ql[i]<<24,i++):s>6&&c%s===4&&(n=it[n>>>24]<<24^it[n>>>16&255]<<16^it[n>>>8&255]<<8^it[n&255]),r[c]=r[c-s]^n;if(e){var u,l=At[0],f=At[1],d=At[2],p=At[3],h=r.slice(0);a=r.length;for(var c=0,m=a-xn;c<a;c+=xn,m-=xn)if(c===0||c===a-xn)h[c]=r[m],h[c+1]=r[m+3],h[c+2]=r[m+2],h[c+3]=r[m+1];else for(var y=0;y<xn;++y)u=r[m+y],h[c+(3&-y)]=l[it[u>>>24]]^f[it[u>>>16&255]]^d[it[u>>>8&255]]^p[it[u&255]];r=h}return r}function ua(t,e,r,n){var i=t.length/4-1,s,o,a,c,u;n?(s=At[0],o=At[1],a=At[2],c=At[3],u=ca):(s=Or[0],o=Or[1],a=Or[2],c=Or[3],u=it);var l,f,d,p,h,m,y;l=e[0]^t[0],f=e[n?3:1]^t[1],d=e[2]^t[2],p=e[n?1:3]^t[3];for(var g=3,x=1;x<i;++x)h=s[l>>>24]^o[f>>>16&255]^a[d>>>8&255]^c[p&255]^t[++g],m=s[f>>>24]^o[d>>>16&255]^a[p>>>8&255]^c[l&255]^t[++g],y=s[d>>>24]^o[p>>>16&255]^a[l>>>8&255]^c[f&255]^t[++g],p=s[p>>>24]^o[l>>>16&255]^a[f>>>8&255]^c[d&255]^t[++g],l=h,f=m,d=y;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[d>>>8&255]<<8^u[p&255]^t[++g],r[n?3:1]=u[f>>>24]<<24^u[d>>>16&255]<<16^u[p>>>8&255]<<8^u[l&255]^t[++g],r[2]=u[d>>>24]<<24^u[p>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^t[++g],r[n?1:3]=u[p>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[d&255]^t[++g]}function as(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=de.cipher.createDecipher(r,t.key):n=de.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof de.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var tf=q((Cv,ef)=>{var ye=fe();sa();aa();Be();ef.exports=ye.des=ye.des||{};ye.des.startEncrypting=function(t,e,r,n){var i=cs({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ye.des.createEncryptionCipher=function(t,e){return cs({key:t,output:null,decrypt:!1,mode:e})};ye.des.startDecrypting=function(t,e,r,n){var i=cs({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ye.des.createDecryptionCipher=function(t,e){return cs({key:t,output:null,decrypt:!0,mode:e})};ye.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return Jl(r._keys,n,i,!1)},decrypt:function(n,i){return Jl(r._keys,n,i,!0)}}}),r._init=!1};ye.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=ye.util.createBuffer(t.key);if(this.name.indexOf("3DES")===0&&e.length()!==24)throw new Error("Invalid Triple-DES key size: "+e.length()*8);this._keys=ay(e),this._init=!0}};Mt("DES-ECB",ye.cipher.modes.ecb);Mt("DES-CBC",ye.cipher.modes.cbc);Mt("DES-CFB",ye.cipher.modes.cfb);Mt("DES-OFB",ye.cipher.modes.ofb);Mt("DES-CTR",ye.cipher.modes.ctr);Mt("3DES-ECB",ye.cipher.modes.ecb);Mt("3DES-CBC",ye.cipher.modes.cbc);Mt("3DES-CFB",ye.cipher.modes.cfb);Mt("3DES-OFB",ye.cipher.modes.ofb);Mt("3DES-CTR",ye.cipher.modes.ctr);function Mt(t,e){var r=function(){return new ye.des.Algorithm(t,e)};ye.cipher.registerAlgorithm(t,r)}var Jm=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],ey=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],ty=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],ry=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],ny=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],iy=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],sy=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],oy=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];function ay(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],o=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],l=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],p=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=t.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,b,A=0;A<m;A++){var E=t.getInt32(),_=t.getInt32();b=(E>>>4^_)&252645135,_^=b,E^=b<<4,b=(_>>>-16^E)&65535,E^=b,_^=b<<-16,b=(E>>>2^_)&858993459,_^=b,E^=b<<2,b=(_>>>-16^E)&65535,E^=b,_^=b<<-16,b=(E>>>1^_)&1431655765,_^=b,E^=b<<1,b=(_>>>8^E)&16711935,E^=b,_^=b<<8,b=(E>>>1^_)&1431655765,_^=b,E^=b<<1,b=E<<8|_>>>20&240,E=_<<24|_<<8&16711680|_>>>8&65280|_>>>24&240,_=b;for(var T=0;T<g.length;++T){g[T]?(E=E<<2|E>>>26,_=_<<2|_>>>26):(E=E<<1|E>>>27,_=_<<1|_>>>27),E&=-15,_&=-15;var P=e[E>>>28]|r[E>>>24&15]|n[E>>>20&15]|i[E>>>16&15]|s[E>>>12&15]|o[E>>>8&15]|a[E>>>4&15],z=c[_>>>28]|u[_>>>24&15]|l[_>>>20&15]|f[_>>>16&15]|d[_>>>12&15]|p[_>>>8&15]|h[_>>>4&15];b=(z>>>16^P)&65535,y[x++]=P^b,y[x++]=z^b<<16}}return y}function Jl(t,e,r,n){var i=t.length===32?3:9,s;i===3?s=n?[30,-2,-2]:[0,32,2]:s=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var o,a=e[0],c=e[1];o=(a>>>4^c)&252645135,c^=o,a^=o<<4,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var l=s[u+1],f=s[u+2],d=s[u];d!=l;d+=f){var p=c^t[d],h=(c>>>4|c<<28)^t[d+1];o=a,a=c,c=o^(ey[p>>>24&63]|ry[p>>>16&63]|iy[p>>>8&63]|oy[p&63]|Jm[h>>>24&63]|ty[h>>>16&63]|ny[h>>>8&63]|sy[h&63])}o=a,a=c,c=o}a=a>>>1|a<<31,c=c>>>1|c<<31,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(a>>>4^c)&252645135,c^=o,a^=o<<4,r[0]=a,r[1]=c}function cs(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=ye.cipher.createDecipher(r,t.key):n=ye.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof ye.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Mr=q((Rv,rf)=>{var us=fe();rf.exports=us.md=us.md||{};us.md.algorithms=us.md.algorithms||{}});var sf=q((Tv,nf)=>{var Xt=fe();Mr();Be();var cy=nf.exports=Xt.hmac=Xt.hmac||{};cy.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(s,o){if(s!==null)if(typeof s=="string")if(s=s.toLowerCase(),s in Xt.md.algorithms)e=Xt.md.algorithms[s].create();else throw new Error('Unknown hash algorithm "'+s+'"');else e=s;if(o===null)o=t;else{if(typeof o=="string")o=Xt.util.createBuffer(o);else if(Xt.util.isArray(o)){var a=o;o=Xt.util.createBuffer();for(var c=0;c<a.length;++c)o.putByte(a[c])}var u=o.length();u>e.blockLength&&(e.start(),e.update(o.bytes()),o=e.digest()),r=Xt.util.createBuffer(),n=Xt.util.createBuffer(),u=o.length();for(var c=0;c<u;++c){var a=o.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<e.blockLength)for(var a=e.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);t=o,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(s){e.update(s)},i.getMac=function(){var s=e.digest().bytes();return e.start(),e.update(n),e.update(s),e.digest()},i.digest=i.getMac,i}});var hi=q(()=>{});var af=q((Pv,of)=>{var st=fe();sf();Mr();Be();var uy=st.pkcs5=st.pkcs5||{},Zt;st.util.isNodejs&&!st.options.usePureJavaScript&&(Zt=hi());of.exports=st.pbkdf2=uy.pbkdf2=function(t,e,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),st.util.isNodejs&&!st.options.usePureJavaScript&&Zt.pbkdf2&&(i===null||typeof i!="object")&&(Zt.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),s?Zt.pbkdf2Sync.length===4?Zt.pbkdf2(t,e,r,n,function(b,A){if(b)return s(b);s(null,A.toString("binary"))}):Zt.pbkdf2(t,e,r,n,i,function(b,A){if(b)return s(b);s(null,A.toString("binary"))}):Zt.pbkdf2Sync.length===4?Zt.pbkdf2Sync(t,e,r,n).toString("binary"):Zt.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in st.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=st.md[i].create()}var o=i.digestLength;if(n>4294967295*o){var a=new Error("Derived key is too long.");if(s)return s(a);throw a}var c=Math.ceil(n/o),u=n-(c-1)*o,l=st.hmac.create();l.start(i,t);var f="",d,p,h;if(!s){for(var m=1;m<=c;++m){l.start(null,null),l.update(e),l.update(st.util.int32ToBytes(m)),d=h=l.digest().getBytes();for(var y=2;y<=r;++y)l.start(null,null),l.update(h),p=l.digest().getBytes(),d=st.util.xorBytes(d,p,o),h=p;f+=m<c?d:d.substr(0,u)}return f}var m=1,y;function g(){if(m>c)return s(null,f);l.start(null,null),l.update(e),l.update(st.util.int32ToBytes(m)),d=h=l.digest().getBytes(),y=2,x()}function x(){if(y<=r)return l.start(null,null),l.update(h),p=l.digest().getBytes(),d=st.util.xorBytes(d,p,o),h=p,++y,st.util.setImmediate(x);f+=m<c?d:d.substr(0,u),++m,g()}g()}});var lf=q((Dv,uf)=>{var fs=fe();Be();var cf=uf.exports=fs.pem=fs.pem||{};cf.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
|
|
9
|
+
`,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=ls(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=ls(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=ls(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=ls(t.headers[i]);return t.procType&&(r+=`\r
|
|
10
|
+
`),r+=fs.util.encode64(t.body,e.maxline||64)+`\r
|
|
11
11
|
`,r+="-----END "+t.type+`-----\r
|
|
12
|
-
`,r};
|
|
13
|
-
`;for(var
|
|
14
|
-
`+e.substr(
|
|
15
|
-
`+a+e.substr(s+1),o=i-s-1,s=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(s=i);return e}function gA(t){return t.replace(/^\s+/,"")}});var hy=z((WO,ly)=>{var Gt=le();bn();ke();var cy=ly.exports=Gt.sha256=Gt.sha256||{};Gt.md.sha256=Gt.md.algorithms.sha256=cy;cy.create=function(){uy||xA();var t=null,e=Gt.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return e=Gt.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Gt.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),ay(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Gt.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Qu.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var h={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};ay(h,r,i);var p=Gt.util.createBuffer();return p.putInt32(h.h0),p.putInt32(h.h1),p.putInt32(h.h2),p.putInt32(h.h3),p.putInt32(h.h4),p.putInt32(h.h5),p.putInt32(h.h6),p.putInt32(h.h7),p},n};var Qu=null,uy=!1,fy=null;function xA(){Qu="\x80",Qu+=Gt.util.fillString("\0",64),fy=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],uy=!0}function ay(t,e,r){for(var n,i,o,s,a,c,u,f,h,p,y,l,d,m,g,x=r.length();x>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(f=t.h0,h=t.h1,p=t.h2,y=t.h3,l=t.h4,d=t.h5,m=t.h6,g=t.h7,u=0;u<64;++u)s=(l>>>6|l<<26)^(l>>>11|l<<21)^(l>>>25|l<<7),a=m^l&(d^m),o=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&h|p&(f^h),n=g+s+a+fy[u]+e[u],i=o+c,g=m,m=d,d=l,l=y+n>>>0,y=p,p=h,h=f,f=n+i>>>0;t.h0=t.h0+f|0,t.h1=t.h1+h|0,t.h2=t.h2+p|0,t.h3=t.h3+y|0,t.h4=t.h4+l|0,t.h5=t.h5+d|0,t.h6=t.h6+m|0,t.h7=t.h7+g|0,x-=64}}});var py=z((YO,dy)=>{var Wt=le();ke();var va=null;Wt.util.isNodejs&&!Wt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(va=$o());var bA=dy.exports=Wt.prng=Wt.prng||{};bA.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(u,f){if(!f)return e.generateSync(u);var h=e.plugin.cipher,p=e.plugin.increment,y=e.plugin.formatKey,l=e.plugin.formatSeed,d=Wt.util.createBuffer();e.key=null,m();function m(g){if(g)return f(g);if(d.length()>=u)return f(null,d.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return Wt.util.nextTick(function(){o(m)});var x=h(e.key,e.seed);e.generated+=x.length,d.putBytes(x),e.key=y(h(e.key,p(e.seed))),e.seed=l(h(e.key,e.seed)),Wt.util.setImmediate(m)}},e.generateSync=function(u){var f=e.plugin.cipher,h=e.plugin.increment,p=e.plugin.formatKey,y=e.plugin.formatSeed;e.key=null;for(var l=Wt.util.createBuffer();l.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&s();var d=f(e.key,e.seed);e.generated+=d.length,l.putBytes(d),e.key=p(f(e.key,h(e.seed))),e.seed=y(f(e.key,e.seed))}return l.getBytes(u)};function o(u){if(e.pools[0].messageLength>=32)return a(),u();var f=32-e.pools[0].messageLength<<5;e.seedFile(f,function(h,p){if(h)return u(h);e.collect(p),a(),u()})}function s(){if(e.pools[0].messageLength>=32)return a();var u=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(u)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var u=e.plugin.md.create();u.update(e.keyBytes);for(var f=1,h=0;h<32;++h)e.reseeds%f===0&&(u.update(e.pools[h].digest().getBytes()),e.pools[h].start()),f=f<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var p=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(p),e.generated=0}function c(u){var f=null,h=Wt.util.globalScope,p=h.crypto||h.msCrypto;p&&p.getRandomValues&&(f=function(w){return p.getRandomValues(w)});var y=Wt.util.createBuffer();if(f)for(;y.length()<u;){var l=Math.max(1,Math.min(u-y.length(),65536)/4),d=new Uint32Array(Math.floor(l));try{f(d);for(var m=0;m<d.length;++m)y.putInt32(d[m])}catch(w){if(!(typeof QuotaExceededError<"u"&&w instanceof QuotaExceededError))throw w}}if(y.length()<u)for(var g,x,b,v=Math.floor(Math.random()*65536);y.length()<u;){x=16807*(v&65535),g=16807*(v>>16),x+=(g&32767)<<16,x+=g>>15,x=(x&2147483647)+(x>>31),v=x&4294967295;for(var m=0;m<3;++m)b=v>>>(m<<3),b^=Math.floor(Math.random()*256),y.putByte(b&255)}return y.getBytes(u)}return va?(e.seedFile=function(u,f){va.randomBytes(u,function(h,p){if(h)return f(h);f(null,p.toString())})},e.seedFileSync=function(u){return va.randomBytes(u).toString()}):(e.seedFile=function(u,f){try{f(null,c(u))}catch(h){f(h)}},e.seedFileSync=c),e.collect=function(u){for(var f=u.length,h=0;h<f;++h)e.pools[e.pool].update(u.substr(h,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,f){for(var h="",p=0;p<f;p+=8)h+=String.fromCharCode(u>>p&255);e.collect(h)},e.registerWorker=function(u){if(u===self)e.seedFile=function(h,p){function y(l){var d=l.data;d.forge&&d.forge.prng&&(self.removeEventListener("message",y),p(d.forge.prng.err,d.forge.prng.bytes))}self.addEventListener("message",y),self.postMessage({forge:{prng:{needed:h}}})};else{var f=function(h){var p=h.data;p.forge&&p.forge.prng&&e.seedFile(p.forge.prng.needed,function(y,l){u.postMessage({forge:{prng:{err:y,bytes:l}}})})};u.addEventListener("message",f)}},e}});var Ho=z((QO,Xu)=>{var $e=le();Yu();hy();py();ke();(function(){if($e.random&&$e.random.getBytes){Xu.exports=$e.random;return}(function(t){var e={},r=new Array(4),n=$e.util.createBuffer();e.formatKey=function(h){var p=$e.util.createBuffer(h);return h=new Array(4),h[0]=p.getInt32(),h[1]=p.getInt32(),h[2]=p.getInt32(),h[3]=p.getInt32(),$e.aes._expandKey(h,!1)},e.formatSeed=function(h){var p=$e.util.createBuffer(h);return h=new Array(4),h[0]=p.getInt32(),h[1]=p.getInt32(),h[2]=p.getInt32(),h[3]=p.getInt32(),h},e.cipher=function(h,p){return $e.aes._updateBlock(h,p,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(h){return++h[3],h},e.md=$e.md.sha256;function i(){var h=$e.prng.create(e);return h.getBytes=function(p,y){return h.generate(p,y)},h.getBytesSync=function(p){return h.generate(p)},h}var o=i(),s=null,a=$e.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(h){return c.getRandomValues(h)}),$e.options.usePureJavaScript||!$e.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var f in navigator)try{typeof navigator[f]=="string"&&(u+=navigator[f])}catch{}o.collect(u),u=null}t&&(t().mousemove(function(h){o.collectInt(h.clientX,16),o.collectInt(h.clientY,16)}),t().keypress(function(h){o.collectInt(h.charCode,8)}))}if(!$e.random)$e.random=o;else for(var f in o)$e.random[f]=o[f];$e.random.createInstance=i,Xu.exports=$e.random})(typeof jQuery<"u"?jQuery:null)})()});var xy=z((XO,gy)=>{var dt=le();ke();var ju=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],my=[1,2,3,5],wA=function(t,e){return t<<e&65535|(t&65535)>>16-e},vA=function(t,e){return(t&65535)>>e|t<<16-e&65535};gy.exports=dt.rc2=dt.rc2||{};dt.rc2.expandKey=function(t,e){typeof t=="string"&&(t=dt.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(ju[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,ju[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,ju[r.at(a+1)^r.at(a+o)]);return r};var yy=function(t,e,r){var n=!1,i=null,o=null,s=null,a,c,u,f,h=[];for(t=dt.rc2.expandKey(t,e),u=0;u<64;u++)h.push(t.getInt16Le());r?(a=function(l){for(u=0;u<4;u++)l[u]+=h[f]+(l[(u+3)%4]&l[(u+2)%4])+(~l[(u+3)%4]&l[(u+1)%4]),l[u]=wA(l[u],my[u]),f++},c=function(l){for(u=0;u<4;u++)l[u]+=h[l[(u+3)%4]&63]}):(a=function(l){for(u=3;u>=0;u--)l[u]=vA(l[u],my[u]),l[u]-=h[f]+(l[(u+3)%4]&l[(u+2)%4])+(~l[(u+3)%4]&l[(u+1)%4]),f--},c=function(l){for(u=3;u>=0;u--)l[u]-=h[l[(u+3)%4]&63]});var p=function(l){var d=[];for(u=0;u<4;u++){var m=i.getInt16Le();s!==null&&(r?m^=s.getInt16Le():s.putInt16Le(m)),d.push(m&65535)}f=r?0:63;for(var g=0;g<l.length;g++)for(var x=0;x<l[g][0];x++)l[g][1](d);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(d[u]):d[u]^=s.getInt16Le()),o.putInt16Le(d[u])},y=null;return y={start:function(l,d){l&&typeof l=="string"&&(l=dt.util.createBuffer(l)),n=!1,i=dt.util.createBuffer(),o=d||new dt.util.createBuffer,s=l,y.output=o},update:function(l){for(n||i.putBuffer(l);i.length()>=8;)p([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(l){var d=!0;if(r)if(l)d=l(8,i,!r);else{var m=i.length()===8?8:8-i.length();i.fillWithByte(m,m)}if(d&&(n=!0,y.update()),!r&&(d=i.length()===0,d))if(l)d=l(8,o,!r);else{var g=o.length(),x=o.at(g-1);x>g?d=!1:o.truncate(x)}return d}},y};dt.rc2.startEncrypting=function(t,e,r){var n=dt.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};dt.rc2.createEncryptionCipher=function(t,e){return yy(t,e,!0)};dt.rc2.startDecrypting=function(t,e,r){var n=dt.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};dt.rc2.createDecryptionCipher=function(t,e){return yy(t,e,!1)}});var Sa=z((jO,Iy)=>{var Ju=le();Iy.exports=Ju.jsbn=Ju.jsbn||{};var mr,EA=0xdeadbeefcafe,by=(EA&16777215)==15715070;function D(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}Ju.jsbn.BigInteger=D;function ne(){return new D(null)}function AA(t,e,r,n,i,o){for(;--o>=0;){var s=e*this.data[t++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function SA(t,e,r,n,i,o){for(var s=e&32767,a=e>>15;--o>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,f=a*c+u*s;c=s*c+((f&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(f>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function wy(t,e,r,n,i,o){for(var s=e&16383,a=e>>14;--o>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,f=a*c+u*s;c=s*c+((f&16383)<<14)+r.data[n]+i,i=(c>>28)+(f>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(D.prototype.am=wy,mr=28):by&&navigator.appName=="Microsoft Internet Explorer"?(D.prototype.am=SA,mr=30):by&&navigator.appName!="Netscape"?(D.prototype.am=AA,mr=26):(D.prototype.am=wy,mr=28);D.prototype.DB=mr;D.prototype.DM=(1<<mr)-1;D.prototype.DV=1<<mr;var Zu=52;D.prototype.FV=Math.pow(2,Zu);D.prototype.F1=Zu-mr;D.prototype.F2=2*mr-Zu;var CA="0123456789abcdefghijklmnopqrstuvwxyz",Ea=new Array,fi,_t;fi=48;for(_t=0;_t<=9;++_t)Ea[fi++]=_t;fi=97;for(_t=10;_t<36;++_t)Ea[fi++]=_t;fi=65;for(_t=10;_t<36;++_t)Ea[fi++]=_t;function vy(t){return CA.charAt(t)}function Ey(t,e){var r=Ea[t.charCodeAt(e)];return r??-1}function IA(t){for(var e=this.t-1;e>=0;--e)t.data[e]=this.data[e];t.t=this.t,t.s=this.s}function _A(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function qr(t){var e=ne();return e.fromInt(t),e}function TA(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=r==8?t[n]&255:Ey(t,n);if(s<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this.data[this.t++]=s>>this.DB-o):this.data[this.t-1]|=s<<o,o+=r,o>=this.DB&&(o-=this.DB)}r==8&&t[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&D.ZERO.subTo(this,this)}function RA(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function BA(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%e;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=vy(n));s>=0;)a<e?(n=(this.data[s]&(1<<a)-1)<<e-a,n|=this.data[--s]>>(a+=this.DB-e)):(n=this.data[s]>>(a-=e)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=vy(n));return i?o:"0"}function DA(){var t=ne();return D.ZERO.subTo(this,t),t}function LA(){return this.s<0?this.negate():this}function NA(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function Aa(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function PA(){return this.t<=0?0:this.DB*(this.t-1)+Aa(this.data[this.t-1]^this.s&this.DM)}function OA(t,e){var r;for(r=this.t-1;r>=0;--r)e.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)e.data[r]=0;e.t=this.t+t,e.s=this.s}function kA(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function UA(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(t/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)e.data[a]=0;e.data[o]=s,e.t=this.t+o+1,e.s=this.s,e.clamp()}function MA(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,o=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)e.data[s-r-1]|=(this.data[s]&o)<<i,e.data[s-r]=this.data[s]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&o)<<i),e.t=this.t-r,e.clamp()}function FA(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]-t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e.data[r++]=this.DV+n:n>0&&(e.data[r++]=n),e.t=r,e.clamp()}function KA(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e.data[i]=0;for(i=0;i<n.t;++i)e.data[i+r.t]=r.am(0,n.data[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&D.ZERO.subTo(e,e)}function VA(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t.data[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e.data[r],t,2*r,0,1);(t.data[r+e.t]+=e.am(r+1,2*e.data[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t.data[r+e.t]-=e.DV,t.data[r+e.t+1]=1)}t.t>0&&(t.data[t.t-1]+=e.am(r,e.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function qA(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=ne());var o=ne(),s=this.s,a=t.s,c=this.DB-Aa(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var u=o.t,f=o.data[u-1];if(f!=0){var h=f*(1<<this.F1)+(u>1?o.data[u-2]>>this.F2:0),p=this.FV/h,y=(1<<this.F1)/h,l=1<<this.F2,d=r.t,m=d-u,g=e??ne();for(o.dlShiftTo(m,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),D.ONE.dlShiftTo(u,g),g.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--m>=0;){var x=r.data[--d]==f?this.DM:Math.floor(r.data[d]*p+(r.data[d-1]+l)*y);if((r.data[d]+=o.am(0,x,r,m,0,u))<x)for(o.dlShiftTo(m,g),r.subTo(g,r);r.data[d]<--x;)r.subTo(g,r)}e!=null&&(r.drShiftTo(u,e),s!=a&&D.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&D.ZERO.subTo(r,r)}}}function zA(t){var e=ne();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(D.ZERO)>0&&t.subTo(e,e),e}function wn(t){this.m=t}function $A(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function HA(t){return t}function GA(t){t.divRemTo(this.m,null,t)}function WA(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function YA(t,e){t.squareTo(e),this.reduce(e)}wn.prototype.convert=$A;wn.prototype.revert=HA;wn.prototype.reduce=GA;wn.prototype.mulTo=WA;wn.prototype.sqrTo=YA;function QA(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function vn(t){this.m=t,this.mp=t.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function XA(t){var e=ne();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(D.ZERO)>0&&this.m.subTo(e,e),e}function jA(t){var e=ne();return t.copyTo(e),this.reduce(e),e}function JA(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=t.data[e]&32767,n=r*this.mpl+((r*this.mph+(t.data[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t.data[r]+=this.m.am(0,n,t,e,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function ZA(t,e){t.squareTo(e),this.reduce(e)}function eS(t,e,r){t.multiplyTo(e,r),this.reduce(r)}vn.prototype.convert=XA;vn.prototype.revert=jA;vn.prototype.reduce=JA;vn.prototype.mulTo=eS;vn.prototype.sqrTo=ZA;function tS(){return(this.t>0?this.data[0]&1:this.s)==0}function rS(t,e){if(t>4294967295||t<1)return D.ONE;var r=ne(),n=ne(),i=e.convert(this),o=Aa(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<<o)>0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)}function nS(t,e){var r;return t<256||e.isEven()?r=new wn(e):r=new vn(e),this.exp(t,r)}D.prototype.copyTo=IA;D.prototype.fromInt=_A;D.prototype.fromString=TA;D.prototype.clamp=RA;D.prototype.dlShiftTo=OA;D.prototype.drShiftTo=kA;D.prototype.lShiftTo=UA;D.prototype.rShiftTo=MA;D.prototype.subTo=FA;D.prototype.multiplyTo=KA;D.prototype.squareTo=VA;D.prototype.divRemTo=qA;D.prototype.invDigit=QA;D.prototype.isEven=tS;D.prototype.exp=rS;D.prototype.toString=BA;D.prototype.negate=DA;D.prototype.abs=LA;D.prototype.compareTo=NA;D.prototype.bitLength=PA;D.prototype.mod=zA;D.prototype.modPowInt=nS;D.ZERO=qr(0);D.ONE=qr(1);function iS(){var t=ne();return this.copyTo(t),t}function oS(){if(this.s<0){if(this.t==1)return this.data[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this.data[0];if(this.t==0)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]}function sS(){return this.t==0?this.s:this.data[0]<<24>>24}function aS(){return this.t==0?this.s:this.data[0]<<16>>16}function cS(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function uS(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function fS(t){if(t==null&&(t=10),this.signum()==0||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=qr(r),i=ne(),o=ne(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s}function lS(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a<t.length;++a){var c=Ey(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=e*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&D.ZERO.subTo(this,this)}function hS(t,e,r){if(typeof e=="number")if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(D.ONE.shiftLeft(t-1),ef,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(D.ONE.shiftLeft(t-1),this);else{var n=new Array,i=t&7;n.length=(t>>3)+1,e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function dS(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function pS(t){return this.compareTo(t)==0}function mS(t){return this.compareTo(t)<0?this:t}function yS(t){return this.compareTo(t)>0?this:t}function gS(t,e,r){var n,i,o=Math.min(t.t,this.t);for(n=0;n<o;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=o;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function xS(t,e){return t&e}function bS(t){var e=ne();return this.bitwiseTo(t,xS,e),e}function ef(t,e){return t|e}function wS(t){var e=ne();return this.bitwiseTo(t,ef,e),e}function Ay(t,e){return t^e}function vS(t){var e=ne();return this.bitwiseTo(t,Ay,e),e}function Sy(t,e){return t&~e}function ES(t){var e=ne();return this.bitwiseTo(t,Sy,e),e}function AS(){for(var t=ne(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function SS(t){var e=ne();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function CS(t){var e=ne();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function IS(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function _S(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+IS(this.data[t]);return this.s<0?this.t*this.DB:-1}function TS(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function RS(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=TS(this.data[r]^e);return t}function BS(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function DS(t,e){var r=D.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function LS(t){return this.changeBit(t,ef)}function NS(t){return this.changeBit(t,Sy)}function PS(t){return this.changeBit(t,Ay)}function OS(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]+t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function kS(t){var e=ne();return this.addTo(t,e),e}function US(t){var e=ne();return this.subTo(t,e),e}function MS(t){var e=ne();return this.multiplyTo(t,e),e}function FS(t){var e=ne();return this.divRemTo(t,e,null),e}function KS(t){var e=ne();return this.divRemTo(t,null,e),e}function VS(t){var e=ne(),r=ne();return this.divRemTo(t,e,r),new Array(e,r)}function qS(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function zS(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function Go(){}function Cy(t){return t}function $S(t,e,r){t.multiplyTo(e,r)}function HS(t,e){t.squareTo(e)}Go.prototype.convert=Cy;Go.prototype.revert=Cy;Go.prototype.mulTo=$S;Go.prototype.sqrTo=HS;function GS(t){return this.exp(t,new Go)}function WS(t,e,r){var n=Math.min(this.t+t.t,e);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,t.data[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t.data[n],r,n,0,e-n);r.clamp()}function YS(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r.data[this.t+n-e]=this.am(e-n,t.data[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function li(t){this.r2=ne(),this.q3=ne(),D.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function QS(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=ne();return t.copyTo(e),this.reduce(e),e}function XS(t){return t}function jS(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function JS(t,e){t.squareTo(e),this.reduce(e)}function ZS(t,e,r){t.multiplyTo(e,r),this.reduce(r)}li.prototype.convert=QS;li.prototype.revert=XS;li.prototype.reduce=jS;li.prototype.mulTo=ZS;li.prototype.sqrTo=JS;function e8(t,e){var r=t.bitLength(),n,i=qr(1),o;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?o=new wn(e):e.isEven()?o=new li(e):o=new vn(e);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=ne();for(o.sqrTo(s[1],f);a<=u;)s[a]=ne(),o.mulTo(f,s[a-2],s[a]),a+=2}var h=t.t-1,p,y=!0,l=ne(),d;for(r=Aa(t.data[h])-1;h>=0;){for(r>=c?p=t.data[h]>>r-c&u:(p=(t.data[h]&(1<<r+1)-1)<<c-r,h>0&&(p|=t.data[h-1]>>this.DB+r-c)),a=n;!(p&1);)p>>=1,--a;if((r-=a)<0&&(r+=this.DB,--h),y)s[p].copyTo(i),y=!1;else{for(;a>1;)o.sqrTo(i,l),o.sqrTo(l,i),a-=2;a>0?o.sqrTo(i,l):(d=i,i=l,l=d),o.mulTo(l,s[p],i)}for(;h>=0&&!(t.data[h]&1<<r);)o.sqrTo(i,l),d=i,i=l,l=d,--r<0&&(r=this.DB-1,--h)}return o.revert(i)}function t8(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i<o&&(o=i),o>0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function r8(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(e==0)r=this.data[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this.data[n])%t;return r}function n8(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return D.ZERO;for(var r=t.clone(),n=this.clone(),i=qr(1),o=qr(0),s=qr(0),a=qr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(t,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(t,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),e?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(t,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(D.ONE)!=0)return D.ZERO;if(a.compareTo(t)>=0)return a.subtract(t);if(a.signum()<0)a.addTo(t,a);else return a;return a.signum()<0?a.add(t):a}var kt=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],i8=(1<<26)/kt[kt.length-1];function o8(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=kt[kt.length-1]){for(e=0;e<kt.length;++e)if(r.data[0]==kt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<kt.length;){for(var n=kt[e],i=e+1;i<kt.length&&n<i8;)n*=kt[i++];for(n=r.modInt(n);e<i;)if(n%kt[e++]==0)return!1}return r.millerRabin(t)}function s8(t){var e=this.subtract(D.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=a8(),o,s=0;s<t;++s){do o=new D(this.bitLength(),i);while(o.compareTo(D.ONE)<=0||o.compareTo(e)>=0);var a=o.modPow(n,this);if(a.compareTo(D.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(D.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function a8(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}D.prototype.chunkSize=cS;D.prototype.toRadix=fS;D.prototype.fromRadix=lS;D.prototype.fromNumber=hS;D.prototype.bitwiseTo=gS;D.prototype.changeBit=DS;D.prototype.addTo=OS;D.prototype.dMultiply=qS;D.prototype.dAddOffset=zS;D.prototype.multiplyLowerTo=WS;D.prototype.multiplyUpperTo=YS;D.prototype.modInt=r8;D.prototype.millerRabin=s8;D.prototype.clone=iS;D.prototype.intValue=oS;D.prototype.byteValue=sS;D.prototype.shortValue=aS;D.prototype.signum=uS;D.prototype.toByteArray=dS;D.prototype.equals=pS;D.prototype.min=mS;D.prototype.max=yS;D.prototype.and=bS;D.prototype.or=wS;D.prototype.xor=vS;D.prototype.andNot=ES;D.prototype.not=AS;D.prototype.shiftLeft=SS;D.prototype.shiftRight=CS;D.prototype.getLowestSetBit=_S;D.prototype.bitCount=RS;D.prototype.testBit=BS;D.prototype.setBit=LS;D.prototype.clearBit=NS;D.prototype.flipBit=PS;D.prototype.add=kS;D.prototype.subtract=US;D.prototype.multiply=MS;D.prototype.divide=FS;D.prototype.remainder=KS;D.prototype.divideAndRemainder=VS;D.prototype.modPow=e8;D.prototype.modInverse=n8;D.prototype.pow=GS;D.prototype.gcd=t8;D.prototype.isProbablePrime=o8});var Dy=z((JO,By)=>{var Yt=le();bn();ke();var Ty=By.exports=Yt.sha1=Yt.sha1||{};Yt.md.sha1=Yt.md.algorithms.sha1=Ty;Ty.create=function(){Ry||c8();var t=null,e=Yt.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return e=Yt.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Yt.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),_y(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Yt.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(tf.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var h={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};_y(h,r,i);var p=Yt.util.createBuffer();return p.putInt32(h.h0),p.putInt32(h.h1),p.putInt32(h.h2),p.putInt32(h.h3),p.putInt32(h.h4),p},n};var tf=null,Ry=!1;function c8(){tf="\x80",tf+=Yt.util.fillString("\0",64),Ry=!0}function _y(t,e,r){for(var n,i,o,s,a,c,u,f,h=r.length();h>=64;){for(i=t.h0,o=t.h1,s=t.h2,a=t.h3,c=t.h4,f=0;f<16;++f)n=r.getInt32(),e[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<20;++f)n=e[f-3]^e[f-8]^e[f-14]^e[f-16],n=n<<1|n>>>31,e[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<32;++f)n=e[f-3]^e[f-8]^e[f-14]^e[f-16],n=n<<1|n>>>31,e[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<40;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<60;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=o&s|a&(o^s),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<80;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+o|0,t.h2=t.h2+s|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,h-=64}}});var Py=z((ZO,Ny)=>{var Qt=le();ke();Ho();Dy();var Ly=Ny.exports=Qt.pkcs1=Qt.pkcs1||{};Ly.encode_rsa_oaep=function(t,e,r){var n,i,o,s;typeof r=="string"?(n=r,i=arguments[3]||void 0,o=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),o?o.start():o=Qt.md.sha1.create(),s||(s=o);var a=Math.ceil(t.n.bitLength()/8),c=a-2*o.digestLength-2;if(e.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=e.length,u.maxLength=c,u}n||(n=""),o.update(n,"raw");for(var f=o.digest(),h="",p=c-e.length,y=0;y<p;y++)h+="\0";var l=f.getBytes()+h+""+e;if(!i)i=Qt.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=o.digestLength,u}var d=Ca(i,a-o.digestLength-1,s),m=Qt.util.xorBytes(l,d,l.length),g=Ca(m,o.digestLength,s),x=Qt.util.xorBytes(i,g,i.length);return"\0"+x+m};Ly.decode_rsa_oaep=function(t,e,r){var n,i,o;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md));var s=Math.ceil(t.n.bitLength()/8);if(e.length!==s){var m=new Error("RSAES-OAEP encoded message length is invalid.");throw m.length=e.length,m.expectedLength=s,m}if(i===void 0?i=Qt.md.sha1.create():i.start(),o||(o=i),s<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=e.charAt(0),u=e.substring(1,i.digestLength+1),f=e.substring(1+i.digestLength),h=Ca(f,i.digestLength,o),p=Qt.util.xorBytes(u,h,u.length),y=Ca(p,s-i.digestLength-1,o),l=Qt.util.xorBytes(f,y,f.length),d=l.substring(0,i.digestLength),m=c!=="\0",g=0;g<i.digestLength;++g)m|=a.charAt(g)!==d.charAt(g);for(var x=1,b=i.digestLength,v=i.digestLength;v<l.length;v++){var w=l.charCodeAt(v),E=w&1^1,A=x?65534:0;m|=w&A,x=x&E,b+=x}if(m||l.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return l.substring(b+1)};function Ca(t,e,r){r||(r=Qt.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);r.start(),r.update(t+s),n+=r.digest().getBytes()}return n.substring(0,e)}});var Oy=z((ek,rf)=>{var zr=le();ke();Sa();Ho();(function(){if(zr.prime){rf.exports=zr.prime;return}var t=rf.exports=zr.prime=zr.prime||{},e=zr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(h,p){return h|p};t.generateProbablePrime=function(h,p,y){typeof p=="function"&&(y=p,p={}),p=p||{};var l=p.algorithm||"PRIMEINC";typeof l=="string"&&(l={name:l}),l.options=l.options||{};var d=p.prng||zr.random,m={nextBytes:function(g){for(var x=d.getBytesSync(g.length),b=0;b<g.length;++b)g[b]=x.charCodeAt(b)}};if(l.name==="PRIMEINC")return o(h,m,l.options,y);throw new Error("Invalid prime generation algorithm: "+l.name)};function o(h,p,y,l){return"workers"in y?c(h,p,y,l):s(h,p,y,l)}function s(h,p,y,l){var d=u(h,p),m=0,g=f(d.bitLength());"millerRabinTests"in y&&(g=y.millerRabinTests);var x=10;"maxBlockTime"in y&&(x=y.maxBlockTime),a(d,h,p,m,g,x,l)}function a(h,p,y,l,d,m,g){var x=+new Date;do{if(h.bitLength()>p&&(h=u(p,y)),h.isProbablePrime(d))return g(null,h);h.dAddOffset(r[l++%8],0)}while(m<0||+new Date-x<m);zr.util.setImmediate(function(){a(h,p,y,l,d,m,g)})}function c(h,p,y,l){if(typeof Worker>"u")return s(h,p,y,l);var d=u(h,p),m=y.workers,g=y.workLoad||100,x=g*30/8,b=y.workerScript||"forge/prime.worker.js";if(m===-1)return zr.util.estimateCores(function(w,E){w&&(E=2),m=E-1,v()});v();function v(){m=Math.max(1,m);for(var w=[],E=0;E<m;++E)w[E]=new Worker(b);for(var A=m,E=0;E<m;++E)w[E].addEventListener("message",P);var C=!1;function P(W){if(!C){--A;var H=W.data;if(H.found){for(var Z=0;Z<w.length;++Z)w[Z].terminate();return C=!0,l(null,new e(H.prime,16))}d.bitLength()>h&&(d=u(h,p));var fe=d.toString(16);W.target.postMessage({hex:fe,workLoad:g}),d.dAddOffset(x,0)}}}}function u(h,p){var y=new e(h,p),l=h-1;return y.testBit(l)||y.bitwiseTo(e.ONE.shiftLeft(l),i,y),y.dAddOffset(31-y.mod(n).byteValue(),0),y}function f(h){return h<=100?27:h<=150?18:h<=200?15:h<=250?12:h<=300?9:h<=350?8:h<=400?7:h<=500?6:h<=600?5:h<=800?4:h<=1250?3:2}})()});var _a=z((tk,qy)=>{var $=le();zo();Sa();ha();Py();Oy();Ho();ke();typeof re>"u"&&(re=$.jsbn.BigInteger);var re,nf=$.util.isNodejs?$o():null,I=$.asn1,Tt=$.util;$.pki=$.pki||{};qy.exports=$.pki.rsa=$.rsa=$.rsa||{};var Y=$.pki,u8=[6,4,2,4,2,4,6,2],f8={name:"PrivateKeyInfo",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},l8={name:"RSAPrivateKey",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},h8={name:"RSAPublicKey",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},d8=$.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:I.Class.UNIVERSAL,type:I.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},p8={name:"DigestInfo",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:I.Class.UNIVERSAL,type:I.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},m8=function(t){var e;if(t.algorithm in Y.oids)e=Y.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=I.oidToDer(e).getBytes(),i=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[]),o=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[]);o.value.push(I.create(I.Class.UNIVERSAL,I.Type.OID,!1,n)),o.value.push(I.create(I.Class.UNIVERSAL,I.Type.NULL,!1,""));var s=I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(o),i.value.push(s),I.toDer(i).getBytes()},Ky=function(t,e,r){if(r)return t.modPow(e.e,e.n);if(!e.p||!e.q)return t.modPow(e.d,e.n);e.dP||(e.dP=e.d.mod(e.p.subtract(re.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(re.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new re($.util.bytesToHex($.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(re.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),o=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(o)<0;)i=i.add(e.p);var s=i.subtract(o).multiply(e.qInv).mod(e.p).multiply(e.q).add(o);return s=s.multiply(n.modInverse(e.n)).mod(e.n),s};Y.rsa.encrypt=function(t,e,r){var n=r,i,o=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=Vy(t,e,r)):(i=$.util.createBuffer(),i.putBytes(t));for(var s=new re(i.toHex(),16),a=Ky(s,e,n),c=a.toString(16),u=$.util.createBuffer(),f=o-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes($.util.hexToBytes(c)),u.getBytes()};Y.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=t.length,o.expected=i,o}var s=new re($.util.createBuffer(t).toHex(),16);if(s.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Ky(s,e,r),c=a.toString(16),u=$.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes($.util.hexToBytes(c)),n!==!1?Ia(u.getBytes(),e,r):u.getBytes()};Y.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||$.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:t,rng:i,eInt:e||65537,e:new re(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};Y.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new re(null);r.fromInt(30);for(var n=0,i=function(h,p){return h|p},o=+new Date,s,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,u=c-1;t.pqState===0?(t.num=new re(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(re.ONE.shiftLeft(u),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>c?t.pqState=0:t.num.isProbablePrime(g8(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(u8[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(re.ONE).gcd(t.e).compareTo(re.ONE)===0?3:0:t.pqState===3&&(t.pqState=0,t.p===null?t.p=t.num:t.q=t.num,t.p!==null&&t.q!==null&&++t.state,t.num=null)}else if(t.state===1)t.p.compareTo(t.q)<0&&(t.num=t.p,t.p=t.q,t.q=t.num),++t.state;else if(t.state===2)t.p1=t.p.subtract(re.ONE),t.q1=t.q.subtract(re.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(re.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var f=t.e.modInverse(t.phi);t.keys={privateKey:Y.rsa.setPrivateKey(t.n,t.e,f,t.p,t.q,f.mod(t.p1),f.mod(t.q1),t.q.modInverse(t.p)),publicKey:Y.rsa.setPublicKey(t.n,t.e)}}s=+new Date,a+=s-o,o=s}return t.keys!==null};Y.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!$.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(ky("generateKeyPair"))return nf.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:Y.privateKeyFromPem(u),publicKey:Y.publicKeyFromPem(c)})});if(Uy("generateKey")&&Uy("exportKey"))return Tt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:Fy(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Tt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=Y.privateKeyFromAsn1(I.fromDer($.util.createBuffer(a)));n(null,{privateKey:c,publicKey:Y.setRsaPublicKey(c.n,c.e)})}});if(My("generateKey")&&My("exportKey")){var i=Tt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:Fy(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=Tt.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var h=f.target.result,p=Y.privateKeyFromAsn1(I.fromDer($.util.createBuffer(h)));n(null,{privateKey:p,publicKey:Y.setRsaPublicKey(p.n,p.e)})},u.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(ky("generateKeyPairSync")){var o=nf.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:Y.privateKeyFromPem(o.privateKey),publicKey:Y.publicKeyFromPem(o.publicKey)}}}var s=Y.rsa.createKeyPairGenerationState(t,e,r);if(!n)return Y.rsa.stepKeyPairGenerationState(s,0),s.keys;y8(s,r,n)};Y.setRsaPublicKey=Y.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,o){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return Vy(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return $.pkcs1.encode_rsa_oaep(c,a,o)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var s=i.encode(n,r,!0);return Y.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,u){u=Ia(u,r,!0);var f=I.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),h={},p=[];if(!I.validate(f,p8,h,p)){var y=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw y.errors=p,y}var l=I.derToOid(h.algorithmIdentifier);if(!(l===$.oids.md2||l===$.oids.md5||l===$.oids.sha1||l===$.oids.sha224||l===$.oids.sha256||l===$.oids.sha384||l===$.oids.sha512||l===$.oids["sha512-224"]||l===$.oids["sha512-256"])){var y=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw y.oid=l,y}if((l===$.oids.md2||l===$.oids.md5)&&!("parameters"in h))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===h.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,u){return u=Ia(u,r,!0),c===u}});var a=Y.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};Y.setRsaPrivateKey=Y.rsa.setPrivateKey=function(t,e,r,n,i,o,s,a){var c={n:t,e,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(u,f,h){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var p=Y.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:Ia};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(y,l){return $.pkcs1.decode_rsa_oaep(l,y,h)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(y){return y}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(p,c,!1)},c.sign=function(u,f){var h=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:m8},h=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},h=1);var p=f.encode(u,c.n.bitLength());return Y.rsa.encrypt(p,c,h)},c};Y.wrapRsaPrivateKey=function(t){return I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,I.integerToDer(0).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(Y.oids.rsaEncryption).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.NULL,!1,"")]),I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,I.toDer(t).getBytes())])};Y.privateKeyFromAsn1=function(t){var e={},r=[];if(I.validate(t,f8,e,r)&&(t=I.fromDer($.util.createBuffer(e.privateKey))),e={},r=[],!I.validate(t,l8,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,u,f,h;return i=$.util.createBuffer(e.privateKeyModulus).toHex(),o=$.util.createBuffer(e.privateKeyPublicExponent).toHex(),s=$.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=$.util.createBuffer(e.privateKeyPrime1).toHex(),c=$.util.createBuffer(e.privateKeyPrime2).toHex(),u=$.util.createBuffer(e.privateKeyExponent1).toHex(),f=$.util.createBuffer(e.privateKeyExponent2).toHex(),h=$.util.createBuffer(e.privateKeyCoefficient).toHex(),Y.setRsaPrivateKey(new re(i,16),new re(o,16),new re(s,16),new re(a,16),new re(c,16),new re(u,16),new re(f,16),new re(h,16))};Y.privateKeyToAsn1=Y.privateKeyToRSAPrivateKey=function(t){return I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,I.integerToDer(0).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.n)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.e)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.d)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.p)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.q)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.dP)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.dQ)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.qInv))])};Y.publicKeyFromAsn1=function(t){var e={},r=[];if(I.validate(t,d8,e,r)){var n=I.derToOid(e.publicKeyOid);if(n!==Y.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!I.validate(t,h8,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=$.util.createBuffer(e.publicKeyModulus).toHex(),s=$.util.createBuffer(e.publicKeyExponent).toHex();return Y.setRsaPublicKey(new re(o,16),new re(s,16))};Y.publicKeyToAsn1=Y.publicKeyToSubjectPublicKeyInfo=function(t){return I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(Y.oids.rsaEncryption).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.NULL,!1,"")]),I.create(I.Class.UNIVERSAL,I.Type.BITSTRING,!1,[Y.publicKeyToRSAPublicKey(t)])])};Y.publicKeyToRSAPublicKey=function(t){return I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.n)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.e))])};function Vy(t,e,r){var n=$.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=t.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var u=0,f=$.random.getBytes(s),c=0;c<s;++c)a=f.charCodeAt(c),a===0?++u:n.putByte(a);s=u}return n.putByte(0),n.putBytes(t),n}function Ia(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),o=$.util.createBuffer(t),s=o.getByte(),a=o.getByte();if(s!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var f=o.getByte();if(f!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function y8(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){o(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return s(a,t.q);o(t.qBits,s)})}function o(a,c){$.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(re.ONE).gcd(t.e).compareTo(re.ONE)!==0){t.p=null,i();return}if(t.q.subtract(re.ONE).gcd(t.e).compareTo(re.ONE)!==0){t.q=null,o(t.qBits,s);return}if(t.p1=t.p.subtract(re.ONE),t.q1=t.q.subtract(re.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(re.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,o(t.qBits,s);return}var f=t.e.modInverse(t.phi);t.keys={privateKey:Y.rsa.setPrivateKey(t.n,t.e,f,t.p,t.q,f.mod(t.p1),f.mod(t.q1),t.q.modInverse(t.p)),publicKey:Y.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Xt(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=$.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function g8(t){return t<=100?27:t<=150?18:t<=200?15:t<=250?12:t<=300?9:t<=350?8:t<=400?7:t<=500?6:t<=600?5:t<=800?4:t<=1250?3:2}function ky(t){return $.util.isNodejs&&typeof nf[t]=="function"}function Uy(t){return typeof Tt.globalScope<"u"&&typeof Tt.globalScope.crypto=="object"&&typeof Tt.globalScope.crypto.subtle=="object"&&typeof Tt.globalScope.crypto.subtle[t]=="function"}function My(t){return typeof Tt.globalScope<"u"&&typeof Tt.globalScope.msCrypto=="object"&&typeof Tt.globalScope.msCrypto.subtle=="object"&&typeof Tt.globalScope.msCrypto.subtle[t]=="function"}function Fy(t){for(var e=$.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var Yy=z((rk,Wy)=>{var F=le();Yu();zo();Jm();bn();ha();ny();sy();Ho();xy();_a();ke();typeof zy>"u"&&(zy=F.jsbn.BigInteger);var zy,T=F.asn1,Q=F.pki=F.pki||{};Wy.exports=Q.pbe=F.pbe=F.pbe||{};var En=Q.oids,x8={name:"EncryptedPrivateKeyInfo",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},b8={name:"PBES2Algorithms",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},w8={name:"pkcs-12PbeParams",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,capture:"iterations"}]};Q.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=F.random.getBytesSync(r.saltSize),i=r.count,o=T.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,f,h;switch(r.algorithm){case"aes128":s=16,u=16,f=En["aes128-CBC"],h=F.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,f=En["aes192-CBC"],h=F.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,f=En["aes256-CBC"],h=F.aes.createEncryptionCipher;break;case"des":s=8,u=8,f=En.desCBC,h=F.des.createEncryptionCipher;break;default:var p=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw p.algorithm=r.algorithm,p}var y="hmacWith"+r.prfAlgorithm.toUpperCase(),l=Gy(y),d=F.pkcs5.pbkdf2(e,n,i,s,l),m=F.random.getBytesSync(u),g=h(d);g.start(m),g.update(T.toDer(t)),g.finish(),c=g.output.getBytes();var x=v8(n,o,s,y);a=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(En.pkcs5PBES2).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(En.pkcs5PBKDF2).getBytes()),x]),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(f).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,m)])])])}else if(r.algorithm==="3des"){s=24;var b=new F.util.ByteBuffer(n),d=Q.pbe.generatePkcs12Key(e,b,1,i,s),m=Q.pbe.generatePkcs12Key(e,b,2,i,s),g=F.des.createEncryptionCipher(d);g.start(m),g.update(T.toDer(t)),g.finish(),c=g.output.getBytes(),a=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(En["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,n),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,o.getBytes())])])}else{var p=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw p.algorithm=r.algorithm,p}var v=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[a,T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,c)]);return v};Q.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!T.validate(t,x8,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=T.derToOid(n.encryptionOid),a=Q.pbe.getCipher(s,n.encryptionParams,e),c=F.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=T.fromDer(a.output)),r};Q.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:T.toDer(t).getBytes()};return F.pem.encode(r,{maxline:e})};Q.encryptedPrivateKeyFromPem=function(t){var e=F.pem.decode(t)[0];if(e.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return T.fromDer(e.body)};Q.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=Q.wrapRsaPrivateKey(Q.privateKeyToAsn1(t));return n=Q.encryptPrivateKeyInfo(n,e,r),Q.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=F.random.getBytesSync(16),a=F.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=F.random.getBytesSync(16),a=F.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=F.random.getBytesSync(16),a=F.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=F.random.getBytesSync(8),a=F.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=F.random.getBytesSync(8),a=F.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=F.pbe.opensslDeriveBytes(e,o.substr(0,8),s),f=a(u);f.start(o),f.update(T.toDer(Q.privateKeyToAsn1(t))),f.finish();var h={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:F.util.bytesToHex(o).toUpperCase()},body:f.output.getBytes()};return F.pem.encode(h)};Q.decryptRsaPrivateKey=function(t,e){var r=null,n=F.pem.decode(t)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=F.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=F.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=F.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=F.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=F.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(h){return F.rc2.createDecryptionCipher(h,40)};break;case"RC2-64-CBC":o=8,s=function(h){return F.rc2.createDecryptionCipher(h,64)};break;case"RC2-128-CBC":o=16,s=function(h){return F.rc2.createDecryptionCipher(h,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=F.util.hexToBytes(n.dekInfo.parameters),c=F.pbe.opensslDeriveBytes(e,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(F.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=Q.decryptPrivateKeyInfo(T.fromDer(r),e):r=T.fromDer(r),r!==null&&(r=Q.privateKeyFromAsn1(r)),r};Q.pbe.generatePkcs12Key=function(t,e,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in F.md))throw new Error('"sha1" hash algorithm unavailable.');o=F.md.sha1.create()}var c=o.digestLength,u=o.blockLength,f=new F.util.ByteBuffer,h=new F.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)h.putInt16(t.charCodeAt(a));h.putInt16(0)}var p=h.length(),y=e.length(),l=new F.util.ByteBuffer;l.fillWithByte(r,u);var d=u*Math.ceil(y/u),m=new F.util.ByteBuffer;for(a=0;a<d;a++)m.putByte(e.at(a%y));var g=u*Math.ceil(p/u),x=new F.util.ByteBuffer;for(a=0;a<g;a++)x.putByte(h.at(a%p));var b=m;b.putBuffer(x);for(var v=Math.ceil(i/c),w=1;w<=v;w++){var E=new F.util.ByteBuffer;E.putBytes(l.bytes()),E.putBytes(b.bytes());for(var A=0;A<n;A++)o.start(),o.update(E.getBytes()),E=o.digest();var C=new F.util.ByteBuffer;for(a=0;a<u;a++)C.putByte(E.at(a%c));var P=Math.ceil(y/u)+Math.ceil(p/u),W=new F.util.ByteBuffer;for(s=0;s<P;s++){var H=new F.util.ByteBuffer(b.getBytes(u)),Z=511;for(a=C.length()-1;a>=0;a--)Z=Z>>8,Z+=C.at(a)+H.at(a),H.setAt(a,Z&255);W.putBuffer(H)}b=W,f.putBuffer(E)}return f.truncate(f.length()-i),f};Q.pbe.getCipher=function(t,e,r){switch(t){case Q.oids.pkcs5PBES2:return Q.pbe.getCipherForPBES2(t,e,r);case Q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case Q.oids["pbewithSHAAnd40BitRC2-CBC"]:return Q.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};Q.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!T.validate(e,b8,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}if(t=T.derToOid(n.kdfOid),t!==Q.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=t,o.supportedOids=["pkcs5PBKDF2"],o}if(t=T.derToOid(n.encOid),t!==Q.oids["aes128-CBC"]&&t!==Q.oids["aes192-CBC"]&&t!==Q.oids["aes256-CBC"]&&t!==Q.oids["des-EDE3-CBC"]&&t!==Q.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=t,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=F.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(Q.oids[t]){case"aes128-CBC":c=16,u=F.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=F.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=F.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=F.des.createDecryptionCipher;break;case"desCBC":c=8,u=F.des.createDecryptionCipher;break}var f=Hy(n.prfOid),h=F.pkcs5.pbkdf2(r,s,a,c,f),p=n.encIv,y=u(h);return y.start(p),y};Q.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!T.validate(e,w8,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=F.util.createBuffer(n.salt),a=F.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(t){case Q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=F.des.startDecrypting;break;case Q.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(d,m){var g=F.rc2.createDecryptionCipher(d,40);return g.start(m,null),g};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=t,o}var h=Hy(n.prfOid),p=Q.pbe.generatePkcs12Key(r,s,1,a,c,h);h.start();var y=Q.pbe.generatePkcs12Key(r,s,2,a,u,h);return f(p,y)};Q.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in F.md))throw new Error('"md5" hash algorithm unavailable.');n=F.md.md5.create()}e===null&&(e="");for(var i=[$y(n,t+e)],o=16,s=1;o<r;++s,o+=16)i.push($y(n,i[s-1]+t+e));return i.join("").substr(0,r)};function $y(t,e){return t.start().update(e).digest().getBytes()}function Hy(t){var e;if(!t)e="hmacWithSHA1";else if(e=Q.oids[T.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Gy(e)}function Gy(t){var e=F.md;switch(t){case"hmacWithSHA224":e=F.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function v8(t,e,r,n){var i=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,F.util.hexToBytes(r.toString(16))),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(Q.oids[n]).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")])),i}});var Vx=z(($9,Kx)=>{var me=le();bn();ke();var ds=Kx.exports=me.sha512=me.sha512||{};me.md.sha512=me.md.algorithms.sha512=ds;var Mx=me.sha384=me.sha512.sha384=me.sha512.sha384||{};Mx.create=function(){return ds.create("SHA-384")};me.md.sha384=me.md.algorithms.sha384=Mx;me.sha512.sha256=me.sha512.sha256||{create:function(){return ds.create("SHA-512/256")}};me.md["sha512/256"]=me.md.algorithms["sha512/256"]=me.sha512.sha256;me.sha512.sha224=me.sha512.sha224||{create:function(){return ds.create("SHA-512/224")}};me.md["sha512/224"]=me.md.algorithms["sha512/224"]=me.sha512.sha224;ds.create=function(t){if(Fx||N_(),typeof t>"u"&&(t="SHA-512"),!(t in Pn))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=Pn[t],r=null,n=me.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(t){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=me.util.createBuffer(),r=new Array(e.length);for(var u=0;u<e.length;++u)r[u]=e[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=me.util.encodeUtf8(c));var f=c.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var h=a.fullMessageLength.length-1;h>=0;--h)a.fullMessageLength[h]+=f[1],f[1]=f[0]+(a.fullMessageLength[h]/4294967296>>>0),a.fullMessageLength[h]=a.fullMessageLength[h]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(c),Ux(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=me.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=u&a.blockLength-1;c.putBytes(Hl.substr(0,a.blockLength-f));for(var h,p,y=a.fullMessageLength[0]*8,l=0;l<a.fullMessageLength.length-1;++l)h=a.fullMessageLength[l+1]*8,p=h/4294967296>>>0,y+=p,c.putInt32(y>>>0),y=h>>>0;c.putInt32(y);for(var d=new Array(r.length),l=0;l<r.length;++l)d[l]=r[l].slice(0);Ux(d,i,c);var m=me.util.createBuffer(),g;t==="SHA-512"?g=d.length:t==="SHA-384"?g=d.length-2:g=d.length-4;for(var l=0;l<g;++l)m.putInt32(d[l][0]),(l!==g-1||t!=="SHA-512/224")&&m.putInt32(d[l][1]);return m},a};var Hl=null,Fx=!1,Gl=null,Pn=null;function N_(){Hl="\x80",Hl+=me.util.fillString("\0",128),Gl=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],Pn={},Pn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Pn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Pn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Pn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Fx=!0}function Ux(t,e,r){for(var n,i,o,s,a,c,u,f,h,p,y,l,d,m,g,x,b,v,w,E,A,C,P,W,H,Z,fe,Ge,L,U,O,k,B,K,q,G=r.length();G>=128;){for(L=0;L<16;++L)e[L][0]=r.getInt32()>>>0,e[L][1]=r.getInt32()>>>0;for(;L<80;++L)k=e[L-2],U=k[0],O=k[1],n=((U>>>19|O<<13)^(O>>>29|U<<3)^U>>>6)>>>0,i=((U<<13|O>>>19)^(O<<3|U>>>29)^(U<<26|O>>>6))>>>0,K=e[L-15],U=K[0],O=K[1],o=((U>>>1|O<<31)^(U>>>8|O<<24)^U>>>7)>>>0,s=((U<<31|O>>>1)^(U<<24|O>>>8)^(U<<25|O>>>7))>>>0,B=e[L-7],q=e[L-16],O=i+B[1]+s+q[1],e[L][0]=n+B[0]+o+q[0]+(O/4294967296>>>0)>>>0,e[L][1]=O>>>0;for(d=t[0][0],m=t[0][1],g=t[1][0],x=t[1][1],b=t[2][0],v=t[2][1],w=t[3][0],E=t[3][1],A=t[4][0],C=t[4][1],P=t[5][0],W=t[5][1],H=t[6][0],Z=t[6][1],fe=t[7][0],Ge=t[7][1],L=0;L<80;++L)u=((A>>>14|C<<18)^(A>>>18|C<<14)^(C>>>9|A<<23))>>>0,f=((A<<18|C>>>14)^(A<<14|C>>>18)^(C<<23|A>>>9))>>>0,h=(H^A&(P^H))>>>0,p=(Z^C&(W^Z))>>>0,a=((d>>>28|m<<4)^(m>>>2|d<<30)^(m>>>7|d<<25))>>>0,c=((d<<4|m>>>28)^(m<<30|d>>>2)^(m<<25|d>>>7))>>>0,y=(d&g|b&(d^g))>>>0,l=(m&x|v&(m^x))>>>0,O=Ge+f+p+Gl[L][1]+e[L][1],n=fe+u+h+Gl[L][0]+e[L][0]+(O/4294967296>>>0)>>>0,i=O>>>0,O=c+l,o=a+y+(O/4294967296>>>0)>>>0,s=O>>>0,fe=H,Ge=Z,H=P,Z=W,P=A,W=C,O=E+i,A=w+n+(O/4294967296>>>0)>>>0,C=O>>>0,w=b,E=v,b=g,v=x,g=d,x=m,O=i+s,d=n+o+(O/4294967296>>>0)>>>0,m=O>>>0;O=t[0][1]+m,t[0][0]=t[0][0]+d+(O/4294967296>>>0)>>>0,t[0][1]=O>>>0,O=t[1][1]+x,t[1][0]=t[1][0]+g+(O/4294967296>>>0)>>>0,t[1][1]=O>>>0,O=t[2][1]+v,t[2][0]=t[2][0]+b+(O/4294967296>>>0)>>>0,t[2][1]=O>>>0,O=t[3][1]+E,t[3][0]=t[3][0]+w+(O/4294967296>>>0)>>>0,t[3][1]=O>>>0,O=t[4][1]+C,t[4][0]=t[4][0]+A+(O/4294967296>>>0)>>>0,t[4][1]=O>>>0,O=t[5][1]+W,t[5][0]=t[5][0]+P+(O/4294967296>>>0)>>>0,t[5][1]=O>>>0,O=t[6][1]+Z,t[6][0]=t[6][0]+H+(O/4294967296>>>0)>>>0,t[6][1]=O>>>0,O=t[7][1]+Ge,t[7][0]=t[7][0]+fe+(O/4294967296>>>0)>>>0,t[7][1]=O>>>0,G-=128}}});var oh=z((oK,pb)=>{var Fi=1e3,Ki=Fi*60,Vi=Ki*60,Un=Vi*24,sT=Un*7,aT=Un*365.25;pb.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return cT(t);if(r==="number"&&isFinite(t))return e.long?fT(t):uT(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function cT(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*aT;case"weeks":case"week":case"w":return r*sT;case"days":case"day":case"d":return r*Un;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Vi;case"minutes":case"minute":case"mins":case"min":case"m":return r*Ki;case"seconds":case"second":case"secs":case"sec":case"s":return r*Fi;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function uT(t){var e=Math.abs(t);return e>=Un?Math.round(t/Un)+"d":e>=Vi?Math.round(t/Vi)+"h":e>=Ki?Math.round(t/Ki)+"m":e>=Fi?Math.round(t/Fi)+"s":t+"ms"}function fT(t){var e=Math.abs(t);return e>=Un?nc(t,e,Un,"day"):e>=Vi?nc(t,e,Vi,"hour"):e>=Ki?nc(t,e,Ki,"minute"):e>=Fi?nc(t,e,Fi,"second"):t+" ms"}function nc(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var yb=z((sK,mb)=>{function lT(t){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=oh(),r.destroy=u,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let h=0;for(let p=0;p<f.length;p++)h=(h<<5)-h+f.charCodeAt(p),h|=0;return r.colors[Math.abs(h)%r.colors.length]}r.selectColor=e;function r(f){let h,p=null,y,l;function d(...m){if(!d.enabled)return;let g=d,x=Number(new Date),b=x-(h||x);g.diff=b,g.prev=h,g.curr=x,h=x,m[0]=r.coerce(m[0]),typeof m[0]!="string"&&m.unshift("%O");let v=0;m[0]=m[0].replace(/%([a-zA-Z%])/g,(E,A)=>{if(E==="%%")return"%";v++;let C=r.formatters[A];if(typeof C=="function"){let P=m[v];E=C.call(g,P),m.splice(v,1),v--}return E}),r.formatArgs.call(g,m),(g.log||r.log).apply(g,m)}return d.namespace=f,d.useColors=r.useColors(),d.color=r.selectColor(f),d.extend=n,d.destroy=r.destroy,Object.defineProperty(d,"enabled",{enumerable:!0,configurable:!1,get:()=>p!==null?p:(y!==r.namespaces&&(y=r.namespaces,l=r.enabled(f)),l),set:m=>{p=m}}),typeof r.init=="function"&&r.init(d),d}function n(f,h){let p=r(this.namespace+(typeof h>"u"?":":h)+f);return p.log=this.log,p}function i(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let h,p=(typeof f=="string"?f:"").split(/[\s,]+/),y=p.length;for(h=0;h<y;h++)p[h]&&(f=p[h].replace(/\*/g,".*?"),f[0]==="-"?r.skips.push(new RegExp("^"+f.slice(1)+"$")):r.names.push(new RegExp("^"+f+"$")))}function o(){let f=[...r.names.map(a),...r.skips.map(a).map(h=>"-"+h)].join(",");return r.enable(""),f}function s(f){if(f[f.length-1]==="*")return!0;let h,p;for(h=0,p=r.skips.length;h<p;h++)if(r.skips[h].test(f))return!1;for(h=0,p=r.names.length;h<p;h++)if(r.names[h].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function c(f){return f instanceof Error?f.stack||f.message:f}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}mb.exports=lT});var sh=z((Ct,ic)=>{Ct.formatArgs=dT;Ct.save=pT;Ct.load=mT;Ct.useColors=hT;Ct.storage=yT();Ct.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Ct.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function hT(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function dT(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+ic.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}Ct.log=console.debug||console.log||(()=>{});function pT(t){try{t?Ct.storage.setItem("debug",t):Ct.storage.removeItem("debug")}catch{}}function mT(){let t;try{t=Ct.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function yT(){try{return localStorage}catch{}}ic.exports=yb()(Ct);var{formatters:gT}=ic.exports;gT.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var i1=z((rG,Yd)=>{"use strict";var YR=Object.prototype.hasOwnProperty,ht="~";function ks(){}Object.create&&(ks.prototype=Object.create(null),new ks().__proto__||(ht=!1));function QR(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function n1(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new QR(r,n||t,i),s=ht?ht+e:e;return t._events[s]?t._events[s].fn?t._events[s]=[t._events[s],o]:t._events[s].push(o):(t._events[s]=o,t._eventsCount++),t}function Ac(t,e){--t._eventsCount===0?t._events=new ks:delete t._events[e]}function ct(){this._events=new ks,this._eventsCount=0}ct.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)YR.call(r,n)&&e.push(ht?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};ct.prototype.listeners=function(e){var r=ht?ht+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s};ct.prototype.listenerCount=function(e){var r=ht?ht+e:e,n=this._events[r];return n?n.fn?1:n.length:0};ct.prototype.emit=function(e,r,n,i,o,s){var a=ht?ht+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,f,h;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,i),!0;case 5:return c.fn.call(c.context,r,n,i,o),!0;case 6:return c.fn.call(c.context,r,n,i,o,s),!0}for(h=1,f=new Array(u-1);h<u;h++)f[h-1]=arguments[h];c.fn.apply(c.context,f)}else{var p=c.length,y;for(h=0;h<p;h++)switch(c[h].once&&this.removeListener(e,c[h].fn,void 0,!0),u){case 1:c[h].fn.call(c[h].context);break;case 2:c[h].fn.call(c[h].context,r);break;case 3:c[h].fn.call(c[h].context,r,n);break;case 4:c[h].fn.call(c[h].context,r,n,i);break;default:if(!f)for(y=1,f=new Array(u-1);y<u;y++)f[y-1]=arguments[y];c[h].fn.apply(c[h].context,f)}}return!0};ct.prototype.on=function(e,r,n){return n1(this,e,r,n,!1)};ct.prototype.once=function(e,r,n){return n1(this,e,r,n,!0)};ct.prototype.removeListener=function(e,r,n,i){var o=ht?ht+e:e;if(!this._events[o])return this;if(!r)return Ac(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&Ac(this,o);else{for(var a=0,c=[],u=s.length;a<u;a++)(s[a].fn!==r||i&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[o]=c.length===1?c[0]:c:Ac(this,o)}return this};ct.prototype.removeAllListeners=function(e){var r;return e?(r=ht?ht+e:e,this._events[r]&&Ac(this,r)):(this._events=new ks,this._eventsCount=0),this};ct.prototype.off=ct.prototype.removeListener;ct.prototype.addListener=ct.prototype.on;ct.prefixed=ht;ct.EventEmitter=ct;typeof Yd<"u"&&(Yd.exports=ct)});var L0=z((pY,q1)=>{"use strict";function V1(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function wD(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return V1(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),V1(new i,r)}}q1.exports=wD});var m2=z(Gs=>{(function(){var t,e,r,n,i,o,s,a;a=function(c){var u,f,h,p;return u=(c&255<<24)>>>24,f=(c&255<<16)>>>16,h=(c&65280)>>>8,p=c&255,[u,f,h,p].join(".")},s=function(c){var u,f,h,p,y,l;for(u=[],h=p=0;p<=3&&c.length!==0;h=++p){if(h>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}l=e(c),y=l[0],f=l[1],c=c.substring(f),u.push(y)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),o=r("a"),i=r("A"),e=function(c){var u,f,h,p,y;for(p=0,u=10,f="9",h=0,c.length>1&&c[h]==="0"&&(c[h+1]==="x"||c[h+1]==="X"?(h+=2,u=16):"0"<=c[h+1]&&c[h+1]<="9"&&(h++,u=8,f="7")),y=h;h<c.length;){if("0"<=c[h]&&c[h]<=f)p=p*u+(r(c[h])-n)>>>0;else if(u===16)if("a"<=c[h]&&c[h]<="f")p=p*u+(10+r(c[h])-o)>>>0;else if("A"<=c[h]&&c[h]<="F")p=p*u+(10+r(c[h])-i)>>>0;else break;else break;if(p>4294967295)throw new Error("too large");h++}if(h===y)throw new Error("empty octet");return[p,h]},t=function(){function c(u,f){var h,p,y,l;if(typeof u!="string")throw new Error("Missing `net' parameter");if(f||(l=u.split("/",2),u=l[0],f=l[1]),f||(f=32),typeof f=="string"&&f.indexOf(".")>-1){try{this.maskLong=s(f)}catch(d){throw h=d,new Error("Invalid mask: "+f)}for(p=y=32;y>=0;p=--y)if(this.maskLong===4294967295<<32-p>>>0){this.bitmask=p;break}}else if(f||f===0)this.bitmask=parseInt(f,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(s(u)&this.maskLong)>>>0}catch(d){throw h=d,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+f);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(s(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var f,h,p;for(p=s(this.first),h=s(this.last),f=0;p<=h;)u(a(p),p,f),f++,p++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),Gs.ip2long=s,Gs.long2ip=a,Gs.Netmask=t}).call(Gs)});var b2=z((x2,Gc)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),o="%[0-9a-z]{1,}",s="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${s})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${s})|(?:::)(?:${s})?)${e}\\.${e}\\.${e}\\.${e}(${o})?$`,"i")};function c(y,l){if(y.indexOf("::")!==y.lastIndexOf("::"))return null;let d=0,m=-1,g=(y.match(a.zoneIndex)||[])[0],x,b;for(g&&(g=g.substring(1),y=y.replace(/%.+$/,""));(m=y.indexOf(":",m+1))>=0;)d++;if(y.substr(0,2)==="::"&&d--,y.substr(-2,2)==="::"&&d--,d>l)return null;for(b=l-d,x=":";b--;)x+="0:";return y=y.replace("::",x),y[0]===":"&&(y=y.slice(1)),y[y.length-1]===":"&&(y=y.slice(0,-1)),l=function(){let v=y.split(":"),w=[];for(let E=0;E<v.length;E++)w.push(parseInt(v[E],16));return w}(),{parts:l,zoneId:g}}function u(y,l,d,m){if(y.length!==l.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,x;for(;m>0;){if(x=d-m,x<0&&(x=0),y[g]>>x!==l[g]>>x)return!1;m-=d,g+=1}return!0}function f(y){if(i.test(y))return parseInt(y,16);if(y[0]==="0"&&!isNaN(parseInt(y[1],10))){if(n.test(y))return parseInt(y,8);throw new Error(`ipaddr: cannot parse ${y} as octal`)}return parseInt(y,10)}function h(y,l){for(;y.length<l;)y=`0${y}`;return y}let p={};p.IPv4=function(){function y(l){if(l.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let d,m;for(d=0;d<l.length;d++)if(m=l[d],!(0<=m&&m<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=l}return y.prototype.SpecialRanges={unspecified:[[new y([0,0,0,0]),8]],broadcast:[[new y([255,255,255,255]),32]],multicast:[[new y([224,0,0,0]),4]],linkLocal:[[new y([169,254,0,0]),16]],loopback:[[new y([127,0,0,0]),8]],carrierGradeNat:[[new y([100,64,0,0]),10]],private:[[new y([10,0,0,0]),8],[new y([172,16,0,0]),12],[new y([192,168,0,0]),16]],reserved:[[new y([192,0,0,0]),24],[new y([192,0,2,0]),24],[new y([192,88,99,0]),24],[new y([198,18,0,0]),15],[new y([198,51,100,0]),24],[new y([203,0,113,0]),24],[new y([240,0,0,0]),4]]},y.prototype.kind=function(){return"ipv4"},y.prototype.match=function(l,d){let m;if(d===void 0&&(m=l,l=m[0],d=m[1]),l.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,l.octets,8,d)},y.prototype.prefixLengthFromSubnetMask=function(){let l=0,d=!1,m={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},g,x,b;for(g=3;g>=0;g-=1)if(x=this.octets[g],x in m){if(b=m[x],d&&b!==0)return null;b!==8&&(d=!0),l+=b}else return null;return 32-l},y.prototype.range=function(){return p.subnetMatch(this,this.SpecialRanges)},y.prototype.toByteArray=function(){return this.octets.slice(0)},y.prototype.toIPv4MappedAddress=function(){return p.IPv6.parse(`::ffff:${this.toString()}`)},y.prototype.toNormalizedString=function(){return this.toString()},y.prototype.toString=function(){return this.octets.join(".")},y}(),p.IPv4.broadcastAddressFromCIDR=function(y){try{let l=this.parseCIDR(y),d=l[0].toByteArray(),m=this.subnetMaskFromPrefixLength(l[1]).toByteArray(),g=[],x=0;for(;x<4;)g.push(parseInt(d[x],10)|parseInt(m[x],10)^255),x++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},p.IPv4.isIPv4=function(y){return this.parser(y)!==null},p.IPv4.isValid=function(y){try{return new this(this.parser(y)),!0}catch{return!1}},p.IPv4.isValidFourPartDecimal=function(y){return!!(p.IPv4.isValid(y)&&y.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},p.IPv4.networkAddressFromCIDR=function(y){let l,d,m,g,x;try{for(l=this.parseCIDR(y),m=l[0].toByteArray(),x=this.subnetMaskFromPrefixLength(l[1]).toByteArray(),g=[],d=0;d<4;)g.push(parseInt(m[d],10)&parseInt(x[d],10)),d++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},p.IPv4.parse=function(y){let l=this.parser(y);if(l===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(l)},p.IPv4.parseCIDR=function(y){let l;if(l=y.match(/^(.+)\/(\d+)$/)){let d=parseInt(l[2]);if(d>=0&&d<=32){let m=[this.parse(l[1]),d];return Object.defineProperty(m,"toString",{value:function(){return this.join("/")}}),m}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},p.IPv4.parser=function(y){let l,d,m;if(l=y.match(r.fourOctet))return function(){let g=l.slice(1,6),x=[];for(let b=0;b<g.length;b++)d=g[b],x.push(f(d));return x}();if(l=y.match(r.longValue)){if(m=f(l[1]),m>4294967295||m<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],x;for(x=0;x<=24;x+=8)g.push(m>>x&255);return g}().reverse()}else return(l=y.match(r.twoOctet))?function(){let g=l.slice(1,4),x=[];if(m=f(g[1]),m>16777215||m<0)throw new Error("ipaddr: address outside defined range");return x.push(f(g[0])),x.push(m>>16&255),x.push(m>>8&255),x.push(m&255),x}():(l=y.match(r.threeOctet))?function(){let g=l.slice(1,5),x=[];if(m=f(g[2]),m>65535||m<0)throw new Error("ipaddr: address outside defined range");return x.push(f(g[0])),x.push(f(g[1])),x.push(m>>8&255),x.push(m&255),x}():null},p.IPv4.subnetMaskFromPrefixLength=function(y){if(y=parseInt(y),y<0||y>32)throw new Error("ipaddr: invalid IPv4 prefix length");let l=[0,0,0,0],d=0,m=Math.floor(y/8);for(;d<m;)l[d]=255,d++;return m<4&&(l[m]=Math.pow(2,y%8)-1<<8-y%8),new this(l)},p.IPv6=function(){function y(l,d){let m,g;if(l.length===16)for(this.parts=[],m=0;m<=14;m+=2)this.parts.push(l[m]<<8|l[m+1]);else if(l.length===8)this.parts=l;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(m=0;m<this.parts.length;m++)if(g=this.parts[m],!(0<=g&&g<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");d&&(this.zoneId=d)}return y.prototype.SpecialRanges={unspecified:[new y([0,0,0,0,0,0,0,0]),128],linkLocal:[new y([65152,0,0,0,0,0,0,0]),10],multicast:[new y([65280,0,0,0,0,0,0,0]),8],loopback:[new y([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new y([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new y([0,0,0,0,0,65535,0,0]),96],rfc6145:[new y([0,0,0,0,65535,0,0,0]),96],rfc6052:[new y([100,65435,0,0,0,0,0,0]),96],"6to4":[new y([8194,0,0,0,0,0,0,0]),16],teredo:[new y([8193,0,0,0,0,0,0,0]),32],reserved:[[new y([8193,3512,0,0,0,0,0,0]),32]],benchmarking:[new y([8193,2,0,0,0,0,0,0]),48],amt:[new y([8193,3,0,0,0,0,0,0]),32],as112v6:[new y([8193,4,274,0,0,0,0,0]),48],deprecated:[new y([8193,16,0,0,0,0,0,0]),28],orchid2:[new y([8193,32,0,0,0,0,0,0]),28]},y.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},y.prototype.kind=function(){return"ipv6"},y.prototype.match=function(l,d){let m;if(d===void 0&&(m=l,l=m[0],d=m[1]),l.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,l.parts,16,d)},y.prototype.prefixLengthFromSubnetMask=function(){let l=0,d=!1,m={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},g,x;for(let b=7;b>=0;b-=1)if(g=this.parts[b],g in m){if(x=m[g],d&&x!==0)return null;x!==16&&(d=!0),l+=x}else return null;return 128-l},y.prototype.range=function(){return p.subnetMatch(this,this.SpecialRanges)},y.prototype.toByteArray=function(){let l,d=[],m=this.parts;for(let g=0;g<m.length;g++)l=m[g],d.push(l>>8),d.push(l&255);return d},y.prototype.toFixedLengthString=function(){let l=function(){let m=[];for(let g=0;g<this.parts.length;g++)m.push(h(this.parts[g].toString(16),4));return m}.call(this).join(":"),d="";return this.zoneId&&(d=`%${this.zoneId}`),l+d},y.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let l=this.parts.slice(-2),d=l[0],m=l[1];return new p.IPv4([d>>8,d&255,m>>8,m&255])},y.prototype.toNormalizedString=function(){let l=function(){let m=[];for(let g=0;g<this.parts.length;g++)m.push(this.parts[g].toString(16));return m}.call(this).join(":"),d="";return this.zoneId&&(d=`%${this.zoneId}`),l+d},y.prototype.toRFC5952String=function(){let l=/((^|:)(0(:|$)){2,})/g,d=this.toNormalizedString(),m=0,g=-1,x;for(;x=l.exec(d);)x[0].length>g&&(m=x.index,g=x[0].length);return g<0?d:`${d.substring(0,m)}::${d.substring(m+g)}`},y.prototype.toString=function(){return this.toRFC5952String()},y}(),p.IPv6.broadcastAddressFromCIDR=function(y){try{let l=this.parseCIDR(y),d=l[0].toByteArray(),m=this.subnetMaskFromPrefixLength(l[1]).toByteArray(),g=[],x=0;for(;x<16;)g.push(parseInt(d[x],10)|parseInt(m[x],10)^255),x++;return new this(g)}catch(l){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${l})`)}},p.IPv6.isIPv6=function(y){return this.parser(y)!==null},p.IPv6.isValid=function(y){if(typeof y=="string"&&y.indexOf(":")===-1)return!1;try{let l=this.parser(y);return new this(l.parts,l.zoneId),!0}catch{return!1}},p.IPv6.networkAddressFromCIDR=function(y){let l,d,m,g,x;try{for(l=this.parseCIDR(y),m=l[0].toByteArray(),x=this.subnetMaskFromPrefixLength(l[1]).toByteArray(),g=[],d=0;d<16;)g.push(parseInt(m[d],10)&parseInt(x[d],10)),d++;return new this(g)}catch(b){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${b})`)}},p.IPv6.parse=function(y){let l=this.parser(y);if(l.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(l.parts,l.zoneId)},p.IPv6.parseCIDR=function(y){let l,d,m;if((d=y.match(/^(.+)\/(\d+)$/))&&(l=parseInt(d[2]),l>=0&&l<=128))return m=[this.parse(d[1]),l],Object.defineProperty(m,"toString",{value:function(){return this.join("/")}}),m;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},p.IPv6.parser=function(y){let l,d,m,g,x,b;if(m=y.match(a.deprecatedTransitional))return this.parser(`::ffff:${m[1]}`);if(a.native.test(y))return c(y,8);if((m=y.match(a.transitional))&&(b=m[6]||"",l=c(m[1].slice(0,-1)+b,6),l.parts)){for(x=[parseInt(m[2]),parseInt(m[3]),parseInt(m[4]),parseInt(m[5])],d=0;d<x.length;d++)if(g=x[d],!(0<=g&&g<=255))return null;return l.parts.push(x[0]<<8|x[1]),l.parts.push(x[2]<<8|x[3]),{parts:l.parts,zoneId:l.zoneId}}return null},p.IPv6.subnetMaskFromPrefixLength=function(y){if(y=parseInt(y),y<0||y>128)throw new Error("ipaddr: invalid IPv6 prefix length");let l=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],d=0,m=Math.floor(y/8);for(;d<m;)l[d]=255,d++;return m<16&&(l[m]=Math.pow(2,y%8)-1<<8-y%8),new this(l)},p.fromByteArray=function(y){let l=y.length;if(l===4)return new p.IPv4(y);if(l===16)return new p.IPv6(y);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},p.isValid=function(y){return p.IPv6.isValid(y)||p.IPv4.isValid(y)},p.parse=function(y){if(p.IPv6.isValid(y))return p.IPv6.parse(y);if(p.IPv4.isValid(y))return p.IPv4.parse(y);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},p.parseCIDR=function(y){try{return p.IPv6.parseCIDR(y)}catch{try{return p.IPv4.parseCIDR(y)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},p.process=function(y){let l=this.parse(y);return l.kind()==="ipv6"&&l.isIPv4MappedAddress()?l.toIPv4Address():l},p.subnetMatch=function(y,l,d){let m,g,x,b;d==null&&(d="unicast");for(g in l)if(Object.prototype.hasOwnProperty.call(l,g)){for(x=l[g],x[0]&&!(x[0]instanceof Array)&&(x=[x]),m=0;m<x.length;m++)if(b=x[m],y.kind()===b[0].kind()&&y.match.apply(y,b))return g}return d},typeof Gc<"u"&&Gc.exports?Gc.exports=p:t.ipaddr=p})(x2)});var q2=z((gX,V2)=>{"use strict";V2.exports=K2;var eN=oh(),pn=K2.prototype,tN=new Date%1e9;function rN(){return(Math.random()*1e9>>>0)+tN++}function K2(t){t=t||{},this.id=t.id||rN(),this.max=t.max||1/0,this.items=t.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(t.lastModified||new Date);for(var e,r,n=this.items.length;n--;)e=this.items[n],r=new Date(e.expires)-new Date,this._lookup[e.key]=e,r>0?this.expire(e.key,r):r<=0&&this.delete(e.key)}pn.has=function(t){return t in this._lookup};pn.get=function(t){if(!this.has(t))return null;var e=this._lookup[t];return e.refresh&&this.expire(t,e.refresh),this.items.splice(this.items.indexOf(e),1),this.items.push(e),e.value};pn.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};pn.set=function(t,e,r){var n=this._lookup[t],i=this._lookup[t]={key:t,value:e};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,i)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(i),this.size++),r&&("ttl"in r&&this.expire(t,r.ttl),"meta"in r&&(i.meta=r.meta),r.refresh&&(i.refresh=r.ttl)),this};pn.delete=function(t){var e=this._lookup[t];return e?(this.lastModified=new Date,this.items.splice(this.items.indexOf(e),1),clearTimeout(e.timeout),delete this._lookup[t],this.size--,this):!1};pn.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=eN(e)),typeof r!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),r),n.expires=Number(new Date)+r,this};pn.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};pn.toJSON=function(){for(var t=new Array(this.items.length),e,r=t.length;r--;)e=this.items[r],t[r]={key:e.key,meta:e.meta,value:e.value,expires:e.expires,refresh:e.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:t}}});var W2=z((SX,G2)=>{"use strict";G2.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var Z2=z((j2,J2)=>{"use strict";var eu=W2(),{hasOwnProperty:Q2}=Object.prototype,{propertyIsEnumerable:oN}=Object,Io=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),sN=j2,Y2={concatArrays:!1,ignoreUndefined:!1},tu=t=>{let e=[];for(let r in t)Q2.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)oN.call(t,n)&&e.push(n)}return e};function _o(t){return Array.isArray(t)?aN(t):eu(t)?cN(t):t}function aN(t){let e=t.slice(0,0);return tu(t).forEach(r=>{Io(e,r,_o(t[r]))}),e}function cN(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return tu(t).forEach(r=>{Io(e,r,_o(t[r]))}),e}var X2=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?Io(t,i,wp(t[i],e[i],n)):Io(t,i,_o(e[i])))}),t),uN=(t,e,r)=>{let n=t.slice(0,0),i=0;return[t,e].forEach(o=>{let s=[];for(let a=0;a<o.length;a++)Q2.call(o,a)&&(s.push(String(a)),o===t?Io(n,i++,o[a]):Io(n,i++,_o(o[a])));n=X2(n,o,tu(o).filter(a=>!s.includes(a)),r)}),n};function wp(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?uN(t,e,r):!eu(e)||!eu(t)?_o(e):X2(t,e,tu(e),r)}J2.exports=function(...t){let e=wp(_o(Y2),this!==sN&&this||{},Y2),r={_:{}};for(let n of t)if(n!==void 0){if(!eu(n))throw new TypeError("`"+n+"` is not an Option Object");r=wp(r,{_:n},e)}return r._}});var js=z((PX,rv)=>{rv.exports=class{constructor(e={}){this.points=e.points,this.duration=e.duration,this.blockDuration=e.blockDuration,this.execEvenly=e.execEvenly,this.execEvenlyMinDelayMs=e.execEvenlyMinDelayMs,this.keyPrefix=e.keyPrefix}get points(){return this._points}set points(e){this._points=e>=0?e:4}get duration(){return this._duration}set duration(e){this._duration=typeof e>"u"?1:e}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(e){this._blockDuration=typeof e>"u"?0:e}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(e){this._execEvenly=typeof e>"u"?!1:!!e}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(e){this._execEvenlyMinDelayMs=typeof e>"u"?Math.ceil(this.msDuration/this.points):e}get keyPrefix(){return this._keyPrefix}set keyPrefix(e){if(typeof e>"u"&&(e="rlflx"),typeof e!="string")throw new Error("keyPrefix must be string");this._keyPrefix=e}_getKeySecDuration(e={}){return e&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}});var iv=z((kX,nv)=>{nv.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let e=Date.now();Object.keys(this._keys).forEach(r=>{this._keys[r]<=e&&delete this._keys[r]}),this._addedKeysAmount=Object.keys(this._keys).length}add(e,r){this.addMs(e,r*1e3)}addMs(e,r){this._keys[e]=Date.now()+r,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(e){let r=this._keys[e];if(r&&r>=Date.now()){this.collectExpired();let n=Date.now();return r>=n?r-n:0}return 0}delete(e){e?delete this._keys[e]:Object.keys(this._keys).forEach(r=>{delete this._keys[r]})}}});var sv=z((UX,ov)=>{var lN=iv();ov.exports=lN});var bt=z((FX,av)=>{av.exports=class{constructor(e,r,n,i){this.remainingPoints=typeof e>"u"?0:e,this.msBeforeNext=typeof r>"u"?0:r,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(e){return this._msBeforeNext=e,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(e){return this._remainingPoints=e,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(e){return this._consumedPoints=e,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(e){this._isFirstInDuration=!!e}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var ti=z((VX,uv)=>{var vp=js(),hN=sv(),cv=bt();uv.exports=class extends vp{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new hN}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("storeClient is not set");this._client=e}_afterConsume(e,r,n,i,o,s={}){let a=this._getRateLimiterRes(n,i,o);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?r(a):e(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,s)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{r(a)}).catch(u=>{r(u)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(e,c,a)}else e(a)}_handleError(e,r,n,i,o,s=!1,a={}){this.insuranceLimiter instanceof vp?this.insuranceLimiter[r](o,s,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(e)}getInMemoryBlockMsBeforeExpire(e){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(e):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(e){if(this._inMemoryBlockOnConsumed=e?parseInt(e):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(e){if(this._inMemoryBlockDuration=e?parseInt(e):0,this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(e){if(typeof e<"u"&&!(e instanceof vp))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=e,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(e,r,n={}){let i=r*1e3;return this._block(this.getKey(e),this.points+1,i,n)}set(e,r,n,i={}){let o=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(e),r,o,i)}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=this.getKey(e),a=this.getInMemoryBlockMsBeforeExpire(s);if(a>0)return o(new cv(0,a));this._upsert(s,r,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,o,s,r,c)}).catch(c=>{this._handleError(c,"consume",i,o,e,r,n)})})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise((o,s)=>{this._upsert(i,r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{o(this._getRateLimiterRes(i,r,a))}).catch(a=>{this._handleError(a,"penalty",o,s,e,r,n)})})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise((o,s)=>{this._upsert(i,-r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{o(this._getRateLimiterRes(i,-r,a))}).catch(a=>{this._handleError(a,"reward",o,s,e,r,n)})})}get(e,r={}){let n=this.getKey(e);return new Promise((i,o)=>{this._get(n,r).then(s=>{i(s===null||typeof s>"u"?null:this._getRateLimiterRes(n,0,s))}).catch(s=>{this._handleError(s,"get",i,o,e,r)})})}delete(e,r={}){let n=this.getKey(e);return new Promise((i,o)=>{this._delete(n,r).then(s=>{this._inMemoryBlockedKeys.delete(n),i(s)}).catch(s=>{this._handleError(s,"delete",i,o,e,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(e,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(e,r,n,i={}){return new Promise((o,s)=>{this._upsert(e,r,n,!0,i).then(()=>{o(new cv(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",o,s,this.parseKey(e),n/1e3,i)})})}_get(e,r={}){throw new Error("You have to implement the method '_get'!")}_delete(e,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(e,r,n,i=!1,o={}){throw new Error("You have to implement the method '_upsert'!")}}});var lv=z((qX,fv)=>{var dN=ti(),pN=bt(),Ep="redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') local consumed = redis.call('incrby', KEYS[1], ARGV[1]) local ttl = redis.call('pttl', KEYS[1]) if ttl == -1 then redis.call('expire', KEYS[1], ARGV[2]) ttl = 1000 * ARGV[2] end return {consumed, ttl} ",Ap=class extends dN{constructor(e){super(e),this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,this.useRedisPackage=e.useRedisPackage||this.client.constructor.name==="Commander"||!1,this.useRedis3AndLowerPackage=e.useRedis3AndLowerPackage,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:Ep})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(e,r,n){let[i,o]=n;Array.isArray(i)&&([,i]=i,[,o]=o);let s=new pN;return s.consumedPoints=parseInt(i),s.isFirstInDuration=s.consumedPoints===r,s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s.msBeforeNext=o,s}async _upsert(e,r,n,i=!1){if(!this._isRedisReady())throw new Error("Redis connection is not ready");let o=Math.floor(n/1e3),s=this.client.multi();return i?(o>0?!this.useRedisPackage&&!this.useRedis3AndLowerPackage?s.set(e,r,"EX",o):s.set(e,r,{EX:o}):s.set(e,r),!this.useRedisPackage&&!this.useRedis3AndLowerPackage?s.pttl(e).exec(!0):s.pTTL(e).exec(!0)):o>0?!this.useRedisPackage&&!this.useRedis3AndLowerPackage?this.client.rlflxIncr([e].concat([String(r),String(o)])):this.useRedis3AndLowerPackage?new Promise((a,c)=>{let u=function(f,h){return f?c(f):a(h)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,o,u):this.client.eval(Ep,1,e,r,o,u)}):this.client.eval(Ep,{keys:[e],arguments:[String(r),String(o)]}):!this.useRedisPackage&&!this.useRedis3AndLowerPackage?s.incrby(e,r).pttl(e).exec(!0):s.incrBy(e,r).pTTL(e).exec(!0)}async _get(e){if(!this._isRedisReady())throw new Error("Redis connection is not ready");return!this.useRedisPackage&&!this.useRedis3AndLowerPackage?this.client.multi().get(e).pttl(e).exec().then(r=>{let[[,n]]=r;return n===null?null:r}):this.client.multi().get(e).pTTL(e).exec(!0).then(r=>{let[n]=r;return n===null?null:r})}_delete(e){return this.client.del(e).then(r=>r>0)}};fv.exports=Ap});var pv=z((zX,dv)=>{var mN=ti(),yN=bt();function hv(t){try{let e=t.client?t.client:t,{version:r}=e.topology.s.options.metadata.driver,n=r.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var Sp=class t extends mN{constructor(e){super(e),this.dbName=e.dbName,this.tableName=e.tableName,this.indexKeyPrefix=e.indexKeyPrefix,e.mongo?this.client=e.mongo:this.client=e.storeClient,typeof this.client.then=="function"?this.client.then(r=>{this.client=r,this._initCollection(),this._driverVersion=hv(this.client)}):(this._initCollection(),this._driverVersion=hv(this.client))}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?t.getDbName():e}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("mongo is not set");this._client=e}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(e){this._indexKeyPrefix=e||{}}_initCollection(){let r=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);r.createIndex({expire:-1},{expireAfterSeconds:0}),r.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=r}_getRateLimiterRes(e,r,n){let i=new yN,o;return typeof n.value>"u"?o=n:o=n.value,i.isFirstInDuration=o.points===r,i.consumedPoints=o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire!==null?Math.max(new Date(o.expire).getTime()-Date.now(),0):-1,i}_upsert(e,r,n,i=!1,o={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let s=o.attrs||{},a,c;i?(a={key:e},a=Object.assign(a,s),c={$set:{key:e,points:r,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,s)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:e},a=Object.assign(a,s),c={$setOnInsert:{key:e,expire:n>0?new Date(Date.now()+n):null},$inc:{points:r}},c.$setOnInsert=Object.assign(c.$setOnInsert,s));let u={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?u.returnDocument="after":u.returnOriginal=!1,new Promise((f,h)=>{this._collection.findOneAndUpdate(a,c,u).then(p=>{f(p)}).catch(p=>{if(p&&p.code===11e3){let y=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},s),l={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},s)};this._collection.findOneAndUpdate(y,l,u).then(d=>{f(d)}).catch(d=>{d&&d.code===11e3?this._upsert(e,r,n,i).then(m=>f(m)).catch(m=>h(m)):h(d)})}else h(p)})})}_get(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e},n);return this._collection.deleteOne(i).then(o=>o.deletedCount>0)}};dv.exports=Sp});var yv=z(($X,mv)=>{var gN=ti(),xN=bt(),Cp=class extends gN{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.dbName=e.dbName,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,e],()=>{this._releaseConnection(n),r()})}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((e,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);e(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return e.release();case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);default:return!0}}_createDbAndTable(){return new Promise((e,r)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),r(i);n.query(this._getCreateTableStmt(),o=>{if(o)return this._releaseConnection(n),r(o);this._releaseConnection(n),e()})})}).catch(n=>{r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(e){if(typeof e>"u")if(this.client.constructor.name==="Connection")e="connection";else if(this.client.constructor.name==="Pool")e="pool";else if(this.client.constructor.name==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?"rtlmtrflx":e}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new xN,[o]=n;return i.isFirstInDuration=r===o.points,i.consumedPoints=i.isFirstInDuration?r:o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire?Math.max(o.expire-Date.now(),0):-1,i}_upsertTransaction(e,r,n,i,o){return new Promise((s,a)=>{e.query("BEGIN",c=>{if(c)return e.rollback(),a(c);let u=Date.now(),f=i>0?u+i:null,h,p;o?(h=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
12
|
+
`,r};cf.decode=function(t){for(var e=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,s;s=r.exec(t),!!s;){var o=s[1];o==="NEW CERTIFICATE REQUEST"&&(o="CERTIFICATE REQUEST");var a={type:o,procType:null,contentDomain:null,dekInfo:null,headers:[],body:fs.util.decode64(s[3])};if(e.push(a),!!s[2]){for(var c=s[2].split(i),u=0;s&&u<c.length;){for(var l=c[u].replace(/\s+$/,""),f=u+1;f<c.length;++f){var d=c[f];if(!/\s/.test(d[0]))break;l+=d,u=f}if(s=l.match(n),s){for(var p={name:s[1],values:[]},h=s[2].split(","),m=0;m<h.length;++m)p.values.push(ly(h[m]));if(a.procType)if(!a.contentDomain&&p.name==="Content-Domain")a.contentDomain=h[0]||"";else if(!a.dekInfo&&p.name==="DEK-Info"){if(p.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:h[0],parameters:h[1]||null}}else a.headers.push(p);else{if(p.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(p.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:h[0],type:h[1]}}}++u}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(e.length===0)throw new Error("Invalid PEM formatted message.");return e};function ls(t){for(var e=t.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
|
|
13
|
+
`;for(var s=0,o=-1,i=0;i<e.length;++i,++s)if(s>65&&o!==-1){var a=e[o];a===","?(++o,e=e.substr(0,o)+`\r
|
|
14
|
+
`+e.substr(o)):e=e.substr(0,o)+`\r
|
|
15
|
+
`+a+e.substr(o+1),s=i-o-1,o=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(o=i);return e}function ly(t){return t.replace(/^\s+/,"")}});var yf=q((Nv,mf)=>{var Ut=fe();Mr();Be();var hf=mf.exports=Ut.sha256=Ut.sha256||{};Ut.md.sha256=Ut.md.algorithms.sha256=hf;hf.create=function(){df||fy();var t=null,e=Ut.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=Ut.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Ut.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),ff(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Ut.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(ha.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};ff(f,r,i);var d=Ut.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d.putInt32(f.h5),d.putInt32(f.h6),d.putInt32(f.h7),d},n};var ha=null,df=!1,pf=null;function fy(){ha="\x80",ha+=Ut.util.fillString("\0",64),pf=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],df=!0}function ff(t,e,r){for(var n,i,s,o,a,c,u,l,f,d,p,h,m,y,g,x=r.length();x>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(l=t.h0,f=t.h1,d=t.h2,p=t.h3,h=t.h4,m=t.h5,y=t.h6,g=t.h7,u=0;u<64;++u)o=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=y^h&(m^y),s=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|d&(l^f),n=g+o+a+pf[u]+e[u],i=s+c,g=y,y=m,m=h,h=p+n>>>0,p=d,d=f,f=l,l=n+i>>>0;t.h0=t.h0+l|0,t.h1=t.h1+f|0,t.h2=t.h2+d|0,t.h3=t.h3+p|0,t.h4=t.h4+h|0,t.h5=t.h5+m|0,t.h6=t.h6+y|0,t.h7=t.h7+g|0,x-=64}}});var xf=q((kv,gf)=>{var Ft=fe();Be();var hs=null;Ft.util.isNodejs&&!Ft.options.usePureJavaScript&&!process.versions["node-webkit"]&&(hs=hi());var hy=gf.exports=Ft.prng=Ft.prng||{};hy.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(u,l){if(!l)return e.generateSync(u);var f=e.plugin.cipher,d=e.plugin.increment,p=e.plugin.formatKey,h=e.plugin.formatSeed,m=Ft.util.createBuffer();e.key=null,y();function y(g){if(g)return l(g);if(m.length()>=u)return l(null,m.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return Ft.util.nextTick(function(){s(y)});var x=f(e.key,e.seed);e.generated+=x.length,m.putBytes(x),e.key=p(f(e.key,d(e.seed))),e.seed=h(f(e.key,e.seed)),Ft.util.setImmediate(y)}},e.generateSync=function(u){var l=e.plugin.cipher,f=e.plugin.increment,d=e.plugin.formatKey,p=e.plugin.formatSeed;e.key=null;for(var h=Ft.util.createBuffer();h.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&o();var m=l(e.key,e.seed);e.generated+=m.length,h.putBytes(m),e.key=d(l(e.key,f(e.seed))),e.seed=p(l(e.key,e.seed))}return h.getBytes(u)};function s(u){if(e.pools[0].messageLength>=32)return a(),u();var l=32-e.pools[0].messageLength<<5;e.seedFile(l,function(f,d){if(f)return u(f);e.collect(d),a(),u()})}function o(){if(e.pools[0].messageLength>=32)return a();var u=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(u)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var u=e.plugin.md.create();u.update(e.keyBytes);for(var l=1,f=0;f<32;++f)e.reseeds%l===0&&(u.update(e.pools[f].digest().getBytes()),e.pools[f].start()),l=l<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var d=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(d),e.generated=0}function c(u){var l=null,f=Ft.util.globalScope,d=f.crypto||f.msCrypto;d&&d.getRandomValues&&(l=function(E){return d.getRandomValues(E)});var p=Ft.util.createBuffer();if(l)for(;p.length()<u;){var h=Math.max(1,Math.min(u-p.length(),65536)/4),m=new Uint32Array(Math.floor(h));try{l(m);for(var y=0;y<m.length;++y)p.putInt32(m[y])}catch(E){if(!(typeof QuotaExceededError<"u"&&E instanceof QuotaExceededError))throw E}}if(p.length()<u)for(var g,x,b,A=Math.floor(Math.random()*65536);p.length()<u;){x=16807*(A&65535),g=16807*(A>>16),x+=(g&32767)<<16,x+=g>>15,x=(x&2147483647)+(x>>31),A=x&4294967295;for(var y=0;y<3;++y)b=A>>>(y<<3),b^=Math.floor(Math.random()*256),p.putByte(b&255)}return p.getBytes(u)}return hs?(e.seedFile=function(u,l){hs.randomBytes(u,function(f,d){if(f)return l(f);l(null,d.toString())})},e.seedFileSync=function(u){return hs.randomBytes(u).toString()}):(e.seedFile=function(u,l){try{l(null,c(u))}catch(f){l(f)}},e.seedFileSync=c),e.collect=function(u){for(var l=u.length,f=0;f<l;++f)e.pools[e.pool].update(u.substr(f,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,l){for(var f="",d=0;d<l;d+=8)f+=String.fromCharCode(u>>d&255);e.collect(f)},e.registerWorker=function(u){if(u===self)e.seedFile=function(f,d){function p(h){var m=h.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",p),d(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",p),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var d=f.data;d.forge&&d.forge.prng&&e.seedFile(d.forge.prng.needed,function(p,h){u.postMessage({forge:{prng:{err:p,bytes:h}}})})};u.addEventListener("message",l)}},e}});var di=q((Ov,da)=>{var Ke=fe();fa();yf();xf();Be();(function(){if(Ke.random&&Ke.random.getBytes){da.exports=Ke.random;return}(function(t){var e={},r=new Array(4),n=Ke.util.createBuffer();e.formatKey=function(f){var d=Ke.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),Ke.aes._expandKey(f,!1)},e.formatSeed=function(f){var d=Ke.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),f},e.cipher=function(f,d){return Ke.aes._updateBlock(f,d,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(f){return++f[3],f},e.md=Ke.md.sha256;function i(){var f=Ke.prng.create(e);return f.getBytes=function(d,p){return f.generate(d,p)},f.getBytesSync=function(d){return f.generate(d)},f}var s=i(),o=null,a=Ke.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),Ke.options.usePureJavaScript||!Ke.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch{}s.collect(u),u=null}t&&(t().mousemove(function(f){s.collectInt(f.clientX,16),s.collectInt(f.clientY,16)}),t().keypress(function(f){s.collectInt(f.charCode,8)}))}if(!Ke.random)Ke.random=s;else for(var l in s)Ke.random[l]=s[l];Ke.random.createInstance=i,da.exports=Ke.random})(typeof jQuery<"u"?jQuery:null)})()});var vf=q((Mv,Ef)=>{var at=fe();Be();var pa=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],bf=[1,2,3,5],dy=function(t,e){return t<<e&65535|(t&65535)>>16-e},py=function(t,e){return(t&65535)>>e|t<<16-e&65535};Ef.exports=at.rc2=at.rc2||{};at.rc2.expandKey=function(t,e){typeof t=="string"&&(t=at.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(pa[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,pa[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,pa[r.at(a+1)^r.at(a+s)]);return r};var wf=function(t,e,r){var n=!1,i=null,s=null,o=null,a,c,u,l,f=[];for(t=at.rc2.expandKey(t,e),u=0;u<64;u++)f.push(t.getInt16Le());r?(a=function(h){for(u=0;u<4;u++)h[u]+=f[l]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),h[u]=dy(h[u],bf[u]),l++},c=function(h){for(u=0;u<4;u++)h[u]+=f[h[(u+3)%4]&63]}):(a=function(h){for(u=3;u>=0;u--)h[u]=py(h[u],bf[u]),h[u]-=f[l]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),l--},c=function(h){for(u=3;u>=0;u--)h[u]-=f[h[(u+3)%4]&63]});var d=function(h){var m=[];for(u=0;u<4;u++){var y=i.getInt16Le();o!==null&&(r?y^=o.getInt16Le():o.putInt16Le(y)),m.push(y&65535)}l=r?0:63;for(var g=0;g<h.length;g++)for(var x=0;x<h[g][0];x++)h[g][1](m);for(u=0;u<4;u++)o!==null&&(r?o.putInt16Le(m[u]):m[u]^=o.getInt16Le()),s.putInt16Le(m[u])},p=null;return p={start:function(h,m){h&&typeof h=="string"&&(h=at.util.createBuffer(h)),n=!1,i=at.util.createBuffer(),s=m||new at.util.createBuffer,o=h,p.output=s},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var m=!0;if(r)if(h)m=h(8,i,!r);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(m&&(n=!0,p.update()),!r&&(m=i.length()===0,m))if(h)m=h(8,s,!r);else{var g=s.length(),x=s.at(g-1);x>g?m=!1:s.truncate(x)}return m}},p};at.rc2.startEncrypting=function(t,e,r){var n=at.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};at.rc2.createEncryptionCipher=function(t,e){return wf(t,e,!0)};at.rc2.startDecrypting=function(t,e,r){var n=at.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};at.rc2.createDecryptionCipher=function(t,e){return wf(t,e,!1)}});var ms=q((Uv,Bf)=>{var ma=fe();Bf.exports=ma.jsbn=ma.jsbn||{};var jt,my=0xdeadbeefcafe,_f=(my&16777215)==15715070;function R(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}ma.jsbn.BigInteger=R;function ne(){return new R(null)}function yy(t,e,r,n,i,s){for(;--s>=0;){var o=e*this.data[t++]+r.data[n]+i;i=Math.floor(o/67108864),r.data[n++]=o&67108863}return i}function gy(t,e,r,n,i,s){for(var o=e&32767,a=e>>15;--s>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,l=a*c+u*o;c=o*c+((l&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(l>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function Sf(t,e,r,n,i,s){for(var o=e&16383,a=e>>14;--s>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,l=a*c+u*o;c=o*c+((l&16383)<<14)+r.data[n]+i,i=(c>>28)+(l>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(R.prototype.am=Sf,jt=28):_f&&navigator.appName=="Microsoft Internet Explorer"?(R.prototype.am=gy,jt=30):_f&&navigator.appName!="Netscape"?(R.prototype.am=yy,jt=26):(R.prototype.am=Sf,jt=28);R.prototype.DB=jt;R.prototype.DM=(1<<jt)-1;R.prototype.DV=1<<jt;var ya=52;R.prototype.FV=Math.pow(2,ya);R.prototype.F1=ya-jt;R.prototype.F2=2*jt-ya;var xy="0123456789abcdefghijklmnopqrstuvwxyz",ds=new Array,wn,xt;wn=48;for(xt=0;xt<=9;++xt)ds[wn++]=xt;wn=97;for(xt=10;xt<36;++xt)ds[wn++]=xt;wn=65;for(xt=10;xt<36;++xt)ds[wn++]=xt;function Af(t){return xy.charAt(t)}function If(t,e){var r=ds[t.charCodeAt(e)];return r??-1}function by(t){for(var e=this.t-1;e>=0;--e)t.data[e]=this.data[e];t.t=this.t,t.s=this.s}function wy(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function mr(t){var e=ne();return e.fromInt(t),e}function Ey(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,s=0;--n>=0;){var o=r==8?t[n]&255:If(t,n);if(o<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,s==0?this.data[this.t++]=o:s+r>this.DB?(this.data[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this.data[this.t++]=o>>this.DB-s):this.data[this.t-1]|=o<<s,s+=r,s>=this.DB&&(s-=this.DB)}r==8&&t[0]&128&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&R.ZERO.subTo(this,this)}function vy(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function _y(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,s="",o=this.t,a=this.DB-o*this.DB%e;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=Af(n));o>=0;)a<e?(n=(this.data[o]&(1<<a)-1)<<e-a,n|=this.data[--o]>>(a+=this.DB-e)):(n=this.data[o]>>(a-=e)&r,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=Af(n));return i?s:"0"}function Sy(){var t=ne();return R.ZERO.subTo(this,t),t}function Ay(){return this.s<0?this.negate():this}function Iy(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function ps(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function Cy(){return this.t<=0?0:this.DB*(this.t-1)+ps(this.data[this.t-1]^this.s&this.DM)}function Ry(t,e){var r;for(r=this.t-1;r>=0;--r)e.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)e.data[r]=0;e.t=this.t+t,e.s=this.s}function Ty(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function By(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,s=Math.floor(t/this.DB),o=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<r;for(a=s-1;a>=0;--a)e.data[a]=0;e.data[s]=o,e.t=this.t+s+1,e.s=this.s,e.clamp()}function Ly(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,s=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var o=r+1;o<this.t;++o)e.data[o-r-1]|=(this.data[o]&s)<<i,e.data[o-r]=this.data[o]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&s)<<i),e.t=this.t-r,e.clamp()}function Py(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]-t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e.data[r++]=this.DV+n:n>0&&(e.data[r++]=n),e.t=r,e.clamp()}function Dy(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e.data[i]=0;for(i=0;i<n.t;++i)e.data[i+r.t]=r.am(0,n.data[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&R.ZERO.subTo(e,e)}function Ny(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t.data[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e.data[r],t,2*r,0,1);(t.data[r+e.t]+=e.am(r+1,2*e.data[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t.data[r+e.t]-=e.DV,t.data[r+e.t+1]=1)}t.t>0&&(t.data[t.t-1]+=e.am(r,e.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function ky(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=ne());var s=ne(),o=this.s,a=t.s,c=this.DB-ps(n.data[n.t-1]);c>0?(n.lShiftTo(c,s),i.lShiftTo(c,r)):(n.copyTo(s),i.copyTo(r));var u=s.t,l=s.data[u-1];if(l!=0){var f=l*(1<<this.F1)+(u>1?s.data[u-2]>>this.F2:0),d=this.FV/f,p=(1<<this.F1)/f,h=1<<this.F2,m=r.t,y=m-u,g=e??ne();for(s.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),R.ONE.dlShiftTo(u,g),g.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--y>=0;){var x=r.data[--m]==l?this.DM:Math.floor(r.data[m]*d+(r.data[m-1]+h)*p);if((r.data[m]+=s.am(0,x,r,y,0,u))<x)for(s.dlShiftTo(y,g),r.subTo(g,r);r.data[m]<--x;)r.subTo(g,r)}e!=null&&(r.drShiftTo(u,e),o!=a&&R.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&R.ZERO.subTo(r,r)}}}function Oy(t){var e=ne();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(R.ZERO)>0&&t.subTo(e,e),e}function Ur(t){this.m=t}function My(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function Uy(t){return t}function Fy(t){t.divRemTo(this.m,null,t)}function Ky(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function qy(t,e){t.squareTo(e),this.reduce(e)}Ur.prototype.convert=My;Ur.prototype.revert=Uy;Ur.prototype.reduce=Fy;Ur.prototype.mulTo=Ky;Ur.prototype.sqrTo=qy;function Vy(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function Fr(t){this.m=t,this.mp=t.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function $y(t){var e=ne();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(R.ZERO)>0&&this.m.subTo(e,e),e}function zy(t){var e=ne();return t.copyTo(e),this.reduce(e),e}function Hy(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=t.data[e]&32767,n=r*this.mpl+((r*this.mph+(t.data[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t.data[r]+=this.m.am(0,n,t,e,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function Gy(t,e){t.squareTo(e),this.reduce(e)}function Wy(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Fr.prototype.convert=$y;Fr.prototype.revert=zy;Fr.prototype.reduce=Hy;Fr.prototype.mulTo=Wy;Fr.prototype.sqrTo=Gy;function Yy(){return(this.t>0?this.data[0]&1:this.s)==0}function Qy(t,e){if(t>4294967295||t<1)return R.ONE;var r=ne(),n=ne(),i=e.convert(this),s=ps(t)-1;for(i.copyTo(r);--s>=0;)if(e.sqrTo(r,n),(t&1<<s)>0)e.mulTo(n,i,r);else{var o=r;r=n,n=o}return e.revert(r)}function Xy(t,e){var r;return t<256||e.isEven()?r=new Ur(e):r=new Fr(e),this.exp(t,r)}R.prototype.copyTo=by;R.prototype.fromInt=wy;R.prototype.fromString=Ey;R.prototype.clamp=vy;R.prototype.dlShiftTo=Ry;R.prototype.drShiftTo=Ty;R.prototype.lShiftTo=By;R.prototype.rShiftTo=Ly;R.prototype.subTo=Py;R.prototype.multiplyTo=Dy;R.prototype.squareTo=Ny;R.prototype.divRemTo=ky;R.prototype.invDigit=Vy;R.prototype.isEven=Yy;R.prototype.exp=Qy;R.prototype.toString=_y;R.prototype.negate=Sy;R.prototype.abs=Ay;R.prototype.compareTo=Iy;R.prototype.bitLength=Cy;R.prototype.mod=Oy;R.prototype.modPowInt=Xy;R.ZERO=mr(0);R.ONE=mr(1);function Zy(){var t=ne();return this.copyTo(t),t}function jy(){if(this.s<0){if(this.t==1)return this.data[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this.data[0];if(this.t==0)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]}function Jy(){return this.t==0?this.s:this.data[0]<<24>>24}function eg(){return this.t==0?this.s:this.data[0]<<16>>16}function tg(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function rg(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function ng(t){if(t==null&&(t=10),this.signum()==0||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=mr(r),i=ne(),s=ne(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(t).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(t)+o}function ig(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,s=0,o=0,a=0;a<t.length;++a){var c=If(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=e*o+c,++s>=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(e,s)),this.dAddOffset(o,0)),i&&R.ZERO.subTo(this,this)}function sg(t,e,r){if(typeof e=="number")if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(R.ONE.shiftLeft(t-1),ga,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(R.ONE.shiftLeft(t-1),this);else{var n=new Array,i=t&7;n.length=(t>>3)+1,e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function og(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function ag(t){return this.compareTo(t)==0}function cg(t){return this.compareTo(t)<0?this:t}function ug(t){return this.compareTo(t)>0?this:t}function lg(t,e,r){var n,i,s=Math.min(t.t,this.t);for(n=0;n<s;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=s;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=s;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function fg(t,e){return t&e}function hg(t){var e=ne();return this.bitwiseTo(t,fg,e),e}function ga(t,e){return t|e}function dg(t){var e=ne();return this.bitwiseTo(t,ga,e),e}function Cf(t,e){return t^e}function pg(t){var e=ne();return this.bitwiseTo(t,Cf,e),e}function Rf(t,e){return t&~e}function mg(t){var e=ne();return this.bitwiseTo(t,Rf,e),e}function yg(){for(var t=ne(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function gg(t){var e=ne();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function xg(t){var e=ne();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function bg(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function wg(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+bg(this.data[t]);return this.s<0?this.t*this.DB:-1}function Eg(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function vg(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=Eg(this.data[r]^e);return t}function _g(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function Sg(t,e){var r=R.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function Ag(t){return this.changeBit(t,ga)}function Ig(t){return this.changeBit(t,Rf)}function Cg(t){return this.changeBit(t,Cf)}function Rg(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]+t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function Tg(t){var e=ne();return this.addTo(t,e),e}function Bg(t){var e=ne();return this.subTo(t,e),e}function Lg(t){var e=ne();return this.multiplyTo(t,e),e}function Pg(t){var e=ne();return this.divRemTo(t,e,null),e}function Dg(t){var e=ne();return this.divRemTo(t,null,e),e}function Ng(t){var e=ne(),r=ne();return this.divRemTo(t,e,r),new Array(e,r)}function kg(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function Og(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function pi(){}function Tf(t){return t}function Mg(t,e,r){t.multiplyTo(e,r)}function Ug(t,e){t.squareTo(e)}pi.prototype.convert=Tf;pi.prototype.revert=Tf;pi.prototype.mulTo=Mg;pi.prototype.sqrTo=Ug;function Fg(t){return this.exp(t,new pi)}function Kg(t,e,r){var n=Math.min(this.t+t.t,e);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,t.data[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t.data[n],r,n,0,e-n);r.clamp()}function qg(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r.data[this.t+n-e]=this.am(e-n,t.data[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function En(t){this.r2=ne(),this.q3=ne(),R.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function Vg(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=ne();return t.copyTo(e),this.reduce(e),e}function $g(t){return t}function zg(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function Hg(t,e){t.squareTo(e),this.reduce(e)}function Gg(t,e,r){t.multiplyTo(e,r),this.reduce(r)}En.prototype.convert=Vg;En.prototype.revert=$g;En.prototype.reduce=zg;En.prototype.mulTo=Gg;En.prototype.sqrTo=Hg;function Wg(t,e){var r=t.bitLength(),n,i=mr(1),s;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?s=new Ur(e):e.isEven()?s=new En(e):s=new Fr(e);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var l=ne();for(s.sqrTo(o[1],l);a<=u;)o[a]=ne(),s.mulTo(l,o[a-2],o[a]),a+=2}var f=t.t-1,d,p=!0,h=ne(),m;for(r=ps(t.data[f])-1;f>=0;){for(r>=c?d=t.data[f]>>r-c&u:(d=(t.data[f]&(1<<r+1)-1)<<c-r,f>0&&(d|=t.data[f-1]>>this.DB+r-c)),a=n;!(d&1);)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),p)o[d].copyTo(i),p=!1;else{for(;a>1;)s.sqrTo(i,h),s.sqrTo(h,i),a-=2;a>0?s.sqrTo(i,h):(m=i,i=h,h=m),s.mulTo(h,o[d],i)}for(;f>=0&&!(t.data[f]&1<<r);)s.sqrTo(i,h),m=i,i=h,h=m,--r<0&&(r=this.DB-1,--f)}return s.revert(i)}function Yg(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),s=r.getLowestSetBit();if(s<0)return e;for(i<s&&(s=i),s>0&&(e.rShiftTo(s,e),r.rShiftTo(s,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return s>0&&r.lShiftTo(s,r),r}function Qg(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(e==0)r=this.data[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this.data[n])%t;return r}function Xg(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return R.ZERO;for(var r=t.clone(),n=this.clone(),i=mr(1),s=mr(0),o=mr(0),a=mr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(t,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(t,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),e?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(t,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(r,n),e&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(R.ONE)!=0)return R.ZERO;if(a.compareTo(t)>=0)return a.subtract(t);if(a.signum()<0)a.addTo(t,a);else return a;return a.signum()<0?a.add(t):a}var It=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],Zg=(1<<26)/It[It.length-1];function jg(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=It[It.length-1]){for(e=0;e<It.length;++e)if(r.data[0]==It[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<It.length;){for(var n=It[e],i=e+1;i<It.length&&n<Zg;)n*=It[i++];for(n=r.modInt(n);e<i;)if(n%It[e++]==0)return!1}return r.millerRabin(t)}function Jg(t){var e=this.subtract(R.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=ex(),s,o=0;o<t;++o){do s=new R(this.bitLength(),i);while(s.compareTo(R.ONE)<=0||s.compareTo(e)>=0);var a=s.modPow(n,this);if(a.compareTo(R.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(R.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function ex(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}R.prototype.chunkSize=tg;R.prototype.toRadix=ng;R.prototype.fromRadix=ig;R.prototype.fromNumber=sg;R.prototype.bitwiseTo=lg;R.prototype.changeBit=Sg;R.prototype.addTo=Rg;R.prototype.dMultiply=kg;R.prototype.dAddOffset=Og;R.prototype.multiplyLowerTo=Kg;R.prototype.multiplyUpperTo=qg;R.prototype.modInt=Qg;R.prototype.millerRabin=Jg;R.prototype.clone=Zy;R.prototype.intValue=jy;R.prototype.byteValue=Jy;R.prototype.shortValue=eg;R.prototype.signum=rg;R.prototype.toByteArray=og;R.prototype.equals=ag;R.prototype.min=cg;R.prototype.max=ug;R.prototype.and=hg;R.prototype.or=dg;R.prototype.xor=pg;R.prototype.andNot=mg;R.prototype.not=yg;R.prototype.shiftLeft=gg;R.prototype.shiftRight=xg;R.prototype.getLowestSetBit=wg;R.prototype.bitCount=vg;R.prototype.testBit=_g;R.prototype.setBit=Ag;R.prototype.clearBit=Ig;R.prototype.flipBit=Cg;R.prototype.add=Tg;R.prototype.subtract=Bg;R.prototype.multiply=Lg;R.prototype.divide=Pg;R.prototype.remainder=Dg;R.prototype.divideAndRemainder=Ng;R.prototype.modPow=Wg;R.prototype.modInverse=Xg;R.prototype.pow=Fg;R.prototype.gcd=Yg;R.prototype.isProbablePrime=jg});var kf=q((Fv,Nf)=>{var Kt=fe();Mr();Be();var Pf=Nf.exports=Kt.sha1=Kt.sha1||{};Kt.md.sha1=Kt.md.algorithms.sha1=Pf;Pf.create=function(){Df||tx();var t=null,e=Kt.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=Kt.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Kt.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),Lf(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Kt.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(xa.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};Lf(f,r,i);var d=Kt.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d},n};var xa=null,Df=!1;function tx(){xa="\x80",xa+=Kt.util.fillString("\0",64),Df=!0}function Lf(t,e,r){for(var n,i,s,o,a,c,u,l,f=r.length();f>=64;){for(i=t.h0,s=t.h1,o=t.h2,a=t.h3,c=t.h4,l=0;l<16;++l)n=r.getInt32(),e[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<20;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<32;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<40;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<60;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s&o|a&(s^o),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<80;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+s|0,t.h2=t.h2+o|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,f-=64}}});var Uf=q((Kv,Mf)=>{var qt=fe();Be();di();kf();var Of=Mf.exports=qt.pkcs1=qt.pkcs1||{};Of.encode_rsa_oaep=function(t,e,r){var n,i,s,o;typeof r=="string"?(n=r,i=arguments[3]||void 0,s=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,s=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md)),s?s.start():s=qt.md.sha1.create(),o||(o=s);var a=Math.ceil(t.n.bitLength()/8),c=a-2*s.digestLength-2;if(e.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=e.length,u.maxLength=c,u}n||(n=""),s.update(n,"raw");for(var l=s.digest(),f="",d=c-e.length,p=0;p<d;p++)f+="\0";var h=l.getBytes()+f+""+e;if(!i)i=qt.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=s.digestLength,u}var m=ys(i,a-s.digestLength-1,o),y=qt.util.xorBytes(h,m,h.length),g=ys(y,s.digestLength,o),x=qt.util.xorBytes(i,g,i.length);return"\0"+x+y};Of.decode_rsa_oaep=function(t,e,r){var n,i,s;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md));var o=Math.ceil(t.n.bitLength()/8);if(e.length!==o){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=e.length,y.expectedLength=o,y}if(i===void 0?i=qt.md.sha1.create():i.start(),s||(s=i),o<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=e.charAt(0),u=e.substring(1,i.digestLength+1),l=e.substring(1+i.digestLength),f=ys(l,i.digestLength,s),d=qt.util.xorBytes(u,f,u.length),p=ys(d,o-i.digestLength-1,s),h=qt.util.xorBytes(l,p,l.length),m=h.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==m.charAt(g);for(var x=1,b=i.digestLength,A=i.digestLength;A<h.length;A++){var E=h.charCodeAt(A),_=E&1^1,T=x?65534:0;y|=E&T,x=x&_,b+=x}if(y||h.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(b+1)};function ys(t,e,r){r||(r=qt.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),s=0;s<i;++s){var o=String.fromCharCode(s>>24&255,s>>16&255,s>>8&255,s&255);r.start(),r.update(t+o),n+=r.digest().getBytes()}return n.substring(0,e)}});var Ff=q((qv,ba)=>{var yr=fe();Be();ms();di();(function(){if(yr.prime){ba.exports=yr.prime;return}var t=ba.exports=yr.prime=yr.prime||{},e=yr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(f,d){return f|d};t.generateProbablePrime=function(f,d,p){typeof d=="function"&&(p=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var m=d.prng||yr.random,y={nextBytes:function(g){for(var x=m.getBytesSync(g.length),b=0;b<g.length;++b)g[b]=x.charCodeAt(b)}};if(h.name==="PRIMEINC")return s(f,y,h.options,p);throw new Error("Invalid prime generation algorithm: "+h.name)};function s(f,d,p,h){return"workers"in p?c(f,d,p,h):o(f,d,p,h)}function o(f,d,p,h){var m=u(f,d),y=0,g=l(m.bitLength());"millerRabinTests"in p&&(g=p.millerRabinTests);var x=10;"maxBlockTime"in p&&(x=p.maxBlockTime),a(m,f,d,y,g,x,h)}function a(f,d,p,h,m,y,g){var x=+new Date;do{if(f.bitLength()>d&&(f=u(d,p)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(r[h++%8],0)}while(y<0||+new Date-x<y);yr.util.setImmediate(function(){a(f,d,p,h,m,y,g)})}function c(f,d,p,h){if(typeof Worker>"u")return o(f,d,p,h);var m=u(f,d),y=p.workers,g=p.workLoad||100,x=g*30/8,b=p.workerScript||"forge/prime.worker.js";if(y===-1)return yr.util.estimateCores(function(E,_){E&&(_=2),y=_-1,A()});A();function A(){y=Math.max(1,y);for(var E=[],_=0;_<y;++_)E[_]=new Worker(b);for(var T=y,_=0;_<y;++_)E[_].addEventListener("message",z);var P=!1;function z(G){if(!P){--T;var $=G.data;if($.found){for(var J=0;J<E.length;++J)E[J].terminate();return P=!0,h(null,new e($.prime,16))}m.bitLength()>f&&(m=u(f,d));var le=m.toString(16);G.target.postMessage({hex:le,workLoad:g}),m.dAddOffset(x,0)}}}}function u(f,d){var p=new e(f,d),h=f-1;return p.testBit(h)||p.bitwiseTo(e.ONE.shiftLeft(h),i,p),p.dAddOffset(31-p.mod(n).byteValue(),0),p}function l(f){return f<=100?27:f<=150?18:f<=200?15:f<=250?12:f<=300?9:f<=350?8:f<=400?7:f<=500?6:f<=600?5:f<=800?4:f<=1250?3:2}})()});var xs=q((Vv,Gf)=>{var V=fe();fi();ms();ns();Uf();Ff();di();Be();typeof re>"u"&&(re=V.jsbn.BigInteger);var re,wa=V.util.isNodejs?hi():null,v=V.asn1,bt=V.util;V.pki=V.pki||{};Gf.exports=V.pki.rsa=V.rsa=V.rsa||{};var W=V.pki,rx=[6,4,2,4,2,4,6,2],nx={name:"PrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},ix={name:"RSAPrivateKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},sx={name:"RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},ox=V.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},ax={name:"DigestInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:v.Class.UNIVERSAL,type:v.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},cx=function(t){var e;if(t.algorithm in W.oids)e=W.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=v.oidToDer(e).getBytes(),i=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]),s=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]);s.value.push(v.create(v.Class.UNIVERSAL,v.Type.OID,!1,n)),s.value.push(v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,""));var o=v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(s),i.value.push(o),v.toDer(i).getBytes()},zf=function(t,e,r){if(r)return t.modPow(e.e,e.n);if(!e.p||!e.q)return t.modPow(e.d,e.n);e.dP||(e.dP=e.d.mod(e.p.subtract(re.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(re.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new re(V.util.bytesToHex(V.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(re.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),s=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(s)<0;)i=i.add(e.p);var o=i.subtract(s).multiply(e.qInv).mod(e.p).multiply(e.q).add(s);return o=o.multiply(n.modInverse(e.n)).mod(e.n),o};W.rsa.encrypt=function(t,e,r){var n=r,i,s=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=Hf(t,e,r)):(i=V.util.createBuffer(),i.putBytes(t));for(var o=new re(i.toHex(),16),a=zf(o,e,n),c=a.toString(16),u=V.util.createBuffer(),l=s-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(V.util.hexToBytes(c)),u.getBytes()};W.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=t.length,s.expected=i,s}var o=new re(V.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=zf(o,e,r),c=a.toString(16),u=V.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(V.util.hexToBytes(c)),n!==!1?gs(u.getBytes(),e,r):u.getBytes()};W.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||V.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:t,rng:i,eInt:e||65537,e:new re(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};W.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new re(null);r.fromInt(30);for(var n=0,i=function(f,d){return f|d},s=+new Date,o,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,u=c-1;t.pqState===0?(t.num=new re(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(re.ONE.shiftLeft(u),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>c?t.pqState=0:t.num.isProbablePrime(lx(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(rx[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(re.ONE).gcd(t.e).compareTo(re.ONE)===0?3:0:t.pqState===3&&(t.pqState=0,t.p===null?t.p=t.num:t.q=t.num,t.p!==null&&t.q!==null&&++t.state,t.num=null)}else if(t.state===1)t.p.compareTo(t.q)<0&&(t.num=t.p,t.p=t.q,t.q=t.num),++t.state;else if(t.state===2)t.p1=t.p.subtract(re.ONE),t.q1=t.q.subtract(re.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(re.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var l=t.e.modInverse(t.phi);t.keys={privateKey:W.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:W.rsa.setPublicKey(t.n,t.e)}}o=+new Date,a+=o-s,s=o}return t.keys!==null};W.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!V.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(Kf("generateKeyPair"))return wa.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:W.privateKeyFromPem(u),publicKey:W.publicKeyFromPem(c)})});if(qf("generateKey")&&qf("exportKey"))return bt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:$f(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return bt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=W.privateKeyFromAsn1(v.fromDer(V.util.createBuffer(a)));n(null,{privateKey:c,publicKey:W.setRsaPublicKey(c.n,c.e)})}});if(Vf("generateKey")&&Vf("exportKey")){var i=bt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:$f(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=bt.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,d=W.privateKeyFromAsn1(v.fromDer(V.util.createBuffer(f)));n(null,{privateKey:d,publicKey:W.setRsaPublicKey(d.n,d.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(Kf("generateKeyPairSync")){var s=wa.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:W.privateKeyFromPem(s.privateKey),publicKey:W.publicKeyFromPem(s.publicKey)}}}var o=W.rsa.createKeyPairGenerationState(t,e,r);if(!n)return W.rsa.stepKeyPairGenerationState(o,0),o.keys;ux(o,r,n)};W.setRsaPublicKey=W.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,s){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return Hf(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return V.pkcs1.encode_rsa_oaep(c,a,s)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var o=i.encode(n,r,!0);return W.rsa.encrypt(o,r,!0)},r.verify=function(n,i,s,o){typeof s=="string"?s=s.toUpperCase():s===void 0&&(s="RSASSA-PKCS1-V1_5"),o===void 0&&(o={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in o||(o._parseAllDigestBytes=!0),s==="RSASSA-PKCS1-V1_5"?s={verify:function(c,u){u=gs(u,r,!0);var l=v.fromDer(u,{parseAllBytes:o._parseAllDigestBytes}),f={},d=[];if(!v.validate(l,ax,f,d)){var p=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw p.errors=d,p}var h=v.derToOid(f.algorithmIdentifier);if(!(h===V.oids.md2||h===V.oids.md5||h===V.oids.sha1||h===V.oids.sha224||h===V.oids.sha256||h===V.oids.sha384||h===V.oids.sha512||h===V.oids["sha512-224"]||h===V.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=h,p}if((h===V.oids.md2||h===V.oids.md5)&&!("parameters"in f))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===f.digest}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(c,u){return u=gs(u,r,!0),c===u}});var a=W.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};W.setRsaPrivateKey=W.rsa.setPrivateKey=function(t,e,r,n,i,s,o,a){var c={n:t,e,d:r,p:n,q:i,dP:s,dQ:o,qInv:a};return c.decrypt=function(u,l,f){typeof l=="string"?l=l.toUpperCase():l===void 0&&(l="RSAES-PKCS1-V1_5");var d=W.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:gs};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(p,h){return V.pkcs1.decode_rsa_oaep(h,p,f)}};else if(["RAW","NONE","NULL",null].indexOf(l)!==-1)l={decode:function(p){return p}};else throw new Error('Unsupported encryption scheme: "'+l+'".');return l.decode(d,c,!1)},c.sign=function(u,l){var f=!1;typeof l=="string"&&(l=l.toUpperCase()),l===void 0||l==="RSASSA-PKCS1-V1_5"?(l={encode:cx},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var d=l.encode(u,c.n.bitLength());return W.rsa.encrypt(d,c,f)},c};W.wrapRsaPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(W.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,v.toDer(t).getBytes())])};W.privateKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,nx,e,r)&&(t=v.fromDer(V.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,ix,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,s,o,a,c,u,l,f;return i=V.util.createBuffer(e.privateKeyModulus).toHex(),s=V.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=V.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=V.util.createBuffer(e.privateKeyPrime1).toHex(),c=V.util.createBuffer(e.privateKeyPrime2).toHex(),u=V.util.createBuffer(e.privateKeyExponent1).toHex(),l=V.util.createBuffer(e.privateKeyExponent2).toHex(),f=V.util.createBuffer(e.privateKeyCoefficient).toHex(),W.setRsaPrivateKey(new re(i,16),new re(s,16),new re(o,16),new re(a,16),new re(c,16),new re(u,16),new re(l,16),new re(f,16))};W.privateKeyToAsn1=W.privateKeyToRSAPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Vt(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Vt(t.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Vt(t.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Vt(t.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Vt(t.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Vt(t.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Vt(t.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Vt(t.qInv))])};W.publicKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,ox,e,r)){var n=v.derToOid(e.publicKeyOid);if(n!==W.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!v.validate(t,sx,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var s=V.util.createBuffer(e.publicKeyModulus).toHex(),o=V.util.createBuffer(e.publicKeyExponent).toHex();return W.setRsaPublicKey(new re(s,16),new re(o,16))};W.publicKeyToAsn1=W.publicKeyToSubjectPublicKeyInfo=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(W.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[W.publicKeyToRSAPublicKey(t)])])};W.publicKeyToRSAPublicKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Vt(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Vt(t.e))])};function Hf(t,e,r){var n=V.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=t.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<o;++c)n.putByte(a)}else for(;o>0;){for(var u=0,l=V.random.getBytes(o),c=0;c<o;++c)a=l.charCodeAt(c),a===0?++u:n.putByte(a);o=u}return n.putByte(0),n.putBytes(t),n}function gs(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=V.util.createBuffer(t),o=s.getByte(),a=s.getByte();if(o!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(s.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;s.length()>1;){if(s.getByte()!==255){--s.read;break}++c}else if(a===2)for(c=0;s.length()>1;){if(s.getByte()===0){--s.read;break}++c}var l=s.getByte();if(l!==0||c!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function ux(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){s(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return o(a,t.q);s(t.qBits,o)})}function s(a,c){V.prime.generateProbablePrime(a,n,c)}function o(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(re.ONE).gcd(t.e).compareTo(re.ONE)!==0){t.p=null,i();return}if(t.q.subtract(re.ONE).gcd(t.e).compareTo(re.ONE)!==0){t.q=null,s(t.qBits,o);return}if(t.p1=t.p.subtract(re.ONE),t.q1=t.q.subtract(re.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(re.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,s(t.qBits,o);return}var l=t.e.modInverse(t.phi);t.keys={privateKey:W.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:W.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Vt(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=V.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function lx(t){return t<=100?27:t<=150?18:t<=200?15:t<=250?12:t<=300?9:t<=350?8:t<=400?7:t<=500?6:t<=600?5:t<=800?4:t<=1250?3:2}function Kf(t){return V.util.isNodejs&&typeof wa[t]=="function"}function qf(t){return typeof bt.globalScope<"u"&&typeof bt.globalScope.crypto=="object"&&typeof bt.globalScope.crypto.subtle=="object"&&typeof bt.globalScope.crypto.subtle[t]=="function"}function Vf(t){return typeof bt.globalScope<"u"&&typeof bt.globalScope.msCrypto=="object"&&typeof bt.globalScope.msCrypto.subtle=="object"&&typeof bt.globalScope.msCrypto.subtle[t]=="function"}function $f(t){for(var e=V.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var jf=q(($v,Zf)=>{var M=fe();fa();fi();tf();Mr();ns();af();lf();di();vf();xs();Be();typeof Wf>"u"&&(Wf=M.jsbn.BigInteger);var Wf,I=M.asn1,Q=M.pki=M.pki||{};Zf.exports=Q.pbe=M.pbe=M.pbe||{};var Kr=Q.oids,fx={name:"EncryptedPrivateKeyInfo",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},hx={name:"PBES2Algorithms",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},dx={name:"pkcs-12PbeParams",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"iterations"}]};Q.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=M.random.getBytesSync(r.saltSize),i=r.count,s=I.integerToDer(i),o,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,l,f;switch(r.algorithm){case"aes128":o=16,u=16,l=Kr["aes128-CBC"],f=M.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,l=Kr["aes192-CBC"],f=M.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,l=Kr["aes256-CBC"],f=M.aes.createEncryptionCipher;break;case"des":o=8,u=8,l=Kr.desCBC,f=M.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var p="hmacWith"+r.prfAlgorithm.toUpperCase(),h=Xf(p),m=M.pkcs5.pbkdf2(e,n,i,o,h),y=M.random.getBytesSync(u),g=f(m);g.start(y),g.update(I.toDer(t)),g.finish(),c=g.output.getBytes();var x=px(n,s,o,p);a=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(Kr.pkcs5PBES2).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(Kr.pkcs5PBKDF2).getBytes()),x]),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(l).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){o=24;var b=new M.util.ByteBuffer(n),m=Q.pbe.generatePkcs12Key(e,b,1,i,o),y=Q.pbe.generatePkcs12Key(e,b,2,i,o),g=M.des.createEncryptionCipher(m);g.start(y),g.update(I.toDer(t)),g.finish(),c=g.output.getBytes(),a=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(Kr["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,n),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,s.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var A=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[a,I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,c)]);return A};Q.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!I.validate(t,fx,n,i)){var s=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=I.derToOid(n.encryptionOid),a=Q.pbe.getCipher(o,n.encryptionParams,e),c=M.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=I.fromDer(a.output)),r};Q.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:I.toDer(t).getBytes()};return M.pem.encode(r,{maxline:e})};Q.encryptedPrivateKeyFromPem=function(t){var e=M.pem.decode(t)[0];if(e.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return I.fromDer(e.body)};Q.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=Q.wrapRsaPrivateKey(Q.privateKeyToAsn1(t));return n=Q.encryptPrivateKeyInfo(n,e,r),Q.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=M.random.getBytesSync(16),a=M.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=M.random.getBytesSync(16),a=M.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=M.random.getBytesSync(16),a=M.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=M.random.getBytesSync(8),a=M.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=M.random.getBytesSync(8),a=M.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=M.pbe.opensslDeriveBytes(e,s.substr(0,8),o),l=a(u);l.start(s),l.update(I.toDer(Q.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:M.util.bytesToHex(s).toUpperCase()},body:l.output.getBytes()};return M.pem.encode(f)};Q.decryptRsaPrivateKey=function(t,e){var r=null,n=M.pem.decode(t)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var s,o;switch(n.dekInfo.algorithm){case"DES-CBC":s=8,o=M.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=M.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=M.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=M.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=M.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return M.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return M.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=function(f){return M.rc2.createDecryptionCipher(f,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=M.util.hexToBytes(n.dekInfo.parameters),c=M.pbe.opensslDeriveBytes(e,a.substr(0,8),s),u=o(c);if(u.start(a),u.update(M.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=Q.decryptPrivateKeyInfo(I.fromDer(r),e):r=I.fromDer(r),r!==null&&(r=Q.privateKeyFromAsn1(r)),r};Q.pbe.generatePkcs12Key=function(t,e,r,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in M.md))throw new Error('"sha1" hash algorithm unavailable.');s=M.md.sha1.create()}var c=s.digestLength,u=s.blockLength,l=new M.util.ByteBuffer,f=new M.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)f.putInt16(t.charCodeAt(a));f.putInt16(0)}var d=f.length(),p=e.length(),h=new M.util.ByteBuffer;h.fillWithByte(r,u);var m=u*Math.ceil(p/u),y=new M.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(e.at(a%p));var g=u*Math.ceil(d/u),x=new M.util.ByteBuffer;for(a=0;a<g;a++)x.putByte(f.at(a%d));var b=y;b.putBuffer(x);for(var A=Math.ceil(i/c),E=1;E<=A;E++){var _=new M.util.ByteBuffer;_.putBytes(h.bytes()),_.putBytes(b.bytes());for(var T=0;T<n;T++)s.start(),s.update(_.getBytes()),_=s.digest();var P=new M.util.ByteBuffer;for(a=0;a<u;a++)P.putByte(_.at(a%c));var z=Math.ceil(p/u)+Math.ceil(d/u),G=new M.util.ByteBuffer;for(o=0;o<z;o++){var $=new M.util.ByteBuffer(b.getBytes(u)),J=511;for(a=P.length()-1;a>=0;a--)J=J>>8,J+=P.at(a)+$.at(a),$.setAt(a,J&255);G.putBuffer($)}b=G,l.putBuffer(_)}return l.truncate(l.length()-i),l};Q.pbe.getCipher=function(t,e,r){switch(t){case Q.oids.pkcs5PBES2:return Q.pbe.getCipherForPBES2(t,e,r);case Q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case Q.oids["pbewithSHAAnd40BitRC2-CBC"]:return Q.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};Q.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!I.validate(e,hx,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}if(t=I.derToOid(n.kdfOid),t!==Q.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=t,s.supportedOids=["pkcs5PBKDF2"],s}if(t=I.derToOid(n.encOid),t!==Q.oids["aes128-CBC"]&&t!==Q.oids["aes192-CBC"]&&t!==Q.oids["aes256-CBC"]&&t!==Q.oids["des-EDE3-CBC"]&&t!==Q.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=t,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=M.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(Q.oids[t]){case"aes128-CBC":c=16,u=M.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=M.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=M.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=M.des.createDecryptionCipher;break;case"desCBC":c=8,u=M.des.createDecryptionCipher;break}var l=Qf(n.prfOid),f=M.pkcs5.pbkdf2(r,o,a,c,l),d=n.encIv,p=u(f);return p.start(d),p};Q.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!I.validate(e,dx,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=M.util.createBuffer(n.salt),a=M.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case Q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=M.des.startDecrypting;break;case Q.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,y){var g=M.rc2.createDecryptionCipher(m,40);return g.start(y,null),g};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=t,s}var f=Qf(n.prfOid),d=Q.pbe.generatePkcs12Key(r,o,1,a,c,f);f.start();var p=Q.pbe.generatePkcs12Key(r,o,2,a,u,f);return l(d,p)};Q.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in M.md))throw new Error('"md5" hash algorithm unavailable.');n=M.md.md5.create()}e===null&&(e="");for(var i=[Yf(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(Yf(n,i[o-1]+t+e));return i.join("").substr(0,r)};function Yf(t,e){return t.start().update(e).digest().getBytes()}function Qf(t){var e;if(!t)e="hmacWithSHA1";else if(e=Q.oids[I.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Xf(e)}function Xf(t){var e=M.md;switch(t){case"hmacWithSHA224":e=M.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function px(t,e,r,n){var i=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,t),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,M.util.hexToBytes(r.toString(16))),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(Q.oids[n]).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.NULL,!1,"")])),i}});var uh=q((NI,ch)=>{var me=fe();Mr();Be();var Ii=ch.exports=me.sha512=me.sha512||{};me.md.sha512=me.md.algorithms.sha512=Ii;var oh=me.sha384=me.sha512.sha384=me.sha512.sha384||{};oh.create=function(){return Ii.create("SHA-384")};me.md.sha384=me.md.algorithms.sha384=oh;me.sha512.sha256=me.sha512.sha256||{create:function(){return Ii.create("SHA-512/256")}};me.md["sha512/256"]=me.md.algorithms["sha512/256"]=me.sha512.sha256;me.sha512.sha224=me.sha512.sha224||{create:function(){return Ii.create("SHA-512/224")}};me.md["sha512/224"]=me.md.algorithms["sha512/224"]=me.sha512.sha224;Ii.create=function(t){if(ah||Fb(),typeof t>"u"&&(t="SHA-512"),!(t in Xr))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=Xr[t],r=null,n=me.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(t){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:o,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=me.util.createBuffer(),r=new Array(e.length);for(var u=0;u<e.length;++u)r[u]=e[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=me.util.encodeUtf8(c));var l=c.length;a.messageLength+=l,l=[l/4294967296>>>0,l>>>0];for(var f=a.fullMessageLength.length-1;f>=0;--f)a.fullMessageLength[f]+=l[1],l[1]=l[0]+(a.fullMessageLength[f]/4294967296>>>0),a.fullMessageLength[f]=a.fullMessageLength[f]>>>0,l[0]=l[1]/4294967296>>>0;return n.putBytes(c),sh(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=me.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(Cc.substr(0,a.blockLength-l));for(var f,d,p=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)f=a.fullMessageLength[h+1]*8,d=f/4294967296>>>0,p+=d,c.putInt32(p>>>0),p=f>>>0;c.putInt32(p);for(var m=new Array(r.length),h=0;h<r.length;++h)m[h]=r[h].slice(0);sh(m,i,c);var y=me.util.createBuffer(),g;t==="SHA-512"?g=m.length:t==="SHA-384"?g=m.length-2:g=m.length-4;for(var h=0;h<g;++h)y.putInt32(m[h][0]),(h!==g-1||t!=="SHA-512/224")&&y.putInt32(m[h][1]);return y},a};var Cc=null,ah=!1,Rc=null,Xr=null;function Fb(){Cc="\x80",Cc+=me.util.fillString("\0",128),Rc=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],Xr={},Xr["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Xr["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Xr["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Xr["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],ah=!0}function sh(t,e,r){for(var n,i,s,o,a,c,u,l,f,d,p,h,m,y,g,x,b,A,E,_,T,P,z,G,$,J,le,$e,B,k,D,N,C,U,K,H=r.length();H>=128;){for(B=0;B<16;++B)e[B][0]=r.getInt32()>>>0,e[B][1]=r.getInt32()>>>0;for(;B<80;++B)N=e[B-2],k=N[0],D=N[1],n=((k>>>19|D<<13)^(D>>>29|k<<3)^k>>>6)>>>0,i=((k<<13|D>>>19)^(D<<3|k>>>29)^(k<<26|D>>>6))>>>0,U=e[B-15],k=U[0],D=U[1],s=((k>>>1|D<<31)^(k>>>8|D<<24)^k>>>7)>>>0,o=((k<<31|D>>>1)^(k<<24|D>>>8)^(k<<25|D>>>7))>>>0,C=e[B-7],K=e[B-16],D=i+C[1]+o+K[1],e[B][0]=n+C[0]+s+K[0]+(D/4294967296>>>0)>>>0,e[B][1]=D>>>0;for(m=t[0][0],y=t[0][1],g=t[1][0],x=t[1][1],b=t[2][0],A=t[2][1],E=t[3][0],_=t[3][1],T=t[4][0],P=t[4][1],z=t[5][0],G=t[5][1],$=t[6][0],J=t[6][1],le=t[7][0],$e=t[7][1],B=0;B<80;++B)u=((T>>>14|P<<18)^(T>>>18|P<<14)^(P>>>9|T<<23))>>>0,l=((T<<18|P>>>14)^(T<<14|P>>>18)^(P<<23|T>>>9))>>>0,f=($^T&(z^$))>>>0,d=(J^P&(G^J))>>>0,a=((m>>>28|y<<4)^(y>>>2|m<<30)^(y>>>7|m<<25))>>>0,c=((m<<4|y>>>28)^(y<<30|m>>>2)^(y<<25|m>>>7))>>>0,p=(m&g|b&(m^g))>>>0,h=(y&x|A&(y^x))>>>0,D=$e+l+d+Rc[B][1]+e[B][1],n=le+u+f+Rc[B][0]+e[B][0]+(D/4294967296>>>0)>>>0,i=D>>>0,D=c+h,s=a+p+(D/4294967296>>>0)>>>0,o=D>>>0,le=$,$e=J,$=z,J=G,z=T,G=P,D=_+i,T=E+n+(D/4294967296>>>0)>>>0,P=D>>>0,E=b,_=A,b=g,A=x,g=m,x=y,D=i+o,m=n+s+(D/4294967296>>>0)>>>0,y=D>>>0;D=t[0][1]+y,t[0][0]=t[0][0]+m+(D/4294967296>>>0)>>>0,t[0][1]=D>>>0,D=t[1][1]+x,t[1][0]=t[1][0]+g+(D/4294967296>>>0)>>>0,t[1][1]=D>>>0,D=t[2][1]+A,t[2][0]=t[2][0]+b+(D/4294967296>>>0)>>>0,t[2][1]=D>>>0,D=t[3][1]+_,t[3][0]=t[3][0]+E+(D/4294967296>>>0)>>>0,t[3][1]=D>>>0,D=t[4][1]+P,t[4][0]=t[4][0]+T+(D/4294967296>>>0)>>>0,t[4][1]=D>>>0,D=t[5][1]+G,t[5][0]=t[5][0]+z+(D/4294967296>>>0)>>>0,t[5][1]=D>>>0,D=t[6][1]+J,t[6][0]=t[6][0]+$+(D/4294967296>>>0)>>>0,t[6][1]=D>>>0,D=t[7][1]+$e,t[7][0]=t[7][0]+le+(D/4294967296>>>0)>>>0,t[7][1]=D>>>0,H-=128}}});var qc=q((Q4,Oh)=>{var Un=1e3,Fn=Un*60,Kn=Fn*60,Jr=Kn*24,h2=Jr*7,d2=Jr*365.25;Oh.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return p2(t);if(r==="number"&&isFinite(t))return e.long?y2(t):m2(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function p2(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*d2;case"weeks":case"week":case"w":return r*h2;case"days":case"day":case"d":return r*Jr;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Kn;case"minutes":case"minute":case"mins":case"min":case"m":return r*Fn;case"seconds":case"second":case"secs":case"sec":case"s":return r*Un;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function m2(t){var e=Math.abs(t);return e>=Jr?Math.round(t/Jr)+"d":e>=Kn?Math.round(t/Kn)+"h":e>=Fn?Math.round(t/Fn)+"m":e>=Un?Math.round(t/Un)+"s":t+"ms"}function y2(t){var e=Math.abs(t);return e>=Jr?Vs(t,e,Jr,"day"):e>=Kn?Vs(t,e,Kn,"hour"):e>=Fn?Vs(t,e,Fn,"minute"):e>=Un?Vs(t,e,Un,"second"):t+" ms"}function Vs(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var Uh=q((X4,Mh)=>{function g2(t){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=qc(),r.destroy=u,Object.keys(t).forEach(l=>{r[l]=t[l]}),r.names=[],r.skips=[],r.formatters={};function e(l){let f=0;for(let d=0;d<l.length;d++)f=(f<<5)-f+l.charCodeAt(d),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=e;function r(l){let f,d=null,p,h;function m(...y){if(!m.enabled)return;let g=m,x=Number(new Date),b=x-(f||x);g.diff=b,g.prev=f,g.curr=x,f=x,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let A=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(_,T)=>{if(_==="%%")return"%";A++;let P=r.formatters[T];if(typeof P=="function"){let z=y[A];_=P.call(g,z),y.splice(A,1),A--}return _}),r.formatArgs.call(g,y),(g.log||r.log).apply(g,y)}return m.namespace=l,m.useColors=r.useColors(),m.color=r.selectColor(l),m.extend=n,m.destroy=r.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(p!==r.namespaces&&(p=r.namespaces,h=r.enabled(l)),h),set:y=>{d=y}}),typeof r.init=="function"&&r.init(m),m}function n(l,f){let d=r(this.namespace+(typeof f>"u"?":":f)+l);return d.log=this.log,d}function i(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let f,d=(typeof l=="string"?l:"").split(/[\s,]+/),p=d.length;for(f=0;f<p;f++)d[f]&&(l=d[f].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.slice(1)+"$")):r.names.push(new RegExp("^"+l+"$")))}function s(){let l=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),l}function o(l){if(l[l.length-1]==="*")return!0;let f,d;for(f=0,d=r.skips.length;f<d;f++)if(r.skips[f].test(l))return!1;for(f=0,d=r.names.length;f<d;f++)if(r.names[f].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}Mh.exports=g2});var Vc=q((yt,$s)=>{yt.formatArgs=b2;yt.save=w2;yt.load=E2;yt.useColors=x2;yt.storage=v2();yt.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();yt.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function x2(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function b2(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+$s.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}yt.log=console.debug||console.log||(()=>{});function w2(t){try{t?yt.storage.setItem("debug",t):yt.storage.removeItem("debug")}catch{}}function E2(){let t;try{t=yt.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function v2(){try{return localStorage}catch{}}$s.exports=Uh()(yt);var{formatters:_2}=$s.exports;_2.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var fd=q((J8,uu)=>{"use strict";var sw=Object.prototype.hasOwnProperty,ot="~";function Fi(){}Object.create&&(Fi.prototype=Object.create(null),new Fi().__proto__||(ot=!1));function ow(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function ld(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new ow(r,n||t,i),o=ot?ot+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function Js(t,e){--t._eventsCount===0?t._events=new Fi:delete t._events[e]}function nt(){this._events=new Fi,this._eventsCount=0}nt.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)sw.call(r,n)&&e.push(ot?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};nt.prototype.listeners=function(e){var r=ot?ot+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,s=n.length,o=new Array(s);i<s;i++)o[i]=n[i].fn;return o};nt.prototype.listenerCount=function(e){var r=ot?ot+e:e,n=this._events[r];return n?n.fn?1:n.length:0};nt.prototype.emit=function(e,r,n,i,s,o){var a=ot?ot+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,f;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,i),!0;case 5:return c.fn.call(c.context,r,n,i,s),!0;case 6:return c.fn.call(c.context,r,n,i,s,o),!0}for(f=1,l=new Array(u-1);f<u;f++)l[f-1]=arguments[f];c.fn.apply(c.context,l)}else{var d=c.length,p;for(f=0;f<d;f++)switch(c[f].once&&this.removeListener(e,c[f].fn,void 0,!0),u){case 1:c[f].fn.call(c[f].context);break;case 2:c[f].fn.call(c[f].context,r);break;case 3:c[f].fn.call(c[f].context,r,n);break;case 4:c[f].fn.call(c[f].context,r,n,i);break;default:if(!l)for(p=1,l=new Array(u-1);p<u;p++)l[p-1]=arguments[p];c[f].fn.apply(c[f].context,l)}}return!0};nt.prototype.on=function(e,r,n){return ld(this,e,r,n,!1)};nt.prototype.once=function(e,r,n){return ld(this,e,r,n,!0)};nt.prototype.removeListener=function(e,r,n,i){var s=ot?ot+e:e;if(!this._events[s])return this;if(!r)return Js(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&Js(this,s);else{for(var a=0,c=[],u=o.length;a<u;a++)(o[a].fn!==r||i&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[s]=c.length===1?c[0]:c:Js(this,s)}return this};nt.prototype.removeAllListeners=function(e){var r;return e?(r=ot?ot+e:e,this._events[r]&&Js(this,r)):(this._events=new Fi,this._eventsCount=0),this};nt.prototype.off=nt.prototype.removeListener;nt.prototype.addListener=nt.prototype.on;nt.prefixed=ot;nt.EventEmitter=nt;typeof uu<"u"&&(uu.exports=nt)});var Au=q((x3,Ad)=>{"use strict";function Sd(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function _w(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return Sd(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),Sd(new i,r)}}Ad.exports=_w});var Bd=q(qi=>{(function(){var t,e,r,n,i,s,o,a;a=function(c){var u,l,f,d;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&65280)>>>8,d=c&255,[u,l,f,d].join(".")},o=function(c){var u,l,f,d,p,h;for(u=[],f=d=0;d<=3&&c.length!==0;f=++d){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}h=e(c),p=h[0],l=h[1],c=c.substring(l),u.push(p)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),s=r("a"),i=r("A"),e=function(c){var u,l,f,d,p;for(d=0,u=10,l="9",f=0,c.length>1&&c[f]==="0"&&(c[f+1]==="x"||c[f+1]==="X"?(f+=2,u=16):"0"<=c[f+1]&&c[f+1]<="9"&&(f++,u=8,l="7")),p=f;f<c.length;){if("0"<=c[f]&&c[f]<=l)d=d*u+(r(c[f])-n)>>>0;else if(u===16)if("a"<=c[f]&&c[f]<="f")d=d*u+(10+r(c[f])-s)>>>0;else if("A"<=c[f]&&c[f]<="F")d=d*u+(10+r(c[f])-i)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");f++}if(f===p)throw new Error("empty octet");return[d,f]},t=function(){function c(u,l){var f,d,p,h;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(h=u.split("/",2),u=h[0],l=h[1]),l||(l=32),typeof l=="string"&&l.indexOf(".")>-1){try{this.maskLong=o(l)}catch(m){throw f=m,new Error("Invalid mask: "+l)}for(d=p=32;p>=0;d=--p)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;break}}else if(l||l===0)this.bitmask=parseInt(l,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(o(u)&this.maskLong)>>>0}catch(m){throw f=m,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+l);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(o(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var l,f,d;for(d=o(this.first),f=o(this.last),l=0;d<=f;)u(a(d),d,l),l++,d++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),qi.ip2long=o,qi.long2ip=a,qi.Netmask=t}).call(qi)});var Nd=q((Dd,ho)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),s="%[0-9a-z]{1,}",o="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(s,"i"),native:new RegExp(`^(::)?(${o})?([0-9a-f]+)?(::)?(${s})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${s})?)$`,"i"),transitional:new RegExp(`^((?:${o})|(?:::)(?:${o})?)${e}\\.${e}\\.${e}\\.${e}(${s})?$`,"i")};function c(p,h){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let m=0,y=-1,g=(p.match(a.zoneIndex)||[])[0],x,b;for(g&&(g=g.substring(1),p=p.replace(/%.+$/,""));(y=p.indexOf(":",y+1))>=0;)m++;if(p.substr(0,2)==="::"&&m--,p.substr(-2,2)==="::"&&m--,m>h)return null;for(b=h-m,x=":";b--;)x+="0:";return p=p.replace("::",x),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),h=function(){let A=p.split(":"),E=[];for(let _=0;_<A.length;_++)E.push(parseInt(A[_],16));return E}(),{parts:h,zoneId:g}}function u(p,h,m,y){if(p.length!==h.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,x;for(;y>0;){if(x=m-y,x<0&&(x=0),p[g]>>x!==h[g]>>x)return!1;y-=m,g+=1}return!0}function l(p){if(i.test(p))return parseInt(p,16);if(p[0]==="0"&&!isNaN(parseInt(p[1],10))){if(n.test(p))return parseInt(p,8);throw new Error(`ipaddr: cannot parse ${p} as octal`)}return parseInt(p,10)}function f(p,h){for(;p.length<h;)p=`0${p}`;return p}let d={};d.IPv4=function(){function p(h){if(h.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let m,y;for(m=0;m<h.length;m++)if(y=h[m],!(0<=y&&y<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=h}return p.prototype.SpecialRanges={unspecified:[[new p([0,0,0,0]),8]],broadcast:[[new p([255,255,255,255]),32]],multicast:[[new p([224,0,0,0]),4]],linkLocal:[[new p([169,254,0,0]),16]],loopback:[[new p([127,0,0,0]),8]],carrierGradeNat:[[new p([100,64,0,0]),10]],private:[[new p([10,0,0,0]),8],[new p([172,16,0,0]),12],[new p([192,168,0,0]),16]],reserved:[[new p([192,0,0,0]),24],[new p([192,0,2,0]),24],[new p([192,88,99,0]),24],[new p([198,18,0,0]),15],[new p([198,51,100,0]),24],[new p([203,0,113,0]),24],[new p([240,0,0,0]),4]]},p.prototype.kind=function(){return"ipv4"},p.prototype.match=function(h,m){let y;if(m===void 0&&(y=h,h=y[0],m=y[1]),h.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,h.octets,8,m)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,m=!1,y={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},g,x,b;for(g=3;g>=0;g-=1)if(x=this.octets[g],x in y){if(b=y[x],m&&b!==0)return null;b!==8&&(m=!0),h+=b}else return null;return 32-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){return this.octets.slice(0)},p.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},p.prototype.toNormalizedString=function(){return this.toString()},p.prototype.toString=function(){return this.octets.join(".")},p}(),d.IPv4.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),m=h[0].toByteArray(),y=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],x=0;for(;x<4;)g.push(parseInt(m[x],10)|parseInt(y[x],10)^255),x++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.isIPv4=function(p){return this.parser(p)!==null},d.IPv4.isValid=function(p){try{return new this(this.parser(p)),!0}catch{return!1}},d.IPv4.isValidFourPartDecimal=function(p){return!!(d.IPv4.isValid(p)&&p.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(p){let h,m,y,g,x;try{for(h=this.parseCIDR(p),y=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],m=0;m<4;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(p){let h=this.parser(p);if(h===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(h)},d.IPv4.parseCIDR=function(p){let h;if(h=p.match(/^(.+)\/(\d+)$/)){let m=parseInt(h[2]);if(m>=0&&m<=32){let y=[this.parse(h[1]),m];return Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(p){let h,m,y;if(h=p.match(r.fourOctet))return function(){let g=h.slice(1,6),x=[];for(let b=0;b<g.length;b++)m=g[b],x.push(l(m));return x}();if(h=p.match(r.longValue)){if(y=l(h[1]),y>4294967295||y<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],x;for(x=0;x<=24;x+=8)g.push(y>>x&255);return g}().reverse()}else return(h=p.match(r.twoOctet))?function(){let g=h.slice(1,4),x=[];if(y=l(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return x.push(l(g[0])),x.push(y>>16&255),x.push(y>>8&255),x.push(y&255),x}():(h=p.match(r.threeOctet))?function(){let g=h.slice(1,5),x=[];if(y=l(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return x.push(l(g[0])),x.push(l(g[1])),x.push(y>>8&255),x.push(y&255),x}():null},d.IPv4.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");let h=[0,0,0,0],m=0,y=Math.floor(p/8);for(;m<y;)h[m]=255,m++;return y<4&&(h[y]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.IPv6=function(){function p(h,m){let y,g;if(h.length===16)for(this.parts=[],y=0;y<=14;y+=2)this.parts.push(h[y]<<8|h[y+1]);else if(h.length===8)this.parts=h;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(y=0;y<this.parts.length;y++)if(g=this.parts[y],!(0<=g&&g<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");m&&(this.zoneId=m)}return p.prototype.SpecialRanges={unspecified:[new p([0,0,0,0,0,0,0,0]),128],linkLocal:[new p([65152,0,0,0,0,0,0,0]),10],multicast:[new p([65280,0,0,0,0,0,0,0]),8],loopback:[new p([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new p([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new p([0,0,0,0,0,65535,0,0]),96],rfc6145:[new p([0,0,0,0,65535,0,0,0]),96],rfc6052:[new p([100,65435,0,0,0,0,0,0]),96],"6to4":[new p([8194,0,0,0,0,0,0,0]),16],teredo:[new p([8193,0,0,0,0,0,0,0]),32],reserved:[[new p([8193,3512,0,0,0,0,0,0]),32]],benchmarking:[new p([8193,2,0,0,0,0,0,0]),48],amt:[new p([8193,3,0,0,0,0,0,0]),32],as112v6:[new p([8193,4,274,0,0,0,0,0]),48],deprecated:[new p([8193,16,0,0,0,0,0,0]),28],orchid2:[new p([8193,32,0,0,0,0,0,0]),28]},p.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},p.prototype.kind=function(){return"ipv6"},p.prototype.match=function(h,m){let y;if(m===void 0&&(y=h,h=y[0],m=y[1]),h.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,h.parts,16,m)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,m=!1,y={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},g,x;for(let b=7;b>=0;b-=1)if(g=this.parts[b],g in y){if(x=y[g],m&&x!==0)return null;x!==16&&(m=!0),h+=x}else return null;return 128-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let h,m=[],y=this.parts;for(let g=0;g<y.length;g++)h=y[g],m.push(h>>8),m.push(h&255);return m},p.prototype.toFixedLengthString=function(){let h=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(f(this.parts[g].toString(16),4));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),h+m},p.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let h=this.parts.slice(-2),m=h[0],y=h[1];return new d.IPv4([m>>8,m&255,y>>8,y&255])},p.prototype.toNormalizedString=function(){let h=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(this.parts[g].toString(16));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),h+m},p.prototype.toRFC5952String=function(){let h=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),y=0,g=-1,x;for(;x=h.exec(m);)x[0].length>g&&(y=x.index,g=x[0].length);return g<0?m:`${m.substring(0,y)}::${m.substring(y+g)}`},p.prototype.toString=function(){return this.toRFC5952String()},p}(),d.IPv6.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),m=h[0].toByteArray(),y=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],x=0;for(;x<16;)g.push(parseInt(m[x],10)|parseInt(y[x],10)^255),x++;return new this(g)}catch(h){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${h})`)}},d.IPv6.isIPv6=function(p){return this.parser(p)!==null},d.IPv6.isValid=function(p){if(typeof p=="string"&&p.indexOf(":")===-1)return!1;try{let h=this.parser(p);return new this(h.parts,h.zoneId),!0}catch{return!1}},d.IPv6.networkAddressFromCIDR=function(p){let h,m,y,g,x;try{for(h=this.parseCIDR(p),y=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}catch(b){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${b})`)}},d.IPv6.parse=function(p){let h=this.parser(p);if(h.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(h.parts,h.zoneId)},d.IPv6.parseCIDR=function(p){let h,m,y;if((m=p.match(/^(.+)\/(\d+)$/))&&(h=parseInt(m[2]),h>=0&&h<=128))return y=[this.parse(m[1]),h],Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(p){let h,m,y,g,x,b;if(y=p.match(a.deprecatedTransitional))return this.parser(`::ffff:${y[1]}`);if(a.native.test(p))return c(p,8);if((y=p.match(a.transitional))&&(b=y[6]||"",h=c(y[1].slice(0,-1)+b,6),h.parts)){for(x=[parseInt(y[2]),parseInt(y[3]),parseInt(y[4]),parseInt(y[5])],m=0;m<x.length;m++)if(g=x[m],!(0<=g&&g<=255))return null;return h.parts.push(x[0]<<8|x[1]),h.parts.push(x[2]<<8|x[3]),{parts:h.parts,zoneId:h.zoneId}}return null},d.IPv6.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>128)throw new Error("ipaddr: invalid IPv6 prefix length");let h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],m=0,y=Math.floor(p/8);for(;m<y;)h[m]=255,m++;return y<16&&(h[y]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.fromByteArray=function(p){let h=p.length;if(h===4)return new d.IPv4(p);if(h===16)return new d.IPv6(p);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},d.isValid=function(p){return d.IPv6.isValid(p)||d.IPv4.isValid(p)},d.parse=function(p){if(d.IPv6.isValid(p))return d.IPv6.parse(p);if(d.IPv4.isValid(p))return d.IPv4.parse(p);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},d.parseCIDR=function(p){try{return d.IPv6.parseCIDR(p)}catch{try{return d.IPv4.parseCIDR(p)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},d.process=function(p){let h=this.parse(p);return h.kind()==="ipv6"&&h.isIPv4MappedAddress()?h.toIPv4Address():h},d.subnetMatch=function(p,h,m){let y,g,x,b;m==null&&(m="unicast");for(g in h)if(Object.prototype.hasOwnProperty.call(h,g)){for(x=h[g],x[0]&&!(x[0]instanceof Array)&&(x=[x]),y=0;y<x.length;y++)if(b=x[y],p.kind()===b[0].kind()&&p.match.apply(p,b))return g}return m},typeof ho<"u"&&ho.exports?ho.exports=d:t.ipaddr=d})(Dd)});var np=q((RB,rp)=>{"use strict";rp.exports=tp;var Qw=qc(),Dr=tp.prototype,Xw=new Date%1e9;function Zw(){return(Math.random()*1e9>>>0)+Xw++}function tp(t){t=t||{},this.id=t.id||Zw(),this.max=t.max||1/0,this.items=t.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(t.lastModified||new Date);for(var e,r,n=this.items.length;n--;)e=this.items[n],r=new Date(e.expires)-new Date,this._lookup[e.key]=e,r>0?this.expire(e.key,r):r<=0&&this.delete(e.key)}Dr.has=function(t){return t in this._lookup};Dr.get=function(t){if(!this.has(t))return null;var e=this._lookup[t];return e.refresh&&this.expire(t,e.refresh),this.items.splice(this.items.indexOf(e),1),this.items.push(e),e.value};Dr.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};Dr.set=function(t,e,r){var n=this._lookup[t],i=this._lookup[t]={key:t,value:e};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,i)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(i),this.size++),r&&("ttl"in r&&this.expire(t,r.ttl),"meta"in r&&(i.meta=r.meta),r.refresh&&(i.refresh=r.ttl)),this};Dr.delete=function(t){var e=this._lookup[t];return e?(this.lastModified=new Date,this.items.splice(this.items.indexOf(e),1),clearTimeout(e.timeout),delete this._lookup[t],this.size--,this):!1};Dr.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=Qw(e)),typeof r!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),r),n.expires=Number(new Date)+r,this};Dr.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};Dr.toJSON=function(){for(var t=new Array(this.items.length),e,r=t.length;r--;)e=this.items[r],t[r]={key:e.key,meta:e.meta,value:e.value,expires:e.expires,refresh:e.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:t}}});var cp=q((kB,ap)=>{"use strict";ap.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var pp=q((hp,dp)=>{"use strict";var Eo=cp(),{hasOwnProperty:lp}=Object.prototype,{propertyIsEnumerable:eE}=Object,Jn=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),tE=hp,up={concatArrays:!1,ignoreUndefined:!1},vo=t=>{let e=[];for(let r in t)lp.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)eE.call(t,n)&&e.push(n)}return e};function ei(t){return Array.isArray(t)?rE(t):Eo(t)?nE(t):t}function rE(t){let e=t.slice(0,0);return vo(t).forEach(r=>{Jn(e,r,ei(t[r]))}),e}function nE(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return vo(t).forEach(r=>{Jn(e,r,ei(t[r]))}),e}var fp=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?Jn(t,i,Hu(t[i],e[i],n)):Jn(t,i,ei(e[i])))}),t),iE=(t,e,r)=>{let n=t.slice(0,0),i=0;return[t,e].forEach(s=>{let o=[];for(let a=0;a<s.length;a++)lp.call(s,a)&&(o.push(String(a)),s===t?Jn(n,i++,s[a]):Jn(n,i++,ei(s[a])));n=fp(n,s,vo(s).filter(a=>!o.includes(a)),r)}),n};function Hu(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?iE(t,e,r):!Eo(e)||!Eo(t)?ei(e):fp(t,e,vo(e),r)}dp.exports=function(...t){let e=Hu(ei(up),this!==tE&&this||{},up),r={_:{}};for(let n of t)if(n!==void 0){if(!Eo(n))throw new TypeError("`"+n+"` is not an Option Object");r=Hu(r,{_:n},e)}return r._}});var Gi=q((HB,gp)=>{gp.exports=class{constructor(e={}){this.points=e.points,this.duration=e.duration,this.blockDuration=e.blockDuration,this.execEvenly=e.execEvenly,this.execEvenlyMinDelayMs=e.execEvenlyMinDelayMs,this.keyPrefix=e.keyPrefix}get points(){return this._points}set points(e){this._points=e>=0?e:4}get duration(){return this._duration}set duration(e){this._duration=typeof e>"u"?1:e}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(e){this._blockDuration=typeof e>"u"?0:e}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(e){this._execEvenly=typeof e>"u"?!1:!!e}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(e){this._execEvenlyMinDelayMs=typeof e>"u"?Math.ceil(this.msDuration/this.points):e}get keyPrefix(){return this._keyPrefix}set keyPrefix(e){if(typeof e>"u"&&(e="rlflx"),typeof e!="string")throw new Error("keyPrefix must be string");this._keyPrefix=e}_getKeySecDuration(e={}){return e&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}});var bp=q((WB,xp)=>{xp.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let e=Date.now();Object.keys(this._keys).forEach(r=>{this._keys[r]<=e&&delete this._keys[r]}),this._addedKeysAmount=Object.keys(this._keys).length}add(e,r){this.addMs(e,r*1e3)}addMs(e,r){this._keys[e]=Date.now()+r,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(e){let r=this._keys[e];if(r&&r>=Date.now()){this.collectExpired();let n=Date.now();return r>=n?r-n:0}return 0}delete(e){e?delete this._keys[e]:Object.keys(this._keys).forEach(r=>{delete this._keys[r]})}}});var Ep=q((YB,wp)=>{var oE=bp();wp.exports=oE});var ft=q((XB,vp)=>{vp.exports=class{constructor(e,r,n,i){this.remainingPoints=typeof e>"u"?0:e,this.msBeforeNext=typeof r>"u"?0:r,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(e){return this._msBeforeNext=e,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(e){return this._remainingPoints=e,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(e){return this._consumedPoints=e,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(e){this._isFirstInDuration=!!e}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var hn=q((jB,Sp)=>{var Gu=Gi(),aE=Ep(),_p=ft();Sp.exports=class extends Gu{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new aE}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("storeClient is not set");this._client=e}_afterConsume(e,r,n,i,s,o={}){let a=this._getRateLimiterRes(n,i,s);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?r(a):e(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,o)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{r(a)}).catch(u=>{r(u)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(e,c,a)}else e(a)}_handleError(e,r,n,i,s,o=!1,a={}){this.insuranceLimiter instanceof Gu?this.insuranceLimiter[r](s,o,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(e)}getInMemoryBlockMsBeforeExpire(e){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(e):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(e){if(this._inMemoryBlockOnConsumed=e?parseInt(e):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(e){if(this._inMemoryBlockDuration=e?parseInt(e):0,this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(e){if(typeof e<"u"&&!(e instanceof Gu))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=e,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(e,r,n={}){let i=r*1e3;return this._block(this.getKey(e),this.points+1,i,n)}set(e,r,n,i={}){let s=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(e),r,s,i)}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this.getInMemoryBlockMsBeforeExpire(o);if(a>0)return s(new _p(0,a));this._upsert(o,r,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,s,o,r,c)}).catch(c=>{this._handleError(c,"consume",i,s,e,r,n)})})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,r,a))}).catch(a=>{this._handleError(a,"penalty",s,o,e,r,n)})})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,-r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,-r,a))}).catch(a=>{this._handleError(a,"reward",s,o,e,r,n)})})}get(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._get(n,r).then(o=>{i(o===null||typeof o>"u"?null:this._getRateLimiterRes(n,0,o))}).catch(o=>{this._handleError(o,"get",i,s,e,r)})})}delete(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._delete(n,r).then(o=>{this._inMemoryBlockedKeys.delete(n),i(o)}).catch(o=>{this._handleError(o,"delete",i,s,e,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(e,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(e,r,n,i={}){return new Promise((s,o)=>{this._upsert(e,r,n,!0,i).then(()=>{s(new _p(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",s,o,this.parseKey(e),n/1e3,i)})})}_get(e,r={}){throw new Error("You have to implement the method '_get'!")}_delete(e,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(e,r,n,i=!1,s={}){throw new Error("You have to implement the method '_upsert'!")}}});var Ip=q((JB,Ap)=>{var cE=hn(),uE=ft(),Wu="redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') local consumed = redis.call('incrby', KEYS[1], ARGV[1]) local ttl = redis.call('pttl', KEYS[1]) if ttl == -1 then redis.call('expire', KEYS[1], ARGV[2]) ttl = 1000 * ARGV[2] end return {consumed, ttl} ",Yu=class extends cE{constructor(e){super(e),this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,this.useRedisPackage=e.useRedisPackage||this.client.constructor.name==="Commander"||!1,this.useRedis3AndLowerPackage=e.useRedis3AndLowerPackage,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:Wu})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(e,r,n){let[i,s]=n;Array.isArray(i)&&([,i]=i,[,s]=s);let o=new uE;return o.consumedPoints=parseInt(i),o.isFirstInDuration=o.consumedPoints===r,o.remainingPoints=Math.max(this.points-o.consumedPoints,0),o.msBeforeNext=s,o}async _upsert(e,r,n,i=!1){if(!this._isRedisReady())throw new Error("Redis connection is not ready");let s=Math.floor(n/1e3),o=this.client.multi();return i?(s>0?!this.useRedisPackage&&!this.useRedis3AndLowerPackage?o.set(e,r,"EX",s):o.set(e,r,{EX:s}):o.set(e,r),!this.useRedisPackage&&!this.useRedis3AndLowerPackage?o.pttl(e).exec(!0):o.pTTL(e).exec(!0)):s>0?!this.useRedisPackage&&!this.useRedis3AndLowerPackage?this.client.rlflxIncr([e].concat([String(r),String(s)])):this.useRedis3AndLowerPackage?new Promise((a,c)=>{let u=function(l,f){return l?c(l):a(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,s,u):this.client.eval(Wu,1,e,r,s,u)}):this.client.eval(Wu,{keys:[e],arguments:[String(r),String(s)]}):!this.useRedisPackage&&!this.useRedis3AndLowerPackage?o.incrby(e,r).pttl(e).exec(!0):o.incrBy(e,r).pTTL(e).exec(!0)}async _get(e){if(!this._isRedisReady())throw new Error("Redis connection is not ready");return!this.useRedisPackage&&!this.useRedis3AndLowerPackage?this.client.multi().get(e).pttl(e).exec().then(r=>{let[[,n]]=r;return n===null?null:r}):this.client.multi().get(e).pTTL(e).exec(!0).then(r=>{let[n]=r;return n===null?null:r})}_delete(e){return this.client.del(e).then(r=>r>0)}};Ap.exports=Yu});var Tp=q((e6,Rp)=>{var lE=hn(),fE=ft();function Cp(t){try{let e=t.client?t.client:t,{version:r}=e.topology.s.options.metadata.driver,n=r.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var Qu=class t extends lE{constructor(e){super(e),this.dbName=e.dbName,this.tableName=e.tableName,this.indexKeyPrefix=e.indexKeyPrefix,e.mongo?this.client=e.mongo:this.client=e.storeClient,typeof this.client.then=="function"?this.client.then(r=>{this.client=r,this._initCollection(),this._driverVersion=Cp(this.client)}):(this._initCollection(),this._driverVersion=Cp(this.client))}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?t.getDbName():e}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("mongo is not set");this._client=e}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(e){this._indexKeyPrefix=e||{}}_initCollection(){let r=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);r.createIndex({expire:-1},{expireAfterSeconds:0}),r.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=r}_getRateLimiterRes(e,r,n){let i=new fE,s;return typeof n.value>"u"?s=n:s=n.value,i.isFirstInDuration=s.points===r,i.consumedPoints=s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire!==null?Math.max(new Date(s.expire).getTime()-Date.now(),0):-1,i}_upsert(e,r,n,i=!1,s={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let o=s.attrs||{},a,c;i?(a={key:e},a=Object.assign(a,o),c={$set:{key:e,points:r,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,o)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:e},a=Object.assign(a,o),c={$setOnInsert:{key:e,expire:n>0?new Date(Date.now()+n):null},$inc:{points:r}},c.$setOnInsert=Object.assign(c.$setOnInsert,o));let u={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?u.returnDocument="after":u.returnOriginal=!1,new Promise((l,f)=>{this._collection.findOneAndUpdate(a,c,u).then(d=>{l(d)}).catch(d=>{if(d&&d.code===11e3){let p=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},o),h={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},o)};this._collection.findOneAndUpdate(p,h,u).then(m=>{l(m)}).catch(m=>{m&&m.code===11e3?this._upsert(e,r,n,i).then(y=>l(y)).catch(y=>f(y)):f(m)})}else f(d)})})}_get(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e},n);return this._collection.deleteOne(i).then(s=>s.deletedCount>0)}};Rp.exports=Qu});var Lp=q((t6,Bp)=>{var hE=hn(),dE=ft(),Xu=class extends hE{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.dbName=e.dbName,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,e],()=>{this._releaseConnection(n),r()})}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((e,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);e(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return e.release();case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);default:return!0}}_createDbAndTable(){return new Promise((e,r)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),r(i);n.query(this._getCreateTableStmt(),s=>{if(s)return this._releaseConnection(n),r(s);this._releaseConnection(n),e()})})}).catch(n=>{r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(e){if(typeof e>"u")if(this.client.constructor.name==="Connection")e="connection";else if(this.client.constructor.name==="Pool")e="pool";else if(this.client.constructor.name==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?"rtlmtrflx":e}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new dE,[s]=n;return i.isFirstInDuration=r===s.points,i.consumedPoints=i.isFirstInDuration?r:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_upsertTransaction(e,r,n,i,s){return new Promise((o,a)=>{e.query("BEGIN",c=>{if(c)return e.rollback(),a(c);let u=Date.now(),l=i>0?u+i:null,f,d;s?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
16
16
|
ON DUPLICATE KEY UPDATE
|
|
17
17
|
points = ?,
|
|
18
|
-
expire = ?;`,
|
|
18
|
+
expire = ?;`,d=[this.dbName,this.tableName,r,n,l,n,l]):(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
19
19
|
ON DUPLICATE KEY UPDATE
|
|
20
20
|
points = IF(expire <= ?, ?, points + (?)),
|
|
21
|
-
expire = IF(expire <= ?, ?, expire);`,
|
|
21
|
+
expire = IF(expire <= ?, ?, expire);`,d=[this.dbName,this.tableName,r,n,l,u,n,n,u,l]),e.query(f,d,p=>{if(p)return e.rollback(),a(p);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(h,m)=>{if(h)return e.rollback(),a(h);e.query("COMMIT",y=>{if(y)return e.rollback(),a(y);o(m)})})})})})}_upsert(e,r,n,i=!1){return this.tableCreated?new Promise((s,o)=>{this._getConnection().then(a=>{this._upsertTransaction(a,e,r,n,i).then(c=>{s(c),this._releaseConnection(a)}).catch(c=>{o(c),this._releaseConnection(a)})}).catch(a=>{o(a)})}):Promise.reject(Error("Table is not created yet"))}_get(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,e,Date.now()],(s,o)=>{s?n(s):o.length===0?r(null):r(o),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,e],(s,o)=>{s?n(s):r(o.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};Bp.exports=Xu});var Dp=q((r6,Pp)=>{var pE=hn(),mE=ft(),Zu=class extends pE{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.tableName=e.tableName,this.schemaName=e.schemaName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}_getTableIdentifier(){return this.schemaName?`"${this.schemaName}"."${this.tableName}"`:`"${this.tableName}"`}clearExpired(e){return new Promise(r=>{let n={name:"rlflx-clear-expired",text:`DELETE FROM ${this._getTableIdentifier()} WHERE expire < $1`,values:[e]};this._query(n).then(()=>{r()}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return Promise.resolve(this.client);case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();case"typeorm":return Promise.resolve(this.client.driver.master);default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return!0;case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);case"typeorm":return!0;default:return!0}}_createTable(){return new Promise((e,r)=>{this._query({text:this._getCreateTableStmt()}).then(()=>{e()}).catch(n=>{n.code==="23505"?e():r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS ${this._getTableIdentifier()} (
|
|
22
22
|
key varchar(255) PRIMARY KEY,
|
|
23
23
|
points integer NOT NULL DEFAULT 0,
|
|
24
24
|
expire bigint
|
|
25
|
-
);`}get clientType(){return this._clientType}set clientType(e){let r=this.client.constructor.name;if(typeof e>"u")if(r==="Client")e="client";else if(r==="Pool"||r==="BoundPool")e="pool";else if(r==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get schemaName(){return this._schemaName}set schemaName(e){this._schemaName=e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new
|
|
25
|
+
);`}get clientType(){return this._clientType}set clientType(e){let r=this.client.constructor.name;if(typeof e>"u")if(r==="Client")e="client";else if(r==="Pool"||r==="BoundPool")e="pool";else if(r==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get schemaName(){return this._schemaName}set schemaName(e){this._schemaName=e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new mE,s=n.rows[0];return i.isFirstInDuration=r===s.points,i.consumedPoints=i.isFirstInDuration?r:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_query(e){let n={name:`${this.tableName.toLowerCase()}:${e.name}`,text:e.text,values:e.values};return new Promise((i,s)=>{this._getConnection().then(o=>{o.query(n).then(a=>{i(a),this._releaseConnection(o)}).catch(a=>{s(a),this._releaseConnection(o)})}).catch(o=>{s(o)})})}_upsert(e,r,n,i=!1){if(!this.tableCreated)return Promise.reject(Error("Table is not created yet"));let s=n>0?Date.now()+n:null,o=i?" $3 ":` CASE
|
|
26
26
|
WHEN ${this._getTableIdentifier()}.expire <= $4 THEN $3
|
|
27
27
|
ELSE ${this._getTableIdentifier()}.expire
|
|
28
28
|
END `;return this._query({name:i?"rlflx-upsert-force":"rlflx-upsert",text:`
|
|
@@ -32,33 +32,33 @@
|
|
|
32
32
|
WHEN (${this._getTableIdentifier()}.expire <= $4 OR 1=${i?1:0}) THEN $2
|
|
33
33
|
ELSE ${this._getTableIdentifier()}.points + ($2)
|
|
34
34
|
END,
|
|
35
|
-
expire = ${
|
|
36
|
-
RETURNING points, expire;`,values:[e,r,
|
|
37
|
-
SELECT points, expire FROM ${this._getTableIdentifier()} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[e,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this._getTableIdentifier()} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};gv.exports=Ip});var bv=z(()=>{});var vv=z((QX,wv)=>{wv.exports=class{constructor(e,r,n=null){this.value=e,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(e){this._value=parseInt(e)}get expiresAt(){return this._expiresAt}set expiresAt(e){!(e instanceof Date)&&Number.isInteger(e)&&(e=new Date(e)),this._expiresAt=e}get timeoutId(){return this._timeoutId}set timeoutId(e){this._timeoutId=e}}});var Av=z((jX,Ev)=>{var vN=vv(),_p=bt();Ev.exports=class{constructor(){this._storage={}}incrby(e,r,n){if(this._storage[e]){let i=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return!this._storage[e].expiresAt||i>0?(this._storage[e].value=this._storage[e].value+r,new _p(0,i,this._storage[e].value,!1)):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let i=n*1e3;return this._storage[e]&&this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),this._storage[e]=new vN(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[e].timeoutId=setTimeout(()=>{delete this._storage[e]},i),this._storage[e].timeoutId.unref&&this._storage[e].timeoutId.unref()),new _p(0,i===0?-1:i,this._storage[e].value,!0)}get(e){if(this._storage[e]){let r=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return new _p(0,r,this._storage[e].value,!1)}return null}delete(e){return this._storage[e]?(this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),delete this._storage[e],!0):!1}}});var Rp=z((JX,Cv)=>{var EN=js(),AN=Av(),Sv=bt(),Tp=class extends EN{constructor(e={}){super(e),this._memoryStorage=new AN}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=this.getKey(e),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(s,r,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+r&&(c=this._memoryStorage.set(s,c.consumedPoints,this.blockDuration)),o(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let u=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));u<this.execEvenlyMinDelayMs&&(u=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,u,c)}else i(c)})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,r,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-r,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}block(e,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(e),i,r),Promise.resolve(new Sv(0,n===0?-1:n,i))}set(e,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(e),r,n),Promise.resolve(new Sv(0,i===0?-1:i,r))}get(e){let r=this._memoryStorage.get(this.getKey(e));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(e){return Promise.resolve(this._memoryStorage.delete(this.getKey(e)))}};Cv.exports=Tp});var Lv=z((ZX,Dv)=>{var Iv=bv(),SN=$o(),CN=js(),Tv=Rp(),IN=bt(),Pt="rate_limiter_flexible",Bo=null,_v=function(t,e,r,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},t.send({channel:Pt,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},Rv=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&Rv.call(this,t)},30)},To=function(t,e,r,n,i){let o={channel:Pt,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(o):Rv.call(this,o)},Bv=function(t,e){if(!e||e.channel!==Pt||typeof this._rateLimiters[e.keyPrefix]>"u")return!1;let r;switch(e.func){case"consume":r=this._rateLimiters[e.keyPrefix].consume(e.data.key,e.data.arg,e.data.opts);break;case"penalty":r=this._rateLimiters[e.keyPrefix].penalty(e.data.key,e.data.arg,e.data.opts);break;case"reward":r=this._rateLimiters[e.keyPrefix].reward(e.data.key,e.data.arg,e.data.opts);break;case"block":r=this._rateLimiters[e.keyPrefix].block(e.data.key,e.data.arg,e.data.opts);break;case"get":r=this._rateLimiters[e.keyPrefix].get(e.data.key,e.data.opts);break;case"delete":r=this._rateLimiters[e.keyPrefix].delete(e.data.key,e.data.opts);break;default:return!1}r&&r.then(n=>{_v(t,e,"resolve",n)}).catch(n=>{_v(t,e,"reject",n)})},_N=function(t){if(!t||t.channel!==Pt||t.keyPrefix!==this.keyPrefix)return!1;if(this._promises[t.promiseId]){clearTimeout(this._promises[t.promiseId].timeoutId);let e;switch(t.data===null||t.data===!0||t.data===!1?e=t.data:e=new IN(t.data.remainingPoints,t.data.msBeforeNext,t.data.consumedPoints,t.data.isFirstInDuration),t.type){case"resolve":this._promises[t.promiseId].resolve(e);break;case"reject":this._promises[t.promiseId].reject(e);break;default:throw new Error(`RateLimiterCluster: no such message type '${t.type}'`)}delete this._promises[t.promiseId]}},TN=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Ro=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=SN.randomBytes(12).toString("base64")),this._promises[n]={resolve:t,reject:e,timeoutId:setTimeout(()=>{delete this._promises[n],e(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},Bp=class{constructor(){if(Bo)return Bo;this._rateLimiters={},Iv.setMaxListeners(0),Iv.on("message",(e,r)=>{r&&r.channel===Pt&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new Tv(r.opts)),e.send({channel:Pt,type:"init",keyPrefix:r.opts.keyPrefix})):Bv.call(this,e,r)}),Bo=this}},Dp=class{constructor(e){if(Bo)return Bo;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let o=i.raw;if(o&&o.channel===Pt&&o.type==="init")typeof this._rateLimiters[o.opts.keyPrefix]>"u"&&(this._rateLimiters[o.opts.keyPrefix]=new Tv(o.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:Pt,channel:Pt,type:"init",keyPrefix:o.opts.keyPrefix},(s,a)=>{s&&console.log(s,a)});else{let s={send:a=>{let c=a;c.topic=Pt,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,f)=>{u&&console.log(u,f)})}};Bv.call(this,s,o)}})}),Bo=this}},Lp=class extends CN{get timeoutMs(){return this._timeoutMs}set timeoutMs(e){this._timeoutMs=typeof e>"u"?5e3:Math.abs(parseInt(e))}constructor(e={}){super(e),process.setMaxListeners(0),this.timeoutMs=e.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===Pt&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:_N.call(this,r)}),process.send({channel:Pt,type:"init",opts:TN.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=Ro.call(this,i,o);To.call(this,"consume",s,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,o)=>{let s=Ro.call(this,i,o);To.call(this,"penalty",s,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,o)=>{let s=Ro.call(this,i,o);To.call(this,"reward",s,e,r,n)})}block(e,r,n={}){return new Promise((i,o)=>{let s=Ro.call(this,i,o);To.call(this,"block",s,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let o=Ro.call(this,n,i);To.call(this,"get",o,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let o=Ro.call(this,n,i);To.call(this,"delete",o,e,r)})}};Dv.exports={RateLimiterClusterMaster:Bp,RateLimiterClusterMasterPM2:Dp,RateLimiterCluster:Lp}});var Pv=z((ej,Nv)=>{var RN=ti(),BN=bt(),Np=class extends RN{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new BN;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===r,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(e,r,n,i=!1,o={}){return new Promise((s,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(e,r,u,f=>{f?a(f):this.client.set(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let h={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(h)})}):this.client.incr(e,r,(f,h)=>{f||h===!1?this.client.add(e,r,u,(p,y)=>{if(p||!y)if(typeof o.attemptNumber>"u"||o.attemptNumber<3){let l=Object.assign({},o);l.attemptNumber=l.attemptNumber?l.attemptNumber+1:1,this._upsert(e,r,n,i,l).then(d=>s(d)).catch(d=>a(d))}else a(new Error("Can not add key"));else this.client.add(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let l={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(l)})}):this.client.get(`${e}_expire`,(p,y)=>{if(p)a(p);else{let l=y===!1?0:y,d={consumedPoints:h,msBeforeNext:l>=0?Math.max(l-c,0):-1};s(d)}})})})}_get(e){return new Promise((r,n)=>{let i=Date.now();this.client.get(e,(o,s)=>{s?this.client.get(`${e}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,f={consumedPoints:s,msBeforeNext:u>=0?Math.max(u-i,0):-1};r(f)}}):r(null)})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,o)=>{i?n(i):o===!1?r(o):this.client.del(`${e}_expire`,s=>{s?n(s):r(o)})})})}};Nv.exports=Np});var Uv=z((rj,kv)=>{var Ov=bt();kv.exports=class{constructor(e={}){this.limiter=e.limiter,this.blackList=e.blackList,this.whiteList=e.whiteList,this.isBlackListed=e.isBlackListed,this.isWhiteListed=e.isWhiteListed,this.runActionAnyway=e.runActionAnyway}get limiter(){return this._limiter}set limiter(e){if(typeof e>"u")throw new Error("limiter is not set");this._limiter=e}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(e){this._runActionAnyway=typeof e>"u"?!1:e}get blackList(){return this._blackList}set blackList(e){this._blackList=Array.isArray(e)?e:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isBlackListed must be function");this._isBlackListed=e}get whiteList(){return this._whiteList}set whiteList(e){this._whiteList=Array.isArray(e)?e:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=e}isBlackListedSomewhere(e){return this.blackList.indexOf(e)>=0||this.isBlackListed(e)}isWhiteListedSomewhere(e){return this.whiteList.indexOf(e)>=0||this.isWhiteListed(e)}getBlackRes(){return new Ov(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new Ov(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(e,r=1){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(e,r):(this.runActionAnyway&&this.limiter.consume(e,r).catch(()=>{}),n)}block(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(e,r):(this.runActionAnyway&&this.limiter.block(e,r).catch(()=>{}),n)}penalty(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(e,r):(this.runActionAnyway&&this.limiter.penalty(e,r).catch(()=>{}),n)}reward(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(e,r):(this.runActionAnyway&&this.limiter.reward(e,r).catch(()=>{}),n)}get(e){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(e):r}delete(e){return this.limiter.delete(e)}}});var Fv=z((ij,Mv)=>{var DN=js();Mv.exports=class{constructor(...e){if(e.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");e.forEach(r=>{if(!(r instanceof DN))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=e}consume(e,r=1){return new Promise((n,i)=>{let o=[];this._limiters.forEach(s=>{o.push(s.consume(e,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(o).then(s=>{let a={},c=!1;s.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<s.length;u++)c&&s[u].rejected===!0?a[this._limiters[u].keyPrefix]=s[u].rej:c||(a[this._limiters[u].keyPrefix]=s[u]);c?i(a):n(a)})})}}});var Vv=z((sj,Kv)=>{Kv.exports=class extends Error{constructor(e,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=e,r&&(this.extra=r)}}});var Hv=z((cj,$v)=>{var qv=Vv(),zv=4294967295,Pp="limiter";$v.exports=class{constructor(e,r={maxQueueSize:zv}){this._queueLimiters={KEY_DEFAULT:new nu(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=Pp){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=Pp){return this._queueLimiters[r]||(this._queueLimiters[r]=new nu(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var nu=class{constructor(e,r={maxQueueSize:zv,key:Pp}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(e=>e!==null?e.remainingPoints:this._limiterFlexible.points)}removeTokens(e){let r=this;return new Promise((n,i)=>{if(e>r._limiterFlexible.points){i(new qv(`Requested tokens ${e} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,e):r._limiterFlexible.consume(r._key,e).then(o=>{n(o.remainingPoints)}).catch(o=>{o instanceof Error?i(o):(r._queueRequest.call(r,n,i,e),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),o.msBeforeNext)))})})}_queueRequest(e,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:r,tokens:n}):r(new qv(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let e=this;if(e._waitTimeout!==null&&(clearTimeout(e._waitTimeout),e._waitTimeout=null),e._queue.length===0)return;let r=e._queue.shift();e._limiterFlexible.consume(e._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),e._processFIFO.call(e)}).catch(n=>{n instanceof Error?(r.reject(n),e._processFIFO.call(e)):(e._queue.unshift(r),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),n.msBeforeNext)))})}}});var Wv=z((fj,Gv)=>{var Op=bt();Gv.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return e?new Op(e.remainingPoints,Math.min(e.msBeforeNext,r?r.msBeforeNext:0),e.consumedPoints,e.isFirstInDuration):null}consume(e,r=1,n={}){return this._rateLimiter.consume(e,r,n).catch(i=>i instanceof Op?this._burstLimiter.consume(e,r,n).then(o=>Promise.resolve(this._combineRes(i,o))).catch(o=>o instanceof Op?Promise.reject(this._combineRes(i,o)):Promise.reject(o)):Promise.reject(i))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var Qv=z((lj,Yv)=>{var LN=bt(),NN=ti(),iu=class{constructor(e,r,n){this.key=e,this.points=r,this.expire=n}},PN=25,ON=25,kp=class extends NN{constructor(e,r=null){super(e),this.client=e.storeClient,this.tableName=e.tableName,this.tableCreated=e.tableCreated,this.tableCreated?this._setTTL().finally(()=>{typeof r=="function"&&r()}):this._createTable(e.dynamoTableOpts).then(n=>{this.tableCreated=!0,this._setTTL().finally(()=>{typeof r=="function"&&r()})}).catch(n=>{if(typeof r=="function")r(n);else throw n})}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?"node-rate-limiter-flexible":e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}async _createTable(e){let r={TableName:this.tableName,AttributeDefinitions:[{AttributeName:"key",AttributeType:"S"}],KeySchema:[{AttributeName:"key",KeyType:"HASH"}],ProvisionedThroughput:{ReadCapacityUnits:e&&e.readCapacityUnits?e.readCapacityUnits:PN,WriteCapacityUnits:e&&e.writeCapacityUnits?e.writeCapacityUnits:ON}};try{return await this.client.createTable(r)}catch(n){if(n.__type&&n.__type.includes("ResourceInUseException"))return null;throw n}}async _get(e){if(!this.tableCreated)throw new Error("Table is not created yet");let r={TableName:this.tableName,Key:{key:{S:e}}},n=await this.client.getItem(r);return n.Item?new iu(n.Item.key.S,Number(n.Item.points.N),Number(n.Item.expire.N)):null}async _delete(e){if(!this.tableCreated)throw new Error("Table is not created yet");let r={TableName:this.tableName,Key:{key:{S:e}},ConditionExpression:"attribute_exists(#k)",ExpressionAttributeNames:{"#k":"key"}};try{return(await this._client.deleteItem(r)).$metadata.httpStatusCode===200}catch(n){if(n.__type&&n.__type.includes("ConditionalCheckFailedException"))return!1;throw n}}async _upsert(e,r,n,i=!1,o={}){if(!this.tableCreated)throw new Error("Table is not created yet");let s=Date.now(),a=s/1e3,c=n>0?(s+n)/1e3:-1;if(i)return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = :points, expire = :expire",ExpressionAttributeValues:{":points":{N:r.toString()},":expire":{N:c.toString()}},ReturnValues:"ALL_NEW"});try{return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = :new_points, expire = :new_expire",ExpressionAttributeValues:{":new_points":{N:r.toString()},":new_expire":{N:c.toString()},":where_expire":{N:a.toString()}},ConditionExpression:"expire <= :where_expire OR attribute_not_exists(points)",ReturnValues:"ALL_NEW"})}catch{return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = points + :new_points",ExpressionAttributeValues:{":new_points":{N:r.toString()},":where_expire":{N:a.toString()}},ConditionExpression:"expire > :where_expire",ReturnValues:"ALL_NEW"})}}async _baseUpsert(e){if(!this.tableCreated)throw new Error("Table is not created yet");try{let r=await this.client.updateItem(e);return new iu(r.Attributes.key.S,Number(r.Attributes.points.N),Number(r.Attributes.expire.N))}catch(r){throw r}}async _setTTL(){if(!this.tableCreated)throw new Error("Table is not created yet");try{if(await this._isTTLSet())return;let r={TableName:this.tableName,TimeToLiveSpecification:{AttributeName:"expire",Enabled:!0}};return await this.client.updateTimeToLive(r)}catch(e){throw e}}async _isTTLSet(){if(!this.tableCreated)throw new Error("Table is not created yet");try{let e=await this.client.describeTimeToLive({TableName:this.tableName});return e.$metadata.httpStatusCode==200&&e.TimeToLiveDescription.TimeToLiveStatus==="ENABLED"&&e.TimeToLiveDescription.AttributeName==="expire"}catch(e){throw e}}_getRateLimiterRes(e,r,n){let i=new LN;return i.isFirstInDuration=r===n.points,i.consumedPoints=i.isFirstInDuration?r:n.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.expire!=-1?Math.max(n.expire*1e3-Date.now(),0):-1,i}};Yv.exports=kp});var jv=z((hj,Xv)=>{var kN=lv(),UN=pv(),MN=yv(),FN=xv(),{RateLimiterClusterMaster:KN,RateLimiterClusterMasterPM2:VN,RateLimiterCluster:qN}=Lv(),zN=Rp(),$N=Pv(),HN=Uv(),GN=Fv(),WN=Hv(),YN=Wv(),QN=bt(),XN=Qv();Xv.exports={RateLimiterRedis:kN,RateLimiterMongo:UN,RateLimiterMySQL:MN,RateLimiterPostgres:FN,RateLimiterMemory:zN,RateLimiterMemcache:$N,RateLimiterClusterMaster:KN,RateLimiterClusterMasterPM2:VN,RateLimiterCluster:qN,RLWrapperBlackAndWhite:HN,RateLimiterUnion:GN,RateLimiterQueue:WN,BurstyRateLimiter:YN,RateLimiterRes:QN,RateLimiterDynamo:XN}});var BO={};R(BO,{createLibp2p:()=>RO});var jF=we(zo(),1),JF=we(Yy(),1);var Qy=Symbol.for("@libp2p/connection");var of=Symbol.for("@libp2p/content-routing");var sf=Symbol.for("@libp2p/peer-discovery");var af=Symbol.for("@libp2p/peer-id");function Ta(t){return t!=null&&!!t[af]}var cf=Symbol.for("@libp2p/peer-routing");var Xy="keep-alive";var jy;(function(t){t.Accept="accept",t.Ignore="ignore",t.Reject="reject"})(jy||(jy={}));var lk=Symbol.for("@libp2p/transport");var $r;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})($r||($r={}));var hi=class t extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=t.code,this.type=t.type}static code="ABORT_ERR";static type="aborted"},_=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Ra="ERR_TIMEOUT",uf="ERR_INVALID_PARAMETERS";var Wo=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new lf(e,r))}},ff=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},lf=globalThis.CustomEvent??ff;var wt=(t,...e)=>{try{[...e]}catch{}};function Jy(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var oT=we(le(),1);function An(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var yf={};R(yf,{base10:()=>_8});function E8(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(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 d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var A8=E8,S8=A8,Zy=S8;var Hk=new Uint8Array(0);var eg=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},yr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var tg=t=>new TextEncoder().encode(t),rg=t=>new TextDecoder().decode(t);var hf=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},df=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return ig(this,e)}},pf=class{constructor(e){this.decoders=e}or(e){return ig(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},ig=(t,e)=>new pf({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),mf=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new hf(e,r,n),this.decoder=new df(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},di=({name:t,prefix:e,encode:r,decode:n})=>new mf(t,e,r,n),Hr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=Zy(r,e);return di({prefix:t,name:e,encode:n,decode:o=>yr(i(o))})},C8=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},I8=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Ee=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>di({prefix:e,name:t,encode(i){return I8(i,n,r)},decode(i){return C8(i,n,r,t)}});var _8=Hr({prefix:"9",name:"base10",alphabet:"0123456789"});var gf={};R(gf,{base16:()=>T8,base16upper:()=>R8});var T8=Ee({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),R8=Ee({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var xf={};R(xf,{base2:()=>B8});var B8=Ee({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var bf={};R(bf,{base256emoji:()=>O8});var og=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}"),D8=og.reduce((t,e,r)=>(t[r]=e,t),[]),L8=og.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function N8(t){return t.reduce((e,r)=>(e+=D8[r],e),"")}function P8(t){let e=[];for(let r of t){let n=L8[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var O8=di({prefix:"\u{1F680}",name:"base256emoji",encode:N8,decode:P8});var wf={};R(wf,{base32:()=>pi,base32hex:()=>F8,base32hexpad:()=>V8,base32hexpadupper:()=>q8,base32hexupper:()=>K8,base32pad:()=>U8,base32padupper:()=>M8,base32upper:()=>k8,base32z:()=>z8});var pi=Ee({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),k8=Ee({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),U8=Ee({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),M8=Ee({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),F8=Ee({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),K8=Ee({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),V8=Ee({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),q8=Ee({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),z8=Ee({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var vf={};R(vf,{base36:()=>$8,base36upper:()=>H8});var $8=Hr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),H8=Hr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ef={};R(Ef,{base58btc:()=>jt,base58flickr:()=>G8});var jt=Hr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),G8=Hr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Af={};R(Af,{base64:()=>W8,base64pad:()=>Y8,base64url:()=>Q8,base64urlpad:()=>X8});var W8=Ee({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Y8=Ee({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Q8=Ee({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),X8=Ee({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Sf={};R(Sf,{base8:()=>j8});var j8=Ee({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Cf={};R(Cf,{identity:()=>J8});var J8=di({prefix:"\0",name:"identity",encode:t=>rg(t),decode:t=>tg(t)});var sU=new TextEncoder,aU=new TextDecoder;var _f={};R(_f,{identity:()=>vC});var tC=cg,sg=128,rC=127,nC=~rC,iC=Math.pow(2,31);function cg(t,e,r){e=e||[],r=r||0;for(var n=r;t>=iC;)e[r++]=t&255|sg,t/=128;for(;t&nC;)e[r++]=t&255|sg,t>>>=7;return e[r]=t|0,cg.bytes=r-n+1,e}var oC=If,sC=128,ag=127;function If(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw If.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&ag)<<i:(s&ag)*Math.pow(2,i),i+=7}while(s>=sC);return If.bytes=o-n,r}var aC=Math.pow(2,7),cC=Math.pow(2,14),uC=Math.pow(2,21),fC=Math.pow(2,28),lC=Math.pow(2,35),hC=Math.pow(2,42),dC=Math.pow(2,49),pC=Math.pow(2,56),mC=Math.pow(2,63),yC=function(t){return t<aC?1:t<cC?2:t<uC?3:t<fC?4:t<lC?5:t<hC?6:t<dC?7:t<pC?8:t<mC?9:10},gC={encode:tC,decode:oC,encodingLength:yC},xC=gC,Yo=xC;var Qo=(t,e=0)=>[Yo.decode(t,e),Yo.decode.bytes],mi=(t,e,r=0)=>(Yo.encode(t,e,r),e),yi=t=>Yo.encodingLength(t);var Sn=(t,e)=>{let r=e.byteLength,n=yi(t),i=n+yi(r),o=new Uint8Array(i+r);return mi(t,o,0),mi(r,o,n),o.set(e,i),new gi(t,r,e,o)},ug=t=>{let e=yr(t),[r,n]=Qo(e),[i,o]=Qo(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new gi(r,i,s,e)},fg=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&eg(t.bytes,r.bytes)}},gi=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var lg=0,bC="identity",hg=yr,wC=t=>Sn(lg,hg(t)),vC={code:lg,name:bC,encode:hg,digest:wC};var Bf={};R(Bf,{sha256:()=>EC,sha512:()=>AC});var Rf=({name:t,code:e,encode:r})=>new Tf(t,e,r),Tf=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Sn(this.code,r):r.then(n=>Sn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var pg=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),EC=Rf({name:"sha2-256",code:18,encode:pg("SHA-256")}),AC=Rf({name:"sha2-512",code:19,encode:pg("SHA-512")});var mg=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return CC(r,Df(t),e||jt.encoder);default:return IC(r,Df(t),e||pi.encoder)}};var yg=new WeakMap,Df=t=>{let e=yg.get(t);if(e==null){let r=new Map;return yg.set(t,r),r}return e},Da=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==jo)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==_C)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Sn(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&fg(e.multihash,n.multihash)}toString(e){return mg(this,e)}toJSON(){return{"/":mg(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||gg(n,i,o.bytes))}else if(r[TC]===!0){let{version:n,multihash:i,code:o}=r,s=ug(i);return t.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==jo)throw new Error(`Version 0 CID must use dag-pb (code: ${jo}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=gg(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,jo,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=yr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new gi(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=Qo(e.subarray(r));return r+=p,h},i=n(),o=jo;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=SC(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Df(o).set(n,e),o}},SC=(t,e)=>{switch(t[0]){case"Q":{let r=e||jt;return[jt.prefix,r.decode(`${jt.prefix}${t}`)]}case jt.prefix:{let r=e||jt;return[jt.prefix,r.decode(t)]}case pi.prefix:{let r=e||pi;return[pi.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},CC=(t,e,r)=>{let{prefix:n}=r;if(n!==jt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},IC=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},jo=112,_C=18,gg=(t,e,r)=>{let n=yi(t),i=n+yi(e),o=new Uint8Array(i+r.byteLength);return mi(t,o,0),mi(e,o,n),o.set(r,i),o},TC=Symbol.for("@ipld/js-cid/CID");var Lf={...Cf,...xf,...Sf,...yf,...gf,...wf,...vf,...Ef,...Af,...bf},AU={...Bf,..._f};function La(t=0){return globalThis.Buffer?.allocUnsafe!=null?An(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function bg(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var xg=bg("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Nf=bg("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=La(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),RC={utf8:xg,"utf-8":xg,hex:Lf.base16,latin1:Nf,ascii:Nf,binary:Nf,...Lf},Na=RC;function vt(t,e="utf8"){let r=Na[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?An(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var $l={};R($l,{Ed25519PrivateKey:()=>Nn,Ed25519PublicKey:()=>hs,generateKeyPair:()=>R_,generateKeyPairFromSeed:()=>kx,unmarshalEd25519PrivateKey:()=>__,unmarshalEd25519PublicKey:()=>T_});var Mf={};R(Mf,{base58btc:()=>Qe,base58flickr:()=>OC});var NU=new Uint8Array(0);function wg(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function gr(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")}function vg(t){return new TextEncoder().encode(t)}function Eg(t){return new TextDecoder().decode(t)}function BC(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(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 d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var DC=BC,LC=DC,Sg=LC;var Pf=class{name;prefix;baseEncode;constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Of=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Cg(this,e)}},kf=class{decoders;constructor(e){this.decoders=e}or(e){return Cg(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Cg(t,e){return new kf({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var Uf=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Pf(e,r,n),this.decoder=new Of(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function xi({name:t,prefix:e,encode:r,decode:n}){return new Uf(t,e,r,n)}function Gr({name:t,prefix:e,alphabet:r}){let{encode:n,decode:i}=Sg(r,t);return xi({prefix:e,name:t,encode:n,decode:o=>gr(i(o))})}function NC(t,e,r,n){let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s}function PC(t,e,r){let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s!==0&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o}function Ae({name:t,prefix:e,bitsPerChar:r,alphabet:n}){return xi({prefix:e,name:t,encode(i){return PC(i,n,r)},decode(i){return NC(i,n,r,t)}})}var Qe=Gr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),OC=Gr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Kf={};R(Kf,{identity:()=>Wr});var kC=Tg,Ig=128,UC=127,MC=~UC,FC=Math.pow(2,31);function Tg(t,e,r){e=e||[],r=r||0;for(var n=r;t>=FC;)e[r++]=t&255|Ig,t/=128;for(;t&MC;)e[r++]=t&255|Ig,t>>>=7;return e[r]=t|0,Tg.bytes=r-n+1,e}var KC=Ff,VC=128,_g=127;function Ff(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Ff.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&_g)<<i:(s&_g)*Math.pow(2,i),i+=7}while(s>=VC);return Ff.bytes=o-n,r}var qC=Math.pow(2,7),zC=Math.pow(2,14),$C=Math.pow(2,21),HC=Math.pow(2,28),GC=Math.pow(2,35),WC=Math.pow(2,42),YC=Math.pow(2,49),QC=Math.pow(2,56),XC=Math.pow(2,63),jC=function(t){return t<qC?1:t<zC?2:t<$C?3:t<HC?4:t<GC?5:t<WC?6:t<YC?7:t<QC?8:t<XC?9:10},JC={encode:kC,decode:KC,encodingLength:jC},ZC=JC,Jo=ZC;function Zo(t,e=0){return[Jo.decode(t,e),Jo.decode.bytes]}function bi(t,e,r=0){return Jo.encode(t,e,r),e}function wi(t){return Jo.encodingLength(t)}function Jt(t,e){let r=e.byteLength,n=wi(t),i=n+wi(r),o=new Uint8Array(i+r);return bi(t,o,0),bi(r,o,n),o.set(e,i),new vi(t,r,e,o)}function es(t){let e=gr(t),[r,n]=Zo(e),[i,o]=Zo(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new vi(r,i,s,e)}function Rg(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&wg(t.bytes,r.bytes)}}var vi=class{code;size;digest;bytes;constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Bg=0,eI="identity",Dg=gr;function tI(t){return Jt(Bg,Dg(t))}var Wr={code:Bg,name:eI,encode:Dg,digest:tI};var zf={};R(zf,{sha256:()=>Xe,sha512:()=>rI});function qf({name:t,code:e,encode:r}){return new Vf(t,e,r)}var Vf=class{name;code;encode;constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Jt(this.code,r):r.then(n=>Jt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Ng(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var Xe=qf({name:"sha2-256",code:18,encode:Ng("SHA-256")}),rI=qf({name:"sha2-512",code:19,encode:Ng("SHA-512")});function Zt(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var XU=we(ke(),1),jU=we(Sa(),1),Pg=we(le(),1);function Cn(t,e){if(globalThis.Buffer!=null)return An(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=La(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return An(r)}function Et(t,e="utf8"){let r=Na[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}function Ut(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Cn([new Uint8Array(e-r.length),r])}return Et(r,"base64url")}function At(t){let e=Og(t);return new Pg.default.jsbn.BigInteger(Et(e,"base16"),16)}function Og(t,e){let r=vt(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Cn([new Uint8Array(e-r.length),r])}return r}function Rt(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}function kg(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function nI(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function $f(t,...e){if(!nI(t))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function Ug(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");kg(t.outputLen),kg(t.blockLen)}function Ai(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Mg(t,e){$f(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Oa=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Fg(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var ka=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Mt=(t,e)=>t<<32-e|t>>>e,iI=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!iI)throw new Error("Non little-endian hardware is not supported");function Hf(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function ts(t){if(typeof t=="string"&&(t=Hf(t)),!Fg(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function Ua(...t){let e=0;for(let n=0;n<t.length;n++){let i=t[n];if(!Fg(i))throw new Error("Uint8Array expected");e+=i.length}let r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let o=t[n];r.set(o,i),i+=o.length}return r}var Si=class{clone(){return this._cloneInto()}},oM={}.toString;function Ma(t){let e=n=>t().update(ts(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function Ci(t=32){if(Oa&&typeof Oa.getRandomValues=="function")return Oa.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function oI(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,u=n?0:4;t.setUint32(e+c,s,n),t.setUint32(e+u,a,n)}var Ii=class extends Si{constructor(e,r,n,i){super(),this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=ka(this.buffer)}update(e){Ai(this);let{view:r,buffer:n,blockLen:i}=this;e=ts(e);let o=e.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=ka(e);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Ai(this),Mg(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let h=s;h<i;h++)r[h]=0;oI(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=ka(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<u;h++)a.setUint32(4*h,f[h],o)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return e.length=i,e.pos=a,e.finished=o,e.destroyed=s,i%r&&e.buffer.set(n),e}};var Fa=BigInt(4294967295),Gf=BigInt(32);function Kg(t,e=!1){return e?{h:Number(t&Fa),l:Number(t>>Gf&Fa)}:{h:Number(t>>Gf&Fa)|0,l:Number(t&Fa)|0}}function sI(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){let{h:o,l:s}=Kg(t[i],e);[r[i],n[i]]=[o,s]}return[r,n]}var aI=(t,e)=>BigInt(t>>>0)<<Gf|BigInt(e>>>0),cI=(t,e,r)=>t>>>r,uI=(t,e,r)=>t<<32-r|e>>>r,fI=(t,e,r)=>t>>>r|e<<32-r,lI=(t,e,r)=>t<<32-r|e>>>r,hI=(t,e,r)=>t<<64-r|e>>>r-32,dI=(t,e,r)=>t>>>r-32|e<<64-r,pI=(t,e)=>e,mI=(t,e)=>t,yI=(t,e,r)=>t<<r|e>>>32-r,gI=(t,e,r)=>e<<r|t>>>32-r,xI=(t,e,r)=>e<<r-32|t>>>64-r,bI=(t,e,r)=>t<<r-32|e>>>64-r;function wI(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var vI=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),EI=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,AI=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),SI=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,CI=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),II=(t,e,r,n,i,o)=>e+r+n+i+o+(t/2**32|0)|0;var _I={fromBig:Kg,split:sI,toBig:aI,shrSH:cI,shrSL:uI,rotrSH:fI,rotrSL:lI,rotrBH:hI,rotrBL:dI,rotr32H:pI,rotr32L:mI,rotlSH:yI,rotlSL:gI,rotlBH:xI,rotlBL:bI,add:wI,add3L:vI,add3H:EI,add4L:AI,add4H:SI,add5H:II,add5L:CI},X=_I;var[TI,RI]=X.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),Yr=new Uint32Array(80),Qr=new Uint32Array(80),Wf=class extends Ii{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:r,Bh:n,Bl:i,Ch:o,Cl:s,Dh:a,Dl:c,Eh:u,El:f,Fh:h,Fl:p,Gh:y,Gl:l,Hh:d,Hl:m}=this;return[e,r,n,i,o,s,a,c,u,f,h,p,y,l,d,m]}set(e,r,n,i,o,s,a,c,u,f,h,p,y,l,d,m){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=o|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=f|0,this.Fh=h|0,this.Fl=p|0,this.Gh=y|0,this.Gl=l|0,this.Hh=d|0,this.Hl=m|0}process(e,r){for(let b=0;b<16;b++,r+=4)Yr[b]=e.getUint32(r),Qr[b]=e.getUint32(r+=4);for(let b=16;b<80;b++){let v=Yr[b-15]|0,w=Qr[b-15]|0,E=X.rotrSH(v,w,1)^X.rotrSH(v,w,8)^X.shrSH(v,w,7),A=X.rotrSL(v,w,1)^X.rotrSL(v,w,8)^X.shrSL(v,w,7),C=Yr[b-2]|0,P=Qr[b-2]|0,W=X.rotrSH(C,P,19)^X.rotrBH(C,P,61)^X.shrSH(C,P,6),H=X.rotrSL(C,P,19)^X.rotrBL(C,P,61)^X.shrSL(C,P,6),Z=X.add4L(A,H,Qr[b-7],Qr[b-16]),fe=X.add4H(Z,E,W,Yr[b-7],Yr[b-16]);Yr[b]=fe|0,Qr[b]=Z|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:u,Dl:f,Eh:h,El:p,Fh:y,Fl:l,Gh:d,Gl:m,Hh:g,Hl:x}=this;for(let b=0;b<80;b++){let v=X.rotrSH(h,p,14)^X.rotrSH(h,p,18)^X.rotrBH(h,p,41),w=X.rotrSL(h,p,14)^X.rotrSL(h,p,18)^X.rotrBL(h,p,41),E=h&y^~h&d,A=p&l^~p&m,C=X.add5L(x,w,A,RI[b],Qr[b]),P=X.add5H(C,g,v,E,TI[b],Yr[b]),W=C|0,H=X.rotrSH(n,i,28)^X.rotrBH(n,i,34)^X.rotrBH(n,i,39),Z=X.rotrSL(n,i,28)^X.rotrBL(n,i,34)^X.rotrBL(n,i,39),fe=n&o^n&a^o&a,Ge=i&s^i&c^s&c;g=d|0,x=m|0,d=y|0,m=l|0,y=h|0,l=p|0,{h,l:p}=X.add(u|0,f|0,P|0,W|0),u=a|0,f=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let L=X.add3L(W,Z,Ge);n=X.add3H(L,P,H,fe),i=L|0}({h:n,l:i}=X.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=X.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=X.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=X.add(this.Dh|0,this.Dl|0,u|0,f|0),{h,l:p}=X.add(this.Eh|0,this.El|0,h|0,p|0),{h:y,l}=X.add(this.Fh|0,this.Fl|0,y|0,l|0),{h:d,l:m}=X.add(this.Gh|0,this.Gl|0,d|0,m|0),{h:g,l:x}=X.add(this.Hh|0,this.Hl|0,g|0,x|0),this.set(n,i,o,s,a,c,u,f,h,p,y,l,d,m,g,x)}roundClean(){Yr.fill(0),Qr.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Yf=Ma(()=>new Wf);var Va={};R(Va,{bitGet:()=>kI,bitLen:()=>OI,bitMask:()=>rs,bitSet:()=>UI,bytesToHex:()=>br,bytesToNumberBE:()=>wr,bytesToNumberLE:()=>Xr,concatBytes:()=>vr,createHmacDrbg:()=>jf,ensureBytes:()=>Se,equalBytes:()=>NI,hexToBytes:()=>In,hexToNumber:()=>Xf,isBytes:()=>Ft,numberToBytesBE:()=>jr,numberToBytesLE:()=>_n,numberToHexUnpadded:()=>$g,numberToVarBytesBE:()=>LI,utf8ToBytes:()=>PI,validateObject:()=>er});var zg=BigInt(0),Ka=BigInt(1),BI=BigInt(2);function Ft(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var DI=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function br(t){if(!Ft(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=DI[t[r]];return e}function $g(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Xf(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}var xr={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function Vg(t){if(t>=xr._0&&t<=xr._9)return t-xr._0;if(t>=xr._A&&t<=xr._F)return t-(xr._A-10);if(t>=xr._a&&t<=xr._f)return t-(xr._a-10)}function In(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length,r=e/2;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(r);for(let i=0,o=0;i<r;i++,o+=2){let s=Vg(t.charCodeAt(o)),a=Vg(t.charCodeAt(o+1));if(s===void 0||a===void 0){let c=t[o]+t[o+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+o)}n[i]=s*16+a}return n}function wr(t){return Xf(br(t))}function Xr(t){if(!Ft(t))throw new Error("Uint8Array expected");return Xf(br(Uint8Array.from(t).reverse()))}function jr(t,e){return In(t.toString(16).padStart(e*2,"0"))}function _n(t,e){return jr(t,e).reverse()}function LI(t){return In($g(t))}function Se(t,e,r){let n;if(typeof e=="string")try{n=In(e)}catch(o){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${o}`)}else if(Ft(e))n=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${t} expected ${r} bytes, got ${i}`);return n}function vr(...t){let e=0;for(let i=0;i<t.length;i++){let o=t[i];if(!Ft(o))throw new Error("Uint8Array expected");e+=o.length}let r=new Uint8Array(e),n=0;for(let i=0;i<t.length;i++){let o=t[i];r.set(o,n),n+=o.length}return r}function NI(t,e){if(t.length!==e.length)return!1;let r=0;for(let n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}function PI(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function OI(t){let e;for(e=0;t>zg;t>>=Ka,e+=1);return e}function kI(t,e){return t>>BigInt(e)&Ka}var UI=(t,e,r)=>t|(r?Ka:zg)<<BigInt(e),rs=t=>(BI<<BigInt(t-1))-Ka,Qf=t=>new Uint8Array(t),qg=t=>Uint8Array.from(t);function jf(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Qf(t),i=Qf(t),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...h)=>r(i,n,...h),c=(h=Qf())=>{i=a(qg([0]),h),n=a(),h.length!==0&&(i=a(qg([1]),h),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let h=0,p=[];for(;h<e;){n=a();let y=n.slice();p.push(y),h+=n.length}return vr(...p)};return(h,p)=>{s(),c(h);let y;for(;!(y=p(u()));)c();return s(),y}}var MI={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||Ft(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function er(t,e,r={}){let n=(i,o,s)=>{let a=MI[o];if(typeof a!="function")throw new Error(`Invalid validator "${o}", expected function`);let c=t[i];if(!(s&&c===void 0)&&!a(c,t))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${o}`)};for(let[i,o]of Object.entries(e))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return t}var Fe=BigInt(0),ge=BigInt(1),Tn=BigInt(2),FI=BigInt(3),Jf=BigInt(4),Hg=BigInt(5),Gg=BigInt(8),KI=BigInt(9),VI=BigInt(16);function he(t,e){let r=t%e;return r>=Fe?r:e+r}function qI(t,e,r){if(r<=Fe||e<Fe)throw new Error("Expected power/modulo > 0");if(r===ge)return Fe;let n=ge;for(;e>Fe;)e&ge&&(n=n*t%r),t=t*t%r,e>>=ge;return n}function xe(t,e,r){let n=t;for(;e-- >Fe;)n*=n,n%=r;return n}function qa(t,e){if(t===Fe||e<=Fe)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=he(t,e),n=e,i=Fe,o=ge,s=ge,a=Fe;for(;r!==Fe;){let u=n/r,f=n%r,h=i-s*u,p=o-a*u;n=r,r=f,i=s,o=a,s=h,a=p}if(n!==ge)throw new Error("invert: does not exist");return he(i,e)}function zI(t){let e=(t-ge)/Tn,r,n,i;for(r=t-ge,n=0;r%Tn===Fe;r/=Tn,n++);for(i=Tn;i<t&&qI(i,e,t)!==t-ge;i++);if(n===1){let s=(t+ge)/Jf;return function(c,u){let f=c.pow(u,s);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let o=(r+ge)/Tn;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,f=a.pow(a.mul(a.ONE,i),r),h=a.pow(c,o),p=a.pow(c,r);for(;!a.eql(p,a.ONE);){if(a.eql(p,a.ZERO))return a.ZERO;let y=1;for(let d=a.sqr(p);y<u&&!a.eql(d,a.ONE);y++)d=a.sqr(d);let l=a.pow(f,ge<<BigInt(u-y-1));f=a.sqr(l),h=a.mul(h,l),p=a.mul(p,f),u=y}return h}}function $I(t){if(t%Jf===FI){let e=(t+ge)/Jf;return function(n,i){let o=n.pow(i,e);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(t%Gg===Hg){let e=(t-Hg)/Gg;return function(n,i){let o=n.mul(i,Tn),s=n.pow(o,e),a=n.mul(i,s),c=n.mul(n.mul(a,Tn),s),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return t%VI,zI(t)}var Wg=(t,e)=>(he(t,e)&ge)===ge,HI=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Zf(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=HI.reduce((n,i)=>(n[i]="function",n),e);return er(t,r)}function GI(t,e,r){if(r<Fe)throw new Error("Expected power > 0");if(r===Fe)return t.ONE;if(r===ge)return e;let n=t.ONE,i=e;for(;r>Fe;)r&ge&&(n=t.mul(n,i)),i=t.sqr(i),r>>=ge;return n}function WI(t,e){let r=new Array(e.length),n=e.reduce((o,s,a)=>t.is0(s)?o:(r[a]=o,t.mul(o,s)),t.ONE),i=t.inv(n);return e.reduceRight((o,s,a)=>t.is0(s)?o:(r[a]=t.mul(o,r[a]),t.mul(o,s)),i),r}function el(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function za(t,e,r=!1,n={}){if(t<=Fe)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:o}=el(t,e);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=$I(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:o,MASK:rs(i),ZERO:Fe,ONE:ge,create:c=>he(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Fe<=c&&c<t},is0:c=>c===Fe,isOdd:c=>(c&ge)===ge,neg:c=>he(-c,t),eql:(c,u)=>c===u,sqr:c=>he(c*c,t),add:(c,u)=>he(c+u,t),sub:(c,u)=>he(c-u,t),mul:(c,u)=>he(c*u,t),pow:(c,u)=>GI(a,c,u),div:(c,u)=>he(c*qa(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>qa(c,t),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>WI(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>r?_n(c,o):jr(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?Xr(c):wr(c)}});return Object.freeze(a)}function Yg(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");let r=t.sqrt(e);return t.isOdd(r)?t.neg(r):r}function Qg(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function tl(t){let e=Qg(t);return e+Math.ceil(e/2)}function Xg(t,e,r=!1){let n=t.length,i=Qg(e),o=tl(e);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?wr(t):Xr(t),a=he(s,e-ge)+ge;return r?_n(a,i):jr(a,i)}var QI=BigInt(0),rl=BigInt(1);function $a(t,e){let r=(i,o)=>{let s=o.negate();return i?s:o},n=i=>{let o=Math.ceil(e/i)+1,s=2**(i-1);return{windows:o,windowSize:s}};return{constTimeNegate:r,unsafeLadder(i,o){let s=t.ZERO,a=i;for(;o>QI;)o&rl&&(s=s.add(a)),a=a.double(),o>>=rl;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],u=i,f=u;for(let h=0;h<s;h++){f=u,c.push(f);for(let p=1;p<a;p++)f=f.add(u),c.push(f);u=f.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),u=t.ZERO,f=t.BASE,h=BigInt(2**i-1),p=2**i,y=BigInt(i);for(let l=0;l<a;l++){let d=l*c,m=Number(s&h);s>>=y,m>c&&(m-=p,s+=rl);let g=d,x=d+Math.abs(m)-1,b=l%2!==0,v=m<0;m===0?f=f.add(r(b,o[g])):u=u.add(r(v,o[x]))}return{p:u,f}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,u=o.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&o.set(i,a(u))),this.wNAF(c,u,s)}}}function ns(t){return Zf(t.Fp),er(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...el(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var Kt=BigInt(0),St=BigInt(1),Ha=BigInt(2),XI=BigInt(8),jI={zip215:!0};function JI(t){let e=ns(t);return er(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function Ga(t){let e=JI(t),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=e,u=Ha<<BigInt(a*8)-St,f=r.create,h=e.uvRatio||((k,B)=>{try{return{isValid:!0,value:r.sqrt(k*r.inv(B))}}catch{return{isValid:!1,value:Kt}}}),p=e.adjustScalarBytes||(k=>k),y=e.domain||((k,B,K)=>{if(B.length||K)throw new Error("Contexts/pre-hash are not supported");return k}),l=k=>typeof k=="bigint"&&Kt<k,d=(k,B)=>l(k)&&l(B)&&k<B,m=k=>k===Kt||d(k,u);function g(k,B){if(d(k,B))return k;throw new Error(`Expected valid scalar < ${B}, got ${typeof k} ${k}`)}function x(k){return k===Kt?k:g(k,n)}let b=new Map;function v(k){if(!(k instanceof w))throw new Error("ExtendedPoint expected")}class w{constructor(B,K,q,G){if(this.ex=B,this.ey=K,this.ez=q,this.et=G,!m(B))throw new Error("x required");if(!m(K))throw new Error("y required");if(!m(q))throw new Error("z required");if(!m(G))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(B){if(B instanceof w)throw new Error("extended point not allowed");let{x:K,y:q}=B||{};if(!m(K)||!m(q))throw new Error("invalid affine point");return new w(K,q,St,f(K*q))}static normalizeZ(B){let K=r.invertBatch(B.map(q=>q.ez));return B.map((q,G)=>q.toAffine(K[G])).map(w.fromAffine)}_setWindowSize(B){this._WINDOW_SIZE=B,b.delete(this)}assertValidity(){let{a:B,d:K}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:q,ey:G,ez:j,et:ee}=this,ce=f(q*q),te=f(G*G),ie=f(j*j),Oe=f(ie*ie),ve=f(ce*B),We=f(ie*f(ve+te)),Ye=f(Oe+f(K*f(ce*te)));if(We!==Ye)throw new Error("bad point: equation left != right (1)");let Me=f(q*G),rt=f(j*ee);if(Me!==rt)throw new Error("bad point: equation left != right (2)")}equals(B){v(B);let{ex:K,ey:q,ez:G}=this,{ex:j,ey:ee,ez:ce}=B,te=f(K*ce),ie=f(j*G),Oe=f(q*ce),ve=f(ee*G);return te===ie&&Oe===ve}is0(){return this.equals(w.ZERO)}negate(){return new w(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:B}=e,{ex:K,ey:q,ez:G}=this,j=f(K*K),ee=f(q*q),ce=f(Ha*f(G*G)),te=f(B*j),ie=K+q,Oe=f(f(ie*ie)-j-ee),ve=te+ee,We=ve-ce,Ye=te-ee,Me=f(Oe*We),rt=f(ve*Ye),hr=f(Oe*Ye),gn=f(We*ve);return new w(Me,rt,gn,hr)}add(B){v(B);let{a:K,d:q}=e,{ex:G,ey:j,ez:ee,et:ce}=this,{ex:te,ey:ie,ez:Oe,et:ve}=B;if(K===BigInt(-1)){let Cm=f((j-G)*(ie+te)),Im=f((j+G)*(ie-te)),Ou=f(Im-Cm);if(Ou===Kt)return this.double();let _m=f(ee*Ha*ve),Tm=f(ce*Ha*Oe),Rm=Tm+_m,Bm=Im+Cm,Dm=Tm-_m,qE=f(Rm*Ou),zE=f(Bm*Dm),$E=f(Rm*Dm),HE=f(Ou*Bm);return new w(qE,zE,HE,$E)}let We=f(G*te),Ye=f(j*ie),Me=f(ce*q*ve),rt=f(ee*Oe),hr=f((G+j)*(te+ie)-We-Ye),gn=rt-Me,Fo=rt+Me,Sm=f(Ye-K*We),ME=f(hr*gn),FE=f(Fo*Sm),KE=f(hr*Sm),VE=f(gn*Fo);return new w(ME,FE,VE,KE)}subtract(B){return this.add(B.negate())}wNAF(B){return C.wNAFCached(this,b,B,w.normalizeZ)}multiply(B){let{p:K,f:q}=this.wNAF(g(B,n));return w.normalizeZ([K,q])[0]}multiplyUnsafe(B){let K=x(B);return K===Kt?A:this.equals(A)||K===St?this:this.equals(E)?this.wNAF(K).p:C.unsafeLadder(this,K)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return C.unsafeLadder(this,n).is0()}toAffine(B){let{ex:K,ey:q,ez:G}=this,j=this.is0();B==null&&(B=j?XI:r.inv(G));let ee=f(K*B),ce=f(q*B),te=f(G*B);if(j)return{x:Kt,y:St};if(te!==St)throw new Error("invZ was invalid");return{x:ee,y:ce}}clearCofactor(){let{h:B}=e;return B===St?this:this.multiplyUnsafe(B)}static fromHex(B,K=!1){let{d:q,a:G}=e,j=r.BYTES;B=Se("pointHex",B,j);let ee=B.slice(),ce=B[j-1];ee[j-1]=ce&-129;let te=Xr(ee);te===Kt||(K?g(te,u):g(te,r.ORDER));let ie=f(te*te),Oe=f(ie-St),ve=f(q*ie-G),{isValid:We,value:Ye}=h(Oe,ve);if(!We)throw new Error("Point.fromHex: invalid y coordinate");let Me=(Ye&St)===St,rt=(ce&128)!==0;if(!K&&Ye===Kt&&rt)throw new Error("Point.fromHex: x=0 and x_0=1");return rt!==Me&&(Ye=f(-Ye)),w.fromAffine({x:Ye,y:te})}static fromPrivateKey(B){return H(B).point}toRawBytes(){let{x:B,y:K}=this.toAffine(),q=_n(K,r.BYTES);return q[q.length-1]|=B&St?128:0,q}toHex(){return br(this.toRawBytes())}}w.BASE=new w(e.Gx,e.Gy,St,f(e.Gx*e.Gy)),w.ZERO=new w(Kt,St,St,Kt);let{BASE:E,ZERO:A}=w,C=$a(w,a*8);function P(k){return he(k,n)}function W(k){return P(Xr(k))}function H(k){let B=a;k=Se("private key",k,B);let K=Se("hashed private key",o(k),2*B),q=p(K.slice(0,B)),G=K.slice(B,2*B),j=W(q),ee=E.multiply(j),ce=ee.toRawBytes();return{head:q,prefix:G,scalar:j,point:ee,pointBytes:ce}}function Z(k){return H(k).pointBytes}function fe(k=new Uint8Array,...B){let K=vr(...B);return W(o(y(K,Se("context",k),!!i)))}function Ge(k,B,K={}){k=Se("message",k),i&&(k=i(k));let{prefix:q,scalar:G,pointBytes:j}=H(B),ee=fe(K.context,q,k),ce=E.multiply(ee).toRawBytes(),te=fe(K.context,ce,j,k),ie=P(ee+te*G);x(ie);let Oe=vr(ce,_n(ie,r.BYTES));return Se("result",Oe,a*2)}let L=jI;function U(k,B,K,q=L){let{context:G,zip215:j}=q,ee=r.BYTES;k=Se("signature",k,2*ee),B=Se("message",B),i&&(B=i(B));let ce=Xr(k.slice(ee,2*ee)),te,ie,Oe;try{te=w.fromHex(K,j),ie=w.fromHex(k.slice(0,ee),j),Oe=E.multiplyUnsafe(ce)}catch{return!1}if(!j&&te.isSmallOrder())return!1;let ve=fe(G,ie.toRawBytes(),te.toRawBytes(),B);return ie.add(te.multiplyUnsafe(ve)).subtract(Oe).clearCofactor().equals(w.ZERO)}return E._setWindowSize(8),{CURVE:e,getPublicKey:Z,sign:Ge,verify:U,ExtendedPoint:w,utils:{getExtendedPublicKey:H,randomPrivateKey:()=>s(r.BYTES),precompute(k=8,B=w.BASE){return B._setWindowSize(k),B.multiply(BigInt(3)),B}}}}var il=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),jg=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),_M=BigInt(0),ZI=BigInt(1),nl=BigInt(2),e4=BigInt(5),Jg=BigInt(10),t4=BigInt(20),r4=BigInt(40),Zg=BigInt(80);function n4(t){let e=il,n=t*t%e*t%e,i=xe(n,nl,e)*n%e,o=xe(i,ZI,e)*t%e,s=xe(o,e4,e)*o%e,a=xe(s,Jg,e)*s%e,c=xe(a,t4,e)*a%e,u=xe(c,r4,e)*c%e,f=xe(u,Zg,e)*u%e,h=xe(f,Zg,e)*u%e,p=xe(h,Jg,e)*s%e;return{pow_p_5_8:xe(p,nl,e)*t%e,b2:n}}function i4(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function o4(t,e){let r=il,n=he(e*e*e,r),i=he(n*n*e,r),o=n4(t*i).pow_p_5_8,s=he(t*n*o,r),a=he(e*s*s,r),c=s,u=he(s*jg,r),f=a===t,h=a===he(-t,r),p=a===he(-t*jg,r);return f&&(s=c),(h||p)&&(s=u),Wg(s,r)&&(s=he(-s,r)),{isValid:f||h,value:s}}var Er=za(il,void 0,!0),ol={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Er,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Yf,randomBytes:Ci,adjustScalarBytes:i4,uvRatio:o4},_i=Ga(ol);function ex(t,e,r){if(e.length>255)throw new Error("Context is too big");return Ua(Hf("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var TM=Ga({...ol,domain:ex}),RM=Ga({...ol,domain:ex,prehash:Yf});var s4=(Er.ORDER+BigInt(3))/BigInt(8),BM=Er.pow(nl,s4),DM=Er.sqrt(Er.neg(Er.ONE)),LM=(Er.ORDER-BigInt(5))/BigInt(8),NM=BigInt(486662);var PM=Yg(Er,Er.neg(BigInt(486664)));var OM=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),kM=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),UM=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),MM=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var FM=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Ti=32,Ar=64,Wa=32;function tx(){let t=_i.utils.randomPrivateKey(),e=_i.getPublicKey(t);return{privateKey:ox(t,e),publicKey:e}}function rx(t){if(t.length!==Wa)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=_i.getPublicKey(e);return{privateKey:ox(e,r),publicKey:r}}function nx(t,e){let r=t.subarray(0,Wa);return _i.sign(e instanceof Uint8Array?e:e.subarray(),r)}function ix(t,e,r){return _i.verify(e,r instanceof Uint8Array?r:r.subarray(),t)}function ox(t,e){let r=new Uint8Array(Ar);for(let n=0;n<Wa;n++)r[n]=t[n],r[Wa+n]=e[n];return r}var sl={};R(sl,{base64:()=>Ri,base64pad:()=>c4,base64url:()=>u4,base64urlpad:()=>f4});var Ri=Ae({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),c4=Ae({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),u4=Ae({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),f4=Ae({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var pt={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var al={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function cl(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",o=t?.saltLength??16,s=t?.iterations??32767,a=pt.get();r*=8;async function c(h,p){let y=a.getRandomValues(new Uint8Array(o)),l=a.getRandomValues(new Uint8Array(n)),d={name:e,iv:l};typeof p=="string"&&(p=vt(p));let m;if(p.length===0){m=await a.subtle.importKey("jwk",al,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},b=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}catch{m=await a.subtle.importKey("jwk",al,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},b=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(d,m,h);return Cn([y,d.iv,new Uint8Array(g)])}async function u(h,p){let y=h.subarray(0,o),l=h.subarray(o,o+n),d=h.subarray(o+n),m={name:e,iv:l};typeof p=="string"&&(p=vt(p));let g;if(p.length===0)try{let b={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},v=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,v,{name:e,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",al,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},v=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,v,{name:e,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(m,g,d);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function Bi(t,e){let n=await cl().encrypt(t,e);return Ri.encode(n)}var ul=new Float32Array([-0]),Jr=new Uint8Array(ul.buffer);function ax(t,e,r){ul[0]=t,e[r]=Jr[0],e[r+1]=Jr[1],e[r+2]=Jr[2],e[r+3]=Jr[3]}function cx(t,e){return Jr[0]=t[e],Jr[1]=t[e+1],Jr[2]=t[e+2],Jr[3]=t[e+3],ul[0]}var fl=new Float64Array([-0]),nt=new Uint8Array(fl.buffer);function ux(t,e,r){fl[0]=t,e[r]=nt[0],e[r+1]=nt[1],e[r+2]=nt[2],e[r+3]=nt[3],e[r+4]=nt[4],e[r+5]=nt[5],e[r+6]=nt[6],e[r+7]=nt[7]}function fx(t,e){return nt[0]=t[e],nt[1]=t[e+1],nt[2]=t[e+2],nt[3]=t[e+3],nt[4]=t[e+4],nt[5]=t[e+5],nt[6]=t[e+6],nt[7]=t[e+7],fl[0]}var l4=BigInt(Number.MAX_SAFE_INTEGER),h4=BigInt(Number.MIN_SAFE_INTEGER),mt=class t{lo;hi;constructor(e,r){this.lo=e|0,this.hi=r|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return Rn;if(e<l4&&e>h4)return this.fromNumber(Number(e));let r=e<0n;r&&(e=-e);let n=e>>32n,i=e-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>lx&&(i=0n,++n>lx&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return Rn;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new t(n,i)}static from(e){return typeof e=="number"?t.fromNumber(e):typeof e=="bigint"?t.fromBigInt(e):typeof e=="string"?t.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new t(e.low>>>0,e.high>>>0):Rn}},Rn=new mt(0,0);Rn.toBigInt=function(){return 0n};Rn.zzEncode=Rn.zzDecode=function(){return this};Rn.length=function(){return 1};var lx=4294967296n;function hx(t){let e=0,r=0;for(let n=0;n<t.length;++n)r=t.charCodeAt(n),r<128?e+=1:r<2048?e+=2:(r&64512)===55296&&(t.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function dx(t,e,r){if(r-e<1)return"";let i,o=[],s=0,a;for(;e<r;)a=t[e++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|t[e++]&63:a>239&&a<365?(a=((a&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(t[e++]&63)<<6|t[e++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function ll(t,e,r){let n=r,i,o;for(let s=0;s<t.length;++s)i=t.charCodeAt(s),i<128?e[r++]=i:i<2048?(e[r++]=i>>6|192,e[r++]=i&63|128):(i&64512)===55296&&((o=t.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,e[r++]=i>>18|240,e[r++]=i>>12&63|128,e[r++]=i>>6&63|128,e[r++]=i&63|128):(e[r++]=i>>12|224,e[r++]=i>>6&63|128,e[r++]=i&63|128);return r-n}function Vt(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function Ya(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var hl=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,Vt(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Vt(this,4);return Ya(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Vt(this,4);return Ya(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Vt(this,4);let e=cx(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw Vt(this,4);let e=fx(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw Vt(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return dx(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Vt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Vt(this);while(this.buf[this.pos++]&128);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new mt(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw Vt(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,e}if(this.len-this.pos>4){for(;r<5;++r)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;r<5;++r){if(this.pos>=this.len)throw Vt(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Vt(this,8);let e=Ya(this.buf,this.pos+=4),r=Ya(this.buf,this.pos+=4);return new mt(e,r)}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 dl(t){return new hl(t instanceof Uint8Array?t:t.subarray())}function je(t,e){let r=dl(t);return e.decode(r)}function Bn(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Sr(t=0){return globalThis.Buffer?.alloc!=null?Bn(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function it(t=0){return globalThis.Buffer?.allocUnsafe!=null?Bn(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}var xl={};R(xl,{base10:()=>x4});function d4(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(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 d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var p4=d4,m4=p4,mx=m4;var s7=new Uint8Array(0);var yx=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Cr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var gx=t=>new TextEncoder().encode(t),xx=t=>new TextDecoder().decode(t);var pl=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},ml=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return wx(this,e)}},yl=class{constructor(e){this.decoders=e}or(e){return wx(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},wx=(t,e)=>new yl({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),gl=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new pl(e,r,n),this.decoder=new ml(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Di=({name:t,prefix:e,encode:r,decode:n})=>new gl(t,e,r,n),Zr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=mx(r,e);return Di({prefix:t,name:e,encode:n,decode:o=>Cr(i(o))})},y4=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},g4=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Ce=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Di({prefix:e,name:t,encode(i){return g4(i,n,r)},decode(i){return y4(i,n,r,t)}});var x4=Zr({prefix:"9",name:"base10",alphabet:"0123456789"});var bl={};R(bl,{base16:()=>b4,base16upper:()=>w4});var b4=Ce({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),w4=Ce({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var wl={};R(wl,{base2:()=>v4});var v4=Ce({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var vl={};R(vl,{base256emoji:()=>I4});var vx=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}"),E4=vx.reduce((t,e,r)=>(t[r]=e,t),[]),A4=vx.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function S4(t){return t.reduce((e,r)=>(e+=E4[r],e),"")}function C4(t){let e=[];for(let r of t){let n=A4[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var I4=Di({prefix:"\u{1F680}",name:"base256emoji",encode:S4,decode:C4});var El={};R(El,{base32:()=>Li,base32hex:()=>B4,base32hexpad:()=>L4,base32hexpadupper:()=>N4,base32hexupper:()=>D4,base32pad:()=>T4,base32padupper:()=>R4,base32upper:()=>_4,base32z:()=>P4});var Li=Ce({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),_4=Ce({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),T4=Ce({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),R4=Ce({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),B4=Ce({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),D4=Ce({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),L4=Ce({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),N4=Ce({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),P4=Ce({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Al={};R(Al,{base36:()=>O4,base36upper:()=>k4});var O4=Zr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),k4=Zr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Sl={};R(Sl,{base58btc:()=>tr,base58flickr:()=>U4});var tr=Zr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),U4=Zr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Cl={};R(Cl,{base64:()=>M4,base64pad:()=>F4,base64url:()=>K4,base64urlpad:()=>V4});var M4=Ce({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),F4=Ce({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),K4=Ce({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),V4=Ce({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Il={};R(Il,{base8:()=>q4});var q4=Ce({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var _l={};R(_l,{identity:()=>z4});var z4=Di({prefix:"\0",name:"identity",encode:t=>xx(t),decode:t=>gx(t)});var v7=new TextEncoder,E7=new TextDecoder;var Rl={};R(Rl,{identity:()=>h_});var G4=Sx,Ex=128,W4=127,Y4=~W4,Q4=Math.pow(2,31);function Sx(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Q4;)e[r++]=t&255|Ex,t/=128;for(;t&Y4;)e[r++]=t&255|Ex,t>>>=7;return e[r]=t|0,Sx.bytes=r-n+1,e}var X4=Tl,j4=128,Ax=127;function Tl(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Tl.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&Ax)<<i:(s&Ax)*Math.pow(2,i),i+=7}while(s>=j4);return Tl.bytes=o-n,r}var J4=Math.pow(2,7),Z4=Math.pow(2,14),e_=Math.pow(2,21),t_=Math.pow(2,28),r_=Math.pow(2,35),n_=Math.pow(2,42),i_=Math.pow(2,49),o_=Math.pow(2,56),s_=Math.pow(2,63),a_=function(t){return t<J4?1:t<Z4?2:t<e_?3:t<t_?4:t<r_?5:t<n_?6:t<i_?7:t<o_?8:t<s_?9:10},c_={encode:G4,decode:X4,encodingLength:a_},u_=c_,is=u_;var os=(t,e=0)=>[is.decode(t,e),is.decode.bytes],Ni=(t,e,r=0)=>(is.encode(t,e,r),e),Pi=t=>is.encodingLength(t);var Dn=(t,e)=>{let r=e.byteLength,n=Pi(t),i=n+Pi(r),o=new Uint8Array(i+r);return Ni(t,o,0),Ni(r,o,n),o.set(e,i),new Oi(t,r,e,o)},Cx=t=>{let e=Cr(t),[r,n]=os(e),[i,o]=os(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Oi(r,i,s,e)},Ix=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&yx(t.bytes,r.bytes)}},Oi=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var _x=0,f_="identity",Tx=Cr,l_=t=>Dn(_x,Tx(t)),h_={code:_x,name:f_,encode:Tx,digest:l_};var Ll={};R(Ll,{sha256:()=>d_,sha512:()=>p_});var Dl=({name:t,code:e,encode:r})=>new Bl(t,e,r),Bl=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Dn(this.code,r):r.then(n=>Dn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Bx=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),d_=Dl({name:"sha2-256",code:18,encode:Bx("SHA-256")}),p_=Dl({name:"sha2-512",code:19,encode:Bx("SHA-512")});var Dx=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return y_(r,Nl(t),e||tr.encoder);default:return g_(r,Nl(t),e||Li.encoder)}};var Lx=new WeakMap,Nl=t=>{let e=Lx.get(t);if(e==null){let r=new Map;return Lx.set(t,r),r}return e},Xa=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==as)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==x_)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Dn(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Ix(e.multihash,n.multihash)}toString(e){return Dx(this,e)}toJSON(){return{"/":Dx(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||Nx(n,i,o.bytes))}else if(r[b_]===!0){let{version:n,multihash:i,code:o}=r,s=Cx(i);return t.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==as)throw new Error(`Version 0 CID must use dag-pb (code: ${as}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=Nx(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,as,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Cr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Oi(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=os(e.subarray(r));return r+=p,h},i=n(),o=as;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=m_(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Nl(o).set(n,e),o}},m_=(t,e)=>{switch(t[0]){case"Q":{let r=e||tr;return[tr.prefix,r.decode(`${tr.prefix}${t}`)]}case tr.prefix:{let r=e||tr;return[tr.prefix,r.decode(t)]}case Li.prefix:{let r=e||Li;return[Li.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},y_=(t,e,r)=>{let{prefix:n}=r;if(n!==tr.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},g_=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},as=112,x_=18,Nx=(t,e,r)=>{let n=Pi(t),i=n+Pi(e),o=new Uint8Array(i+r.byteLength);return Ni(t,o,0),Ni(e,o,n),o.set(r,i),o},b_=Symbol.for("@ipld/js-cid/CID");var Pl={..._l,...wl,...Il,...xl,...bl,...El,...Al,...Sl,...Cl,...vl},M7={...Ll,...Rl};function Ox(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Px=Ox("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Ol=Ox("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=it(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),w_={utf8:Px,"utf-8":Px,hex:Pl.base16,latin1:Ol,ascii:Ol,binary:Ol,...Pl},ja=w_;function cs(t,e="utf8"){let r=ja[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Bn(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function kl(t){let e=t??8192,r=e>>>1,n,i=e;return function(s){if(s<1||s>r)return it(s);i+s>e&&(n=it(e),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var Ln=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function Ul(){}var Fl=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},v_=kl();function E_(t){return globalThis.Buffer!=null?it(t):v_(t)}var ls=class{len;head;tail;states;constructor(){this.len=0,this.head=new Ln(Ul,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new Ln(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Kl((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(us,10,mt.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=mt.fromBigInt(e);return this._push(us,r.length(),r)}uint64Number(e){let r=mt.fromNumber(e);return this._push(us,r.length(),r)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let r=mt.fromBigInt(e).zzEncode();return this._push(us,r.length(),r)}sint64Number(e){let r=mt.fromNumber(e).zzEncode();return this._push(us,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(Ml,1,e?1:0)}fixed32(e){return this._push(fs,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=mt.fromBigInt(e);return this._push(fs,4,r.lo)._push(fs,4,r.hi)}fixed64Number(e){let r=mt.fromNumber(e);return this._push(fs,4,r.lo)._push(fs,4,r.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(ax,4,e)}double(e){return this._push(ux,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(Ml,1,0):this.uint32(r)._push(S_,r,e)}string(e){let r=hx(e);return r!==0?this.uint32(r)._push(ll,r,e):this._push(Ml,1,0)}fork(){return this.states=new Fl(this),this.head=this.tail=new Ln(Ul,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 Ln(Ul,0,0),this.len=0),this}ldelim(){let e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=r,this.len+=n),this}finish(){let e=this.head.next,r=E_(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function Ml(t,e,r){e[r]=t&255}function A_(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var Kl=class extends Ln{next;constructor(e,r){super(A_,e,r),this.next=void 0}};function us(t,e,r){for(;t.hi!==0;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}function fs(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function S_(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(ls.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(C_,e,t),this},ls.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(I_,e,t),this});function C_(t,e,r){e.set(t,r)}function I_(t,e,r){t.length<40?ll(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(cs(t),r)}function Vl(){return new ls}function Je(t,e){let r=Vl();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var ki;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(ki||(ki={}));function Ja(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function ql(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return Ja("enum",ki.VARINT,r,n)}function Ze(t,e){return Ja("message",ki.LENGTH_DELIMITED,t,e)}var be;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(be||(be={}));var zl;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(zl||(zl={}));(function(t){t.codec=()=>ql(zl)})(be||(be={}));var rr;(function(t){let e;t.codec=()=>(e==null&&(e=Ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),be.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=be.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Je(r,t.codec()),t.decode=r=>je(r,t.codec())})(rr||(rr={}));var nr;(function(t){let e;t.codec=()=>(e==null&&(e=Ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),be.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=be.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Je(r,t.codec()),t.decode=r=>je(r,t.codec())})(nr||(nr={}));var hs=class{_key;constructor(e){this._key=Ui(e,Ti)}verify(e,r){return ix(this._key,r,e)}marshal(){return this._key}get bytes(){return rr.encode({Type:be.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Zt(this.bytes,e.bytes)}hash(){let e=Xe.digest(this.bytes);return Rt(e)?e.then(({bytes:r})=>r):e.bytes}},Nn=class{_key;_publicKey;constructor(e,r){this._key=Ui(e,Ar),this._publicKey=Ui(r,Ti)}sign(e){return nx(this._key,e)}get public(){return new hs(this._publicKey)}marshal(){return this._key}get bytes(){return nr.encode({Type:be.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Zt(this.bytes,e.bytes)}async hash(){let e=Xe.digest(this.bytes),r;return Rt(e)?{bytes:r}=await e:r=e.bytes,r}async id(){let e=Wr.digest(this.public.bytes);return Qe.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Bi(this.bytes,e);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function __(t){if(t.length>Ar){t=Ui(t,Ar+Ti);let n=t.subarray(0,Ar),i=t.subarray(Ar,t.length);return new Nn(n,i)}t=Ui(t,Ar);let e=t.subarray(0,Ar),r=t.subarray(Ti);return new Nn(e,r)}function T_(t){return t=Ui(t,Ti),new hs(t)}async function R_(){let{privateKey:t,publicKey:e}=tx();return new Nn(t,e)}async function kx(t){let{privateKey:e,publicKey:r}=rx(t);return new Nn(e,r)}function Ui(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new _(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}var B_={"P-256":256,"P-384":384,"P-521":521},D_=Object.keys(B_),T9=D_.join(" / ");var Ql={};R(Ql,{MAX_KEY_SIZE:()=>ys,RsaPrivateKey:()=>Mi,RsaPublicKey:()=>ms,fromJwk:()=>q_,generateKeyPair:()=>z_,unmarshalRsaPrivateKey:()=>K_,unmarshalRsaPublicKey:()=>V_});var ps=we(le(),1);var hF=we(Vx(),1);function ec(t){if(isNaN(t)||t<=0)throw new _("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Ci(t)}var Y9=we(_a(),1),Wl=we(le(),1);function qx(t,e){return e.map(r=>At(t[r]))}function zx(t){return Wl.default.pki.setRsaPrivateKey(...qx(t,["n","e","d","p","q","dp","dq","qi"]))}function $x(t){return Wl.default.pki.setRsaPublicKey(...qx(t,["n","e"]))}var On={};R(On,{jwkToPkcs1:()=>O_,jwkToPkix:()=>U_,pkcs1ToJwk:()=>P_,pkixToJwk:()=>k_});var j9=we(zo(),1),J9=we(_a(),1);var Ir=we(le(),1);function P_(t){let e=Ir.default.asn1.fromDer(Et(t,"ascii")),r=Ir.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Ut(r.n),e:Ut(r.e),d:Ut(r.d),p:Ut(r.p),q:Ut(r.q),dp:Ut(r.dP),dq:Ut(r.dQ),qi:Ut(r.qInv),alg:"RS256"}}function O_(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new _("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Ir.default.pki.privateKeyToAsn1({n:At(t.n),e:At(t.e),d:At(t.d),p:At(t.p),q:At(t.q),dP:At(t.dp),dQ:At(t.dq),qInv:At(t.qi)});return vt(Ir.default.asn1.toDer(e).getBytes(),"ascii")}function k_(t){let e=Ir.default.asn1.fromDer(Et(t,"ascii")),r=Ir.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Ut(r.n),e:Ut(r.e)}}function U_(t){if(t.n==null||t.e==null)throw new _("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Ir.default.pki.publicKeyToAsn1({n:At(t.n),e:At(t.e)});return vt(Ir.default.asn1.toDer(e).getBytes(),"ascii")}async function Hx(t){let e=await pt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await Yx(e);return{privateKey:r[0],publicKey:r[1]}}async function Yl(t){let r=[await pt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await M_(t)],n=await Yx({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Gx(t,e){let r=await pt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await pt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,e instanceof Uint8Array?e:e.subarray());return new Uint8Array(n,0,n.byteLength)}async function Wx(t,e,r){let n=await pt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return pt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r instanceof Uint8Array?r:r.subarray())}async function Yx(t){if(t.privateKey==null||t.publicKey==null)throw new _("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([pt.get().subtle.exportKey("jwk",t.privateKey),pt.get().subtle.exportKey("jwk",t.publicKey)])}async function M_(t){return pt.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Qx(t,e,r,n){let i=e?$x(t):zx(t),o=Et(r instanceof Uint8Array?r:r.subarray(),"ascii"),s=n(o,i);return vt(s,"ascii")}function Xx(t,e){return Qx(t,!0,e,(r,n)=>n.encrypt(r))}function jx(t,e){return Qx(t,!1,e,(r,n)=>n.decrypt(r))}function tc(t){if(t.kty!=="RSA")throw new _("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new _("invalid key modulus","ERR_INVALID_KEY_MODULUS");return vt(t.n,"base64url").length*8}var ys=8192,ms=class{_key;constructor(e){this._key=e}verify(e,r){return Wx(this._key,r,e)}marshal(){return On.jwkToPkix(this._key)}get bytes(){return rr.encode({Type:be.RSA,Data:this.marshal()}).subarray()}encrypt(e){return Xx(this._key,e)}equals(e){return Zt(this.bytes,e.bytes)}hash(){let e=Xe.digest(this.bytes);return Rt(e)?e.then(({bytes:r})=>r):e.bytes}},Mi=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return ec(16)}sign(e){return Gx(this._key,e)}get public(){if(this._publicKey==null)throw new _("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new ms(this._publicKey)}decrypt(e){return jx(this._key,e)}marshal(){return On.jwkToPkcs1(this._key)}get bytes(){return nr.encode({Type:be.RSA,Data:this.marshal()}).subarray()}equals(e){return Zt(this.bytes,e.bytes)}hash(){let e=Xe.digest(this.bytes);return Rt(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return Et(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new ps.default.util.ByteBuffer(this.marshal()),i=ps.default.asn1.fromDer(n),o=ps.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return ps.default.pki.encryptRsaPrivateKey(o,e,s)}else{if(r==="libp2p-key")return Bi(this.bytes,e);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function K_(t){let e=On.pkcs1ToJwk(t);if(tc(e)>ys)throw new _("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await Yl(e);return new Mi(r.privateKey,r.publicKey)}function V_(t){let e=On.pkixToJwk(t);if(tc(e)>ys)throw new _("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new ms(e)}async function q_(t){if(tc(t)>ys)throw new _("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Yl(t);return new Mi(e.privateKey,e.publicKey)}async function z_(t){if(t>ys)throw new _("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Hx(t);return new Mi(e.privateKey,e.publicKey)}var th={};R(th,{Secp256k1PrivateKey:()=>xs,Secp256k1PublicKey:()=>gs,generateKeyPair:()=>iT,unmarshalSecp256k1PrivateKey:()=>rT,unmarshalSecp256k1PublicKey:()=>nT});var $_=(t,e,r)=>t&e^~t&r,H_=(t,e,r)=>t&e^t&r^e&r,G_=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),en=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),tn=new Uint32Array(64),Xl=class extends Ii{constructor(){super(64,32,8,!1),this.A=en[0]|0,this.B=en[1]|0,this.C=en[2]|0,this.D=en[3]|0,this.E=en[4]|0,this.F=en[5]|0,this.G=en[6]|0,this.H=en[7]|0}get(){let{A:e,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[e,r,n,i,o,s,a,c]}set(e,r,n,i,o,s,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=a|0,this.H=c|0}process(e,r){for(let h=0;h<16;h++,r+=4)tn[h]=e.getUint32(r,!1);for(let h=16;h<64;h++){let p=tn[h-15],y=tn[h-2],l=Mt(p,7)^Mt(p,18)^p>>>3,d=Mt(y,17)^Mt(y,19)^y>>>10;tn[h]=d+tn[h-7]+l+tn[h-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:u,H:f}=this;for(let h=0;h<64;h++){let p=Mt(a,6)^Mt(a,11)^Mt(a,25),y=f+p+$_(a,c,u)+G_[h]+tn[h]|0,d=(Mt(n,2)^Mt(n,13)^Mt(n,22))+H_(n,i,o)|0;f=u,u=c,c=a,a=s+y|0,s=o,o=i,i=n,n=y+d|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,f=f+this.H|0,this.set(n,i,o,s,a,c,u,f)}roundClean(){tn.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Jx=Ma(()=>new Xl);function W_(t){let e=ns(t);er(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=e;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:Y_,hexToBytes:Q_}=Va,kn={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=kn;if(t.length<2||t[0]!==2)throw new e("Invalid signature integer tag");let r=t[1],n=t.subarray(2,r+2);if(!r||n.length!==r)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:Y_(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=kn,r=typeof t=="string"?Q_(t):t;if(!Ft(r))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new e("Invalid signature tag");if(r[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:i,l:o}=kn._parseInt(r.subarray(2)),{d:s,l:a}=kn._parseInt(o);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(t){let e=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let f=u.toString(16);return f.length&1?`0${f}`:f},n=e(r(t.s)),i=e(r(t.r)),o=n.length/2,s=i.length/2,a=r(o),c=r(s);return`30${r(s+o+4)}02${c}${i}02${a}${n}`}},_r=BigInt(0),Bt=BigInt(1),EF=BigInt(2),Zx=BigInt(3),AF=BigInt(4);function X_(t){let e=W_(t),{Fp:r}=e,n=e.toBytes||((l,d,m)=>{let g=d.toAffine();return vr(Uint8Array.from([4]),r.toBytes(g.x),r.toBytes(g.y))}),i=e.fromBytes||(l=>{let d=l.subarray(1),m=r.fromBytes(d.subarray(0,r.BYTES)),g=r.fromBytes(d.subarray(r.BYTES,2*r.BYTES));return{x:m,y:g}});function o(l){let{a:d,b:m}=e,g=r.sqr(l),x=r.mul(g,l);return r.add(r.add(x,r.mul(l,d)),m)}if(!r.eql(r.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function s(l){return typeof l=="bigint"&&_r<l&&l<e.n}function a(l){if(!s(l))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(l){let{allowedPrivateKeyLengths:d,nByteLength:m,wrapPrivateKey:g,n:x}=e;if(d&&typeof l!="bigint"){if(Ft(l)&&(l=br(l)),typeof l!="string"||!d.includes(l.length))throw new Error("Invalid key");l=l.padStart(m*2,"0")}let b;try{b=typeof l=="bigint"?l:wr(Se("private key",l,m))}catch{throw new Error(`private key must be ${m} bytes, hex or bigint, not ${typeof l}`)}return g&&(b=he(b,x)),a(b),b}let u=new Map;function f(l){if(!(l instanceof h))throw new Error("ProjectivePoint expected")}class h{constructor(d,m,g){if(this.px=d,this.py=m,this.pz=g,d==null||!r.isValid(d))throw new Error("x required");if(m==null||!r.isValid(m))throw new Error("y required");if(g==null||!r.isValid(g))throw new Error("z required")}static fromAffine(d){let{x:m,y:g}=d||{};if(!d||!r.isValid(m)||!r.isValid(g))throw new Error("invalid affine point");if(d instanceof h)throw new Error("projective point not allowed");let x=b=>r.eql(b,r.ZERO);return x(m)&&x(g)?h.ZERO:new h(m,g,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){let m=r.invertBatch(d.map(g=>g.pz));return d.map((g,x)=>g.toAffine(m[x])).map(h.fromAffine)}static fromHex(d){let m=h.fromAffine(i(Se("pointHex",d)));return m.assertValidity(),m}static fromPrivateKey(d){return h.BASE.multiply(c(d))}_setWindowSize(d){this._WINDOW_SIZE=d,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:d,y:m}=this.toAffine();if(!r.isValid(d)||!r.isValid(m))throw new Error("bad point: x or y not FE");let g=r.sqr(m),x=o(d);if(!r.eql(g,x))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:d}=this.toAffine();if(r.isOdd)return!r.isOdd(d);throw new Error("Field doesn't support isOdd")}equals(d){f(d);let{px:m,py:g,pz:x}=this,{px:b,py:v,pz:w}=d,E=r.eql(r.mul(m,w),r.mul(b,x)),A=r.eql(r.mul(g,w),r.mul(v,x));return E&&A}negate(){return new h(this.px,r.neg(this.py),this.pz)}double(){let{a:d,b:m}=e,g=r.mul(m,Zx),{px:x,py:b,pz:v}=this,w=r.ZERO,E=r.ZERO,A=r.ZERO,C=r.mul(x,x),P=r.mul(b,b),W=r.mul(v,v),H=r.mul(x,b);return H=r.add(H,H),A=r.mul(x,v),A=r.add(A,A),w=r.mul(d,A),E=r.mul(g,W),E=r.add(w,E),w=r.sub(P,E),E=r.add(P,E),E=r.mul(w,E),w=r.mul(H,w),A=r.mul(g,A),W=r.mul(d,W),H=r.sub(C,W),H=r.mul(d,H),H=r.add(H,A),A=r.add(C,C),C=r.add(A,C),C=r.add(C,W),C=r.mul(C,H),E=r.add(E,C),W=r.mul(b,v),W=r.add(W,W),C=r.mul(W,H),w=r.sub(w,C),A=r.mul(W,P),A=r.add(A,A),A=r.add(A,A),new h(w,E,A)}add(d){f(d);let{px:m,py:g,pz:x}=this,{px:b,py:v,pz:w}=d,E=r.ZERO,A=r.ZERO,C=r.ZERO,P=e.a,W=r.mul(e.b,Zx),H=r.mul(m,b),Z=r.mul(g,v),fe=r.mul(x,w),Ge=r.add(m,g),L=r.add(b,v);Ge=r.mul(Ge,L),L=r.add(H,Z),Ge=r.sub(Ge,L),L=r.add(m,x);let U=r.add(b,w);return L=r.mul(L,U),U=r.add(H,fe),L=r.sub(L,U),U=r.add(g,x),E=r.add(v,w),U=r.mul(U,E),E=r.add(Z,fe),U=r.sub(U,E),C=r.mul(P,L),E=r.mul(W,fe),C=r.add(E,C),E=r.sub(Z,C),C=r.add(Z,C),A=r.mul(E,C),Z=r.add(H,H),Z=r.add(Z,H),fe=r.mul(P,fe),L=r.mul(W,L),Z=r.add(Z,fe),fe=r.sub(H,fe),fe=r.mul(P,fe),L=r.add(L,fe),H=r.mul(Z,L),A=r.add(A,H),H=r.mul(U,L),E=r.mul(Ge,E),E=r.sub(E,H),H=r.mul(Ge,Z),C=r.mul(U,C),C=r.add(C,H),new h(E,A,C)}subtract(d){return this.add(d.negate())}is0(){return this.equals(h.ZERO)}wNAF(d){return y.wNAFCached(this,u,d,m=>{let g=r.invertBatch(m.map(x=>x.pz));return m.map((x,b)=>x.toAffine(g[b])).map(h.fromAffine)})}multiplyUnsafe(d){let m=h.ZERO;if(d===_r)return m;if(a(d),d===Bt)return this;let{endo:g}=e;if(!g)return y.unsafeLadder(this,d);let{k1neg:x,k1:b,k2neg:v,k2:w}=g.splitScalar(d),E=m,A=m,C=this;for(;b>_r||w>_r;)b&Bt&&(E=E.add(C)),w&Bt&&(A=A.add(C)),C=C.double(),b>>=Bt,w>>=Bt;return x&&(E=E.negate()),v&&(A=A.negate()),A=new h(r.mul(A.px,g.beta),A.py,A.pz),E.add(A)}multiply(d){a(d);let m=d,g,x,{endo:b}=e;if(b){let{k1neg:v,k1:w,k2neg:E,k2:A}=b.splitScalar(m),{p:C,f:P}=this.wNAF(w),{p:W,f:H}=this.wNAF(A);C=y.constTimeNegate(v,C),W=y.constTimeNegate(E,W),W=new h(r.mul(W.px,b.beta),W.py,W.pz),g=C.add(W),x=P.add(H)}else{let{p:v,f:w}=this.wNAF(m);g=v,x=w}return h.normalizeZ([g,x])[0]}multiplyAndAddUnsafe(d,m,g){let x=h.BASE,b=(w,E)=>E===_r||E===Bt||!w.equals(x)?w.multiplyUnsafe(E):w.multiply(E),v=b(this,m).add(b(d,g));return v.is0()?void 0:v}toAffine(d){let{px:m,py:g,pz:x}=this,b=this.is0();d==null&&(d=b?r.ONE:r.inv(x));let v=r.mul(m,d),w=r.mul(g,d),E=r.mul(x,d);if(b)return{x:r.ZERO,y:r.ZERO};if(!r.eql(E,r.ONE))throw new Error("invZ was invalid");return{x:v,y:w}}isTorsionFree(){let{h:d,isTorsionFree:m}=e;if(d===Bt)return!0;if(m)return m(h,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:d,clearCofactor:m}=e;return d===Bt?this:m?m(h,this):this.multiplyUnsafe(e.h)}toRawBytes(d=!0){return this.assertValidity(),n(h,this,d)}toHex(d=!0){return br(this.toRawBytes(d))}}h.BASE=new h(e.Gx,e.Gy,r.ONE),h.ZERO=new h(r.ZERO,r.ONE,r.ZERO);let p=e.nBitLength,y=$a(h,e.endo?Math.ceil(p/2):p);return{CURVE:e,ProjectivePoint:h,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function j_(t){let e=ns(t);return er(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function eb(t){let e=j_(t),{Fp:r,n}=e,i=r.BYTES+1,o=2*r.BYTES+1;function s(L){return _r<L&&L<r.ORDER}function a(L){return he(L,n)}function c(L){return qa(L,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:h,isWithinCurveOrder:p}=X_({...e,toBytes(L,U,O){let k=U.toAffine(),B=r.toBytes(k.x),K=vr;return O?K(Uint8Array.from([U.hasEvenY()?2:3]),B):K(Uint8Array.from([4]),B,r.toBytes(k.y))},fromBytes(L){let U=L.length,O=L[0],k=L.subarray(1);if(U===i&&(O===2||O===3)){let B=wr(k);if(!s(B))throw new Error("Point is not on curve");let K=h(B),q=r.sqrt(K),G=(q&Bt)===Bt;return(O&1)===1!==G&&(q=r.neg(q)),{x:B,y:q}}else if(U===o&&O===4){let B=r.fromBytes(k.subarray(0,r.BYTES)),K=r.fromBytes(k.subarray(r.BYTES,2*r.BYTES));return{x:B,y:K}}else throw new Error(`Point of length ${U} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),y=L=>br(jr(L,e.nByteLength));function l(L){let U=n>>Bt;return L>U}function d(L){return l(L)?a(-L):L}let m=(L,U,O)=>wr(L.slice(U,O));class g{constructor(U,O,k){this.r=U,this.s=O,this.recovery=k,this.assertValidity()}static fromCompact(U){let O=e.nByteLength;return U=Se("compactSignature",U,O*2),new g(m(U,0,O),m(U,O,2*O))}static fromDER(U){let{r:O,s:k}=kn.toSig(Se("DER",U));return new g(O,k)}assertValidity(){if(!p(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!p(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(U){return new g(this.r,this.s,U)}recoverPublicKey(U){let{r:O,s:k,recovery:B}=this,K=A(Se("msgHash",U));if(B==null||![0,1,2,3].includes(B))throw new Error("recovery id invalid");let q=B===2||B===3?O+e.n:O;if(q>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let G=B&1?"03":"02",j=u.fromHex(G+y(q)),ee=c(q),ce=a(-K*ee),te=a(k*ee),ie=u.BASE.multiplyAndAddUnsafe(j,ce,te);if(!ie)throw new Error("point at infinify");return ie.assertValidity(),ie}hasHighS(){return l(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return In(this.toDERHex())}toDERHex(){return kn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return In(this.toCompactHex())}toCompactHex(){return y(this.r)+y(this.s)}}let x={isValidPrivateKey(L){try{return f(L),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let L=tl(e.n);return Xg(e.randomBytes(L),e.n)},precompute(L=8,U=u.BASE){return U._setWindowSize(L),U.multiply(BigInt(3)),U}};function b(L,U=!0){return u.fromPrivateKey(L).toRawBytes(U)}function v(L){let U=Ft(L),O=typeof L=="string",k=(U||O)&&L.length;return U?k===i||k===o:O?k===2*i||k===2*o:L instanceof u}function w(L,U,O=!0){if(v(L))throw new Error("first arg must be private key");if(!v(U))throw new Error("second arg must be public key");return u.fromHex(U).multiply(f(L)).toRawBytes(O)}let E=e.bits2int||function(L){let U=wr(L),O=L.length*8-e.nBitLength;return O>0?U>>BigInt(O):U},A=e.bits2int_modN||function(L){return a(E(L))},C=rs(e.nBitLength);function P(L){if(typeof L!="bigint")throw new Error("bigint expected");if(!(_r<=L&&L<C))throw new Error(`bigint expected < 2^${e.nBitLength}`);return jr(L,e.nByteLength)}function W(L,U,O=H){if(["recovered","canonical"].some(ve=>ve in O))throw new Error("sign() legacy options not supported");let{hash:k,randomBytes:B}=e,{lowS:K,prehash:q,extraEntropy:G}=O;K==null&&(K=!0),L=Se("msgHash",L),q&&(L=Se("prehashed msgHash",k(L)));let j=A(L),ee=f(U),ce=[P(ee),P(j)];if(G!=null){let ve=G===!0?B(r.BYTES):G;ce.push(Se("extraEntropy",ve))}let te=vr(...ce),ie=j;function Oe(ve){let We=E(ve);if(!p(We))return;let Ye=c(We),Me=u.BASE.multiply(We).toAffine(),rt=a(Me.x);if(rt===_r)return;let hr=a(Ye*a(ie+rt*ee));if(hr===_r)return;let gn=(Me.x===rt?0:2)|Number(Me.y&Bt),Fo=hr;return K&&l(hr)&&(Fo=d(hr),gn^=1),new g(rt,Fo,gn)}return{seed:te,k2sig:Oe}}let H={lowS:e.lowS,prehash:!1},Z={lowS:e.lowS,prehash:!1};function fe(L,U,O=H){let{seed:k,k2sig:B}=W(L,U,O),K=e;return jf(K.hash.outputLen,K.nByteLength,K.hmac)(k,B)}u.BASE._setWindowSize(8);function Ge(L,U,O,k=Z){let B=L;if(U=Se("msgHash",U),O=Se("publicKey",O),"strict"in k)throw new Error("options.strict was renamed to lowS");let{lowS:K,prehash:q}=k,G,j;try{if(typeof B=="string"||Ft(B))try{G=g.fromDER(B)}catch(Me){if(!(Me instanceof kn.Err))throw Me;G=g.fromCompact(B)}else if(typeof B=="object"&&typeof B.r=="bigint"&&typeof B.s=="bigint"){let{r:Me,s:rt}=B;G=new g(Me,rt)}else throw new Error("PARSE");j=u.fromHex(O)}catch(Me){if(Me.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(K&&G.hasHighS())return!1;q&&(U=e.hash(U));let{r:ee,s:ce}=G,te=A(U),ie=c(ce),Oe=a(te*ie),ve=a(ee*ie),We=u.BASE.multiplyAndAddUnsafe(j,Oe,ve)?.toAffine();return We?a(We.x)===ee:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:w,sign:fe,verify:Ge,ProjectivePoint:u,Signature:g,utils:x}}var rc=class extends Si{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,Ug(e);let n=ts(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?e.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=e.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(e){return Ai(this),this.iHash.update(e),this}digestInto(e){Ai(this),$f(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=o,e.blockLen=s,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},jl=(t,e,r)=>new rc(t,e).update(r).digest();jl.create=(t,e)=>new rc(t,e);function J_(t){return{hash:t,hmac:(e,...r)=>jl(t,e,Ua(...r)),randomBytes:Ci}}function tb(t,e){let r=n=>eb({...t,...J_(n)});return Object.freeze({...r(e),create:r})}var ib=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),rb=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Z_=BigInt(1),Jl=BigInt(2),nb=(t,e)=>(t+e/Jl)/e;function eT(t){let e=ib,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,f=u*u*t%e,h=xe(f,r,e)*f%e,p=xe(h,r,e)*f%e,y=xe(p,Jl,e)*u%e,l=xe(y,i,e)*y%e,d=xe(l,o,e)*l%e,m=xe(d,a,e)*d%e,g=xe(m,c,e)*m%e,x=xe(g,a,e)*d%e,b=xe(x,r,e)*f%e,v=xe(b,s,e)*l%e,w=xe(v,n,e)*u%e,E=xe(w,Jl,e);if(!Zl.eql(Zl.sqr(E),t))throw new Error("Cannot find square root");return E}var Zl=za(ib,void 0,void 0,{sqrt:eT}),qt=tb({a:BigInt(0),b:BigInt(7),Fp:Zl,n:rb,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=rb,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Z_*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=nb(o*t,e),c=nb(-n*t,e),u=he(t-a*r-c*i,e),f=he(-a*n-c*o,e),h=u>s,p=f>s;if(h&&(u=e-u),p&&(f=e-f),u>s||f>s)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:h,k1:u,k2neg:p,k2:f}}}},Jx),OF=BigInt(0);var kF=qt.ProjectivePoint;function ob(){return qt.utils.randomPrivateKey()}function sb(t,e){let r=Xe.digest(e instanceof Uint8Array?e:e.subarray());if(Rt(r))return r.then(({digest:n})=>qt.sign(n,t).toDERRawBytes()).catch(n=>{throw new _(String(n),"ERR_INVALID_INPUT")});try{return qt.sign(r.digest,t).toDERRawBytes()}catch(n){throw new _(String(n),"ERR_INVALID_INPUT")}}function ab(t,e,r){let n=Xe.digest(r instanceof Uint8Array?r:r.subarray());if(Rt(n))return n.then(({digest:i})=>qt.verify(e,i,t)).catch(i=>{throw new _(String(i),"ERR_INVALID_INPUT")});try{return qt.verify(e,n.digest,t)}catch(i){throw new _(String(i),"ERR_INVALID_INPUT")}}function cb(t){return qt.ProjectivePoint.fromHex(t).toRawBytes(!0)}function ub(t){try{qt.getPublicKey(t,!0)}catch(e){throw new _(String(e),"ERR_INVALID_PRIVATE_KEY")}}function eh(t){try{qt.ProjectivePoint.fromHex(t)}catch(e){throw new _(String(e),"ERR_INVALID_PUBLIC_KEY")}}function fb(t){try{return qt.getPublicKey(t,!0)}catch(e){throw new _(String(e),"ERR_INVALID_PRIVATE_KEY")}}var gs=class{_key;constructor(e){eh(e),this._key=e}verify(e,r){return ab(this._key,r,e)}marshal(){return cb(this._key)}get bytes(){return rr.encode({Type:be.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Zt(this.bytes,e.bytes)}async hash(){let e=Xe.digest(this.bytes),r;return Rt(e)?{bytes:r}=await e:r=e.bytes,r}},xs=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??fb(e),ub(this._key),eh(this._publicKey)}sign(e){return sb(this._key,e)}get public(){return new gs(this._publicKey)}marshal(){return this._key}get bytes(){return nr.encode({Type:be.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Zt(this.bytes,e.bytes)}hash(){let e=Xe.digest(this.bytes);return Rt(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return Et(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Bi(this.bytes,e);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function rT(t){return new xs(t)}function nT(t){return new gs(t)}async function iT(){let t=ob();return new xs(t)}var rn={rsa:Ql,ed25519:$l,secp256k1:th};function rh(t){let e=Object.keys(rn).join(" / ");return new _(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function nh(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return rn[t];throw rh(t)}async function lb(t,e){return nh(t).generateKeyPair(e??2048)}function bs(t){let e=rr.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case be.RSA:return rn.rsa.unmarshalRsaPublicKey(r);case be.Ed25519:return rn.ed25519.unmarshalEd25519PublicKey(r);case be.Secp256k1:return rn.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw rh(e.Type??"unknown")}}function hb(t,e){return e=(e??"rsa").toLowerCase(),nh(e),t.bytes}async function ih(t){let e=nr.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case be.RSA:return rn.rsa.unmarshalRsaPrivateKey(r);case be.Ed25519:return rn.ed25519.unmarshalEd25519PrivateKey(r);case be.Secp256k1:return rn.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw rh(e.Type??"RSA")}}function db(t,e){return e=(e??"rsa").toLowerCase(),nh(e),t.bytes}var It=we(sh(),1);var ah={};R(ah,{base32:()=>ir,base32hex:()=>vT,base32hexpad:()=>AT,base32hexpadupper:()=>ST,base32hexupper:()=>ET,base32pad:()=>bT,base32padupper:()=>wT,base32upper:()=>xT,base32z:()=>CT});var ir=Ae({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),xT=Ae({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),bT=Ae({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),wT=Ae({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),vT=Ae({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ET=Ae({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),AT=Ae({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ST=Ae({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),CT=Ae({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});It.default.formatters.b=t=>t==null?"undefined":Qe.baseEncode(t);It.default.formatters.t=t=>t==null?"undefined":ir.baseEncode(t);It.default.formatters.m=t=>t==null?"undefined":Ri.baseEncode(t);It.default.formatters.p=t=>t==null?"undefined":t.toString();It.default.formatters.c=t=>t==null?"undefined":t.toString();It.default.formatters.k=t=>t==null?"undefined":t.toString();It.default.formatters.a=t=>t==null?"undefined":t.toString();function IT(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function oc(){return{forComponent(t){return _T(t)}}}function _T(t){let e=IT(`${t}:trace`);return It.default.enabled(`${t}:trace`)&&It.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,It.default)(`${t}:trace`)),Object.assign((0,It.default)(t),{error:(0,It.default)(`${t}:error`),trace:e})}var ch={};R(ch,{base10:()=>TT});var TT=Gr({prefix:"9",name:"base10",alphabet:"0123456789"});var uh={};R(uh,{base16:()=>RT,base16upper:()=>BT});var RT=Ae({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),BT=Ae({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var fh={};R(fh,{base2:()=>DT});var DT=Ae({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var lh={};R(lh,{base256emoji:()=>kT});var gb=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}"),LT=gb.reduce((t,e,r)=>(t[r]=e,t),[]),NT=gb.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function PT(t){return t.reduce((e,r)=>(e+=LT[r],e),"")}function OT(t){let e=[];for(let r of t){let n=NT[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var kT=xi({prefix:"\u{1F680}",name:"base256emoji",encode:PT,decode:OT});var hh={};R(hh,{base36:()=>UT,base36upper:()=>MT});var UT=Gr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),MT=Gr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var dh={};R(dh,{base8:()=>FT});var FT=Ae({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ph={};R(ph,{identity:()=>KT});var KT=xi({prefix:"\0",name:"identity",encode:t=>Eg(t),decode:t=>vg(t)});var AK=new TextEncoder,SK=new TextDecoder;function xb(t,e){let{bytes:r,version:n}=t;switch(n){case 0:return $T(r,mh(t),e??Qe.encoder);default:return HT(r,mh(t),e??ir.encoder)}}var bb=new WeakMap;function mh(t){let e=bb.get(t);if(e==null){let r=new Map;return bb.set(t,r),r}return e}var Mn=class t{code;version;multihash;bytes;"/";constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==ws)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==GT)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Jt(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n!=null&&e.code===n.code&&e.version===n.version&&Rg(e.multihash,n.multihash)}toString(e){return xb(this,e)}toJSON(){return{"/":xb(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s??wb(n,i,o.bytes))}else if(r[WT]===!0){let{version:n,multihash:i,code:o}=r,s=es(i);return t.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==ws)throw new Error(`Version 0 CID must use dag-pb (code: ${ws}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=wb(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,ws,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=gr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new vi(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=Zo(e.subarray(r));return r+=p,h},i=n(),o=ws;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=zT(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return mh(o).set(n,e),o}};function zT(t,e){switch(t[0]){case"Q":{let r=e??Qe;return[Qe.prefix,r.decode(`${Qe.prefix}${t}`)]}case Qe.prefix:{let r=e??Qe;return[Qe.prefix,r.decode(t)]}case ir.prefix:{let r=e??ir;return[ir.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function $T(t,e,r){let{prefix:n}=r;if(n!==Qe.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i}function HT(t,e,r){let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i}var ws=112,GT=18;function wb(t,e,r){let n=wi(t),i=n+wi(e),o=new Uint8Array(i+r.byteLength);return bi(t,o,0),bi(e,o,n),o.set(r,i),o}var WT=Symbol.for("@ipld/js-cid/CID");var yh={...ph,...fh,...dh,...ch,...uh,...ah,...hh,...Mf,...sl,...lh},KK={...zf,...Kf};function gh(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var YT=Symbol.for("nodejs.util.inspect.custom"),vb=Object.values(yh).map(t=>t.decoder).reduce((t,e)=>t.or(e),yh.identity.decoder),Eb=114,xh=36,bh=37,vs=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[af]=!0;toString(){return this.string==null&&(this.string=Qe.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Mn.createV1(Eb,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return gh(this.multihash.bytes,e);if(typeof e=="string")return se(e).equals(this);if(e?.multihash?.bytes!=null)return gh(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[YT](){return`PeerId(${this.toString()})`}},Fn=class extends vs{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Kn=class extends vs{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},Vn=class extends vs{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function Ab(t){if(t.type==="RSA")return new Fn(t);if(t.type==="Ed25519")return new Kn(t);if(t.type==="secp256k1")return new Vn(t);throw new _("Not a PeerId","ERR_INVALID_PARAMETERS")}function se(t,e){if(e=e??vb,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=es(Qe.decode(`z${t}`));return t.startsWith("12D")?new Kn({multihash:r}):t.startsWith("16U")?new Vn({multihash:r}):new Fn({multihash:r})}return qi(vb.decode(t))}function qi(t){try{let e=es(t);if(e.code===Wr.code){if(e.digest.length===xh)return new Kn({multihash:e});if(e.digest.length===bh)return new Vn({multihash:e})}if(e.code===Xe.code)return new Fn({multihash:e})}catch{return QT(Mn.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function QT(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Eb)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Xe.code)return new Fn({multihash:t.multihash});if(e.code===Wr.code){if(e.digest.length===xh)return new Kn({multihash:t.multihash});if(e.digest.length===bh)return new Vn({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function sc(t,e){return t.length===xh?new Kn({multihash:Jt(Wr.code,t),privateKey:e}):t.length===bh?new Vn({multihash:Jt(Wr.code,t),privateKey:e}):new Fn({multihash:await Xe.digest(t),publicKey:t,privateKey:e})}function Tr(t,e){let r={[Symbol.iterator]:()=>r,next:()=>{let n=t.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:e(i)}}};return r}var ot=class{map;constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){return this.map.delete(e.toString())}entries(){return Tr(this.map.entries(),e=>[se(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,se(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return Tr(this.map.keys(),e=>se(e))}values(){return this.map.values()}get size(){return this.map.size}};var Dt=class t{set;constructor(e){if(this.set=new Set,e!=null)for(let r of e)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return Tr(this.set.entries(),e=>{let r=se(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=se(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return Tr(this.set.values(),e=>se(e))}intersection(e){let r=new t;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new t;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new t;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var ac=class t{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return Tr(this.list.entries(),e=>se(e[1]))}concat(e){let r=new t(this);for(let n of e)r.push(n);return r}entries(){return Tr(this.list.entries(),e=>[e[0],se(e[1])])}every(e){return this.list.every((r,n)=>e(se(r),n,this))}filter(e){let r=new t;return this.list.forEach((n,i)=>{let o=se(n);e(o,i,this)&&r.push(o)}),r}find(e){let r=this.list.find((n,i)=>e(se(n),i,this));if(r!=null)return se(r)}findIndex(e){return this.list.findIndex((r,n)=>e(se(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(se(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return se(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return se(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}clear(){this.list=[]}get length(){return this.list.length}};function wh(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var Ch={};R(Ch,{base10:()=>t3});function XT(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(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 d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var jT=XT,JT=jT,Sb=JT;var RV=new Uint8Array(0);var Cb=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Rr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var Ib=t=>new TextEncoder().encode(t),_b=t=>new TextDecoder().decode(t);var vh=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Eh=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Rb(this,e)}},Ah=class{constructor(e){this.decoders=e}or(e){return Rb(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Rb=(t,e)=>new Ah({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Sh=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new vh(e,r,n),this.decoder=new Eh(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},zi=({name:t,prefix:e,encode:r,decode:n})=>new Sh(t,e,r,n),nn=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=Sb(r,e);return zi({prefix:t,name:e,encode:n,decode:o=>Rr(i(o))})},ZT=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},e3=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Ie=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>zi({prefix:e,name:t,encode(i){return e3(i,n,r)},decode(i){return ZT(i,n,r,t)}});var t3=nn({prefix:"9",name:"base10",alphabet:"0123456789"});var Ih={};R(Ih,{base16:()=>r3,base16upper:()=>n3});var r3=Ie({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),n3=Ie({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var _h={};R(_h,{base2:()=>i3});var i3=Ie({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Th={};R(Th,{base256emoji:()=>u3});var Bb=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}"),o3=Bb.reduce((t,e,r)=>(t[r]=e,t),[]),s3=Bb.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function a3(t){return t.reduce((e,r)=>(e+=o3[r],e),"")}function c3(t){let e=[];for(let r of t){let n=s3[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var u3=zi({prefix:"\u{1F680}",name:"base256emoji",encode:a3,decode:c3});var Rh={};R(Rh,{base32:()=>$i,base32hex:()=>d3,base32hexpad:()=>m3,base32hexpadupper:()=>y3,base32hexupper:()=>p3,base32pad:()=>l3,base32padupper:()=>h3,base32upper:()=>f3,base32z:()=>g3});var $i=Ie({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),f3=Ie({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),l3=Ie({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),h3=Ie({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),d3=Ie({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),p3=Ie({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),m3=Ie({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),y3=Ie({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),g3=Ie({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Bh={};R(Bh,{base36:()=>x3,base36upper:()=>b3});var x3=nn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),b3=nn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Dh={};R(Dh,{base58btc:()=>or,base58flickr:()=>w3});var or=nn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),w3=nn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Lh={};R(Lh,{base64:()=>v3,base64pad:()=>E3,base64url:()=>A3,base64urlpad:()=>S3});var v3=Ie({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),E3=Ie({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),A3=Ie({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),S3=Ie({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Nh={};R(Nh,{base8:()=>C3});var C3=Ie({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ph={};R(Ph,{identity:()=>I3});var I3=zi({prefix:"\0",name:"identity",encode:t=>_b(t),decode:t=>Ib(t)});var $V=new TextEncoder,HV=new TextDecoder;var kh={};R(kh,{identity:()=>Q3});var R3=Nb,Db=128,B3=127,D3=~B3,L3=Math.pow(2,31);function Nb(t,e,r){e=e||[],r=r||0;for(var n=r;t>=L3;)e[r++]=t&255|Db,t/=128;for(;t&D3;)e[r++]=t&255|Db,t>>>=7;return e[r]=t|0,Nb.bytes=r-n+1,e}var N3=Oh,P3=128,Lb=127;function Oh(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Oh.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&Lb)<<i:(s&Lb)*Math.pow(2,i),i+=7}while(s>=P3);return Oh.bytes=o-n,r}var O3=Math.pow(2,7),k3=Math.pow(2,14),U3=Math.pow(2,21),M3=Math.pow(2,28),F3=Math.pow(2,35),K3=Math.pow(2,42),V3=Math.pow(2,49),q3=Math.pow(2,56),z3=Math.pow(2,63),$3=function(t){return t<O3?1:t<k3?2:t<U3?3:t<M3?4:t<F3?5:t<K3?6:t<V3?7:t<q3?8:t<z3?9:10},H3={encode:R3,decode:N3,encodingLength:$3},G3=H3,Es=G3;var As=(t,e=0)=>[Es.decode(t,e),Es.decode.bytes],Hi=(t,e,r=0)=>(Es.encode(t,e,r),e),Gi=t=>Es.encodingLength(t);var qn=(t,e)=>{let r=e.byteLength,n=Gi(t),i=n+Gi(r),o=new Uint8Array(i+r);return Hi(t,o,0),Hi(r,o,n),o.set(e,i),new Wi(t,r,e,o)},Pb=t=>{let e=Rr(t),[r,n]=As(e),[i,o]=As(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Wi(r,i,s,e)},Ob=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Cb(t.bytes,r.bytes)}},Wi=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var kb=0,W3="identity",Ub=Rr,Y3=t=>qn(kb,Ub(t)),Q3={code:kb,name:W3,encode:Ub,digest:Y3};var Fh={};R(Fh,{sha256:()=>X3,sha512:()=>j3});var Mh=({name:t,code:e,encode:r})=>new Uh(t,e,r),Uh=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?qn(this.code,r):r.then(n=>qn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Fb=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),X3=Mh({name:"sha2-256",code:18,encode:Fb("SHA-256")}),j3=Mh({name:"sha2-512",code:19,encode:Fb("SHA-512")});var Kb=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Z3(r,Kh(t),e||or.encoder);default:return e6(r,Kh(t),e||$i.encoder)}};var Vb=new WeakMap,Kh=t=>{let e=Vb.get(t);if(e==null){let r=new Map;return Vb.set(t,r),r}return e},uc=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Cs)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==t6)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=qn(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Ob(e.multihash,n.multihash)}toString(e){return Kb(this,e)}toJSON(){return{"/":Kb(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||qb(n,i,o.bytes))}else if(r[r6]===!0){let{version:n,multihash:i,code:o}=r,s=Pb(i);return t.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Cs)throw new Error(`Version 0 CID must use dag-pb (code: ${Cs}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=qb(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Cs,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Rr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Wi(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=As(e.subarray(r));return r+=p,h},i=n(),o=Cs;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=J3(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Kh(o).set(n,e),o}},J3=(t,e)=>{switch(t[0]){case"Q":{let r=e||or;return[or.prefix,r.decode(`${or.prefix}${t}`)]}case or.prefix:{let r=e||or;return[or.prefix,r.decode(t)]}case $i.prefix:{let r=e||$i;return[$i.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},Z3=(t,e,r)=>{let{prefix:n}=r;if(n!==or.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},e6=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Cs=112,t6=18,qb=(t,e,r)=>{let n=Gi(t),i=n+Gi(e),o=new Uint8Array(i+r.byteLength);return Hi(t,o,0),Hi(e,o,n),o.set(r,i),o},r6=Symbol.for("@ipld/js-cid/CID");var Vh={...Ph,..._h,...Nh,...Ch,...Ih,...Rh,...Bh,...Dh,...Lh,...Th},aq={...Fh,...kh};function zb(t=0){return globalThis.Buffer?.allocUnsafe!=null?wh(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Hb(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var $b=Hb("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),qh=Hb("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=zb(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),dq={utf8:$b,"utf-8":$b,hex:Vh.base16,latin1:qh,ascii:qh,binary:qh,...Vh};var zh;(function(t){let e;t.codec=()=>(e==null&&(e=Ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.id!=null&&(n.uint32(10),n.bytes(r.id)),r.pubKey!=null&&(n.uint32(18),n.bytes(r.pubKey)),r.privKey!=null&&(n.uint32(26),n.bytes(r.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.id=r.bytes();break;case 2:i.pubKey=r.bytes();break;case 3:i.privKey=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Je(r,t.codec()),t.decode=r=>je(r,t.codec())})(zh||(zh={}));var Gb=async()=>{let t=await lb("Ed25519"),e=await n6(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function n6(t){return sc(hb(t.public),db(t))}var i6=Math.pow(2,7),o6=Math.pow(2,14),s6=Math.pow(2,21),$h=Math.pow(2,28),Hh=Math.pow(2,35),Gh=Math.pow(2,42),Wh=Math.pow(2,49),ae=128,st=127;function at(t){if(t<i6)return 1;if(t<o6)return 2;if(t<s6)return 3;if(t<$h)return 4;if(t<Hh)return 5;if(t<Gh)return 6;if(t<Wh)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function a6(t,e,r=0){switch(at(t)){case 8:e[r++]=t&255|ae,t/=128;case 7:e[r++]=t&255|ae,t/=128;case 6:e[r++]=t&255|ae,t/=128;case 5:e[r++]=t&255|ae,t/=128;case 4:e[r++]=t&255|ae,t>>>=7;case 3:e[r++]=t&255|ae,t>>>=7;case 2:e[r++]=t&255|ae,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function c6(t,e,r=0){switch(at(t)){case 8:e.set(r++,t&255|ae),t/=128;case 7:e.set(r++,t&255|ae),t/=128;case 6:e.set(r++,t&255|ae),t/=128;case 5:e.set(r++,t&255|ae),t/=128;case 4:e.set(r++,t&255|ae),t>>>=7;case 3:e.set(r++,t&255|ae),t>>>=7;case 2:e.set(r++,t&255|ae),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function u6(t,e){let r=t[e],n=0;if(n+=r&st,r<ae||(r=t[e+1],n+=(r&st)<<7,r<ae)||(r=t[e+2],n+=(r&st)<<14,r<ae)||(r=t[e+3],n+=(r&st)<<21,r<ae)||(r=t[e+4],n+=(r&st)*$h,r<ae)||(r=t[e+5],n+=(r&st)*Hh,r<ae)||(r=t[e+6],n+=(r&st)*Gh,r<ae)||(r=t[e+7],n+=(r&st)*Wh,r<ae))return n;throw new RangeError("Could not decode varint")}function f6(t,e){let r=t.get(e),n=0;if(n+=r&st,r<ae||(r=t.get(e+1),n+=(r&st)<<7,r<ae)||(r=t.get(e+2),n+=(r&st)<<14,r<ae)||(r=t.get(e+3),n+=(r&st)<<21,r<ae)||(r=t.get(e+4),n+=(r&st)*$h,r<ae)||(r=t.get(e+5),n+=(r&st)*Hh,r<ae)||(r=t.get(e+6),n+=(r&st)*Gh,r<ae)||(r=t.get(e+7),n+=(r&st)*Wh,r<ae))return n;throw new RangeError("Could not decode varint")}function yt(t,e,r=0){return e==null&&(e=it(at(t))),e instanceof Uint8Array?a6(t,e,r):c6(t,e,r)}function zt(t,e=0){return t instanceof Uint8Array?u6(t,e):f6(t,e)}function Lt(t,e){e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=it(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Bn(r)}function fc(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var Yb=Symbol.for("@achingbrain/uint8arraylist");function Wb(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function lc(t){return!!t?.[Yb]}var He=class t{bufs;length;[Yb]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(lc(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(lc(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=Wb(this.bufs,e);return r.buf[r.index]}set(e,r){let n=Wb(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(lc(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return Lt(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Lt(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),o=new t;return o.length=i,o.bufs=[...n],o}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===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,e>=c)continue;let u=e>=a&&e<c,f=r>a&&r<=c;if(u&&f){if(e===a&&r===c){n.push(s);break}let h=e-a;n.push(s.subarray(h,h+(r-e)));break}if(u){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(f){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!lc(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;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 h=0;h<o;h++)s[h]=-1;for(let h=0;h<i;h++)s[n[h]]=h;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let h=r;h<=c;h+=f){f=0;for(let p=u;p>=0;p--){let y=this.get(h+p);if(n[p]!==y){f=Math.max(1,p-a[y]);break}}if(f===0)return h}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=it(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=Sr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=Sr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=Sr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=it(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=Sr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=Sr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=Sr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=Sr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=Sr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof t)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!fc(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function Qb(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function hc(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var Jh={};R(Jh,{base10:()=>y6});function l6(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(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 d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var h6=l6,d6=h6,Xb=d6;var Fq=new Uint8Array(0);var jb=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Br=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var Jb=t=>new TextEncoder().encode(t),Zb=t=>new TextDecoder().decode(t);var Yh=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Qh=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return tw(this,e)}},Xh=class{constructor(e){this.decoders=e}or(e){return tw(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},tw=(t,e)=>new Xh({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),jh=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Yh(e,r,n),this.decoder=new Qh(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Yi=({name:t,prefix:e,encode:r,decode:n})=>new jh(t,e,r,n),on=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=Xb(r,e);return Yi({prefix:t,name:e,encode:n,decode:o=>Br(i(o))})},p6=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},m6=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},_e=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Yi({prefix:e,name:t,encode(i){return m6(i,n,r)},decode(i){return p6(i,n,r,t)}});var y6=on({prefix:"9",name:"base10",alphabet:"0123456789"});var Zh={};R(Zh,{base16:()=>g6,base16upper:()=>x6});var g6=_e({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),x6=_e({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ed={};R(ed,{base2:()=>b6});var b6=_e({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var td={};R(td,{base256emoji:()=>S6});var rw=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}"),w6=rw.reduce((t,e,r)=>(t[r]=e,t),[]),v6=rw.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function E6(t){return t.reduce((e,r)=>(e+=w6[r],e),"")}function A6(t){let e=[];for(let r of t){let n=v6[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var S6=Yi({prefix:"\u{1F680}",name:"base256emoji",encode:E6,decode:A6});var rd={};R(rd,{base32:()=>Qi,base32hex:()=>T6,base32hexpad:()=>B6,base32hexpadupper:()=>D6,base32hexupper:()=>R6,base32pad:()=>I6,base32padupper:()=>_6,base32upper:()=>C6,base32z:()=>L6});var Qi=_e({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),C6=_e({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),I6=_e({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),_6=_e({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),T6=_e({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),R6=_e({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),B6=_e({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),D6=_e({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),L6=_e({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var nd={};R(nd,{base36:()=>N6,base36upper:()=>P6});var N6=on({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),P6=on({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var id={};R(id,{base58btc:()=>sr,base58flickr:()=>O6});var sr=on({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),O6=on({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var od={};R(od,{base64:()=>k6,base64pad:()=>U6,base64url:()=>M6,base64urlpad:()=>F6});var k6=_e({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),U6=_e({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),M6=_e({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),F6=_e({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var sd={};R(sd,{base8:()=>K6});var K6=_e({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ad={};R(ad,{identity:()=>V6});var V6=Yi({prefix:"\0",name:"identity",encode:t=>Zb(t),decode:t=>Jb(t)});var ez=new TextEncoder,tz=new TextDecoder;var ud={};R(ud,{identity:()=>f5});var $6=ow,nw=128,H6=127,G6=~H6,W6=Math.pow(2,31);function ow(t,e,r){e=e||[],r=r||0;for(var n=r;t>=W6;)e[r++]=t&255|nw,t/=128;for(;t&G6;)e[r++]=t&255|nw,t>>>=7;return e[r]=t|0,ow.bytes=r-n+1,e}var Y6=cd,Q6=128,iw=127;function cd(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw cd.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&iw)<<i:(s&iw)*Math.pow(2,i),i+=7}while(s>=Q6);return cd.bytes=o-n,r}var X6=Math.pow(2,7),j6=Math.pow(2,14),J6=Math.pow(2,21),Z6=Math.pow(2,28),e5=Math.pow(2,35),t5=Math.pow(2,42),r5=Math.pow(2,49),n5=Math.pow(2,56),i5=Math.pow(2,63),o5=function(t){return t<X6?1:t<j6?2:t<J6?3:t<Z6?4:t<e5?5:t<t5?6:t<r5?7:t<n5?8:t<i5?9:10},s5={encode:$6,decode:Y6,encodingLength:o5},a5=s5,Is=a5;var _s=(t,e=0)=>[Is.decode(t,e),Is.decode.bytes],Xi=(t,e,r=0)=>(Is.encode(t,e,r),e),ji=t=>Is.encodingLength(t);var $n=(t,e)=>{let r=e.byteLength,n=ji(t),i=n+ji(r),o=new Uint8Array(i+r);return Xi(t,o,0),Xi(r,o,n),o.set(e,i),new Ji(t,r,e,o)},sw=t=>{let e=Br(t),[r,n]=_s(e),[i,o]=_s(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Ji(r,i,s,e)},aw=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&jb(t.bytes,r.bytes)}},Ji=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var cw=0,c5="identity",uw=Br,u5=t=>$n(cw,uw(t)),f5={code:cw,name:c5,encode:uw,digest:u5};var hd={};R(hd,{sha256:()=>l5,sha512:()=>h5});var ld=({name:t,code:e,encode:r})=>new fd(t,e,r),fd=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?$n(this.code,r):r.then(n=>$n(this.code,n))}else throw Error("Unknown type, must be binary type")}};var lw=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),l5=ld({name:"sha2-256",code:18,encode:lw("SHA-256")}),h5=ld({name:"sha2-512",code:19,encode:lw("SHA-512")});var hw=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return p5(r,dd(t),e||sr.encoder);default:return m5(r,dd(t),e||Qi.encoder)}};var dw=new WeakMap,dd=t=>{let e=dw.get(t);if(e==null){let r=new Map;return dw.set(t,r),r}return e},pc=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Rs)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==y5)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=$n(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&aw(e.multihash,n.multihash)}toString(e){return hw(this,e)}toJSON(){return{"/":hw(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||pw(n,i,o.bytes))}else if(r[g5]===!0){let{version:n,multihash:i,code:o}=r,s=sw(i);return t.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Rs)throw new Error(`Version 0 CID must use dag-pb (code: ${Rs}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=pw(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Rs,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Br(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Ji(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=_s(e.subarray(r));return r+=p,h},i=n(),o=Rs;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=d5(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return dd(o).set(n,e),o}},d5=(t,e)=>{switch(t[0]){case"Q":{let r=e||sr;return[sr.prefix,r.decode(`${sr.prefix}${t}`)]}case sr.prefix:{let r=e||sr;return[sr.prefix,r.decode(t)]}case Qi.prefix:{let r=e||Qi;return[Qi.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},p5=(t,e,r)=>{let{prefix:n}=r;if(n!==sr.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},m5=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Rs=112,y5=18,pw=(t,e,r)=>{let n=ji(t),i=n+ji(e),o=new Uint8Array(i+r.byteLength);return Xi(t,o,0),Xi(e,o,n),o.set(r,i),o},g5=Symbol.for("@ipld/js-cid/CID");var pd={...ad,...ed,...sd,...Jh,...Zh,...rd,...nd,...id,...od,...td},gz={...hd,...ud};function mw(t=0){return globalThis.Buffer?.allocUnsafe!=null?hc(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function gw(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var yw=gw("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),md=gw("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=mw(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),x5={utf8:yw,"utf-8":yw,hex:pd.base16,latin1:md,ascii:md,binary:md,...pd},xw=x5;function bw(t,e="utf8"){let r=xw[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?hc(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var ww={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Bs;(function(t){let e;t.codec=()=>(e==null&&(e=Ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.publicKey=r.bytes();break;case 2:i.payloadType=r.bytes();break;case 3:i.payload=r.bytes();break;case 5:i.signature=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Je(r,t.codec()),t.decode=r=>je(r,t.codec())})(Bs||(Bs={}));var Zi=class t{static createFromProtobuf=async e=>{let r=Bs.decode(e),n=await sc(r.publicKey);return new t({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(e,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=e.domain,i=e.codec,o=e.marshal(),s=vw(n,i,o),c=await(await ih(r.privateKey)).sign(s.subarray());return new t({peerId:r,payloadType:i,payload:o,signature:c})};static openAndCertify=async(e,r)=>{let n=await t.createFromProtobuf(e);if(!await n.validate(r))throw new _("envelope signature is not valid for the given domain",ww.ERR_SIGNATURE_NOT_VALID);return n};peerId;payloadType;payload;signature;marshaled;constructor(e){let{peerId:r,payloadType:n,payload:i,signature:o}=e;this.peerId=r,this.payloadType=n,this.payload=i,this.signature=o}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=Bs.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return Qb(this.marshal(),e.marshal())}async validate(e){let r=vw(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return bs(this.peerId.publicKey).verify(r.subarray(),this.signature)}},vw=(t,e,r)=>{let n=bw(t),i=yt(n.byteLength),o=yt(e.length),s=yt(r.length);return new He(i,n,o,e,s,r)};function Ew(t,e){let r=(n,i)=>n.toString().localeCompare(i.toString());return t.length!==e.length?!1:(e.sort(r),t.sort(r).every((n,i)=>e[i].equals(n)))}var wd={};R(wd,{base58btc:()=>gt,base58flickr:()=>S5});function b5(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(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 d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var w5=b5,v5=w5,Aw=v5;var Vz=new Uint8Array(0);var Sw=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Dr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var Cw=t=>new TextEncoder().encode(t),Iw=t=>new TextDecoder().decode(t);var yd=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},gd=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Tw(this,e)}},xd=class{constructor(e){this.decoders=e}or(e){return Tw(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Tw=(t,e)=>new xd({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),bd=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new yd(e,r,n),this.decoder=new gd(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},eo=({name:t,prefix:e,encode:r,decode:n})=>new bd(t,e,r,n),sn=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=Aw(r,e);return eo({prefix:t,name:e,encode:n,decode:o=>Dr(i(o))})},E5=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},A5=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Te=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>eo({prefix:e,name:t,encode(i){return A5(i,n,r)},decode(i){return E5(i,n,r,t)}});var gt=sn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),S5=sn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var vd={};R(vd,{base32:()=>Lr,base32hex:()=>T5,base32hexpad:()=>B5,base32hexpadupper:()=>D5,base32hexupper:()=>R5,base32pad:()=>I5,base32padupper:()=>_5,base32upper:()=>C5,base32z:()=>L5});var Lr=Te({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),C5=Te({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),I5=Te({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),_5=Te({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),T5=Te({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),R5=Te({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),B5=Te({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),D5=Te({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),L5=Te({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var N5=Dw,Rw=128,P5=127,O5=~P5,k5=Math.pow(2,31);function Dw(t,e,r){e=e||[],r=r||0;for(var n=r;t>=k5;)e[r++]=t&255|Rw,t/=128;for(;t&O5;)e[r++]=t&255|Rw,t>>>=7;return e[r]=t|0,Dw.bytes=r-n+1,e}var U5=Ed,M5=128,Bw=127;function Ed(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Ed.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&Bw)<<i:(s&Bw)*Math.pow(2,i),i+=7}while(s>=M5);return Ed.bytes=o-n,r}var F5=Math.pow(2,7),K5=Math.pow(2,14),V5=Math.pow(2,21),q5=Math.pow(2,28),z5=Math.pow(2,35),$5=Math.pow(2,42),H5=Math.pow(2,49),G5=Math.pow(2,56),W5=Math.pow(2,63),Y5=function(t){return t<F5?1:t<K5?2:t<V5?3:t<q5?4:t<z5?5:t<$5?6:t<H5?7:t<G5?8:t<W5?9:10},Q5={encode:N5,decode:U5,encodingLength:Y5},X5=Q5,Ds=X5;var Ls=(t,e=0)=>[Ds.decode(t,e),Ds.decode.bytes],to=(t,e,r=0)=>(Ds.encode(t,e,r),e),ro=t=>Ds.encodingLength(t);var Hn=(t,e)=>{let r=e.byteLength,n=ro(t),i=n+ro(r),o=new Uint8Array(i+r);return to(t,o,0),to(r,o,n),o.set(e,i),new no(t,r,e,o)},yc=t=>{let e=Dr(t),[r,n]=Ls(e),[i,o]=Ls(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new no(r,i,s,e)},Lw=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Sw(t.bytes,r.bytes)}},no=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Nw=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return J5(r,Ad(t),e||gt.encoder);default:return Z5(r,Ad(t),e||Lr.encoder)}};var Pw=new WeakMap,Ad=t=>{let e=Pw.get(t);if(e==null){let r=new Map;return Pw.set(t,r),r}return e},an=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Ns)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==eR)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Hn(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Lw(e.multihash,n.multihash)}toString(e){return Nw(this,e)}toJSON(){return{"/":Nw(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||Ow(n,i,o.bytes))}else if(r[tR]===!0){let{version:n,multihash:i,code:o}=r,s=yc(i);return t.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Ns)throw new Error(`Version 0 CID must use dag-pb (code: ${Ns}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=Ow(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Ns,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Dr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new no(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=Ls(e.subarray(r));return r+=p,h},i=n(),o=Ns;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=j5(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ad(o).set(n,e),o}},j5=(t,e)=>{switch(t[0]){case"Q":{let r=e||gt;return[gt.prefix,r.decode(`${gt.prefix}${t}`)]}case gt.prefix:{let r=e||gt;return[gt.prefix,r.decode(t)]}case Lr.prefix:{let r=e||Lr;return[Lr.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},J5=(t,e,r)=>{let{prefix:n}=r;if(n!==gt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},Z5=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Ns=112,eR=18,Ow=(t,e,r)=>{let n=ro(t),i=n+ro(e),o=new Uint8Array(i+r.byteLength);return to(t,o,0),to(e,o,n),o.set(r,i),o},tR=Symbol.for("@ipld/js-cid/CID");function xt(t,e="utf8"){let r=ja[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var gc=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let f=this.readAtomically(()=>{let h=this.readChar();if(h===void 0)return;let p=Number.parseInt(h,e);if(!Number.isNaN(p))return p});if(f===void 0)break;if(o*=e,o+=f,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=e(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var kw=45,rR=15,oo=new gc;function Sd(t){if(!(t.length>rR))return oo.new(t).parseWith(()=>oo.readIPv4Addr())}function Cd(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>kw))return oo.new(t).parseWith(()=>oo.readIPv6Addr())}function xc(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>kw))return oo.new(t).parseWith(()=>oo.readIPAddr())}var h$=parseInt("0xFFFF",16),d$=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Id={};R(Id,{base10:()=>aR});var aR=sn({prefix:"9",name:"base10",alphabet:"0123456789"});var _d={};R(_d,{base16:()=>cR,base16upper:()=>uR});var cR=Te({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),uR=Te({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Td={};R(Td,{base2:()=>fR});var fR=Te({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Rd={};R(Rd,{base256emoji:()=>mR});var Fw=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}"),lR=Fw.reduce((t,e,r)=>(t[r]=e,t),[]),hR=Fw.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function dR(t){return t.reduce((e,r)=>(e+=lR[r],e),"")}function pR(t){let e=[];for(let r of t){let n=hR[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var mR=eo({prefix:"\u{1F680}",name:"base256emoji",encode:dR,decode:pR});var Bd={};R(Bd,{base36:()=>yR,base36upper:()=>gR});var yR=sn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),gR=sn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Dd={};R(Dd,{base64:()=>xR,base64pad:()=>bR,base64url:()=>wR,base64urlpad:()=>vR});var xR=Te({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),bR=Te({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),wR=Te({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),vR=Te({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Ld={};R(Ld,{base8:()=>ER});var ER=Te({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Nd={};R(Nd,{identity:()=>AR});var AR=eo({prefix:"\0",name:"identity",encode:t=>Iw(t),decode:t=>Cw(t)});var $$=new TextEncoder,H$=new TextDecoder;var Pd={};R(Pd,{identity:()=>TR});var Kw=0,IR="identity",Vw=Dr,_R=t=>Hn(Kw,Vw(t)),TR={code:Kw,name:IR,encode:Vw,digest:_R};var Ud={};R(Ud,{sha256:()=>RR,sha512:()=>BR});var kd=({name:t,code:e,encode:r})=>new Od(t,e,r),Od=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Hn(this.code,r):r.then(n=>Hn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var zw=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),RR=kd({name:"sha2-256",code:18,encode:zw("SHA-256")}),BR=kd({name:"sha2-512",code:19,encode:zw("SHA-512")});var $w={...Nd,...Td,...Ld,...Id,..._d,...vd,...Bd,...wd,...Dd,...Rd},Z$={...Ud,...Pd};function bc(t){return!!Sd(t)}function wc(t){return!!Cd(t)}function so(t){return!!xc(t)}var Hw=bc,DR=wc,Md=function(t){let e=0;if(t=t.toString().trim(),Hw(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(DR(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=Hw(r[n]),s;o&&(s=Md(r[n]),r[n]=xt(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,xt(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[e++]=o>>8&255,i[e++]=o&255}return i}throw new Error("invalid ip address")},Gw=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(t[e+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(e+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var ao={},Fd={},NR=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];NR.forEach(t=>{let e=PR(...t);Fd[e.code]=e,ao[e.name]=e});function PR(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function ue(t){if(typeof t=="number"){if(Fd[t]!=null)return Fd[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(ao[t]!=null)return ao[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var yH=ue("ip4"),gH=ue("ip6"),xH=ue("ipcidr");function Vd(t,e){switch(ue(t).code){case 4:case 41:return kR(e);case 42:return Qw(e);case 6:case 273:case 33:case 132:return jw(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Qw(e);case 421:return KR(e);case 444:return Xw(e);case 445:return Xw(e);case 466:return FR(e);default:return xt(e,"base16")}}function qd(t,e){switch(ue(t).code){case 4:return Ww(e);case 41:return Ww(e);case 42:return Yw(e);case 6:case 273:case 33:case 132:return zd(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Yw(e);case 421:return UR(e);case 444:return VR(e);case 445:return qR(e);case 466:return MR(e);default:return cs(e,"base16")}}var Kd=Object.values($w).map(t=>t.decoder),OR=function(){let t=Kd[0].or(Kd[1]);return Kd.slice(2).forEach(e=>t=t.or(e)),t}();function Ww(t){if(!so(t))throw new Error("invalid ip address");return Md(t)}function kR(t){let e=Gw(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!so(e))throw new Error("invalid ip address");return e}function zd(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function jw(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Yw(t){let e=cs(t),r=Uint8Array.from(yt(e.length));return Lt([r,e],r.length+e.length)}function Qw(t){let e=zt(t);if(t=t.slice(at(e)),t.length!==e)throw new Error("inconsistent lengths");return xt(t)}function UR(t){let e;t[0]==="Q"||t[0]==="1"?e=yc(gt.decode(`z${t}`)).bytes:e=an.parse(t).multihash.bytes;let r=Uint8Array.from(yt(e.length));return Lt([r,e],r.length+e.length)}function MR(t){let e=OR.decode(t),r=Uint8Array.from(yt(e.length));return Lt([r,e],r.length+e.length)}function FR(t){let e=zt(t),r=t.slice(at(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+xt(r,"base64url")}function KR(t){let e=zt(t),r=t.slice(at(e));if(r.length!==e)throw new Error("inconsistent lengths");return xt(r,"base58btc")}function VR(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=Lr.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=zd(n);return Lt([r,i],r.length+i.length)}function qR(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=Lr.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=zd(n);return Lt([r,i],r.length+i.length)}function Xw(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=xt(e,"base32"),i=jw(r);return`${n}:${i}`}function Jw(t){t=$d(t);let e=[],r=[],n=null,i=t.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let s=i[o],a=ue(s);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw e1("invalid address: "+t);if(a.path===!0){n=$d(i.slice(o).join("/")),e.push([a.code,qd(a.code,n)]),r.push([a.code,n]);break}let c=qd(a.code,i[o]);e.push([a.code,c]),r.push([a.code,Vd(a.code,c)])}return{string:Zw(r),bytes:Gd(e),tuples:e,stringTuples:r,path:n}}function Hd(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let o=zt(t,i),s=at(o),a=ue(o),c=zR(a,t.slice(i+s));if(c===0){e.push([o]),r.push([o]),i+=s;continue}let u=t.slice(i+s,i+s+c);if(i+=c+s,i>t.length)throw e1("Invalid address Uint8Array: "+xt(t,"base16"));e.push([o,u]);let f=Vd(o,u);if(r.push([o,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(t),string:Zw(r),tuples:e,stringTuples:r,path:n}}function Zw(t){let e=[];return t.map(r=>{let n=ue(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),$d(e.join("/"))}function Gd(t){return Lt(t.map(e=>{let r=ue(e[0]),n=Uint8Array.from(yt(r.code));return e.length>1&&e[1]!=null&&(n=Lt([n,e[1]])),n}))}function zR(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=zt(e instanceof Uint8Array?e:Uint8Array.from(e));return r+at(r)}}function $d(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function e1(t){return new Error("Error parsing address: "+t)}var $R=Symbol.for("nodejs.util.inspect.custom"),Wd=Symbol.for("@multiformats/js-multiaddr/multiaddr"),HR=[ue("dns").code,ue("dns4").code,ue("dns6").code,ue("dnsaddr").code],vc=class t{bytes;#e;#i;#o;#a;[Wd]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=Hd(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=Jw(e)}else if(cn(e))r=Hd(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#i=r.tuples,this.#o=r.stringTuples,this.#a=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,o="",s=ue("tcp"),a=ue("udp"),c=ue("ip4"),u=ue("ip6"),f=ue("dns6"),h=ue("ip6zone");for(let[y,l]of this.stringTuples())y===h.code&&(o=`%${l??""}`),HR.includes(y)&&(r=s.name,i=443,n=`${l??""}${o}`,e=y===f.code?6:4),(y===s.code||y===a.code)&&(r=ue(y).name,i=parseInt(l??"")),(y===c.code||y===u.code)&&(r=ue(y).name,n=`${l??""}${o}`,e=y===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.#i.map(([e])=>Object.assign({},ue(e)))}protoCodes(){return this.#i.map(([e])=>e)}protoNames(){return this.#i.map(([e])=>ue(e).name)}tuples(){return this.#i}stringTuples(){return this.#o}encapsulate(e){return e=new t(e),new t(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new t(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new t(Gd(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===ao.p2p.code&&e.push([n,i]),n===ao["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?xt(gt.decode(`z${n}`),"base58btc"):xt(an.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#a}equals(e){return fc(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=Ec.get(r.name);if(n==null)throw new _(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(o=>new t(o))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[$R](){return`Multiaddr(${this.#e})`}};var Ec=new Map;function cn(t){return!!t?.[Wd]}function Ke(t){return new vc(t)}var t1="libp2p-peer-record",r1=Uint8Array.from([3,1]);var Ps;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=Ze((o,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),o.multiaddr!=null&&o.multiaddr.byteLength>0&&(s.uint32(10),s.bytes(o.multiaddr)),a.lengthDelimited!==!1&&s.ldelim()},(o,s)=>{let a={multiaddr:new Uint8Array(0)},c=s==null?o.len:o.pos+s;for(;o.pos<c;){let u=o.uint32();switch(u>>>3){case 1:a.multiaddr=o.bytes();break;default:o.skipType(u&7);break}}return a})),i),n.encode=o=>Je(o,n.codec()),n.decode=o=>je(o,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=Ze((n,i,o={})=>{if(o.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let s of n.addresses)i.uint32(26),t.AddressInfo.codec().encode(s,i);o.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let o={peerId:new Uint8Array(0),seq:0n,addresses:[]},s=i==null?n.len:n.pos+i;for(;n.pos<s;){let a=n.uint32();switch(a>>>3){case 1:o.peerId=n.bytes();break;case 2:o.seq=n.uint64();break;case 3:o.addresses.push(t.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return o})),r),t.encode=n=>Je(n,t.codec()),t.decode=n=>je(n,t.codec())})(Ps||(Ps={}));var Gn=class t{static createFromProtobuf=e=>{let r=Ps.decode(e),n=qi(r.peerId),i=(r.addresses??[]).map(s=>Ke(s.multiaddr)),o=r.seq;return new t({peerId:n,multiaddrs:i,seqNumber:o})};static DOMAIN=t1;static CODEC=r1;peerId;multiaddrs;seqNumber;domain=t.DOMAIN;codec=t.CODEC;marshaled;constructor(e){let{peerId:r,multiaddrs:n,seqNumber:i}=e;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=Ps.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))})),this.marshaled}equals(e){return!(!(e instanceof t)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!Ew(this.multiaddrs,e.multiaddrs))}};function GR(t){return t[Symbol.asyncIterator]!=null}function WR(t){if(GR(t))return(async()=>{let r=[];for await(let n of t)r.push(n);return r})();let e=[];for(let r of t)e.push(r);return e}var Os=WR;var Wn=we(i1(),1);var Nr=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Qd=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},o1=t=>globalThis.DOMException===void 0?new Qd(t):new DOMException(t),s1=t=>{let e=t.reason===void 0?o1("This operation was aborted."):t.reason;return e instanceof Error?e:o1(e)};function Pr(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=e,s,c=new Promise((u,f)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:p}=e;p.aborted&&f(s1(p)),p.addEventListener("abort",()=>{f(s1(p))})}if(r===Number.POSITIVE_INFINITY){t.then(u,f);return}let h=new Nr;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(p){f(p)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?u():i instanceof Error?f(i):(h.message=i??`Promise timed out after ${r} milliseconds`,f(h))},r),(async()=>{try{u(await t)}catch(p){f(p)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}function Xd(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var Us=class{#e=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=r.priority){this.#e.push(n);return}let i=Xd(this.#e,n,(o,s)=>s.priority-o.priority);this.#e.splice(i,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var co=class extends Wn.default{#e;#i;#o=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#f;#s;#y;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Us,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#y=e.throwOnTimeout===!0,this.#s=e.autoStart===!1}get#b(){return this.#i||this.#o<this.#a}get#w(){return this.#n<this.#f}#v(){this.#n--,this.#l(),this.emit("next")}#E(){this.#x(),this.#g(),this.#u=void 0}get#A(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#o=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#E()},r)),!0}return!1}#l(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#s){let e=!this.#A;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#g(),!0):!1}}return!1}#g(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#o===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#o=this.#e?this.#n:0,this.#h()}#h(){for(;this.#l(););}get concurrency(){return this.#f}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#f=e,this.#h()}async#S(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#y,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#o++;try{r.signal?.throwIfAborted();let o=e({signal:r.signal});r.timeout&&(o=Pr(Promise.resolve(o),{milliseconds:r.timeout})),r.signal&&(o=Promise.race([o,this.#S(r.signal)]));let s=await o;n(s),this.emit("completed",s)}catch(o){if(o instanceof Nr&&!r.throwOnTimeout){n();return}i(o),this.emit("error",o)}finally{this.#v()}},r),this.emit("add"),this.#l()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#s?(this.#s=!1,this.#h(),this):this}pause(){this.#s=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.size===0||await this.#d("idle")}async#d(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#s}};var un={},uo=t=>{t.addEventListener("message",e=>{uo.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{uo.dispatchEvent("message",t,e)})};uo.addEventListener=(t,e)=>{un[t]==null&&(un[t]=[]),un[t].push(e)};uo.removeEventListener=(t,e)=>{un[t]!=null&&(un[t]=un[t].filter(r=>r===e))};uo.dispatchEvent=function(t,e,r){un[t]!=null&&un[t].forEach(n=>n(e,r))};var jd=uo;var Jd="lock:worker:request-read",Zd="lock:worker:release-read",e0="lock:master:grant-read",t0="lock:worker:request-write",r0="lock:worker:release-write",n0="lock:master:grant-write";var a1=(t=21)=>Math.random().toString().substring(2);var c1=(t,e,r,n,i)=>(o,s)=>{if(s.data.type!==r)return;let a={type:s.data.type,name:s.data.name,identifier:s.data.identifier};t.dispatchEvent(new MessageEvent(e,{data:{name:a.name,handler:async()=>{o.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=f=>{if(f==null||f.data==null)return;let h={type:f.data.type,name:f.data.name,identifier:f.data.identifier};h.type===n&&h.identifier===a.identifier&&(o.removeEventListener("message",u),c())};o.addEventListener("message",u)})}}}))},u1=(t,e,r,n)=>async()=>{let i=a1();return globalThis.postMessage({type:e,identifier:i,name:t}),new Promise(o=>{let s=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===r&&c.identifier===i&&(globalThis.removeEventListener("message",s),o(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",s)})},XR={singleProcess:!1},f1=t=>{if(t=Object.assign({},XR,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return jd.addEventListener("message",c1(r,"requestReadLock",Jd,Zd,e0)),jd.addEventListener("message",c1(r,"requestWriteLock",t0,r0,n0)),r}return{isWorker:!0,readLock:r=>u1(r,Jd,e0,Zd),writeLock:r=>u1(r,t0,n0,r0)}};var Yn={},fn;async function i0(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>Pr((async()=>{await new Promise(i=>{r(()=>{i()})})})(),{milliseconds:e.timeout})),n}var jR=(t,e)=>{if(fn.isWorker===!0)return{readLock:fn.readLock(t,e),writeLock:fn.writeLock(t,e)};let r=new co({concurrency:1}),n;return{async readLock(){if(n!=null)return i0(n,e);n=new co({concurrency:e.concurrency,autoStart:!1});let i=n,o=i0(n,e);return r.add(async()=>{i.start(),await i.onIdle().then(()=>{n===i&&(n=null)})}),o},async writeLock(){return n=null,i0(r,e)}}},JR={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function o0(t){let e=Object.assign({},JR,t);return fn==null&&(fn=f1(e),fn.isWorker!==!0&&(fn.addEventListener("requestReadLock",r=>{Yn[r.data.name]!=null&&Yn[r.data.name].readLock().then(async n=>r.data.handler().finally(()=>{n()}))}),fn.addEventListener("requestWriteLock",async r=>{Yn[r.data.name]!=null&&Yn[r.data.name].writeLock().then(async n=>r.data.handler().finally(()=>{n()}))}))),Yn[e.name]==null&&(Yn[e.name]=jR(e.name,e)),Yn[e.name]}function Sc(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var et={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var fo;(function(t){let e;(function(i){let o;i.codec=()=>(o==null&&(o=Ze((s,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),s.key!=null&&s.key!==""&&(a.uint32(10),a.string(s.key)),s.value!=null&&s.value.byteLength>0&&(a.uint32(18),a.bytes(s.value)),c.lengthDelimited!==!1&&a.ldelim()},(s,a)=>{let c={key:"",value:new Uint8Array(0)},u=a==null?s.len:s.pos+a;for(;s.pos<u;){let f=s.uint32();switch(f>>>3){case 1:c.key=s.string();break;case 2:c.value=s.bytes();break;default:s.skipType(f&7);break}}return c})),o),i.encode=s=>Je(s,i.codec()),i.decode=s=>je(s,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let o;i.codec=()=>(o==null&&(o=Ze((s,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),s.key!=null&&s.key!==""&&(a.uint32(10),a.string(s.key)),s.value!=null&&(a.uint32(18),Ic.codec().encode(s.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(s,a)=>{let c={key:""},u=a==null?s.len:s.pos+a;for(;s.pos<u;){let f=s.uint32();switch(f>>>3){case 1:c.key=s.string();break;case 2:c.value=Ic.codec().decode(s,s.uint32());break;default:s.skipType(f&7);break}}return c})),o),i.encode=s=>Je(s,i.codec()),i.decode=s=>je(s,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=Ze((i,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),i.addresses!=null)for(let a of i.addresses)o.uint32(10),Cc.codec().encode(a,o);if(i.protocols!=null)for(let a of i.protocols)o.uint32(18),o.string(a);if(i.publicKey!=null&&(o.uint32(34),o.bytes(i.publicKey)),i.peerRecordEnvelope!=null&&(o.uint32(42),o.bytes(i.peerRecordEnvelope)),i.metadata!=null&&i.metadata.size!==0)for(let[a,c]of i.metadata.entries())o.uint32(50),t.Peer$metadataEntry.codec().encode({key:a,value:c},o);if(i.tags!=null&&i.tags.size!==0)for(let[a,c]of i.tags.entries())o.uint32(58),t.Peer$tagsEntry.codec().encode({key:a,value:c},o);s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={addresses:[],protocols:[],metadata:new Map,tags:new Map},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.addresses.push(Cc.codec().decode(i,i.uint32()));break;case 2:s.protocols.push(i.string());break;case 4:s.publicKey=i.bytes();break;case 5:s.peerRecordEnvelope=i.bytes();break;case 6:{let u=t.Peer$metadataEntry.codec().decode(i,i.uint32());s.metadata.set(u.key,u.value);break}case 7:{let u=t.Peer$tagsEntry.codec().decode(i,i.uint32());s.tags.set(u.key,u.value);break}default:i.skipType(c&7);break}}return s})),n),t.encode=i=>Je(i,t.codec()),t.decode=i=>je(i,t.codec())})(fo||(fo={}));var Cc;(function(t){let e;t.codec=()=>(e==null&&(e=Ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.multiaddr!=null&&r.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(r.multiaddr)),r.isCertified!=null&&(n.uint32(16),n.bool(r.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={multiaddr:new Uint8Array(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.multiaddr=r.bytes();break;case 2:i.isCertified=r.bool();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Je(r,t.codec()),t.decode=r=>je(r,t.codec())})(Cc||(Cc={}));var Ic;(function(t){let e;t.codec=()=>(e==null&&(e=Ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.value!=null&&r.value!==0&&(n.uint32(8),n.uint32(r.value)),r.expiry!=null&&(n.uint32(16),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={value:0},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.value=r.uint32();break;case 2:i.expiry=r.uint64();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Je(r,t.codec()),t.decode=r=>je(r,t.codec())})(Ic||(Ic={}));function lo(t,e){let r=fo.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=Ab({...t,publicKey:t.publicKey}));let n=new Map,i=BigInt(Date.now());for(let[o,s]of r.tags.entries())s.expiry!=null&&s.expiry<i||n.set(o,s);return{...r,id:t,addresses:r.addresses.map(({multiaddr:o,isCertified:s})=>({multiaddr:Ke(o),isCertified:s??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}function _c(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var f0={};R(f0,{base10:()=>iB});function ZR(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(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 d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var eB=ZR,tB=eB,l1=tB;var NG=new Uint8Array(0);var h1=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Or=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var d1=t=>new TextEncoder().encode(t),p1=t=>new TextDecoder().decode(t);var s0=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},a0=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return y1(this,e)}},c0=class{constructor(e){this.decoders=e}or(e){return y1(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},y1=(t,e)=>new c0({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),u0=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new s0(e,r,n),this.decoder=new a0(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},ho=({name:t,prefix:e,encode:r,decode:n})=>new u0(t,e,r,n),ln=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=l1(r,e);return ho({prefix:t,name:e,encode:n,decode:o=>Or(i(o))})},rB=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},nB=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Re=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>ho({prefix:e,name:t,encode(i){return nB(i,n,r)},decode(i){return rB(i,n,r,t)}});var iB=ln({prefix:"9",name:"base10",alphabet:"0123456789"});var l0={};R(l0,{base16:()=>oB,base16upper:()=>sB});var oB=Re({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),sB=Re({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var h0={};R(h0,{base2:()=>aB});var aB=Re({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var d0={};R(d0,{base256emoji:()=>hB});var g1=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}"),cB=g1.reduce((t,e,r)=>(t[r]=e,t),[]),uB=g1.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function fB(t){return t.reduce((e,r)=>(e+=cB[r],e),"")}function lB(t){let e=[];for(let r of t){let n=uB[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var hB=ho({prefix:"\u{1F680}",name:"base256emoji",encode:fB,decode:lB});var p0={};R(p0,{base32:()=>po,base32hex:()=>yB,base32hexpad:()=>xB,base32hexpadupper:()=>bB,base32hexupper:()=>gB,base32pad:()=>pB,base32padupper:()=>mB,base32upper:()=>dB,base32z:()=>wB});var po=Re({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),dB=Re({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),pB=Re({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),mB=Re({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),yB=Re({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),gB=Re({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),xB=Re({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),bB=Re({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),wB=Re({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var m0={};R(m0,{base36:()=>vB,base36upper:()=>EB});var vB=ln({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),EB=ln({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var y0={};R(y0,{base58btc:()=>ar,base58flickr:()=>AB});var ar=ln({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),AB=ln({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var g0={};R(g0,{base64:()=>SB,base64pad:()=>CB,base64url:()=>IB,base64urlpad:()=>_B});var SB=Re({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),CB=Re({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),IB=Re({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),_B=Re({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var x0={};R(x0,{base8:()=>TB});var TB=Re({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var b0={};R(b0,{identity:()=>RB});var RB=ho({prefix:"\0",name:"identity",encode:t=>p1(t),decode:t=>d1(t)});var YG=new TextEncoder,QG=new TextDecoder;var v0={};R(v0,{identity:()=>JB});var LB=w1,x1=128,NB=127,PB=~NB,OB=Math.pow(2,31);function w1(t,e,r){e=e||[],r=r||0;for(var n=r;t>=OB;)e[r++]=t&255|x1,t/=128;for(;t&PB;)e[r++]=t&255|x1,t>>>=7;return e[r]=t|0,w1.bytes=r-n+1,e}var kB=w0,UB=128,b1=127;function w0(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw w0.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&b1)<<i:(s&b1)*Math.pow(2,i),i+=7}while(s>=UB);return w0.bytes=o-n,r}var MB=Math.pow(2,7),FB=Math.pow(2,14),KB=Math.pow(2,21),VB=Math.pow(2,28),qB=Math.pow(2,35),zB=Math.pow(2,42),$B=Math.pow(2,49),HB=Math.pow(2,56),GB=Math.pow(2,63),WB=function(t){return t<MB?1:t<FB?2:t<KB?3:t<VB?4:t<qB?5:t<zB?6:t<$B?7:t<HB?8:t<GB?9:10},YB={encode:LB,decode:kB,encodingLength:WB},QB=YB,Ms=QB;var Fs=(t,e=0)=>[Ms.decode(t,e),Ms.decode.bytes],mo=(t,e,r=0)=>(Ms.encode(t,e,r),e),yo=t=>Ms.encodingLength(t);var Qn=(t,e)=>{let r=e.byteLength,n=yo(t),i=n+yo(r),o=new Uint8Array(i+r);return mo(t,o,0),mo(r,o,n),o.set(e,i),new go(t,r,e,o)},v1=t=>{let e=Or(t),[r,n]=Fs(e),[i,o]=Fs(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new go(r,i,s,e)},E1=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&h1(t.bytes,r.bytes)}},go=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var A1=0,XB="identity",S1=Or,jB=t=>Qn(A1,S1(t)),JB={code:A1,name:XB,encode:S1,digest:jB};var S0={};R(S0,{sha256:()=>ZB,sha512:()=>eD});var A0=({name:t,code:e,encode:r})=>new E0(t,e,r),E0=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Qn(this.code,r):r.then(n=>Qn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var I1=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),ZB=A0({name:"sha2-256",code:18,encode:I1("SHA-256")}),eD=A0({name:"sha2-512",code:19,encode:I1("SHA-512")});var _1=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return rD(r,C0(t),e||ar.encoder);default:return nD(r,C0(t),e||po.encoder)}};var T1=new WeakMap,C0=t=>{let e=T1.get(t);if(e==null){let r=new Map;return T1.set(t,r),r}return e},Rc=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Vs)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==iD)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Qn(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&E1(e.multihash,n.multihash)}toString(e){return _1(this,e)}toJSON(){return{"/":_1(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||R1(n,i,o.bytes))}else if(r[oD]===!0){let{version:n,multihash:i,code:o}=r,s=v1(i);return t.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Vs)throw new Error(`Version 0 CID must use dag-pb (code: ${Vs}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=R1(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Vs,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Or(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new go(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=Fs(e.subarray(r));return r+=p,h},i=n(),o=Vs;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=tD(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return C0(o).set(n,e),o}},tD=(t,e)=>{switch(t[0]){case"Q":{let r=e||ar;return[ar.prefix,r.decode(`${ar.prefix}${t}`)]}case ar.prefix:{let r=e||ar;return[ar.prefix,r.decode(t)]}case po.prefix:{let r=e||po;return[po.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},rD=(t,e,r)=>{let{prefix:n}=r;if(n!==ar.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},nD=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Vs=112,iD=18,R1=(t,e,r)=>{let n=yo(t),i=n+yo(e),o=new Uint8Array(i+r.byteLength);return mo(t,o,0),mo(e,o,n),o.set(r,i),o},oD=Symbol.for("@ipld/js-cid/CID");var I0={...b0,...h0,...x0,...f0,...l0,...p0,...m0,...y0,...g0,...d0},lW={...S0,...v0};function B1(t=0){return globalThis.Buffer?.allocUnsafe!=null?_c(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function L1(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var D1=L1("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),_0=L1("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=B1(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),sD={utf8:D1,"utf-8":D1,hex:I0.base16,latin1:_0,ascii:_0,binary:_0,...I0},Bc=sD;function N1(t,e="utf8"){let r=Bc[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?_c(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function P1(t,e="utf8"){let r=Bc[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var kr="/",O1=new TextEncoder().encode(kr),Dc=O1[0],Xn=class t{_buf;constructor(e,r){if(typeof e=="string")this._buf=N1(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Dc)throw new Error("Invalid key")}toString(e="utf8"){return P1(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new t(e.join(kr))}static random(){return new t(Math.random().toString().substring(2))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new t(e):typeof e.uint8Array=="function"?new t(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=O1),this._buf[0]!==Dc){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Dc,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Dc;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let o=r[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return r.length<n.length}reverse(){return t.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(kr).slice(1)}type(){return aD(this.baseNamespace())}name(){return cD(this.baseNamespace())}instance(e){return new t(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(kr)||(e+=kr),e+=this.type(),new t(e)}parent(){let e=this.list();return e.length===1?new t(kr):new t(e.slice(0,-1).join(kr))}child(e){return this.toString()===kr?e:e.toString()===kr?this:new t(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return t.withNamespaces([...this.namespaces(),...uD(e.map(r=>r.namespaces()))])}};function aD(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function cD(t){let e=t.split(":");return e[e.length-1]}function uD(t){return[].concat(...t)}var T0="/peers/";function xo(t){if(!Ta(t)||t.type==null)throw new _("Invalid PeerId",et.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new Xn(`${T0}${e}`)}async function k1(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=Ke(i.multiaddr)),!cn(i.multiaddr))throw new _("Multiaddr was invalid",et.ERR_INVALID_PARAMETERS);if(!await e(t,i.multiaddr))continue;let o=i.isCertified??!1,s=i.multiaddr.toString(),a=n.get(s);a!=null?i.isCertified=a.isCertified||o:n.set(s,{multiaddr:i.multiaddr,isCertified:o})}return[...n.values()].sort((i,o)=>i.multiaddr.toString().localeCompare(o.multiaddr.toString())).map(({isCertified:i,multiaddr:o})=>({isCertified:i,multiaddr:o.bytes}))}async function Nc(t,e,r,n){if(e==null)throw new _("Invalid PeerData",et.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!Sc(e.publicKey,t.publicKey))throw new _("publicKey bytes do not match peer id publicKey bytes",et.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new _("peer id did not match existing peer id",et.ERR_INVALID_PARAMETERS);let o=i?.addresses??[],s=new Set(i?.protocols??[]),a=i?.metadata??new Map,c=i?.tags??new Map,u=i?.peerRecordEnvelope;if(r==="patch"){if((e.multiaddrs!=null||e.addresses!=null)&&(o=[],e.multiaddrs!=null&&o.push(...e.multiaddrs.map(h=>({isCertified:!1,multiaddr:h}))),e.addresses!=null&&o.push(...e.addresses)),e.protocols!=null&&(s=new Set(e.protocols)),e.metadata!=null){let h=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=Lc(h,{validate:U1})}if(e.tags!=null){let h=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=Lc(h,{validate:M1,map:F1})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&o.push(...e.multiaddrs.map(h=>({isCertified:!1,multiaddr:h}))),e.addresses!=null&&o.push(...e.addresses),e.protocols!=null&&(s=new Set([...s,...e.protocols])),e.metadata!=null){let h=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[p,y]of h)y==null?a.delete(p):a.set(p,y);a=Lc([...a.entries()],{validate:U1})}if(e.tags!=null){let h=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),p=new Map(c);for(let[y,l]of h)l==null?p.delete(y):p.set(y,l);c=Lc([...p.entries()],{validate:M1,map:F1})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let f={addresses:await k1(t,n.addressFilter??(async()=>!0),o),protocols:[...s.values()].sort((h,p)=>h.localeCompare(p)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete f.publicKey,f}function Lc(t,e){let r=new Map;for(let[n,i]of t)i!=null&&e.validate(n,i);for(let[n,i]of t.sort(([o],[s])=>o.localeCompare(s)))i!=null&&r.set(n,e.map?.(n,i)??i);return r}function U1(t,e){if(typeof t!="string")throw new _("Metadata key must be a string",et.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new _("Metadata value must be a Uint8Array",et.ERR_INVALID_PARAMETERS)}function M1(t,e){if(typeof t!="string")throw new _("Tag name must be a string",et.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new _("Tag value must be an integer",et.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new _("Tag value must be between 0-100",et.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new _("Tag ttl must be an integer",et.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new _("Tag ttl must be between greater than 0",et.ERR_INVALID_PARAMETERS)}}function F1(t,e){let r;return e.expiry!=null&&(r=e.expiry),e.ttl!=null&&(r=BigInt(Date.now()+Number(e.ttl))),{value:e.value??0,expiry:r}}function Pc(t,e,r){let n=t.toString().split("/")[2],i=ir.decode(n),o=qi(i),s=r.get(o);if(s!=null)return s;let a=lo(o,e);return r.set(o,a),a}function fD(t,e){return t==null?{}:{prefix:T0,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(Pc(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(Pc(n.key,n.value,e),Pc(i.key,i.value,e)))}}var Oc=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=o0({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(xo(e))}async delete(e){if(this.peerId.equals(e))throw new _("Cannot delete self peer",et.ERR_INVALID_PARAMETERS);await this.datastore.delete(xo(e))}async load(e){let r=await this.datastore.get(xo(e));return lo(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await Nc(e,r,"patch",{addressFilter:this.addressFilter});return this.#i(e,o,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await Nc(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return this.#i(e,o,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await Nc(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#i(e,o,n,i)}async*all(e){let r=new ot;for await(let{key:n,value:i}of this.datastore.query(fD(e??{},r))){let o=Pc(n,i,r);o.id.equals(this.peerId)||(yield o)}}async#e(e){try{let r=await this.datastore.get(xo(e)),n=lo(e,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}}async#i(e,r,n,i){let o=fo.encode(r);return n!=null&&Sc(o,n)?{peer:lo(e,o),previous:i,updated:!1}:(await this.datastore.put(xo(e),o),{peer:lo(e,o),previous:i,updated:!0})}};var kc=class{store;events;peerId;log;constructor(e,r={}){this.log=e.logger.forComponent("libp2p:peer-store"),this.events=e.events,this.peerId=e.peerId,this.store=new Oc(e,r)}async forEach(e,r){this.log.trace("forEach await read lock");let n=await this.store.lock.readLock();this.log.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{this.log.trace("forEach release read lock"),n()}}async all(e){this.log.trace("all await read lock");let r=await this.store.lock.readLock();this.log.trace("all got read lock");try{return await Os(this.store.all(e))}finally{this.log.trace("all release read lock"),r()}}async delete(e){this.log.trace("delete await write lock");let r=await this.store.lock.writeLock();this.log.trace("delete got write lock");try{await this.store.delete(e)}finally{this.log.trace("delete release write lock"),r()}}async has(e){this.log.trace("has await read lock");let r=await this.store.lock.readLock();this.log.trace("has got read lock");try{return await this.store.has(e)}finally{this.log.trace("has release read lock"),r()}}async get(e){this.log.trace("get await read lock");let r=await this.store.lock.readLock();this.log.trace("get got read lock");try{return await this.store.load(e)}finally{this.log.trace("get release read lock"),r()}}async save(e,r){this.log.trace("save await write lock");let n=await this.store.lock.writeLock();this.log.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("save release write lock"),n()}}async patch(e,r){this.log.trace("patch await write lock");let n=await this.store.lock.writeLock();this.log.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("patch release write lock"),n()}}async merge(e,r){this.log.trace("merge await write lock");let n=await this.store.lock.writeLock();this.log.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await Zi.openAndCertify(e,Gn.DOMAIN);if(r?.equals(n.peerId)===!1)return this.log("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=Gn.createFromProtobuf(n.payload),o;try{o=await this.get(n.peerId)}catch(s){if(s.code!=="ERR_NOT_FOUND")throw s}if(o?.peerRecordEnvelope!=null){let s=await Zi.createFromProtobuf(o.peerRecordEnvelope),a=Gn.createFromProtobuf(s.payload);if(a.seqNumber>=i.seqNumber)return this.log("sequence number was lower or equal to existing sequence number - stored: %d received: %d",a.seqNumber,i.seqNumber),!1}return await this.patch(i.peerId,{peerRecordEnvelope:e,addresses:i.multiaddrs.map(s=>({isCertified:!0,multiaddr:s}))}),!0}#e(e,r){r.updated&&(this.peerId.equals(e)?this.events.safeDispatchEvent("self:peer:update",{detail:r}):this.events.safeDispatchEvent("peer:update",{detail:r}))}};function lD(t){return t[Symbol.asyncIterator]!=null}function hD(t){if(lD(t))return(async()=>{for await(let e of t);})();for(let e of t);}var R0=hD;function dD(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var K1=dD;function pD(t){return t[Symbol.asyncIterator]!=null}function mD(t,e){if(pD(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=K1(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=e(n);if(typeof o.then=="function")return async function*(){await o&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let s=e;return function*(){o===!0&&(yield n);for(let a of r)s(a)&&(yield a)}()}var jn=mD;function yD(t){return t[Symbol.asyncIterator]!=null}function gD(t,e){return yD(t)?async function*(){yield*(await Os(t)).sort(e)}():function*(){yield*Os(t).sort(e)}()}var B0=gD;function xD(t){return t[Symbol.asyncIterator]!=null}function bD(t,e){return xD(t)?async function*(){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}}():function*(){let r=0;if(!(e<1)){for(let n of t)if(yield n,r++,r===e)return}}()}var D0=bD;var Uc=class{put(e,r,n){return Promise.reject(new Error(".put is not implemented"))}get(e,r){return Promise.reject(new Error(".get is not implemented"))}has(e,r){return Promise.reject(new Error(".has is not implemented"))}delete(e,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,r={}){for await(let{key:n,value:i}of e)await this.put(n,i,r),yield n}async*getMany(e,r={}){for await(let n of e)yield{key:n,value:await this.get(n,r)}}async*deleteMany(e,r={}){for await(let n of e)await this.delete(n,r),yield n}batch(){let e=[],r=[];return{put(n,i){e.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await R0(this.putMany(e,n)),e=[],await R0(this.deleteMany(r,n)),r=[]}}}async*_all(e,r){throw new Error("._all is not implemented")}async*_allKeys(e,r){throw new Error("._allKeys is not implemented")}query(e,r){let n=this._all(e,r);if(e.prefix!=null){let i=e.prefix;n=jn(n,o=>o.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>jn(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>B0(i,o),n)),e.offset!=null){let i=0,o=e.offset;n=jn(n,()=>i++>=o)}return e.limit!=null&&(n=D0(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=jn(n,o=>o.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>jn(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>B0(i,o),n)),e.offset!=null){let i=e.offset,o=0;n=jn(n,()=>o++>=i)}return e.limit!=null&&(n=D0(n,e.limit)),n}};var z1=we(L0(),1);function $1(t){return t=t??new Error("Not Found"),(0,z1.default)(t,"ERR_NOT_FOUND")}var Mc=class extends Uc{data;constructor(){super(),this.data=new Map}put(e,r){return this.data.set(e.toString(),r),e}get(e){let r=this.data.get(e.toString());if(r==null)throw $1();return r}has(e){return this.data.has(e.toString())}delete(e){this.data.delete(e.toString())}*_all(){for(let[e,r]of this.data.entries())yield{key:new Xn(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new Xn(e)}};function Jn(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Fc(t=0){return globalThis.Buffer?.allocUnsafe!=null?Jn(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function H1(t,e){if(globalThis.Buffer!=null)return Jn(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=Fc(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Jn(r)}var U0={};R(U0,{base10:()=>_D});function ED(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(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 d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var AD=ED,SD=AD,G1=SD;var CY=new Uint8Array(0);var W1=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Ur=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var Y1=t=>new TextEncoder().encode(t),Q1=t=>new TextDecoder().decode(t);var N0=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},P0=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return j1(this,e)}},O0=class{constructor(e){this.decoders=e}or(e){return j1(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},j1=(t,e)=>new O0({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),k0=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new N0(e,r,n),this.decoder=new P0(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},bo=({name:t,prefix:e,encode:r,decode:n})=>new k0(t,e,r,n),hn=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=G1(r,e);return bo({prefix:t,name:e,encode:n,decode:o=>Ur(i(o))})},CD=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},ID=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Be=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>bo({prefix:e,name:t,encode(i){return ID(i,n,r)},decode(i){return CD(i,n,r,t)}});var _D=hn({prefix:"9",name:"base10",alphabet:"0123456789"});var M0={};R(M0,{base16:()=>TD,base16upper:()=>RD});var TD=Be({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),RD=Be({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var F0={};R(F0,{base2:()=>BD});var BD=Be({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var K0={};R(K0,{base256emoji:()=>OD});var J1=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}"),DD=J1.reduce((t,e,r)=>(t[r]=e,t),[]),LD=J1.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function ND(t){return t.reduce((e,r)=>(e+=DD[r],e),"")}function PD(t){let e=[];for(let r of t){let n=LD[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var OD=bo({prefix:"\u{1F680}",name:"base256emoji",encode:ND,decode:PD});var V0={};R(V0,{base32:()=>wo,base32hex:()=>FD,base32hexpad:()=>VD,base32hexpadupper:()=>qD,base32hexupper:()=>KD,base32pad:()=>UD,base32padupper:()=>MD,base32upper:()=>kD,base32z:()=>zD});var wo=Be({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),kD=Be({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),UD=Be({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),MD=Be({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),FD=Be({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),KD=Be({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),VD=Be({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),qD=Be({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),zD=Be({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var q0={};R(q0,{base36:()=>$D,base36upper:()=>HD});var $D=hn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),HD=hn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var z0={};R(z0,{base58btc:()=>cr,base58flickr:()=>GD});var cr=hn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),GD=hn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var $0={};R($0,{base64:()=>WD,base64pad:()=>YD,base64url:()=>QD,base64urlpad:()=>XD});var WD=Be({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),YD=Be({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),QD=Be({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),XD=Be({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var H0={};R(H0,{base8:()=>jD});var jD=Be({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var G0={};R(G0,{identity:()=>JD});var JD=bo({prefix:"\0",name:"identity",encode:t=>Q1(t),decode:t=>Y1(t)});var KY=new TextEncoder,VY=new TextDecoder;var Y0={};R(Y0,{identity:()=>vL});var tL=t2,Z1=128,rL=127,nL=~rL,iL=Math.pow(2,31);function t2(t,e,r){e=e||[],r=r||0;for(var n=r;t>=iL;)e[r++]=t&255|Z1,t/=128;for(;t&nL;)e[r++]=t&255|Z1,t>>>=7;return e[r]=t|0,t2.bytes=r-n+1,e}var oL=W0,sL=128,e2=127;function W0(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw W0.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&e2)<<i:(s&e2)*Math.pow(2,i),i+=7}while(s>=sL);return W0.bytes=o-n,r}var aL=Math.pow(2,7),cL=Math.pow(2,14),uL=Math.pow(2,21),fL=Math.pow(2,28),lL=Math.pow(2,35),hL=Math.pow(2,42),dL=Math.pow(2,49),pL=Math.pow(2,56),mL=Math.pow(2,63),yL=function(t){return t<aL?1:t<cL?2:t<uL?3:t<fL?4:t<lL?5:t<hL?6:t<dL?7:t<pL?8:t<mL?9:10},gL={encode:tL,decode:oL,encodingLength:yL},xL=gL,qs=xL;var zs=(t,e=0)=>[qs.decode(t,e),qs.decode.bytes],vo=(t,e,r=0)=>(qs.encode(t,e,r),e),Eo=t=>qs.encodingLength(t);var Zn=(t,e)=>{let r=e.byteLength,n=Eo(t),i=n+Eo(r),o=new Uint8Array(i+r);return vo(t,o,0),vo(r,o,n),o.set(e,i),new Ao(t,r,e,o)},r2=t=>{let e=Ur(t),[r,n]=zs(e),[i,o]=zs(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Ao(r,i,s,e)},n2=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&W1(t.bytes,r.bytes)}},Ao=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var i2=0,bL="identity",o2=Ur,wL=t=>Zn(i2,o2(t)),vL={code:i2,name:bL,encode:o2,digest:wL};var j0={};R(j0,{sha256:()=>EL,sha512:()=>AL});var X0=({name:t,code:e,encode:r})=>new Q0(t,e,r),Q0=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Zn(this.code,r):r.then(n=>Zn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var a2=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),EL=X0({name:"sha2-256",code:18,encode:a2("SHA-256")}),AL=X0({name:"sha2-512",code:19,encode:a2("SHA-512")});var c2=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return CL(r,J0(t),e||cr.encoder);default:return IL(r,J0(t),e||wo.encoder)}};var u2=new WeakMap,J0=t=>{let e=u2.get(t);if(e==null){let r=new Map;return u2.set(t,r),r}return e},Vc=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Hs)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==_L)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Zn(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&n2(e.multihash,n.multihash)}toString(e){return c2(this,e)}toJSON(){return{"/":c2(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||f2(n,i,o.bytes))}else if(r[TL]===!0){let{version:n,multihash:i,code:o}=r,s=r2(i);return t.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Hs)throw new Error(`Version 0 CID must use dag-pb (code: ${Hs}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=f2(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Hs,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Ur(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Ao(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=zs(e.subarray(r));return r+=p,h},i=n(),o=Hs;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=SL(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return J0(o).set(n,e),o}},SL=(t,e)=>{switch(t[0]){case"Q":{let r=e||cr;return[cr.prefix,r.decode(`${cr.prefix}${t}`)]}case cr.prefix:{let r=e||cr;return[cr.prefix,r.decode(t)]}case wo.prefix:{let r=e||wo;return[wo.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},CL=(t,e,r)=>{let{prefix:n}=r;if(n!==cr.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},IL=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Hs=112,_L=18,f2=(t,e,r)=>{let n=Eo(t),i=n+Eo(e),o=new Uint8Array(i+r.byteLength);return vo(t,o,0),vo(e,o,n),o.set(r,i),o},TL=Symbol.for("@ipld/js-cid/CID");var Z0={...G0,...F0,...H0,...U0,...M0,...V0,...q0,...z0,...$0,...K0},nQ={...j0,...Y0};function h2(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var l2=h2("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),ep=h2("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Fc(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),RL={utf8:l2,"utf-8":l2,hex:Z0.base16,latin1:ep,ascii:ep,binary:ep,...Z0},qc=RL;function zc(t,e="utf8"){let r=qc[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Jn(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function d2(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var BL=t=>t;function tp(t,e){let r=t.getPeerId();return r!=null&&se(r).equals(e)&&(t=t.decapsulate(Ke(`/p2p/${e.toString()}`))),t}var $c=class{log;components;listen;announce;observed;announceFilter;constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.log=e.logger.forComponent("libp2p:address-manager"),this.listen=n.map(o=>o.toString()),this.announce=new Set(i.map(o=>o.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??BL,this._updatePeerStoreAddresses=d2(this._updatePeerStoreAddresses.bind(this),1e3),e.events.addEventListener("transport:listening",()=>{this._updatePeerStoreAddresses()}),e.events.addEventListener("transport:close",()=>{this._updatePeerStoreAddresses()})}_updatePeerStoreAddresses(){let e=this.getAnnounceAddrs().concat(this.components.transportManager.getAddrs()).concat([...this.observed.entries()].filter(([r,n])=>n.confident).map(([r])=>Ke(r))).map(r=>r.getPeerId()===this.components.peerId.toString()?r.decapsulate(`/p2p/${this.components.peerId.toString()}`):r);this.components.peerStore.patch(this.components.peerId,{multiaddrs:e}).catch(r=>{this.log.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>Ke(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>Ke(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>Ke(e))}addObservedAddr(e){e=tp(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=tp(e,this.components.peerId);let r=e.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this._updatePeerStoreAddresses()}removeObservedAddr(e){e=tp(e,this.components.peerId);let r=e.toString();this.observed.delete(r)}getAddresses(){let e=this.getAnnounceAddrs().map(n=>n.toString());e.length===0&&(e=this.components.transportManager.getAddrs().map(n=>n.toString())),e=e.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(e);return this.announceFilter(Array.from(r).map(n=>Ke(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};var rp=class{components={};_started=!1;constructor(e={}){this.components={};for(let[r,n]of Object.entries(e))this.components[r]=n;this.components.logger==null&&(this.components.logger=oc())}isStarted(){return this._started}async _invokeStartableMethod(e){await Promise.all(Object.values(this.components).filter(r=>Jy(r)).map(async r=>{await r[e]?.()}))}async beforeStart(){await this._invokeStartableMethod("beforeStart")}async start(){await this._invokeStartableMethod("start"),this._started=!0}async afterStart(){await this._invokeStartableMethod("afterStart")}async beforeStop(){await this._invokeStartableMethod("beforeStop")}async stop(){await this._invokeStartableMethod("stop"),this._started=!1}async afterStop(){await this._invokeStartableMethod("afterStop")}},DL=["metrics","connectionProtector"],LL=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function p2(t={}){let e=new rp(t);return new Proxy(e,{get(n,i,o){if(typeof i=="string"&&!LL.includes(i)){let s=e.components[i];if(s==null&&!DL.includes(i))throw new _(`${i} not set`,"ERR_SERVICE_MISSING");return s}return Reflect.get(n,i,o)},set(n,i,o){return typeof i=="string"?e.components[i]=o:Reflect.set(n,i,o),!0}})}var v2=we(m2(),1);var y2="[a-fA-F\\d:]",dn=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${y2})|(?<=${y2})(?=\\s|$))`:"",$t="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Ue="[a-fA-F\\d]{1,4}",Hc=`
|
|
35
|
+
expire = ${o}
|
|
36
|
+
RETURNING points, expire;`,values:[e,r,s,Date.now()]})}_get(e){return this.tableCreated?new Promise((r,n)=>{this._query({name:"rlflx-get",text:`
|
|
37
|
+
SELECT points, expire FROM ${this._getTableIdentifier()} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[e,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this._getTableIdentifier()} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};Pp.exports=Zu});var Np=q(()=>{});var Op=q((o6,kp)=>{kp.exports=class{constructor(e,r,n=null){this.value=e,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(e){this._value=parseInt(e)}get expiresAt(){return this._expiresAt}set expiresAt(e){!(e instanceof Date)&&Number.isInteger(e)&&(e=new Date(e)),this._expiresAt=e}get timeoutId(){return this._timeoutId}set timeoutId(e){this._timeoutId=e}}});var Up=q((c6,Mp)=>{var yE=Op(),ju=ft();Mp.exports=class{constructor(){this._storage={}}incrby(e,r,n){if(this._storage[e]){let i=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return!this._storage[e].expiresAt||i>0?(this._storage[e].value=this._storage[e].value+r,new ju(0,i,this._storage[e].value,!1)):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let i=n*1e3;return this._storage[e]&&this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),this._storage[e]=new yE(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[e].timeoutId=setTimeout(()=>{delete this._storage[e]},i),this._storage[e].timeoutId.unref&&this._storage[e].timeoutId.unref()),new ju(0,i===0?-1:i,this._storage[e].value,!0)}get(e){if(this._storage[e]){let r=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return new ju(0,r,this._storage[e].value,!1)}return null}delete(e){return this._storage[e]?(this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),delete this._storage[e],!0):!1}}});var el=q((u6,Kp)=>{var gE=Gi(),xE=Up(),Fp=ft(),Ju=class extends gE{constructor(e={}){super(e),this._memoryStorage=new xE}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(o,r,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+r&&(c=this._memoryStorage.set(o,c.consumedPoints,this.blockDuration)),s(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let u=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));u<this.execEvenlyMinDelayMs&&(u=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,u,c)}else i(c)})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}block(e,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(e),i,r),Promise.resolve(new Fp(0,n===0?-1:n,i))}set(e,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(e),r,n),Promise.resolve(new Fp(0,i===0?-1:i,r))}get(e){let r=this._memoryStorage.get(this.getKey(e));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(e){return Promise.resolve(this._memoryStorage.delete(this.getKey(e)))}};Kp.exports=Ju});var Wp=q((l6,Gp)=>{var qp=Np(),bE=hi(),wE=Gi(),$p=el(),EE=ft(),St="rate_limiter_flexible",ni=null,Vp=function(t,e,r,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},t.send({channel:St,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},zp=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&zp.call(this,t)},30)},ti=function(t,e,r,n,i){let s={channel:St,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(s):zp.call(this,s)},Hp=function(t,e){if(!e||e.channel!==St||typeof this._rateLimiters[e.keyPrefix]>"u")return!1;let r;switch(e.func){case"consume":r=this._rateLimiters[e.keyPrefix].consume(e.data.key,e.data.arg,e.data.opts);break;case"penalty":r=this._rateLimiters[e.keyPrefix].penalty(e.data.key,e.data.arg,e.data.opts);break;case"reward":r=this._rateLimiters[e.keyPrefix].reward(e.data.key,e.data.arg,e.data.opts);break;case"block":r=this._rateLimiters[e.keyPrefix].block(e.data.key,e.data.arg,e.data.opts);break;case"get":r=this._rateLimiters[e.keyPrefix].get(e.data.key,e.data.opts);break;case"delete":r=this._rateLimiters[e.keyPrefix].delete(e.data.key,e.data.opts);break;default:return!1}r&&r.then(n=>{Vp(t,e,"resolve",n)}).catch(n=>{Vp(t,e,"reject",n)})},vE=function(t){if(!t||t.channel!==St||t.keyPrefix!==this.keyPrefix)return!1;if(this._promises[t.promiseId]){clearTimeout(this._promises[t.promiseId].timeoutId);let e;switch(t.data===null||t.data===!0||t.data===!1?e=t.data:e=new EE(t.data.remainingPoints,t.data.msBeforeNext,t.data.consumedPoints,t.data.isFirstInDuration),t.type){case"resolve":this._promises[t.promiseId].resolve(e);break;case"reject":this._promises[t.promiseId].reject(e);break;default:throw new Error(`RateLimiterCluster: no such message type '${t.type}'`)}delete this._promises[t.promiseId]}},_E=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},ri=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=bE.randomBytes(12).toString("base64")),this._promises[n]={resolve:t,reject:e,timeoutId:setTimeout(()=>{delete this._promises[n],e(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},tl=class{constructor(){if(ni)return ni;this._rateLimiters={},qp.setMaxListeners(0),qp.on("message",(e,r)=>{r&&r.channel===St&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new $p(r.opts)),e.send({channel:St,type:"init",keyPrefix:r.opts.keyPrefix})):Hp.call(this,e,r)}),ni=this}},rl=class{constructor(e){if(ni)return ni;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let s=i.raw;if(s&&s.channel===St&&s.type==="init")typeof this._rateLimiters[s.opts.keyPrefix]>"u"&&(this._rateLimiters[s.opts.keyPrefix]=new $p(s.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:St,channel:St,type:"init",keyPrefix:s.opts.keyPrefix},(o,a)=>{o&&console.log(o,a)});else{let o={send:a=>{let c=a;c.topic=St,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};Hp.call(this,o,s)}})}),ni=this}},nl=class extends wE{get timeoutMs(){return this._timeoutMs}set timeoutMs(e){this._timeoutMs=typeof e>"u"?5e3:Math.abs(parseInt(e))}constructor(e={}){super(e),process.setMaxListeners(0),this.timeoutMs=e.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===St&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:vE.call(this,r)}),process.send({channel:St,type:"init",opts:_E.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=ri.call(this,i,s);ti.call(this,"consume",o,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,s)=>{let o=ri.call(this,i,s);ti.call(this,"penalty",o,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,s)=>{let o=ri.call(this,i,s);ti.call(this,"reward",o,e,r,n)})}block(e,r,n={}){return new Promise((i,s)=>{let o=ri.call(this,i,s);ti.call(this,"block",o,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let s=ri.call(this,n,i);ti.call(this,"get",s,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let s=ri.call(this,n,i);ti.call(this,"delete",s,e,r)})}};Gp.exports={RateLimiterClusterMaster:tl,RateLimiterClusterMasterPM2:rl,RateLimiterCluster:nl}});var Qp=q((f6,Yp)=>{var SE=hn(),AE=ft(),il=class extends SE{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new AE;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===r,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(e,r,n,i=!1,s={}){return new Promise((o,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(e,r,u,l=>{l?a(l):this.client.set(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let f={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(f)})}):this.client.incr(e,r,(l,f)=>{l||f===!1?this.client.add(e,r,u,(d,p)=>{if(d||!p)if(typeof s.attemptNumber>"u"||s.attemptNumber<3){let h=Object.assign({},s);h.attemptNumber=h.attemptNumber?h.attemptNumber+1:1,this._upsert(e,r,n,i,h).then(m=>o(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let h={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(h)})}):this.client.get(`${e}_expire`,(d,p)=>{if(d)a(d);else{let h=p===!1?0:p,m={consumedPoints:f,msBeforeNext:h>=0?Math.max(h-c,0):-1};o(m)}})})})}_get(e){return new Promise((r,n)=>{let i=Date.now();this.client.get(e,(s,o)=>{o?this.client.get(`${e}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,l={consumedPoints:o,msBeforeNext:u>=0?Math.max(u-i,0):-1};r(l)}}):r(null)})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,s)=>{i?n(i):s===!1?r(s):this.client.del(`${e}_expire`,o=>{o?n(o):r(s)})})})}};Yp.exports=il});var jp=q((d6,Zp)=>{var Xp=ft();Zp.exports=class{constructor(e={}){this.limiter=e.limiter,this.blackList=e.blackList,this.whiteList=e.whiteList,this.isBlackListed=e.isBlackListed,this.isWhiteListed=e.isWhiteListed,this.runActionAnyway=e.runActionAnyway}get limiter(){return this._limiter}set limiter(e){if(typeof e>"u")throw new Error("limiter is not set");this._limiter=e}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(e){this._runActionAnyway=typeof e>"u"?!1:e}get blackList(){return this._blackList}set blackList(e){this._blackList=Array.isArray(e)?e:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isBlackListed must be function");this._isBlackListed=e}get whiteList(){return this._whiteList}set whiteList(e){this._whiteList=Array.isArray(e)?e:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=e}isBlackListedSomewhere(e){return this.blackList.indexOf(e)>=0||this.isBlackListed(e)}isWhiteListedSomewhere(e){return this.whiteList.indexOf(e)>=0||this.isWhiteListed(e)}getBlackRes(){return new Xp(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new Xp(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(e,r=1){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(e,r):(this.runActionAnyway&&this.limiter.consume(e,r).catch(()=>{}),n)}block(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(e,r):(this.runActionAnyway&&this.limiter.block(e,r).catch(()=>{}),n)}penalty(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(e,r):(this.runActionAnyway&&this.limiter.penalty(e,r).catch(()=>{}),n)}reward(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(e,r):(this.runActionAnyway&&this.limiter.reward(e,r).catch(()=>{}),n)}get(e){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(e):r}delete(e){return this.limiter.delete(e)}}});var em=q((m6,Jp)=>{var IE=Gi();Jp.exports=class{constructor(...e){if(e.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");e.forEach(r=>{if(!(r instanceof IE))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=e}consume(e,r=1){return new Promise((n,i)=>{let s=[];this._limiters.forEach(o=>{s.push(o.consume(e,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(s).then(o=>{let a={},c=!1;o.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<o.length;u++)c&&o[u].rejected===!0?a[this._limiters[u].keyPrefix]=o[u].rej:c||(a[this._limiters[u].keyPrefix]=o[u]);c?i(a):n(a)})})}}});var rm=q((g6,tm)=>{tm.exports=class extends Error{constructor(e,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=e,r&&(this.extra=r)}}});var om=q((b6,sm)=>{var nm=rm(),im=4294967295,sl="limiter";sm.exports=class{constructor(e,r={maxQueueSize:im}){this._queueLimiters={KEY_DEFAULT:new So(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=sl){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=sl){return this._queueLimiters[r]||(this._queueLimiters[r]=new So(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var So=class{constructor(e,r={maxQueueSize:im,key:sl}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(e=>e!==null?e.remainingPoints:this._limiterFlexible.points)}removeTokens(e){let r=this;return new Promise((n,i)=>{if(e>r._limiterFlexible.points){i(new nm(`Requested tokens ${e} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,e):r._limiterFlexible.consume(r._key,e).then(s=>{n(s.remainingPoints)}).catch(s=>{s instanceof Error?i(s):(r._queueRequest.call(r,n,i,e),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),s.msBeforeNext)))})})}_queueRequest(e,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:r,tokens:n}):r(new nm(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let e=this;if(e._waitTimeout!==null&&(clearTimeout(e._waitTimeout),e._waitTimeout=null),e._queue.length===0)return;let r=e._queue.shift();e._limiterFlexible.consume(e._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),e._processFIFO.call(e)}).catch(n=>{n instanceof Error?(r.reject(n),e._processFIFO.call(e)):(e._queue.unshift(r),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),n.msBeforeNext)))})}}});var cm=q((E6,am)=>{var ol=ft();am.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return e?new ol(e.remainingPoints,Math.min(e.msBeforeNext,r?r.msBeforeNext:0),e.consumedPoints,e.isFirstInDuration):null}consume(e,r=1,n={}){return this._rateLimiter.consume(e,r,n).catch(i=>i instanceof ol?this._burstLimiter.consume(e,r,n).then(s=>Promise.resolve(this._combineRes(i,s))).catch(s=>s instanceof ol?Promise.reject(this._combineRes(i,s)):Promise.reject(s)):Promise.reject(i))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var lm=q((v6,um)=>{var CE=ft(),RE=hn(),Ao=class{constructor(e,r,n){this.key=e,this.points=r,this.expire=n}},TE=25,BE=25,al=class extends RE{constructor(e,r=null){super(e),this.client=e.storeClient,this.tableName=e.tableName,this.tableCreated=e.tableCreated,this.tableCreated?this._setTTL().finally(()=>{typeof r=="function"&&r()}):this._createTable(e.dynamoTableOpts).then(n=>{this.tableCreated=!0,this._setTTL().finally(()=>{typeof r=="function"&&r()})}).catch(n=>{if(typeof r=="function")r(n);else throw n})}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?"node-rate-limiter-flexible":e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}async _createTable(e){let r={TableName:this.tableName,AttributeDefinitions:[{AttributeName:"key",AttributeType:"S"}],KeySchema:[{AttributeName:"key",KeyType:"HASH"}],ProvisionedThroughput:{ReadCapacityUnits:e&&e.readCapacityUnits?e.readCapacityUnits:TE,WriteCapacityUnits:e&&e.writeCapacityUnits?e.writeCapacityUnits:BE}};try{return await this.client.createTable(r)}catch(n){if(n.__type&&n.__type.includes("ResourceInUseException"))return null;throw n}}async _get(e){if(!this.tableCreated)throw new Error("Table is not created yet");let r={TableName:this.tableName,Key:{key:{S:e}}},n=await this.client.getItem(r);return n.Item?new Ao(n.Item.key.S,Number(n.Item.points.N),Number(n.Item.expire.N)):null}async _delete(e){if(!this.tableCreated)throw new Error("Table is not created yet");let r={TableName:this.tableName,Key:{key:{S:e}},ConditionExpression:"attribute_exists(#k)",ExpressionAttributeNames:{"#k":"key"}};try{return(await this._client.deleteItem(r)).$metadata.httpStatusCode===200}catch(n){if(n.__type&&n.__type.includes("ConditionalCheckFailedException"))return!1;throw n}}async _upsert(e,r,n,i=!1,s={}){if(!this.tableCreated)throw new Error("Table is not created yet");let o=Date.now(),a=o/1e3,c=n>0?(o+n)/1e3:-1;if(i)return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = :points, expire = :expire",ExpressionAttributeValues:{":points":{N:r.toString()},":expire":{N:c.toString()}},ReturnValues:"ALL_NEW"});try{return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = :new_points, expire = :new_expire",ExpressionAttributeValues:{":new_points":{N:r.toString()},":new_expire":{N:c.toString()},":where_expire":{N:a.toString()}},ConditionExpression:"expire <= :where_expire OR attribute_not_exists(points)",ReturnValues:"ALL_NEW"})}catch{return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = points + :new_points",ExpressionAttributeValues:{":new_points":{N:r.toString()},":where_expire":{N:a.toString()}},ConditionExpression:"expire > :where_expire",ReturnValues:"ALL_NEW"})}}async _baseUpsert(e){if(!this.tableCreated)throw new Error("Table is not created yet");try{let r=await this.client.updateItem(e);return new Ao(r.Attributes.key.S,Number(r.Attributes.points.N),Number(r.Attributes.expire.N))}catch(r){throw r}}async _setTTL(){if(!this.tableCreated)throw new Error("Table is not created yet");try{if(await this._isTTLSet())return;let r={TableName:this.tableName,TimeToLiveSpecification:{AttributeName:"expire",Enabled:!0}};return await this.client.updateTimeToLive(r)}catch(e){throw e}}async _isTTLSet(){if(!this.tableCreated)throw new Error("Table is not created yet");try{let e=await this.client.describeTimeToLive({TableName:this.tableName});return e.$metadata.httpStatusCode==200&&e.TimeToLiveDescription.TimeToLiveStatus==="ENABLED"&&e.TimeToLiveDescription.AttributeName==="expire"}catch(e){throw e}}_getRateLimiterRes(e,r,n){let i=new CE;return i.isFirstInDuration=r===n.points,i.consumedPoints=i.isFirstInDuration?r:n.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.expire!=-1?Math.max(n.expire*1e3-Date.now(),0):-1,i}};um.exports=al});var hm=q((_6,fm)=>{var LE=Ip(),PE=Tp(),DE=Lp(),NE=Dp(),{RateLimiterClusterMaster:kE,RateLimiterClusterMasterPM2:OE,RateLimiterCluster:ME}=Wp(),UE=el(),FE=Qp(),KE=jp(),qE=em(),VE=om(),$E=cm(),zE=ft(),HE=lm();fm.exports={RateLimiterRedis:LE,RateLimiterMongo:PE,RateLimiterMySQL:DE,RateLimiterPostgres:NE,RateLimiterMemory:UE,RateLimiterMemcache:FE,RateLimiterClusterMaster:kE,RateLimiterClusterMasterPM2:OE,RateLimiterCluster:ME,RLWrapperBlackAndWhite:KE,RateLimiterUnion:qE,RateLimiterQueue:VE,BurstyRateLimiter:$E,RateLimiterRes:zE,RateLimiterDynamo:HE}});var gv={};Me(gv,{createLibp2p:()=>yv});var q4=we(fi(),1),V4=we(jf(),1);var Jf=Symbol.for("@libp2p/connection");var Ea=Symbol.for("@libp2p/content-routing");var va=Symbol.for("@libp2p/peer-discovery");var _a=Symbol.for("@libp2p/peer-id");function bs(t){return t!=null&&!!t[_a]}var Sa=Symbol.for("@libp2p/peer-routing");var e0="keep-alive";var t0;(function(t){t.Accept="accept",t.Ignore="ignore",t.Reject="reject"})(t0||(t0={}));var jv=Symbol.for("@libp2p/transport");var gr;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(gr||(gr={}));var vn=class t extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=t.code,this.type=t.type}static code="ABORT_ERR";static type="aborted"},S=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var ws="ERR_TIMEOUT",Aa="ERR_INVALID_PARAMETERS";var mi=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:s})=>s!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new Ca(e,r))}},Ia=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},Ca=globalThis.CustomEvent??Ia;var ht=(t,...e)=>{try{[...e]}catch{}};function r0(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var f2=we(fe(),1);function qr(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var Pa={};Me(Pa,{base10:()=>wx});var L_=new Uint8Array(0);function n0(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function Jt(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")}function i0(t){return new TextEncoder().encode(t)}function s0(t){return new TextDecoder().decode(t)}function mx(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var s=t.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var m=0,y=0,g=0,x=h.length;g!==x&&h[g]===0;)g++,m++;for(var b=(x-g)*l+1>>>0,A=new Uint8Array(b);g!==x;){for(var E=h[g],_=0,T=b-1;(E!==0||_<y)&&T!==-1;T--,_++)E+=256*A[T]>>>0,A[T]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");y=_,g++}for(var P=b-y;P!==b&&A[P]===0;)P++;for(var z=c.repeat(m);P<b;++P)z+=t.charAt(A[P]);return z}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var y=0,g=0;h[m]===c;)y++,m++;for(var x=(h.length-m)*u+1>>>0,b=new Uint8Array(x);h[m];){var A=r[h.charCodeAt(m)];if(A===255)return;for(var E=0,_=x-1;(A!==0||E<g)&&_!==-1;_--,E++)A+=a*b[_]>>>0,b[_]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");g=E,m++}if(h[m]!==" "){for(var T=x-g;T!==x&&b[T]===0;)T++;for(var P=new Uint8Array(y+(x-T)),z=y;T!==x;)P[z++]=b[T++];return P}}}function p(h){var m=d(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:d,decode:p}}var yx=mx,gx=yx,a0=gx;var Ra=class{name;prefix;baseEncode;constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Ta=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return c0(this,e)}},Ba=class{decoders;constructor(e){this.decoders=e}or(e){return c0(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function c0(t,e){return new Ba({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var La=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Ra(e,r,n),this.decoder=new Ta(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function _n({name:t,prefix:e,encode:r,decode:n}){return new La(t,e,r,n)}function xr({name:t,prefix:e,alphabet:r}){let{encode:n,decode:i}=a0(r,t);return _n({prefix:e,name:t,encode:n,decode:s=>Jt(i(s))})}function xx(t,e,r,n){let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let o=new Uint8Array(s*r/8|0),a=0,c=0,u=0;for(let l=0;l<s;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o}function bx(t,e,r){let n=e[e.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>r;)o-=r,s+=e[i&a>>o];if(o!==0&&(s+=e[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s}function ve({name:t,prefix:e,bitsPerChar:r,alphabet:n}){return _n({prefix:e,name:t,encode(i){return bx(i,n,r)},decode(i){return xx(i,n,r,t)}})}var wx=xr({prefix:"9",name:"base10",alphabet:"0123456789"});var Da={};Me(Da,{base16:()=>Ex,base16upper:()=>vx});var Ex=ve({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),vx=ve({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Na={};Me(Na,{base2:()=>_x});var _x=ve({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ka={};Me(ka,{base256emoji:()=>Rx});var u0=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}"),Sx=u0.reduce((t,e,r)=>(t[r]=e,t),[]),Ax=u0.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function Ix(t){return t.reduce((e,r)=>(e+=Sx[r],e),"")}function Cx(t){let e=[];for(let r of t){let n=Ax[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var Rx=_n({prefix:"\u{1F680}",name:"base256emoji",encode:Ix,decode:Cx});var Oa={};Me(Oa,{base32:()=>dt,base32hex:()=>Px,base32hexpad:()=>Nx,base32hexpadupper:()=>kx,base32hexupper:()=>Dx,base32pad:()=>Bx,base32padupper:()=>Lx,base32upper:()=>Tx,base32z:()=>Ox});var dt=ve({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Tx=ve({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Bx=ve({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Lx=ve({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Px=ve({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Dx=ve({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Nx=ve({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),kx=ve({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Ox=ve({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ma={};Me(Ma,{base36:()=>Mx,base36upper:()=>Ux});var Mx=xr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Ux=xr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ua={};Me(Ua,{base58btc:()=>Ae,base58flickr:()=>Fx});var Ae=xr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Fx=xr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Fa={};Me(Fa,{base64:()=>Sn,base64pad:()=>Kx,base64url:()=>qx,base64urlpad:()=>Vx});var Sn=ve({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Kx=ve({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),qx=ve({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Vx=ve({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Ka={};Me(Ka,{base8:()=>$x});var $x=ve({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var qa={};Me(qa,{identity:()=>zx});var zx=_n({prefix:"\0",name:"identity",encode:t=>s0(t),decode:t=>i0(t)});var W_=new TextEncoder,Y_=new TextDecoder;var $a={};Me($a,{identity:()=>br});var Wx=h0,l0=128,Yx=127,Qx=~Yx,Xx=Math.pow(2,31);function h0(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Xx;)e[r++]=t&255|l0,t/=128;for(;t&Qx;)e[r++]=t&255|l0,t>>>=7;return e[r]=t|0,h0.bytes=r-n+1,e}var Zx=Va,jx=128,f0=127;function Va(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a)throw Va.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&f0)<<i:(o&f0)*Math.pow(2,i),i+=7}while(o>=jx);return Va.bytes=s-n,r}var Jx=Math.pow(2,7),e1=Math.pow(2,14),t1=Math.pow(2,21),r1=Math.pow(2,28),n1=Math.pow(2,35),i1=Math.pow(2,42),s1=Math.pow(2,49),o1=Math.pow(2,56),a1=Math.pow(2,63),c1=function(t){return t<Jx?1:t<e1?2:t<t1?3:t<r1?4:t<n1?5:t<i1?6:t<s1?7:t<o1?8:t<a1?9:10},u1={encode:Wx,decode:Zx,encodingLength:c1},l1=u1,yi=l1;function gi(t,e=0){return[yi.decode(t,e),yi.decode.bytes]}function An(t,e,r=0){return yi.encode(t,e,r),e}function In(t){return yi.encodingLength(t)}function $t(t,e){let r=e.byteLength,n=In(t),i=n+In(r),s=new Uint8Array(i+r);return An(t,s,0),An(r,s,n),s.set(e,i),new Cn(t,r,e,s)}function Vr(t){let e=Jt(t),[r,n]=gi(e),[i,s]=gi(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new Cn(r,i,o,e)}function d0(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&n0(t.bytes,r.bytes)}}var Cn=class{code;size;digest;bytes;constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var p0=0,f1="identity",m0=Jt;function h1(t){return $t(p0,m0(t))}var br={code:p0,name:f1,encode:m0,digest:h1};var Ga={};Me(Ga,{sha256:()=>Ge,sha512:()=>d1});function Ha({name:t,code:e,encode:r}){return new za(t,e,r)}var za=class{name;code;encode;constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?$t(this.code,r):r.then(n=>$t(this.code,n))}else throw Error("Unknown type, must be binary type")}};function g0(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var Ge=Ha({name:"sha2-256",code:18,encode:g0("SHA-256")}),d1=Ha({name:"sha2-512",code:19,encode:g0("SHA-512")});function x0(t,e){let{bytes:r,version:n}=t;switch(n){case 0:return m1(r,Wa(t),e??Ae.encoder);default:return y1(r,Wa(t),e??dt.encoder)}}var b0=new WeakMap;function Wa(t){let e=b0.get(t);if(e==null){let r=new Map;return b0.set(t,r),r}return e}var Ct=class t{code;version;multihash;bytes;"/";constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==xi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==g1)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=$t(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n!=null&&e.code===n.code&&e.version===n.version&&d0(e.multihash,n.multihash)}toString(e){return x0(this,e)}toJSON(){return{"/":x0(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new t(n,i,s,o??w0(n,i,s.bytes))}else if(r[x1]===!0){let{version:n,multihash:i,code:s}=r,o=Vr(i);return t.create(n,s,o)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==xi)throw new Error(`Version 0 CID must use dag-pb (code: ${xi}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=w0(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,xi,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Jt(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=i.subarray(r.multihashSize-r.digestSize),o=new Cn(r.multihashCode,r.digestSize,s,i);return[r.version===0?t.createV0(o):t.createV1(r.codec,o),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,d]=gi(e.subarray(r));return r+=d,f},i=n(),s=xi;if(i===18?(i=0,r=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=r,a=n(),c=n(),u=r+c,l=u-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=p1(e,r),s=t.decode(i);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Wa(s).set(n,e),s}};function p1(t,e){switch(t[0]){case"Q":{let r=e??Ae;return[Ae.prefix,r.decode(`${Ae.prefix}${t}`)]}case Ae.prefix:{let r=e??Ae;return[Ae.prefix,r.decode(t)]}case dt.prefix:{let r=e??dt;return[dt.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function m1(t,e,r){let{prefix:n}=r;if(n!==Ae.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return i}function y1(t,e,r){let{prefix:n}=r,i=e.get(n);if(i==null){let s=r.encode(t);return e.set(n,s),s}else return i}var xi=112,g1=18;function w0(t,e,r){let n=In(t),i=n+In(e),s=new Uint8Array(i+r.byteLength);return An(t,s,0),An(e,s,n),s.set(r,i),s}var x1=Symbol.for("@ipld/js-cid/CID");var wr={...qa,...Na,...Ka,...Pa,...Da,...Oa,...Ma,...Ua,...Fa,...ka},mS={...Ga,...$a};function Rt(t=0){return globalThis.Buffer?.allocUnsafe!=null?qr(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function v0(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var E0=v0("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Ya=v0("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Rt(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),b1={utf8:E0,"utf-8":E0,hex:wr.base16,latin1:Ya,ascii:Ya,binary:Ya,...wr},vs=b1;function Y(t,e="utf8"){let r=vs[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?qr(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var Ic={};Me(Ic,{Ed25519PrivateKey:()=>Qr,Ed25519PublicKey:()=>Ai,generateKeyPair:()=>kb,generateKeyPairFromSeed:()=>ih,unmarshalEd25519PrivateKey:()=>Db,unmarshalEd25519PublicKey:()=>Nb});function Ie(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var LS=we(Be(),1),PS=we(ms(),1),_0=we(fe(),1);function qe(t,e){if(globalThis.Buffer!=null)return qr(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=Rt(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return qr(r)}function ie(t,e="utf8"){let r=vs[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}function Tt(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=qe([new Uint8Array(e-r.length),r])}return ie(r,"base64url")}function pt(t){let e=S0(t);return new _0.default.jsbn.BigInteger(ie(e,"base16"),16)}function S0(t,e){let r=Y(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=qe([new Uint8Array(e-r.length),r])}return r}function wt(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}function A0(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function w1(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function Qa(t,...e){if(!w1(t))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function I0(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");A0(t.outputLen),A0(t.blockLen)}function Rn(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function C0(t,e){Qa(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var _s=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function R0(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var Ss=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Bt=(t,e)=>t<<32-e|t>>>e,E1=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!E1)throw new Error("Non little-endian hardware is not supported");function Xa(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function bi(t){if(typeof t=="string"&&(t=Xa(t)),!R0(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function As(...t){let e=0;for(let n=0;n<t.length;n++){let i=t[n];if(!R0(i))throw new Error("Uint8Array expected");e+=i.length}let r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let s=t[n];r.set(s,i),i+=s.length}return r}var Tn=class{clone(){return this._cloneInto()}},KS={}.toString;function Is(t){let e=n=>t().update(bi(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function Bn(t=32){if(_s&&typeof _s.getRandomValues=="function")return _s.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function v1(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let i=BigInt(32),s=BigInt(4294967295),o=Number(r>>i&s),a=Number(r&s),c=n?4:0,u=n?0:4;t.setUint32(e+c,o,n),t.setUint32(e+u,a,n)}var Ln=class extends Tn{constructor(e,r,n,i){super(),this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Ss(this.buffer)}update(e){Rn(this);let{view:r,buffer:n,blockLen:i}=this;e=bi(e);let s=e.length;for(let o=0;o<s;){let a=Math.min(i-this.pos,s-o);if(a===i){let c=Ss(e);for(;i<=s-o;o+=i)this.process(c,o);continue}n.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Rn(this),C0(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:s}=this,{pos:o}=this;r[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(n,0),o=0);for(let f=o;f<i;f++)r[f]=0;v1(n,i-8,BigInt(this.length*8),s),this.process(n,0);let a=Ss(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)a.setUint32(4*f,l[f],s)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:s,destroyed:o,pos:a}=this;return e.length=i,e.pos=a,e.finished=s,e.destroyed=o,i%r&&e.buffer.set(n),e}};var Cs=BigInt(4294967295),Za=BigInt(32);function T0(t,e=!1){return e?{h:Number(t&Cs),l:Number(t>>Za&Cs)}:{h:Number(t>>Za&Cs)|0,l:Number(t&Cs)|0}}function _1(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){let{h:s,l:o}=T0(t[i],e);[r[i],n[i]]=[s,o]}return[r,n]}var S1=(t,e)=>BigInt(t>>>0)<<Za|BigInt(e>>>0),A1=(t,e,r)=>t>>>r,I1=(t,e,r)=>t<<32-r|e>>>r,C1=(t,e,r)=>t>>>r|e<<32-r,R1=(t,e,r)=>t<<32-r|e>>>r,T1=(t,e,r)=>t<<64-r|e>>>r-32,B1=(t,e,r)=>t>>>r-32|e<<64-r,L1=(t,e)=>e,P1=(t,e)=>t,D1=(t,e,r)=>t<<r|e>>>32-r,N1=(t,e,r)=>e<<r|t>>>32-r,k1=(t,e,r)=>e<<r-32|t>>>64-r,O1=(t,e,r)=>t<<r-32|e>>>64-r;function M1(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var U1=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),F1=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,K1=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),q1=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,V1=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),$1=(t,e,r,n,i,s)=>e+r+n+i+s+(t/2**32|0)|0;var z1={fromBig:T0,split:_1,toBig:S1,shrSH:A1,shrSL:I1,rotrSH:C1,rotrSL:R1,rotrBH:T1,rotrBL:B1,rotr32H:L1,rotr32L:P1,rotlSH:D1,rotlSL:N1,rotlBH:k1,rotlBL:O1,add:M1,add3L:U1,add3H:F1,add4L:K1,add4H:q1,add5H:$1,add5L:V1},X=z1;var[H1,G1]=X.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),Er=new Uint32Array(80),vr=new Uint32Array(80),ja=class extends Ln{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:r,Bh:n,Bl:i,Ch:s,Cl:o,Dh:a,Dl:c,Eh:u,El:l,Fh:f,Fl:d,Gh:p,Gl:h,Hh:m,Hl:y}=this;return[e,r,n,i,s,o,a,c,u,l,f,d,p,h,m,y]}set(e,r,n,i,s,o,a,c,u,l,f,d,p,h,m,y){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=s|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=f|0,this.Fl=d|0,this.Gh=p|0,this.Gl=h|0,this.Hh=m|0,this.Hl=y|0}process(e,r){for(let b=0;b<16;b++,r+=4)Er[b]=e.getUint32(r),vr[b]=e.getUint32(r+=4);for(let b=16;b<80;b++){let A=Er[b-15]|0,E=vr[b-15]|0,_=X.rotrSH(A,E,1)^X.rotrSH(A,E,8)^X.shrSH(A,E,7),T=X.rotrSL(A,E,1)^X.rotrSL(A,E,8)^X.shrSL(A,E,7),P=Er[b-2]|0,z=vr[b-2]|0,G=X.rotrSH(P,z,19)^X.rotrBH(P,z,61)^X.shrSH(P,z,6),$=X.rotrSL(P,z,19)^X.rotrBL(P,z,61)^X.shrSL(P,z,6),J=X.add4L(T,$,vr[b-7],vr[b-16]),le=X.add4H(J,_,G,Er[b-7],Er[b-16]);Er[b]=le|0,vr[b]=J|0}let{Ah:n,Al:i,Bh:s,Bl:o,Ch:a,Cl:c,Dh:u,Dl:l,Eh:f,El:d,Fh:p,Fl:h,Gh:m,Gl:y,Hh:g,Hl:x}=this;for(let b=0;b<80;b++){let A=X.rotrSH(f,d,14)^X.rotrSH(f,d,18)^X.rotrBH(f,d,41),E=X.rotrSL(f,d,14)^X.rotrSL(f,d,18)^X.rotrBL(f,d,41),_=f&p^~f&m,T=d&h^~d&y,P=X.add5L(x,E,T,G1[b],vr[b]),z=X.add5H(P,g,A,_,H1[b],Er[b]),G=P|0,$=X.rotrSH(n,i,28)^X.rotrBH(n,i,34)^X.rotrBH(n,i,39),J=X.rotrSL(n,i,28)^X.rotrBL(n,i,34)^X.rotrBL(n,i,39),le=n&s^n&a^s&a,$e=i&o^i&c^o&c;g=m|0,x=y|0,m=p|0,y=h|0,p=f|0,h=d|0,{h:f,l:d}=X.add(u|0,l|0,z|0,G|0),u=a|0,l=c|0,a=s|0,c=o|0,s=n|0,o=i|0;let B=X.add3L(G,J,$e);n=X.add3H(B,z,$,le),i=B|0}({h:n,l:i}=X.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:s,l:o}=X.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l:c}=X.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l}=X.add(this.Dh|0,this.Dl|0,u|0,l|0),{h:f,l:d}=X.add(this.Eh|0,this.El|0,f|0,d|0),{h:p,l:h}=X.add(this.Fh|0,this.Fl|0,p|0,h|0),{h:m,l:y}=X.add(this.Gh|0,this.Gl|0,m|0,y|0),{h:g,l:x}=X.add(this.Hh|0,this.Hl|0,g|0,x|0),this.set(n,i,s,o,a,c,u,l,f,d,p,h,m,y,g,x)}roundClean(){Er.fill(0),vr.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Ja=Is(()=>new ja);var Ts={};Me(Ts,{bitGet:()=>J1,bitLen:()=>j1,bitMask:()=>wi,bitSet:()=>eb,bytesToHex:()=>tr,bytesToNumberBE:()=>rr,bytesToNumberLE:()=>_r,concatBytes:()=>nr,createHmacDrbg:()=>rc,ensureBytes:()=>_e,equalBytes:()=>X1,hexToBytes:()=>zr,hexToNumber:()=>tc,isBytes:()=>Lt,numberToBytesBE:()=>Sr,numberToBytesLE:()=>Hr,numberToHexUnpadded:()=>D0,numberToVarBytesBE:()=>Q1,utf8ToBytes:()=>Z1,validateObject:()=>zt});var P0=BigInt(0),Rs=BigInt(1),W1=BigInt(2);function Lt(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var Y1=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function tr(t){if(!Lt(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=Y1[t[r]];return e}function D0(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function tc(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}var er={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function B0(t){if(t>=er._0&&t<=er._9)return t-er._0;if(t>=er._A&&t<=er._F)return t-(er._A-10);if(t>=er._a&&t<=er._f)return t-(er._a-10)}function zr(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length,r=e/2;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(r);for(let i=0,s=0;i<r;i++,s+=2){let o=B0(t.charCodeAt(s)),a=B0(t.charCodeAt(s+1));if(o===void 0||a===void 0){let c=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[i]=o*16+a}return n}function rr(t){return tc(tr(t))}function _r(t){if(!Lt(t))throw new Error("Uint8Array expected");return tc(tr(Uint8Array.from(t).reverse()))}function Sr(t,e){return zr(t.toString(16).padStart(e*2,"0"))}function Hr(t,e){return Sr(t,e).reverse()}function Q1(t){return zr(D0(t))}function _e(t,e,r){let n;if(typeof e=="string")try{n=zr(e)}catch(s){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${s}`)}else if(Lt(e))n=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${t} expected ${r} bytes, got ${i}`);return n}function nr(...t){let e=0;for(let i=0;i<t.length;i++){let s=t[i];if(!Lt(s))throw new Error("Uint8Array expected");e+=s.length}let r=new Uint8Array(e),n=0;for(let i=0;i<t.length;i++){let s=t[i];r.set(s,n),n+=s.length}return r}function X1(t,e){if(t.length!==e.length)return!1;let r=0;for(let n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}function Z1(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function j1(t){let e;for(e=0;t>P0;t>>=Rs,e+=1);return e}function J1(t,e){return t>>BigInt(e)&Rs}var eb=(t,e,r)=>t|(r?Rs:P0)<<BigInt(e),wi=t=>(W1<<BigInt(t-1))-Rs,ec=t=>new Uint8Array(t),L0=t=>Uint8Array.from(t);function rc(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=ec(t),i=ec(t),s=0,o=()=>{n.fill(1),i.fill(0),s=0},a=(...f)=>r(i,n,...f),c=(f=ec())=>{i=a(L0([0]),f),n=a(),f.length!==0&&(i=a(L0([1]),f),n=a())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let f=0,d=[];for(;f<e;){n=a();let p=n.slice();d.push(p),f+=n.length}return nr(...d)};return(f,d)=>{o(),c(f);let p;for(;!(p=d(u()));)c();return o(),p}}var tb={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||Lt(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function zt(t,e,r={}){let n=(i,s,o)=>{let a=tb[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);let c=t[i];if(!(o&&c===void 0)&&!a(c,t))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${s}`)};for(let[i,s]of Object.entries(e))n(i,s,!1);for(let[i,s]of Object.entries(r))n(i,s,!0);return t}var Ne=BigInt(0),ge=BigInt(1),Gr=BigInt(2),rb=BigInt(3),nc=BigInt(4),N0=BigInt(5),k0=BigInt(8),nb=BigInt(9),ib=BigInt(16);function he(t,e){let r=t%e;return r>=Ne?r:e+r}function sb(t,e,r){if(r<=Ne||e<Ne)throw new Error("Expected power/modulo > 0");if(r===ge)return Ne;let n=ge;for(;e>Ne;)e&ge&&(n=n*t%r),t=t*t%r,e>>=ge;return n}function xe(t,e,r){let n=t;for(;e-- >Ne;)n*=n,n%=r;return n}function Bs(t,e){if(t===Ne||e<=Ne)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=he(t,e),n=e,i=Ne,s=ge,o=ge,a=Ne;for(;r!==Ne;){let u=n/r,l=n%r,f=i-o*u,d=s-a*u;n=r,r=l,i=o,s=a,o=f,a=d}if(n!==ge)throw new Error("invert: does not exist");return he(i,e)}function ob(t){let e=(t-ge)/Gr,r,n,i;for(r=t-ge,n=0;r%Gr===Ne;r/=Gr,n++);for(i=Gr;i<t&&sb(i,e,t)!==t-ge;i++);if(n===1){let o=(t+ge)/nc;return function(c,u){let l=c.pow(u,o);if(!c.eql(c.sqr(l),u))throw new Error("Cannot find square root");return l}}let s=(r+ge)/Gr;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,l=a.pow(a.mul(a.ONE,i),r),f=a.pow(c,s),d=a.pow(c,r);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let p=1;for(let m=a.sqr(d);p<u&&!a.eql(m,a.ONE);p++)m=a.sqr(m);let h=a.pow(l,ge<<BigInt(u-p-1));l=a.sqr(h),f=a.mul(f,h),d=a.mul(d,l),u=p}return f}}function ab(t){if(t%nc===rb){let e=(t+ge)/nc;return function(n,i){let s=n.pow(i,e);if(!n.eql(n.sqr(s),i))throw new Error("Cannot find square root");return s}}if(t%k0===N0){let e=(t-N0)/k0;return function(n,i){let s=n.mul(i,Gr),o=n.pow(s,e),a=n.mul(i,o),c=n.mul(n.mul(a,Gr),o),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return t%ib,ob(t)}var O0=(t,e)=>(he(t,e)&ge)===ge,cb=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ic(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=cb.reduce((n,i)=>(n[i]="function",n),e);return zt(t,r)}function ub(t,e,r){if(r<Ne)throw new Error("Expected power > 0");if(r===Ne)return t.ONE;if(r===ge)return e;let n=t.ONE,i=e;for(;r>Ne;)r&ge&&(n=t.mul(n,i)),i=t.sqr(i),r>>=ge;return n}function lb(t,e){let r=new Array(e.length),n=e.reduce((s,o,a)=>t.is0(o)?s:(r[a]=s,t.mul(s,o)),t.ONE),i=t.inv(n);return e.reduceRight((s,o,a)=>t.is0(o)?s:(r[a]=t.mul(s,r[a]),t.mul(s,o)),i),r}function sc(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Ls(t,e,r=!1,n={}){if(t<=Ne)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:s}=sc(t,e);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=ab(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:s,MASK:wi(i),ZERO:Ne,ONE:ge,create:c=>he(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Ne<=c&&c<t},is0:c=>c===Ne,isOdd:c=>(c&ge)===ge,neg:c=>he(-c,t),eql:(c,u)=>c===u,sqr:c=>he(c*c,t),add:(c,u)=>he(c+u,t),sub:(c,u)=>he(c-u,t),mul:(c,u)=>he(c*u,t),pow:(c,u)=>ub(a,c,u),div:(c,u)=>he(c*Bs(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Bs(c,t),sqrt:n.sqrt||(c=>o(a,c)),invertBatch:c=>lb(a,c),cmov:(c,u,l)=>l?u:c,toBytes:c=>r?Hr(c,s):Sr(c,s),fromBytes:c=>{if(c.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${c.length}`);return r?_r(c):rr(c)}});return Object.freeze(a)}function M0(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");let r=t.sqrt(e);return t.isOdd(r)?t.neg(r):r}function U0(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function oc(t){let e=U0(t);return e+Math.ceil(e/2)}function F0(t,e,r=!1){let n=t.length,i=U0(e),s=oc(e);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let o=r?rr(t):_r(t),a=he(o,e-ge)+ge;return r?Hr(a,i):Sr(a,i)}var hb=BigInt(0),ac=BigInt(1);function Ps(t,e){let r=(i,s)=>{let o=s.negate();return i?o:s},n=i=>{let s=Math.ceil(e/i)+1,o=2**(i-1);return{windows:s,windowSize:o}};return{constTimeNegate:r,unsafeLadder(i,s){let o=t.ZERO,a=i;for(;s>hb;)s&ac&&(o=o.add(a)),a=a.double(),s>>=ac;return o},precomputeWindow(i,s){let{windows:o,windowSize:a}=n(s),c=[],u=i,l=u;for(let f=0;f<o;f++){l=u,c.push(l);for(let d=1;d<a;d++)l=l.add(u),c.push(l);u=l.double()}return c},wNAF(i,s,o){let{windows:a,windowSize:c}=n(i),u=t.ZERO,l=t.BASE,f=BigInt(2**i-1),d=2**i,p=BigInt(i);for(let h=0;h<a;h++){let m=h*c,y=Number(o&f);o>>=p,y>c&&(y-=d,o+=ac);let g=m,x=m+Math.abs(y)-1,b=h%2!==0,A=y<0;y===0?l=l.add(r(b,s[g])):u=u.add(r(A,s[x]))}return{p:u,f:l}},wNAFCached(i,s,o,a){let c=i._WINDOW_SIZE||1,u=s.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&s.set(i,a(u))),this.wNAF(c,u,o)}}}function Ei(t){return ic(t.Fp),zt(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...sc(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var Pt=BigInt(0),mt=BigInt(1),Ds=BigInt(2),db=BigInt(8),pb={zip215:!0};function mb(t){let e=Ei(t);return zt(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function Ns(t){let e=mb(t),{Fp:r,n,prehash:i,hash:s,randomBytes:o,nByteLength:a,h:c}=e,u=Ds<<BigInt(a*8)-mt,l=r.create,f=e.uvRatio||((N,C)=>{try{return{isValid:!0,value:r.sqrt(N*r.inv(C))}}catch{return{isValid:!1,value:Pt}}}),d=e.adjustScalarBytes||(N=>N),p=e.domain||((N,C,U)=>{if(C.length||U)throw new Error("Contexts/pre-hash are not supported");return N}),h=N=>typeof N=="bigint"&&Pt<N,m=(N,C)=>h(N)&&h(C)&&N<C,y=N=>N===Pt||m(N,u);function g(N,C){if(m(N,C))return N;throw new Error(`Expected valid scalar < ${C}, got ${typeof N} ${N}`)}function x(N){return N===Pt?N:g(N,n)}let b=new Map;function A(N){if(!(N instanceof E))throw new Error("ExtendedPoint expected")}class E{constructor(C,U,K,H){if(this.ex=C,this.ey=U,this.ez=K,this.et=H,!y(C))throw new Error("x required");if(!y(U))throw new Error("y required");if(!y(K))throw new Error("z required");if(!y(H))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(C){if(C instanceof E)throw new Error("extended point not allowed");let{x:U,y:K}=C||{};if(!y(U)||!y(K))throw new Error("invalid affine point");return new E(U,K,mt,l(U*K))}static normalizeZ(C){let U=r.invertBatch(C.map(K=>K.ez));return C.map((K,H)=>K.toAffine(U[H])).map(E.fromAffine)}_setWindowSize(C){this._WINDOW_SIZE=C,b.delete(this)}assertValidity(){let{a:C,d:U}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:K,ey:H,ez:Z,et:ee}=this,ce=l(K*K),te=l(H*H),se=l(Z*Z),Te=l(se*se),Ee=l(ce*C),ze=l(se*l(Ee+te)),He=l(Te+l(U*l(ce*te)));if(ze!==He)throw new Error("bad point: equation left != right (1)");let De=l(K*H),je=l(Z*ee);if(De!==je)throw new Error("bad point: equation left != right (2)")}equals(C){A(C);let{ex:U,ey:K,ez:H}=this,{ex:Z,ey:ee,ez:ce}=C,te=l(U*ce),se=l(Z*H),Te=l(K*ce),Ee=l(ee*H);return te===se&&Te===Ee}is0(){return this.equals(E.ZERO)}negate(){return new E(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){let{a:C}=e,{ex:U,ey:K,ez:H}=this,Z=l(U*U),ee=l(K*K),ce=l(Ds*l(H*H)),te=l(C*Z),se=U+K,Te=l(l(se*se)-Z-ee),Ee=te+ee,ze=Ee-ce,He=te-ee,De=l(Te*ze),je=l(Ee*He),Qt=l(Te*He),kr=l(ze*Ee);return new E(De,je,kr,Qt)}add(C){A(C);let{a:U,d:K}=e,{ex:H,ey:Z,ez:ee,et:ce}=this,{ex:te,ey:se,ez:Te,et:Ee}=C;if(U===BigInt(-1)){let Rl=l((Z-H)*(se+te)),Tl=l((Z+H)*(se-te)),jo=l(Tl-Rl);if(jo===Pt)return this.double();let Bl=l(ee*Ds*Ee),Ll=l(ce*Ds*Te),Pl=Ll+Bl,Dl=Tl+Rl,Nl=Ll-Bl,km=l(Pl*jo),Om=l(Dl*Nl),Mm=l(Pl*Nl),Um=l(jo*Dl);return new E(km,Om,Um,Mm)}let ze=l(H*te),He=l(Z*se),De=l(ce*K*Ee),je=l(ee*Te),Qt=l((H+Z)*(te+se)-ze-He),kr=je-De,ai=je+De,Cl=l(He-U*ze),Lm=l(Qt*kr),Pm=l(ai*Cl),Dm=l(Qt*Cl),Nm=l(kr*ai);return new E(Lm,Pm,Nm,Dm)}subtract(C){return this.add(C.negate())}wNAF(C){return P.wNAFCached(this,b,C,E.normalizeZ)}multiply(C){let{p:U,f:K}=this.wNAF(g(C,n));return E.normalizeZ([U,K])[0]}multiplyUnsafe(C){let U=x(C);return U===Pt?T:this.equals(T)||U===mt?this:this.equals(_)?this.wNAF(U).p:P.unsafeLadder(this,U)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return P.unsafeLadder(this,n).is0()}toAffine(C){let{ex:U,ey:K,ez:H}=this,Z=this.is0();C==null&&(C=Z?db:r.inv(H));let ee=l(U*C),ce=l(K*C),te=l(H*C);if(Z)return{x:Pt,y:mt};if(te!==mt)throw new Error("invZ was invalid");return{x:ee,y:ce}}clearCofactor(){let{h:C}=e;return C===mt?this:this.multiplyUnsafe(C)}static fromHex(C,U=!1){let{d:K,a:H}=e,Z=r.BYTES;C=_e("pointHex",C,Z);let ee=C.slice(),ce=C[Z-1];ee[Z-1]=ce&-129;let te=_r(ee);te===Pt||(U?g(te,u):g(te,r.ORDER));let se=l(te*te),Te=l(se-mt),Ee=l(K*se-H),{isValid:ze,value:He}=f(Te,Ee);if(!ze)throw new Error("Point.fromHex: invalid y coordinate");let De=(He&mt)===mt,je=(ce&128)!==0;if(!U&&He===Pt&&je)throw new Error("Point.fromHex: x=0 and x_0=1");return je!==De&&(He=l(-He)),E.fromAffine({x:He,y:te})}static fromPrivateKey(C){return $(C).point}toRawBytes(){let{x:C,y:U}=this.toAffine(),K=Hr(U,r.BYTES);return K[K.length-1]|=C&mt?128:0,K}toHex(){return tr(this.toRawBytes())}}E.BASE=new E(e.Gx,e.Gy,mt,l(e.Gx*e.Gy)),E.ZERO=new E(Pt,mt,mt,Pt);let{BASE:_,ZERO:T}=E,P=Ps(E,a*8);function z(N){return he(N,n)}function G(N){return z(_r(N))}function $(N){let C=a;N=_e("private key",N,C);let U=_e("hashed private key",s(N),2*C),K=d(U.slice(0,C)),H=U.slice(C,2*C),Z=G(K),ee=_.multiply(Z),ce=ee.toRawBytes();return{head:K,prefix:H,scalar:Z,point:ee,pointBytes:ce}}function J(N){return $(N).pointBytes}function le(N=new Uint8Array,...C){let U=nr(...C);return G(s(p(U,_e("context",N),!!i)))}function $e(N,C,U={}){N=_e("message",N),i&&(N=i(N));let{prefix:K,scalar:H,pointBytes:Z}=$(C),ee=le(U.context,K,N),ce=_.multiply(ee).toRawBytes(),te=le(U.context,ce,Z,N),se=z(ee+te*H);x(se);let Te=nr(ce,Hr(se,r.BYTES));return _e("result",Te,a*2)}let B=pb;function k(N,C,U,K=B){let{context:H,zip215:Z}=K,ee=r.BYTES;N=_e("signature",N,2*ee),C=_e("message",C),i&&(C=i(C));let ce=_r(N.slice(ee,2*ee)),te,se,Te;try{te=E.fromHex(U,Z),se=E.fromHex(N.slice(0,ee),Z),Te=_.multiplyUnsafe(ce)}catch{return!1}if(!Z&&te.isSmallOrder())return!1;let Ee=le(H,se.toRawBytes(),te.toRawBytes(),C);return se.add(te.multiplyUnsafe(Ee)).subtract(Te).clearCofactor().equals(E.ZERO)}return _._setWindowSize(8),{CURVE:e,getPublicKey:J,sign:$e,verify:k,ExtendedPoint:E,utils:{getExtendedPublicKey:$,randomPrivateKey:()=>o(r.BYTES),precompute(N=8,C=E.BASE){return C._setWindowSize(N),C.multiply(BigInt(3)),C}}}}var uc=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),K0=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),cA=BigInt(0),yb=BigInt(1),cc=BigInt(2),gb=BigInt(5),q0=BigInt(10),xb=BigInt(20),bb=BigInt(40),V0=BigInt(80);function wb(t){let e=uc,n=t*t%e*t%e,i=xe(n,cc,e)*n%e,s=xe(i,yb,e)*t%e,o=xe(s,gb,e)*s%e,a=xe(o,q0,e)*o%e,c=xe(a,xb,e)*a%e,u=xe(c,bb,e)*c%e,l=xe(u,V0,e)*u%e,f=xe(l,V0,e)*u%e,d=xe(f,q0,e)*o%e;return{pow_p_5_8:xe(d,cc,e)*t%e,b2:n}}function Eb(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function vb(t,e){let r=uc,n=he(e*e*e,r),i=he(n*n*e,r),s=wb(t*i).pow_p_5_8,o=he(t*n*s,r),a=he(e*o*o,r),c=o,u=he(o*K0,r),l=a===t,f=a===he(-t,r),d=a===he(-t*K0,r);return l&&(o=c),(f||d)&&(o=u),O0(o,r)&&(o=he(-o,r)),{isValid:l||f,value:o}}var ir=Ls(uc,void 0,!0),lc={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:ir,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Ja,randomBytes:Bn,adjustScalarBytes:Eb,uvRatio:vb},Pn=Ns(lc);function $0(t,e,r){if(e.length>255)throw new Error("Context is too big");return As(Xa("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var uA=Ns({...lc,domain:$0}),lA=Ns({...lc,domain:$0,prehash:Ja});var _b=(ir.ORDER+BigInt(3))/BigInt(8),fA=ir.pow(cc,_b),hA=ir.sqrt(ir.neg(ir.ONE)),dA=(ir.ORDER-BigInt(5))/BigInt(8),pA=BigInt(486662);var mA=M0(ir,ir.neg(BigInt(486664)));var yA=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),gA=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),xA=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),bA=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var wA=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Dn=32,sr=64,ks=32;function z0(){let t=Pn.utils.randomPrivateKey(),e=Pn.getPublicKey(t);return{privateKey:Y0(t,e),publicKey:e}}function H0(t){if(t.length!==ks)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=Pn.getPublicKey(e);return{privateKey:Y0(e,r),publicKey:r}}function G0(t,e){let r=t.subarray(0,ks);return Pn.sign(e instanceof Uint8Array?e:e.subarray(),r)}function W0(t,e,r){return Pn.verify(e,r instanceof Uint8Array?r:r.subarray(),t)}function Y0(t,e){let r=new Uint8Array(sr);for(let n=0;n<ks;n++)r[n]=t[n],r[ks+n]=e[n];return r}var ct={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var fc={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function hc(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",s=t?.saltLength??16,o=t?.iterations??32767,a=ct.get();r*=8;async function c(f,d){let p=a.getRandomValues(new Uint8Array(s)),h=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:h};typeof d=="string"&&(d=Y(d));let y;if(d.length===0){y=await a.subtle.importKey("jwk",fc,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",fc,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,f);return qe([p,m.iv,new Uint8Array(g)])}async function u(f,d){let p=f.subarray(0,s),h=f.subarray(s,s+n),m=f.subarray(s+n),y={name:e,iv:h};typeof d=="string"&&(d=Y(d));let g;if(d.length===0)try{let b={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},A=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,A,{name:e,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",fc,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},A=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,A,{name:e,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(y,g,m);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function Nn(t,e){let n=await hc().encrypt(t,e);return Sn.encode(n)}var dc=new Float32Array([-0]),Ar=new Uint8Array(dc.buffer);function X0(t,e,r){dc[0]=t,e[r]=Ar[0],e[r+1]=Ar[1],e[r+2]=Ar[2],e[r+3]=Ar[3]}function Z0(t,e){return Ar[0]=t[e],Ar[1]=t[e+1],Ar[2]=t[e+2],Ar[3]=t[e+3],dc[0]}var pc=new Float64Array([-0]),Je=new Uint8Array(pc.buffer);function j0(t,e,r){pc[0]=t,e[r]=Je[0],e[r+1]=Je[1],e[r+2]=Je[2],e[r+3]=Je[3],e[r+4]=Je[4],e[r+5]=Je[5],e[r+6]=Je[6],e[r+7]=Je[7]}function J0(t,e){return Je[0]=t[e],Je[1]=t[e+1],Je[2]=t[e+2],Je[3]=t[e+3],Je[4]=t[e+4],Je[5]=t[e+5],Je[6]=t[e+6],Je[7]=t[e+7],pc[0]}var Ab=BigInt(Number.MAX_SAFE_INTEGER),Ib=BigInt(Number.MIN_SAFE_INTEGER),ut=class t{lo;hi;constructor(e,r){this.lo=e|0,this.hi=r|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return Wr;if(e<Ab&&e>Ib)return this.fromNumber(Number(e));let r=e<0n;r&&(e=-e);let n=e>>32n,i=e-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>eh&&(i=0n,++n>eh&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return Wr;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new t(n,i)}static from(e){return typeof e=="number"?t.fromNumber(e):typeof e=="bigint"?t.fromBigInt(e):typeof e=="string"?t.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new t(e.low>>>0,e.high>>>0):Wr}},Wr=new ut(0,0);Wr.toBigInt=function(){return 0n};Wr.zzEncode=Wr.zzDecode=function(){return this};Wr.length=function(){return 1};var eh=4294967296n;function th(t){let e=0,r=0;for(let n=0;n<t.length;++n)r=t.charCodeAt(n),r<128?e+=1:r<2048?e+=2:(r&64512)===55296&&(t.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function rh(t,e,r){if(r-e<1)return"";let i,s=[],o=0,a;for(;e<r;)a=t[e++],a<128?s[o++]=a:a>191&&a<224?s[o++]=(a&31)<<6|t[e++]&63:a>239&&a<365?(a=((a&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,s[o++]=55296+(a>>10),s[o++]=56320+(a&1023)):s[o++]=(a&15)<<12|(t[e++]&63)<<6|t[e++]&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 mc(t,e,r){let n=r,i,s;for(let o=0;o<t.length;++o)i=t.charCodeAt(o),i<128?e[r++]=i:i<2048?(e[r++]=i>>6|192,e[r++]=i&63|128):(i&64512)===55296&&((s=t.charCodeAt(o+1))&64512)===56320?(i=65536+((i&1023)<<10)+(s&1023),++o,e[r++]=i>>18|240,e[r++]=i>>12&63|128,e[r++]=i>>6&63|128,e[r++]=i&63|128):(e[r++]=i>>12|224,e[r++]=i>>6&63|128,e[r++]=i&63|128);return r-n}function Dt(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function Os(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var yc=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,Dt(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Dt(this,4);return Os(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Dt(this,4);return Os(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Dt(this,4);let e=Z0(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw Dt(this,4);let e=J0(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw Dt(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return rh(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Dt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Dt(this);while(this.buf[this.pos++]&128);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new ut(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw Dt(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,e}if(this.len-this.pos>4){for(;r<5;++r)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;r<5;++r){if(this.pos>=this.len)throw Dt(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Dt(this,8);let e=Os(this.buf,this.pos+=4),r=Os(this.buf,this.pos+=4);return new ut(e,r)}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 gc(t){return new yc(t instanceof Uint8Array?t:t.subarray())}function We(t,e){let r=gc(t);return e.decode(r)}function xc(t){let e=t??8192,r=e>>>1,n,i=e;return function(o){if(o<1||o>r)return Rt(o);i+o>e&&(n=Rt(e),i=0);let a=n.subarray(i,i+=o);return i&7&&(i=(i|7)+1),a}}var Yr=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function bc(){}var Ec=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},Cb=xc();function Rb(t){return globalThis.Buffer!=null?Rt(t):Cb(t)}var Si=class{len;head;tail;states;constructor(){this.len=0,this.head=new Yr(bc,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new Yr(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new vc((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(vi,10,ut.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=ut.fromBigInt(e);return this._push(vi,r.length(),r)}uint64Number(e){let r=ut.fromNumber(e);return this._push(vi,r.length(),r)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let r=ut.fromBigInt(e).zzEncode();return this._push(vi,r.length(),r)}sint64Number(e){let r=ut.fromNumber(e).zzEncode();return this._push(vi,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(wc,1,e?1:0)}fixed32(e){return this._push(_i,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=ut.fromBigInt(e);return this._push(_i,4,r.lo)._push(_i,4,r.hi)}fixed64Number(e){let r=ut.fromNumber(e);return this._push(_i,4,r.lo)._push(_i,4,r.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(X0,4,e)}double(e){return this._push(j0,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(wc,1,0):this.uint32(r)._push(Bb,r,e)}string(e){let r=th(e);return r!==0?this.uint32(r)._push(mc,r,e):this._push(wc,1,0)}fork(){return this.states=new Ec(this),this.head=this.tail=new Yr(bc,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 Yr(bc,0,0),this.len=0),this}ldelim(){let e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=r,this.len+=n),this}finish(){let e=this.head.next,r=Rb(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function wc(t,e,r){e[r]=t&255}function Tb(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var vc=class extends Yr{next;constructor(e,r){super(Tb,e,r),this.next=void 0}};function vi(t,e,r){for(;t.hi!==0;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}function _i(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function Bb(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(Si.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(Lb,e,t),this},Si.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(Pb,e,t),this});function Lb(t,e,r){e.set(t,r)}function Pb(t,e,r){t.length<40?mc(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(Y(t),r)}function _c(){return new Si}function Ye(t,e){let r=_c();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var kn;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(kn||(kn={}));function Ms(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Sc(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(s,o){let a=e(s);o.int32(a)},n=function(s){let o=s.int32();return e(o)};return Ms("enum",kn.VARINT,r,n)}function Qe(t,e){return Ms("message",kn.LENGTH_DELIMITED,t,e)}var be;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(be||(be={}));var Ac;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(Ac||(Ac={}));(function(t){t.codec=()=>Sc(Ac)})(be||(be={}));var Ht;(function(t){let e;t.codec=()=>(e==null&&(e=Qe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),be.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=be.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ye(r,t.codec()),t.decode=r=>We(r,t.codec())})(Ht||(Ht={}));var Gt;(function(t){let e;t.codec=()=>(e==null&&(e=Qe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),be.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=be.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ye(r,t.codec()),t.decode=r=>We(r,t.codec())})(Gt||(Gt={}));var Ai=class{_key;constructor(e){this._key=On(e,Dn)}verify(e,r){return W0(this._key,r,e)}marshal(){return this._key}get bytes(){return Ht.encode({Type:be.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Ie(this.bytes,e.bytes)}hash(){let e=Ge.digest(this.bytes);return wt(e)?e.then(({bytes:r})=>r):e.bytes}},Qr=class{_key;_publicKey;constructor(e,r){this._key=On(e,sr),this._publicKey=On(r,Dn)}sign(e){return G0(this._key,e)}get public(){return new Ai(this._publicKey)}marshal(){return this._key}get bytes(){return Gt.encode({Type:be.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Ie(this.bytes,e.bytes)}async hash(){let e=Ge.digest(this.bytes),r;return wt(e)?{bytes:r}=await e:r=e.bytes,r}async id(){let e=br.digest(this.public.bytes);return Ae.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Nn(this.bytes,e);throw new S(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Db(t){if(t.length>sr){t=On(t,sr+Dn);let n=t.subarray(0,sr),i=t.subarray(sr,t.length);return new Qr(n,i)}t=On(t,sr);let e=t.subarray(0,sr),r=t.subarray(Dn);return new Qr(e,r)}function Nb(t){return t=On(t,Dn),new Ai(t)}async function kb(){let{privateKey:t,publicKey:e}=z0();return new Qr(t,e)}async function ih(t){let{privateKey:e,publicKey:r}=H0(t);return new Qr(e,r)}function On(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new S(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}var Ob={"P-256":256,"P-384":384,"P-521":521},Mb=Object.keys(Ob),xI=Mb.join(" / ");var Lc={};Me(Lc,{MAX_KEY_SIZE:()=>Ti,RsaPrivateKey:()=>Mn,RsaPublicKey:()=>Ri,fromJwk:()=>Yb,generateKeyPair:()=>Qb,unmarshalRsaPrivateKey:()=>Gb,unmarshalRsaPublicKey:()=>Wb});var Ci=we(fe(),1);var r4=we(uh(),1);function Fs(t){if(isNaN(t)||t<=0)throw new S("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Bn(t)}var UI=we(xs(),1),Tc=we(fe(),1);function lh(t,e){return e.map(r=>pt(t[r]))}function fh(t){return Tc.default.pki.setRsaPrivateKey(...lh(t,["n","e","d","p","q","dp","dq","qi"]))}function hh(t){return Tc.default.pki.setRsaPublicKey(...lh(t,["n","e"]))}var Zr={};Me(Zr,{jwkToPkcs1:()=>qb,jwkToPkix:()=>$b,pkcs1ToJwk:()=>Kb,pkixToJwk:()=>Vb});var qI=we(fi(),1),VI=we(xs(),1);var or=we(fe(),1);function Kb(t){let e=or.default.asn1.fromDer(ie(t,"ascii")),r=or.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Tt(r.n),e:Tt(r.e),d:Tt(r.d),p:Tt(r.p),q:Tt(r.q),dp:Tt(r.dP),dq:Tt(r.dQ),qi:Tt(r.qInv),alg:"RS256"}}function qb(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new S("JWK was missing components","ERR_INVALID_PARAMETERS");let e=or.default.pki.privateKeyToAsn1({n:pt(t.n),e:pt(t.e),d:pt(t.d),p:pt(t.p),q:pt(t.q),dP:pt(t.dp),dQ:pt(t.dq),qInv:pt(t.qi)});return Y(or.default.asn1.toDer(e).getBytes(),"ascii")}function Vb(t){let e=or.default.asn1.fromDer(ie(t,"ascii")),r=or.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Tt(r.n),e:Tt(r.e)}}function $b(t){if(t.n==null||t.e==null)throw new S("JWK was missing components","ERR_INVALID_PARAMETERS");let e=or.default.pki.publicKeyToAsn1({n:pt(t.n),e:pt(t.e)});return Y(or.default.asn1.toDer(e).getBytes(),"ascii")}async function dh(t){let e=await ct.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await yh(e);return{privateKey:r[0],publicKey:r[1]}}async function Bc(t){let r=[await ct.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await zb(t)],n=await yh({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function ph(t,e){let r=await ct.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await ct.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,e instanceof Uint8Array?e:e.subarray());return new Uint8Array(n,0,n.byteLength)}async function mh(t,e,r){let n=await ct.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return ct.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r instanceof Uint8Array?r:r.subarray())}async function yh(t){if(t.privateKey==null||t.publicKey==null)throw new S("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([ct.get().subtle.exportKey("jwk",t.privateKey),ct.get().subtle.exportKey("jwk",t.publicKey)])}async function zb(t){return ct.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function gh(t,e,r,n){let i=e?hh(t):fh(t),s=ie(r instanceof Uint8Array?r:r.subarray(),"ascii"),o=n(s,i);return Y(o,"ascii")}function xh(t,e){return gh(t,!0,e,(r,n)=>n.encrypt(r))}function bh(t,e){return gh(t,!1,e,(r,n)=>n.decrypt(r))}function Ks(t){if(t.kty!=="RSA")throw new S("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new S("invalid key modulus","ERR_INVALID_KEY_MODULUS");return Y(t.n,"base64url").length*8}var Ti=8192,Ri=class{_key;constructor(e){this._key=e}verify(e,r){return mh(this._key,r,e)}marshal(){return Zr.jwkToPkix(this._key)}get bytes(){return Ht.encode({Type:be.RSA,Data:this.marshal()}).subarray()}encrypt(e){return xh(this._key,e)}equals(e){return Ie(this.bytes,e.bytes)}hash(){let e=Ge.digest(this.bytes);return wt(e)?e.then(({bytes:r})=>r):e.bytes}},Mn=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return Fs(16)}sign(e){return ph(this._key,e)}get public(){if(this._publicKey==null)throw new S("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Ri(this._publicKey)}decrypt(e){return bh(this._key,e)}marshal(){return Zr.jwkToPkcs1(this._key)}get bytes(){return Gt.encode({Type:be.RSA,Data:this.marshal()}).subarray()}equals(e){return Ie(this.bytes,e.bytes)}hash(){let e=Ge.digest(this.bytes);return wt(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return ie(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new Ci.default.util.ByteBuffer(this.marshal()),i=Ci.default.asn1.fromDer(n),s=Ci.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Ci.default.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return Nn(this.bytes,e);throw new S(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Gb(t){let e=Zr.pkcs1ToJwk(t);if(Ks(e)>Ti)throw new S("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await Bc(e);return new Mn(r.privateKey,r.publicKey)}function Wb(t){let e=Zr.pkixToJwk(t);if(Ks(e)>Ti)throw new S("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Ri(e)}async function Yb(t){if(Ks(t)>Ti)throw new S("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Bc(t);return new Mn(e.privateKey,e.publicKey)}async function Qb(t){if(t>Ti)throw new S("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await dh(t);return new Mn(e.privateKey,e.publicKey)}var Mc={};Me(Mc,{Secp256k1PrivateKey:()=>Li,Secp256k1PublicKey:()=>Bi,generateKeyPair:()=>l2,unmarshalSecp256k1PrivateKey:()=>c2,unmarshalSecp256k1PublicKey:()=>u2});var Xb=(t,e,r)=>t&e^~t&r,Zb=(t,e,r)=>t&e^t&r^e&r,jb=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Ir=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Cr=new Uint32Array(64),Pc=class extends Ln{constructor(){super(64,32,8,!1),this.A=Ir[0]|0,this.B=Ir[1]|0,this.C=Ir[2]|0,this.D=Ir[3]|0,this.E=Ir[4]|0,this.F=Ir[5]|0,this.G=Ir[6]|0,this.H=Ir[7]|0}get(){let{A:e,B:r,C:n,D:i,E:s,F:o,G:a,H:c}=this;return[e,r,n,i,s,o,a,c]}set(e,r,n,i,s,o,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,r){for(let f=0;f<16;f++,r+=4)Cr[f]=e.getUint32(r,!1);for(let f=16;f<64;f++){let d=Cr[f-15],p=Cr[f-2],h=Bt(d,7)^Bt(d,18)^d>>>3,m=Bt(p,17)^Bt(p,19)^p>>>10;Cr[f]=m+Cr[f-7]+h+Cr[f-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:c,G:u,H:l}=this;for(let f=0;f<64;f++){let d=Bt(a,6)^Bt(a,11)^Bt(a,25),p=l+d+Xb(a,c,u)+jb[f]+Cr[f]|0,m=(Bt(n,2)^Bt(n,13)^Bt(n,22))+Zb(n,i,s)|0;l=u,u=c,c=a,a=o+p|0,o=s,s=i,i=n,n=p+m|0}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(n,i,s,o,a,c,u,l)}roundClean(){Cr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var wh=Is(()=>new Pc);function Jb(t){let e=Ei(t);zt(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=e;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:e2,hexToBytes:t2}=Ts,jr={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=jr;if(t.length<2||t[0]!==2)throw new e("Invalid signature integer tag");let r=t[1],n=t.subarray(2,r+2);if(!r||n.length!==r)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:e2(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=jr,r=typeof t=="string"?t2(t):t;if(!Lt(r))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new e("Invalid signature tag");if(r[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:i,l:s}=jr._parseInt(r.subarray(2)),{d:o,l:a}=jr._parseInt(s);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s:o}},hexFromSig(t){let e=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let l=u.toString(16);return l.length&1?`0${l}`:l},n=e(r(t.s)),i=e(r(t.r)),s=n.length/2,o=i.length/2,a=r(s),c=r(o);return`30${r(o+s+4)}02${c}${i}02${a}${n}`}},ar=BigInt(0),Et=BigInt(1),h4=BigInt(2),Eh=BigInt(3),d4=BigInt(4);function r2(t){let e=Jb(t),{Fp:r}=e,n=e.toBytes||((h,m,y)=>{let g=m.toAffine();return nr(Uint8Array.from([4]),r.toBytes(g.x),r.toBytes(g.y))}),i=e.fromBytes||(h=>{let m=h.subarray(1),y=r.fromBytes(m.subarray(0,r.BYTES)),g=r.fromBytes(m.subarray(r.BYTES,2*r.BYTES));return{x:y,y:g}});function s(h){let{a:m,b:y}=e,g=r.sqr(h),x=r.mul(g,h);return r.add(r.add(x,r.mul(h,m)),y)}if(!r.eql(r.sqr(e.Gy),s(e.Gx)))throw new Error("bad generator point: equation left != right");function o(h){return typeof h=="bigint"&&ar<h&&h<e.n}function a(h){if(!o(h))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(h){let{allowedPrivateKeyLengths:m,nByteLength:y,wrapPrivateKey:g,n:x}=e;if(m&&typeof h!="bigint"){if(Lt(h)&&(h=tr(h)),typeof h!="string"||!m.includes(h.length))throw new Error("Invalid key");h=h.padStart(y*2,"0")}let b;try{b=typeof h=="bigint"?h:rr(_e("private key",h,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof h}`)}return g&&(b=he(b,x)),a(b),b}let u=new Map;function l(h){if(!(h instanceof f))throw new Error("ProjectivePoint expected")}class f{constructor(m,y,g){if(this.px=m,this.py=y,this.pz=g,m==null||!r.isValid(m))throw new Error("x required");if(y==null||!r.isValid(y))throw new Error("y required");if(g==null||!r.isValid(g))throw new Error("z required")}static fromAffine(m){let{x:y,y:g}=m||{};if(!m||!r.isValid(y)||!r.isValid(g))throw new Error("invalid affine point");if(m instanceof f)throw new Error("projective point not allowed");let x=b=>r.eql(b,r.ZERO);return x(y)&&x(g)?f.ZERO:new f(y,g,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(m){let y=r.invertBatch(m.map(g=>g.pz));return m.map((g,x)=>g.toAffine(y[x])).map(f.fromAffine)}static fromHex(m){let y=f.fromAffine(i(_e("pointHex",m)));return y.assertValidity(),y}static fromPrivateKey(m){return f.BASE.multiply(c(m))}_setWindowSize(m){this._WINDOW_SIZE=m,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:m,y}=this.toAffine();if(!r.isValid(m)||!r.isValid(y))throw new Error("bad point: x or y not FE");let g=r.sqr(y),x=s(m);if(!r.eql(g,x))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:m}=this.toAffine();if(r.isOdd)return!r.isOdd(m);throw new Error("Field doesn't support isOdd")}equals(m){l(m);let{px:y,py:g,pz:x}=this,{px:b,py:A,pz:E}=m,_=r.eql(r.mul(y,E),r.mul(b,x)),T=r.eql(r.mul(g,E),r.mul(A,x));return _&&T}negate(){return new f(this.px,r.neg(this.py),this.pz)}double(){let{a:m,b:y}=e,g=r.mul(y,Eh),{px:x,py:b,pz:A}=this,E=r.ZERO,_=r.ZERO,T=r.ZERO,P=r.mul(x,x),z=r.mul(b,b),G=r.mul(A,A),$=r.mul(x,b);return $=r.add($,$),T=r.mul(x,A),T=r.add(T,T),E=r.mul(m,T),_=r.mul(g,G),_=r.add(E,_),E=r.sub(z,_),_=r.add(z,_),_=r.mul(E,_),E=r.mul($,E),T=r.mul(g,T),G=r.mul(m,G),$=r.sub(P,G),$=r.mul(m,$),$=r.add($,T),T=r.add(P,P),P=r.add(T,P),P=r.add(P,G),P=r.mul(P,$),_=r.add(_,P),G=r.mul(b,A),G=r.add(G,G),P=r.mul(G,$),E=r.sub(E,P),T=r.mul(G,z),T=r.add(T,T),T=r.add(T,T),new f(E,_,T)}add(m){l(m);let{px:y,py:g,pz:x}=this,{px:b,py:A,pz:E}=m,_=r.ZERO,T=r.ZERO,P=r.ZERO,z=e.a,G=r.mul(e.b,Eh),$=r.mul(y,b),J=r.mul(g,A),le=r.mul(x,E),$e=r.add(y,g),B=r.add(b,A);$e=r.mul($e,B),B=r.add($,J),$e=r.sub($e,B),B=r.add(y,x);let k=r.add(b,E);return B=r.mul(B,k),k=r.add($,le),B=r.sub(B,k),k=r.add(g,x),_=r.add(A,E),k=r.mul(k,_),_=r.add(J,le),k=r.sub(k,_),P=r.mul(z,B),_=r.mul(G,le),P=r.add(_,P),_=r.sub(J,P),P=r.add(J,P),T=r.mul(_,P),J=r.add($,$),J=r.add(J,$),le=r.mul(z,le),B=r.mul(G,B),J=r.add(J,le),le=r.sub($,le),le=r.mul(z,le),B=r.add(B,le),$=r.mul(J,B),T=r.add(T,$),$=r.mul(k,B),_=r.mul($e,_),_=r.sub(_,$),$=r.mul($e,J),P=r.mul(k,P),P=r.add(P,$),new f(_,T,P)}subtract(m){return this.add(m.negate())}is0(){return this.equals(f.ZERO)}wNAF(m){return p.wNAFCached(this,u,m,y=>{let g=r.invertBatch(y.map(x=>x.pz));return y.map((x,b)=>x.toAffine(g[b])).map(f.fromAffine)})}multiplyUnsafe(m){let y=f.ZERO;if(m===ar)return y;if(a(m),m===Et)return this;let{endo:g}=e;if(!g)return p.unsafeLadder(this,m);let{k1neg:x,k1:b,k2neg:A,k2:E}=g.splitScalar(m),_=y,T=y,P=this;for(;b>ar||E>ar;)b&Et&&(_=_.add(P)),E&Et&&(T=T.add(P)),P=P.double(),b>>=Et,E>>=Et;return x&&(_=_.negate()),A&&(T=T.negate()),T=new f(r.mul(T.px,g.beta),T.py,T.pz),_.add(T)}multiply(m){a(m);let y=m,g,x,{endo:b}=e;if(b){let{k1neg:A,k1:E,k2neg:_,k2:T}=b.splitScalar(y),{p:P,f:z}=this.wNAF(E),{p:G,f:$}=this.wNAF(T);P=p.constTimeNegate(A,P),G=p.constTimeNegate(_,G),G=new f(r.mul(G.px,b.beta),G.py,G.pz),g=P.add(G),x=z.add($)}else{let{p:A,f:E}=this.wNAF(y);g=A,x=E}return f.normalizeZ([g,x])[0]}multiplyAndAddUnsafe(m,y,g){let x=f.BASE,b=(E,_)=>_===ar||_===Et||!E.equals(x)?E.multiplyUnsafe(_):E.multiply(_),A=b(this,y).add(b(m,g));return A.is0()?void 0:A}toAffine(m){let{px:y,py:g,pz:x}=this,b=this.is0();m==null&&(m=b?r.ONE:r.inv(x));let A=r.mul(y,m),E=r.mul(g,m),_=r.mul(x,m);if(b)return{x:r.ZERO,y:r.ZERO};if(!r.eql(_,r.ONE))throw new Error("invZ was invalid");return{x:A,y:E}}isTorsionFree(){let{h:m,isTorsionFree:y}=e;if(m===Et)return!0;if(y)return y(f,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:m,clearCofactor:y}=e;return m===Et?this:y?y(f,this):this.multiplyUnsafe(e.h)}toRawBytes(m=!0){return this.assertValidity(),n(f,this,m)}toHex(m=!0){return tr(this.toRawBytes(m))}}f.BASE=new f(e.Gx,e.Gy,r.ONE),f.ZERO=new f(r.ZERO,r.ONE,r.ZERO);let d=e.nBitLength,p=Ps(f,e.endo?Math.ceil(d/2):d);return{CURVE:e,ProjectivePoint:f,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:o}}function n2(t){let e=Ei(t);return zt(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function vh(t){let e=n2(t),{Fp:r,n}=e,i=r.BYTES+1,s=2*r.BYTES+1;function o(B){return ar<B&&B<r.ORDER}function a(B){return he(B,n)}function c(B){return Bs(B,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:l,weierstrassEquation:f,isWithinCurveOrder:d}=r2({...e,toBytes(B,k,D){let N=k.toAffine(),C=r.toBytes(N.x),U=nr;return D?U(Uint8Array.from([k.hasEvenY()?2:3]),C):U(Uint8Array.from([4]),C,r.toBytes(N.y))},fromBytes(B){let k=B.length,D=B[0],N=B.subarray(1);if(k===i&&(D===2||D===3)){let C=rr(N);if(!o(C))throw new Error("Point is not on curve");let U=f(C),K=r.sqrt(U),H=(K&Et)===Et;return(D&1)===1!==H&&(K=r.neg(K)),{x:C,y:K}}else if(k===s&&D===4){let C=r.fromBytes(N.subarray(0,r.BYTES)),U=r.fromBytes(N.subarray(r.BYTES,2*r.BYTES));return{x:C,y:U}}else throw new Error(`Point of length ${k} was invalid. Expected ${i} compressed bytes or ${s} uncompressed bytes`)}}),p=B=>tr(Sr(B,e.nByteLength));function h(B){let k=n>>Et;return B>k}function m(B){return h(B)?a(-B):B}let y=(B,k,D)=>rr(B.slice(k,D));class g{constructor(k,D,N){this.r=k,this.s=D,this.recovery=N,this.assertValidity()}static fromCompact(k){let D=e.nByteLength;return k=_e("compactSignature",k,D*2),new g(y(k,0,D),y(k,D,2*D))}static fromDER(k){let{r:D,s:N}=jr.toSig(_e("DER",k));return new g(D,N)}assertValidity(){if(!d(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!d(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(k){return new g(this.r,this.s,k)}recoverPublicKey(k){let{r:D,s:N,recovery:C}=this,U=T(_e("msgHash",k));if(C==null||![0,1,2,3].includes(C))throw new Error("recovery id invalid");let K=C===2||C===3?D+e.n:D;if(K>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let H=C&1?"03":"02",Z=u.fromHex(H+p(K)),ee=c(K),ce=a(-U*ee),te=a(N*ee),se=u.BASE.multiplyAndAddUnsafe(Z,ce,te);if(!se)throw new Error("point at infinify");return se.assertValidity(),se}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return zr(this.toDERHex())}toDERHex(){return jr.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return zr(this.toCompactHex())}toCompactHex(){return p(this.r)+p(this.s)}}let x={isValidPrivateKey(B){try{return l(B),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let B=oc(e.n);return F0(e.randomBytes(B),e.n)},precompute(B=8,k=u.BASE){return k._setWindowSize(B),k.multiply(BigInt(3)),k}};function b(B,k=!0){return u.fromPrivateKey(B).toRawBytes(k)}function A(B){let k=Lt(B),D=typeof B=="string",N=(k||D)&&B.length;return k?N===i||N===s:D?N===2*i||N===2*s:B instanceof u}function E(B,k,D=!0){if(A(B))throw new Error("first arg must be private key");if(!A(k))throw new Error("second arg must be public key");return u.fromHex(k).multiply(l(B)).toRawBytes(D)}let _=e.bits2int||function(B){let k=rr(B),D=B.length*8-e.nBitLength;return D>0?k>>BigInt(D):k},T=e.bits2int_modN||function(B){return a(_(B))},P=wi(e.nBitLength);function z(B){if(typeof B!="bigint")throw new Error("bigint expected");if(!(ar<=B&&B<P))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Sr(B,e.nByteLength)}function G(B,k,D=$){if(["recovered","canonical"].some(Ee=>Ee in D))throw new Error("sign() legacy options not supported");let{hash:N,randomBytes:C}=e,{lowS:U,prehash:K,extraEntropy:H}=D;U==null&&(U=!0),B=_e("msgHash",B),K&&(B=_e("prehashed msgHash",N(B)));let Z=T(B),ee=l(k),ce=[z(ee),z(Z)];if(H!=null){let Ee=H===!0?C(r.BYTES):H;ce.push(_e("extraEntropy",Ee))}let te=nr(...ce),se=Z;function Te(Ee){let ze=_(Ee);if(!d(ze))return;let He=c(ze),De=u.BASE.multiply(ze).toAffine(),je=a(De.x);if(je===ar)return;let Qt=a(He*a(se+je*ee));if(Qt===ar)return;let kr=(De.x===je?0:2)|Number(De.y&Et),ai=Qt;return U&&h(Qt)&&(ai=m(Qt),kr^=1),new g(je,ai,kr)}return{seed:te,k2sig:Te}}let $={lowS:e.lowS,prehash:!1},J={lowS:e.lowS,prehash:!1};function le(B,k,D=$){let{seed:N,k2sig:C}=G(B,k,D),U=e;return rc(U.hash.outputLen,U.nByteLength,U.hmac)(N,C)}u.BASE._setWindowSize(8);function $e(B,k,D,N=J){let C=B;if(k=_e("msgHash",k),D=_e("publicKey",D),"strict"in N)throw new Error("options.strict was renamed to lowS");let{lowS:U,prehash:K}=N,H,Z;try{if(typeof C=="string"||Lt(C))try{H=g.fromDER(C)}catch(De){if(!(De instanceof jr.Err))throw De;H=g.fromCompact(C)}else if(typeof C=="object"&&typeof C.r=="bigint"&&typeof C.s=="bigint"){let{r:De,s:je}=C;H=new g(De,je)}else throw new Error("PARSE");Z=u.fromHex(D)}catch(De){if(De.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(U&&H.hasHighS())return!1;K&&(k=e.hash(k));let{r:ee,s:ce}=H,te=T(k),se=c(ce),Te=a(te*se),Ee=a(ee*se),ze=u.BASE.multiplyAndAddUnsafe(Z,Te,Ee)?.toAffine();return ze?a(ze.x)===ee:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:E,sign:le,verify:$e,ProjectivePoint:u,Signature:g,utils:x}}var qs=class extends Tn{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,I0(e);let n=bi(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,s=new Uint8Array(i);s.set(n.length>i?e.create().update(n).digest():n);for(let o=0;o<s.length;o++)s[o]^=54;this.iHash.update(s),this.oHash=e.create();for(let o=0;o<s.length;o++)s[o]^=106;this.oHash.update(s),s.fill(0)}update(e){return Rn(this),this.iHash.update(e),this}digestInto(e){Rn(this),Qa(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:s,blockLen:o,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=s,e.blockLen=o,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Dc=(t,e,r)=>new qs(t,e).update(r).digest();Dc.create=(t,e)=>new qs(t,e);function i2(t){return{hash:t,hmac:(e,...r)=>Dc(t,e,As(...r)),randomBytes:Bn}}function _h(t,e){let r=n=>vh({...t,...i2(n)});return Object.freeze({...r(e),create:r})}var Ih=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Sh=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),s2=BigInt(1),Nc=BigInt(2),Ah=(t,e)=>(t+e/Nc)/e;function o2(t){let e=Ih,r=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,l=u*u*t%e,f=xe(l,r,e)*l%e,d=xe(f,r,e)*l%e,p=xe(d,Nc,e)*u%e,h=xe(p,i,e)*p%e,m=xe(h,s,e)*h%e,y=xe(m,a,e)*m%e,g=xe(y,c,e)*y%e,x=xe(g,a,e)*m%e,b=xe(x,r,e)*l%e,A=xe(b,o,e)*h%e,E=xe(A,n,e)*u%e,_=xe(E,Nc,e);if(!kc.eql(kc.sqr(_),t))throw new Error("Cannot find square root");return _}var kc=Ls(Ih,void 0,void 0,{sqrt:o2}),Nt=_h({a:BigInt(0),b:BigInt(7),Fp:kc,n:Sh,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=Sh,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-s2*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=Ah(s*t,e),c=Ah(-n*t,e),u=he(t-a*r-c*i,e),l=he(-a*n-c*s,e),f=u>o,d=l>o;if(f&&(u=e-u),d&&(l=e-l),u>o||l>o)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:d,k2:l}}}},wh),A4=BigInt(0);var I4=Nt.ProjectivePoint;function Ch(){return Nt.utils.randomPrivateKey()}function Rh(t,e){let r=Ge.digest(e instanceof Uint8Array?e:e.subarray());if(wt(r))return r.then(({digest:n})=>Nt.sign(n,t).toDERRawBytes()).catch(n=>{throw new S(String(n),"ERR_INVALID_INPUT")});try{return Nt.sign(r.digest,t).toDERRawBytes()}catch(n){throw new S(String(n),"ERR_INVALID_INPUT")}}function Th(t,e,r){let n=Ge.digest(r instanceof Uint8Array?r:r.subarray());if(wt(n))return n.then(({digest:i})=>Nt.verify(e,i,t)).catch(i=>{throw new S(String(i),"ERR_INVALID_INPUT")});try{return Nt.verify(e,n.digest,t)}catch(i){throw new S(String(i),"ERR_INVALID_INPUT")}}function Bh(t){return Nt.ProjectivePoint.fromHex(t).toRawBytes(!0)}function Lh(t){try{Nt.getPublicKey(t,!0)}catch(e){throw new S(String(e),"ERR_INVALID_PRIVATE_KEY")}}function Oc(t){try{Nt.ProjectivePoint.fromHex(t)}catch(e){throw new S(String(e),"ERR_INVALID_PUBLIC_KEY")}}function Ph(t){try{return Nt.getPublicKey(t,!0)}catch(e){throw new S(String(e),"ERR_INVALID_PRIVATE_KEY")}}var Bi=class{_key;constructor(e){Oc(e),this._key=e}verify(e,r){return Th(this._key,r,e)}marshal(){return Bh(this._key)}get bytes(){return Ht.encode({Type:be.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Ie(this.bytes,e.bytes)}async hash(){let e=Ge.digest(this.bytes),r;return wt(e)?{bytes:r}=await e:r=e.bytes,r}},Li=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??Ph(e),Lh(this._key),Oc(this._publicKey)}sign(e){return Rh(this._key,e)}get public(){return new Bi(this._publicKey)}marshal(){return this._key}get bytes(){return Gt.encode({Type:be.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Ie(this.bytes,e.bytes)}hash(){let e=Ge.digest(this.bytes);return wt(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return ie(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Nn(this.bytes,e);throw new S(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function c2(t){return new Li(t)}function u2(t){return new Bi(t)}async function l2(){let t=Ch();return new Li(t)}var Rr={rsa:Lc,ed25519:Ic,secp256k1:Mc};function Uc(t){let e=Object.keys(Rr).join(" / ");return new S(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Fc(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return Rr[t];throw Uc(t)}async function Dh(t,e){return Fc(t).generateKeyPair(e??2048)}function Pi(t){let e=Ht.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case be.RSA:return Rr.rsa.unmarshalRsaPublicKey(r);case be.Ed25519:return Rr.ed25519.unmarshalEd25519PublicKey(r);case be.Secp256k1:return Rr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Uc(e.Type??"unknown")}}function Nh(t,e){return e=(e??"rsa").toLowerCase(),Fc(e),t.bytes}async function Kc(t){let e=Gt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case be.RSA:return Rr.rsa.unmarshalRsaPrivateKey(r);case be.Ed25519:return Rr.ed25519.unmarshalEd25519PrivateKey(r);case be.Secp256k1:return Rr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Uc(e.Type??"RSA")}}function kh(t,e){return e=(e??"rsa").toLowerCase(),Fc(e),t.bytes}var gt=we(Vc(),1);gt.default.formatters.b=t=>t==null?"undefined":Ae.baseEncode(t);gt.default.formatters.t=t=>t==null?"undefined":dt.baseEncode(t);gt.default.formatters.m=t=>t==null?"undefined":Sn.baseEncode(t);gt.default.formatters.p=t=>t==null?"undefined":t.toString();gt.default.formatters.c=t=>t==null?"undefined":t.toString();gt.default.formatters.k=t=>t==null?"undefined":t.toString();gt.default.formatters.a=t=>t==null?"undefined":t.toString();function S2(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function zs(){return{forComponent(t){return A2(t)}}}function A2(t){let e=S2(`${t}:trace`);return gt.default.enabled(`${t}:trace`)&>.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,gt.default)(`${t}:trace`)),Object.assign((0,gt.default)(t),{error:(0,gt.default)(`${t}:error`),trace:e})}var I2=Symbol.for("nodejs.util.inspect.custom"),Fh=Object.values(wr).map(t=>t.decoder).reduce((t,e)=>t.or(e),wr.identity.decoder),Kh=114,$c=36,zc=37,Di=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[_a]=!0;toString(){return this.string==null&&(this.string=Ae.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Ct.createV1(Kh,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e==null)return!1;if(e instanceof Uint8Array)return Ie(this.multihash.bytes,e);if(typeof e=="string")return Le(e).equals(this);if(e?.multihash?.bytes!=null)return Ie(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[I2](){return`PeerId(${this.toString()})`}},en=class extends Di{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},tn=class extends Di{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},rn=class extends Di{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function qh(t){if(t.type==="RSA")return new en(t);if(t.type==="Ed25519")return new tn(t);if(t.type==="secp256k1")return new rn(t);throw new S("Not a PeerId","ERR_INVALID_PARAMETERS")}function Le(t,e){if(e=e??Fh,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=Vr(Ae.decode(`z${t}`));return t.startsWith("12D")?new tn({multihash:r}):t.startsWith("16U")?new rn({multihash:r}):new en({multihash:r})}return qn(Fh.decode(t))}function qn(t){try{let e=Vr(t);if(e.code===br.code){if(e.digest.length===$c)return new tn({multihash:e});if(e.digest.length===zc)return new rn({multihash:e})}if(e.code===Ge.code)return new en({multihash:e})}catch{return C2(Ct.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function C2(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Kh)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Ge.code)return new en({multihash:t.multihash});if(e.code===br.code){if(e.digest.length===$c)return new tn({multihash:t.multihash});if(e.digest.length===zc)return new rn({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Hs(t,e){return t.length===$c?new tn({multihash:$t(br.code,t),privateKey:e}):t.length===zc?new rn({multihash:$t(br.code,t),privateKey:e}):new en({multihash:await Ge.digest(t),publicKey:t,privateKey:e})}function nn(t,e){let r={[Symbol.iterator]:()=>r,next:()=>{let n=t.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:e(i)}}};return r}var et=class{map;constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){return this.map.delete(e.toString())}entries(){return nn(this.map.entries(),e=>[Le(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,Le(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return nn(this.map.keys(),e=>Le(e))}values(){return this.map.values()}get size(){return this.map.size}};var vt=class t{set;constructor(e){if(this.set=new Set,e!=null)for(let r of e)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return nn(this.set.entries(),e=>{let r=Le(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=Le(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return nn(this.set.values(),e=>Le(e))}intersection(e){let r=new t;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new t;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new t;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var Hc;(function(t){let e;t.codec=()=>(e==null&&(e=Qe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.id!=null&&(n.uint32(10),n.bytes(r.id)),r.pubKey!=null&&(n.uint32(18),n.bytes(r.pubKey)),r.privKey!=null&&(n.uint32(26),n.bytes(r.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.id=r.bytes();break;case 2:i.pubKey=r.bytes();break;case 3:i.privKey=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ye(r,t.codec()),t.decode=r=>We(r,t.codec())})(Hc||(Hc={}));var Vh=async()=>{let t=await Dh("Ed25519"),e=await T2(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function T2(t){return Hs(Nh(t.public),kh(t))}var B2=Math.pow(2,7),L2=Math.pow(2,14),P2=Math.pow(2,21),Gc=Math.pow(2,28),Wc=Math.pow(2,35),Yc=Math.pow(2,42),Qc=Math.pow(2,49),ae=128,tt=127;function rt(t){if(t<B2)return 1;if(t<L2)return 2;if(t<P2)return 3;if(t<Gc)return 4;if(t<Wc)return 5;if(t<Yc)return 6;if(t<Qc)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function D2(t,e,r=0){switch(rt(t)){case 8:e[r++]=t&255|ae,t/=128;case 7:e[r++]=t&255|ae,t/=128;case 6:e[r++]=t&255|ae,t/=128;case 5:e[r++]=t&255|ae,t/=128;case 4:e[r++]=t&255|ae,t>>>=7;case 3:e[r++]=t&255|ae,t>>>=7;case 2:e[r++]=t&255|ae,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function N2(t,e,r=0){switch(rt(t)){case 8:e.set(r++,t&255|ae),t/=128;case 7:e.set(r++,t&255|ae),t/=128;case 6:e.set(r++,t&255|ae),t/=128;case 5:e.set(r++,t&255|ae),t/=128;case 4:e.set(r++,t&255|ae),t>>>=7;case 3:e.set(r++,t&255|ae),t>>>=7;case 2:e.set(r++,t&255|ae),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function k2(t,e){let r=t[e],n=0;if(n+=r&tt,r<ae||(r=t[e+1],n+=(r&tt)<<7,r<ae)||(r=t[e+2],n+=(r&tt)<<14,r<ae)||(r=t[e+3],n+=(r&tt)<<21,r<ae)||(r=t[e+4],n+=(r&tt)*Gc,r<ae)||(r=t[e+5],n+=(r&tt)*Wc,r<ae)||(r=t[e+6],n+=(r&tt)*Yc,r<ae)||(r=t[e+7],n+=(r&tt)*Qc,r<ae))return n;throw new RangeError("Could not decode varint")}function O2(t,e){let r=t.get(e),n=0;if(n+=r&tt,r<ae||(r=t.get(e+1),n+=(r&tt)<<7,r<ae)||(r=t.get(e+2),n+=(r&tt)<<14,r<ae)||(r=t.get(e+3),n+=(r&tt)<<21,r<ae)||(r=t.get(e+4),n+=(r&tt)*Gc,r<ae)||(r=t.get(e+5),n+=(r&tt)*Wc,r<ae)||(r=t.get(e+6),n+=(r&tt)*Yc,r<ae)||(r=t.get(e+7),n+=(r&tt)*Qc,r<ae))return n;throw new RangeError("Could not decode varint")}function lt(t,e,r=0){return e==null&&(e=Rt(rt(t))),e instanceof Uint8Array?D2(t,e,r):N2(t,e,r)}function kt(t,e=0){return t instanceof Uint8Array?k2(t,e):O2(t,e)}function Ni(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function cr(t=0){return globalThis.Buffer?.alloc!=null?Ni(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function ki(t=0){return globalThis.Buffer?.allocUnsafe!=null?Ni(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Xc(t,e){e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=ki(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Ni(r)}function $h(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var Hh=Symbol.for("@achingbrain/uint8arraylist");function zh(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function Gs(t){return!!t?.[Hh]}var Ve=class t{bufs;length;[Hh]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Gs(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Gs(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=zh(this.bufs,e);return r.buf[r.index]}set(e,r){let n=zh(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(Gs(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return Xc(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Xc(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),s=new t;return s.length=i,s.bufs=[...n],s}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===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,c=a+o.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,l=r>a&&r<=c;if(u&&l){if(e===a&&r===c){n.push(o);break}let f=e-a;n.push(o.subarray(f,f+(r-e)));break}if(u){if(e===0){n.push(o);continue}n.push(o.subarray(e-a));continue}if(l){if(r===c){n.push(o);break}n.push(o.subarray(0,r-a));break}n.push(o)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!Gs(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;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 f=0;f<s;f++)o[f]=-1;for(let f=0;f<i;f++)o[n[f]]=f;let a=o,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=r;f<=c;f+=l){l=0;for(let d=u;d>=0;d--){let p=this.get(f+d);if(n[d]!==p){l=Math.max(1,d-a[p]);break}}if(l===0)return f}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=ki(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=cr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=cr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=cr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=ki(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=cr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=cr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=cr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=cr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=cr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof t)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!$h(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((i,s)=>i+s.byteLength,0)),n.length=r,n}};var Gh={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Oi;(function(t){let e;t.codec=()=>(e==null&&(e=Qe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.publicKey=r.bytes();break;case 2:i.payloadType=r.bytes();break;case 3:i.payload=r.bytes();break;case 5:i.signature=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ye(r,t.codec()),t.decode=r=>We(r,t.codec())})(Oi||(Oi={}));var Vn=class t{static createFromProtobuf=async e=>{let r=Oi.decode(e),n=await Hs(r.publicKey);return new t({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(e,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=e.domain,i=e.codec,s=e.marshal(),o=Wh(n,i,s),c=await(await Kc(r.privateKey)).sign(o.subarray());return new t({peerId:r,payloadType:i,payload:s,signature:c})};static openAndCertify=async(e,r)=>{let n=await t.createFromProtobuf(e);if(!await n.validate(r))throw new S("envelope signature is not valid for the given domain",Gh.ERR_SIGNATURE_NOT_VALID);return n};peerId;payloadType;payload;signature;marshaled;constructor(e){let{peerId:r,payloadType:n,payload:i,signature:s}=e;this.peerId=r,this.payloadType=n,this.payload=i,this.signature=s}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=Oi.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return Ie(this.marshal(),e.marshal())}async validate(e){let r=Wh(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return Pi(this.peerId.publicKey).verify(r.subarray(),this.signature)}},Wh=(t,e,r)=>{let n=Y(t),i=lt(n.byteLength),s=lt(e.length),o=lt(r.length);return new Ve(i,n,s,e,o,r)};function Yh(t,e){let r=(n,i)=>n.toString().localeCompare(i.toString());return t.length!==e.length?!1:(e.sort(r),t.sort(r).every((n,i)=>e[i].equals(n)))}var Ws=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let s=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let d=Number.parseInt(f,e);if(!Number.isNaN(d))return d});if(l===void 0)break;if(s*=e,s+=l,s>u||(o+=1,r!==void 0&&o>r))return}if(o!==0)return!n&&c&&o>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let o=this.readSeparator(":",n,()=>this.readIPv4Addr());if(o!==void 0)return r[i]=o[0],r[i+1]=o[1],r[i+2]=o[2],r[i+3]=o[3],[i+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[i,!1];r[i]=s>>8,r[i+1]=s&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),o=16-(n+2),[a]=e(s.subarray(0,o));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Qh=45,M2=15,$n=new Ws;function Zc(t){if(!(t.length>M2))return $n.new(t).parseWith(()=>$n.readIPv4Addr())}function jc(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>Qh))return $n.new(t).parseWith(()=>$n.readIPv6Addr())}function Ys(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>Qh))return $n.new(t).parseWith(()=>$n.readIPAddr())}var TR=parseInt("0xFFFF",16),BR=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Qs(t){return!!Zc(t)}function Xs(t){return!!jc(t)}function zn(t){return!!Ys(t)}var jh=Qs,V2=Xs,Jc=function(t){let e=0;if(t=t.toString().trim(),jh(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(V2(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=jh(r[n]),o;s&&(o=Jc(r[n]),r[n]=ie(o.slice(0,2),"base16")),o!=null&&++n<8&&r.splice(n,0,ie(o.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);i[e++]=s>>8&255,i[e++]=s&255}return i}throw new Error("invalid ip address")},Jh=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let s=0;s<r;s++)i.push(t[e+s]);return i.join(".")}if(r===16){let i=[];for(let s=0;s<r;s+=2)i.push(n.getUint16(e+s).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Hn={},eu={},z2=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];z2.forEach(t=>{let e=H2(...t);eu[e.code]=e,Hn[e.name]=e});function H2(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function ue(t){if(typeof t=="number"){if(eu[t]!=null)return eu[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Hn[t]!=null)return Hn[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var d8=ue("ip4"),p8=ue("ip6"),m8=ue("ipcidr");function ru(t,e){switch(ue(t).code){case 4:case 41:return W2(e);case 42:return rd(e);case 6:case 273:case 33:case 132:return id(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return rd(e);case 421:return Z2(e);case 444:return nd(e);case 445:return nd(e);case 466:return X2(e);default:return ie(e,"base16")}}function nu(t,e){switch(ue(t).code){case 4:return ed(e);case 41:return ed(e);case 42:return td(e);case 6:case 273:case 33:case 132:return iu(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return td(e);case 421:return Y2(e);case 444:return j2(e);case 445:return J2(e);case 466:return Q2(e);default:return Y(e,"base16")}}var tu=Object.values(wr).map(t=>t.decoder),G2=function(){let t=tu[0].or(tu[1]);return tu.slice(2).forEach(e=>t=t.or(e)),t}();function ed(t){if(!zn(t))throw new Error("invalid ip address");return Jc(t)}function W2(t){let e=Jh(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!zn(e))throw new Error("invalid ip address");return e}function iu(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function id(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function td(t){let e=Y(t),r=Uint8Array.from(lt(e.length));return qe([r,e],r.length+e.length)}function rd(t){let e=kt(t);if(t=t.slice(rt(e)),t.length!==e)throw new Error("inconsistent lengths");return ie(t)}function Y2(t){let e;t[0]==="Q"||t[0]==="1"?e=Vr(Ae.decode(`z${t}`)).bytes:e=Ct.parse(t).multihash.bytes;let r=Uint8Array.from(lt(e.length));return qe([r,e],r.length+e.length)}function Q2(t){let e=G2.decode(t),r=Uint8Array.from(lt(e.length));return qe([r,e],r.length+e.length)}function X2(t){let e=kt(t),r=t.slice(rt(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+ie(r,"base64url")}function Z2(t){let e=kt(t),r=t.slice(rt(e));if(r.length!==e)throw new Error("inconsistent lengths");return ie(r,"base58btc")}function j2(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=dt.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=iu(n);return qe([r,i],r.length+i.length)}function J2(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=dt.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=iu(n);return qe([r,i],r.length+i.length)}function nd(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=ie(e,"base32"),i=id(r);return`${n}:${i}`}function sd(t){t=su(t);let e=[],r=[],n=null,i=t.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let s=0;s<i.length;s++){let o=i[s],a=ue(o);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(s++,s>=i.length)throw ad("invalid address: "+t);if(a.path===!0){n=su(i.slice(s).join("/")),e.push([a.code,nu(a.code,n)]),r.push([a.code,n]);break}let c=nu(a.code,i[s]);e.push([a.code,c]),r.push([a.code,ru(a.code,c)])}return{string:od(r),bytes:au(e),tuples:e,stringTuples:r,path:n}}function ou(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let s=kt(t,i),o=rt(s),a=ue(s),c=ew(a,t.slice(i+o));if(c===0){e.push([s]),r.push([s]),i+=o;continue}let u=t.slice(i+o,i+o+c);if(i+=c+o,i>t.length)throw ad("Invalid address Uint8Array: "+ie(t,"base16"));e.push([s,u]);let l=ru(s,u);if(r.push([s,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(t),string:od(r),tuples:e,stringTuples:r,path:n}}function od(t){let e=[];return t.map(r=>{let n=ue(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),su(e.join("/"))}function au(t){return qe(t.map(e=>{let r=ue(e[0]),n=Uint8Array.from(lt(r.code));return e.length>1&&e[1]!=null&&(n=qe([n,e[1]])),n}))}function ew(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=kt(e instanceof Uint8Array?e:Uint8Array.from(e));return r+rt(r)}}function su(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function ad(t){return new Error("Error parsing address: "+t)}var tw=Symbol.for("nodejs.util.inspect.custom"),cu=Symbol.for("@multiformats/js-multiaddr/multiaddr"),rw=[ue("dns").code,ue("dns4").code,ue("dns6").code,ue("dnsaddr").code],Zs=class t{bytes;#e;#i;#s;#a;[cu]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=ou(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=sd(e)}else if(Tr(e))r=ou(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#i=r.tuples,this.#s=r.stringTuples,this.#a=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,s="",o=ue("tcp"),a=ue("udp"),c=ue("ip4"),u=ue("ip6"),l=ue("dns6"),f=ue("ip6zone");for(let[p,h]of this.stringTuples())p===f.code&&(s=`%${h??""}`),rw.includes(p)&&(r=o.name,i=443,n=`${h??""}${s}`,e=p===l.code?6:4),(p===o.code||p===a.code)&&(r=ue(p).name,i=parseInt(h??"")),(p===c.code||p===u.code)&&(r=ue(p).name,n=`${h??""}${s}`,e=p===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.#i.map(([e])=>Object.assign({},ue(e)))}protoCodes(){return this.#i.map(([e])=>e)}protoNames(){return this.#i.map(([e])=>ue(e).name)}tuples(){return this.#i}stringTuples(){return this.#s}encapsulate(e){return e=new t(e),new t(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new t(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new t(au(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===Hn.p2p.code&&e.push([n,i]),n===Hn["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?ie(Ae.decode(`z${n}`),"base58btc"):ie(Ct.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#a}equals(e){return Ie(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=js.get(r.name);if(n==null)throw new S(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new t(s))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[tw](){return`Multiaddr(${this.#e})`}};var js=new Map;function Tr(t){return!!t?.[cu]}function ke(t){return new Zs(t)}var cd="libp2p-peer-record",ud=Uint8Array.from([3,1]);var Mi;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=Qe((s,o,a={})=>{a.lengthDelimited!==!1&&o.fork(),s.multiaddr!=null&&s.multiaddr.byteLength>0&&(o.uint32(10),o.bytes(s.multiaddr)),a.lengthDelimited!==!1&&o.ldelim()},(s,o)=>{let a={multiaddr:new Uint8Array(0)},c=o==null?s.len:s.pos+o;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:a.multiaddr=s.bytes();break;default:s.skipType(u&7);break}}return a})),i),n.encode=s=>Ye(s,n.codec()),n.decode=s=>We(s,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=Qe((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let o of n.addresses)i.uint32(26),t.AddressInfo.codec().encode(o,i);s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={peerId:new Uint8Array(0),seq:0n,addresses:[]},o=i==null?n.len:n.pos+i;for(;n.pos<o;){let a=n.uint32();switch(a>>>3){case 1:s.peerId=n.bytes();break;case 2:s.seq=n.uint64();break;case 3:s.addresses.push(t.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return s})),r),t.encode=n=>Ye(n,t.codec()),t.decode=n=>We(n,t.codec())})(Mi||(Mi={}));var on=class t{static createFromProtobuf=e=>{let r=Mi.decode(e),n=qn(r.peerId),i=(r.addresses??[]).map(o=>ke(o.multiaddr)),s=r.seq;return new t({peerId:n,multiaddrs:i,seqNumber:s})};static DOMAIN=cd;static CODEC=ud;peerId;multiaddrs;seqNumber;domain=t.DOMAIN;codec=t.CODEC;marshaled;constructor(e){let{peerId:r,multiaddrs:n,seqNumber:i}=e;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=Mi.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))})),this.marshaled}equals(e){return!(!(e instanceof t)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!Yh(this.multiaddrs,e.multiaddrs))}};function nw(t){return t[Symbol.asyncIterator]!=null}function iw(t){if(nw(t))return(async()=>{let r=[];for await(let n of t)r.push(n);return r})();let e=[];for(let r of t)e.push(r);return e}var Ui=iw;var an=we(fd(),1);var ur=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},lu=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},hd=t=>globalThis.DOMException===void 0?new lu(t):new DOMException(t),dd=t=>{let e=t.reason===void 0?hd("This operation was aborted."):t.reason;return e instanceof Error?e:hd(e)};function lr(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout}}=e,o,c=new Promise((u,l)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:d}=e;d.aborted&&l(dd(d)),d.addEventListener("abort",()=>{l(dd(d))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new ur;o=s.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(d){l(d)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?u():i instanceof Error?l(i):(f.message=i??`Promise timed out after ${r} milliseconds`,l(f))},r),(async()=>{try{u(await t)}catch(d){l(d)}})()}).finally(()=>{c.clear()});return c.clear=()=>{s.clearTimeout.call(void 0,o),o=void 0},c}function fu(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var Ki=class{#e=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=r.priority){this.#e.push(n);return}let i=fu(this.#e,n,(s,o)=>o.priority-s.priority);this.#e.splice(i,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var Gn=class extends an.default{#e;#i;#s=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#l;#o;#y;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Ki,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#y=e.throwOnTimeout===!0,this.#o=e.autoStart===!1}get#b(){return this.#i||this.#s<this.#a}get#w(){return this.#n<this.#l}#E(){this.#n--,this.#f(),this.emit("next")}#v(){this.#x(),this.#g(),this.#u=void 0}get#_(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#s=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#v()},r)),!0}return!1}#f(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#o){let e=!this.#_;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#g(),!0):!1}}return!1}#g(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#s===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#s=this.#e?this.#n:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#l}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#l=e,this.#h()}async#S(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#y,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#s++;try{r.signal?.throwIfAborted();let s=e({signal:r.signal});r.timeout&&(s=lr(Promise.resolve(s),{milliseconds:r.timeout})),r.signal&&(s=Promise.race([s,this.#S(r.signal)]));let o=await s;n(o),this.emit("completed",o)}catch(s){if(s instanceof ur&&!r.throwOnTimeout){n();return}i(s),this.emit("error",s)}finally{this.#E()}},r),this.emit("add"),this.#f()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#o?(this.#o=!1,this.#h(),this):this}pause(){this.#o=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.size===0||await this.#d("idle")}async#d(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#o}};var Br={},Wn=t=>{t.addEventListener("message",e=>{Wn.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{Wn.dispatchEvent("message",t,e)})};Wn.addEventListener=(t,e)=>{Br[t]==null&&(Br[t]=[]),Br[t].push(e)};Wn.removeEventListener=(t,e)=>{Br[t]!=null&&(Br[t]=Br[t].filter(r=>r===e))};Wn.dispatchEvent=function(t,e,r){Br[t]!=null&&Br[t].forEach(n=>n(e,r))};var hu=Wn;var du="lock:worker:request-read",pu="lock:worker:release-read",mu="lock:master:grant-read",yu="lock:worker:request-write",gu="lock:worker:release-write",xu="lock:master:grant-write";var pd=(t=21)=>Math.random().toString().substring(2);var md=(t,e,r,n,i)=>(s,o)=>{if(o.data.type!==r)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};t.dispatchEvent(new MessageEvent(e,{data:{name:a.name,handler:async()=>{s.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=l=>{if(l==null||l.data==null)return;let f={type:l.data.type,name:l.data.name,identifier:l.data.identifier};f.type===n&&f.identifier===a.identifier&&(s.removeEventListener("message",u),c())};s.addEventListener("message",u)})}}}))},yd=(t,e,r,n)=>async()=>{let i=pd();return globalThis.postMessage({type:e,identifier:i,name:t}),new Promise(s=>{let o=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===r&&c.identifier===i&&(globalThis.removeEventListener("message",o),s(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",o)})},aw={singleProcess:!1},gd=t=>{if(t=Object.assign({},aw,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return hu.addEventListener("message",md(r,"requestReadLock",du,pu,mu)),hu.addEventListener("message",md(r,"requestWriteLock",yu,gu,xu)),r}return{isWorker:!0,readLock:r=>yd(r,du,mu,pu),writeLock:r=>yd(r,yu,xu,gu)}};var cn={},Lr;async function bu(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>lr((async()=>{await new Promise(i=>{r(()=>{i()})})})(),{milliseconds:e.timeout})),n}var cw=(t,e)=>{if(Lr.isWorker===!0)return{readLock:Lr.readLock(t,e),writeLock:Lr.writeLock(t,e)};let r=new Gn({concurrency:1}),n;return{async readLock(){if(n!=null)return bu(n,e);n=new Gn({concurrency:e.concurrency,autoStart:!1});let i=n,s=bu(n,e);return r.add(async()=>{i.start(),await i.onIdle().then(()=>{n===i&&(n=null)})}),s},async writeLock(){return n=null,bu(r,e)}}},uw={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function wu(t){let e=Object.assign({},uw,t);return Lr==null&&(Lr=gd(e),Lr.isWorker!==!0&&(Lr.addEventListener("requestReadLock",r=>{cn[r.data.name]!=null&&cn[r.data.name].readLock().then(async n=>r.data.handler().finally(()=>{n()}))}),Lr.addEventListener("requestWriteLock",async r=>{cn[r.data.name]!=null&&cn[r.data.name].writeLock().then(async n=>r.data.handler().finally(()=>{n()}))}))),cn[e.name]==null&&(cn[e.name]=cw(e.name,e)),cn[e.name]}var Xe={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var Yn;(function(t){let e;(function(i){let s;i.codec=()=>(s==null&&(s=Qe((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&o.value.byteLength>0&&(a.uint32(18),a.bytes(o.value)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:"",value:new Uint8Array(0)},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=o.bytes();break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>Ye(o,i.codec()),i.decode=o=>We(o,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let s;i.codec=()=>(s==null&&(s=Qe((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&(a.uint32(18),to.codec().encode(o.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:""},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=to.codec().decode(o,o.uint32());break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>Ye(o,i.codec()),i.decode=o=>We(o,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=Qe((i,s,o={})=>{if(o.lengthDelimited!==!1&&s.fork(),i.addresses!=null)for(let a of i.addresses)s.uint32(10),eo.codec().encode(a,s);if(i.protocols!=null)for(let a of i.protocols)s.uint32(18),s.string(a);if(i.publicKey!=null&&(s.uint32(34),s.bytes(i.publicKey)),i.peerRecordEnvelope!=null&&(s.uint32(42),s.bytes(i.peerRecordEnvelope)),i.metadata!=null&&i.metadata.size!==0)for(let[a,c]of i.metadata.entries())s.uint32(50),t.Peer$metadataEntry.codec().encode({key:a,value:c},s);if(i.tags!=null&&i.tags.size!==0)for(let[a,c]of i.tags.entries())s.uint32(58),t.Peer$tagsEntry.codec().encode({key:a,value:c},s);o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={addresses:[],protocols:[],metadata:new Map,tags:new Map},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.addresses.push(eo.codec().decode(i,i.uint32()));break;case 2:o.protocols.push(i.string());break;case 4:o.publicKey=i.bytes();break;case 5:o.peerRecordEnvelope=i.bytes();break;case 6:{let u=t.Peer$metadataEntry.codec().decode(i,i.uint32());o.metadata.set(u.key,u.value);break}case 7:{let u=t.Peer$tagsEntry.codec().decode(i,i.uint32());o.tags.set(u.key,u.value);break}default:i.skipType(c&7);break}}return o})),n),t.encode=i=>Ye(i,t.codec()),t.decode=i=>We(i,t.codec())})(Yn||(Yn={}));var eo;(function(t){let e;t.codec=()=>(e==null&&(e=Qe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.multiaddr!=null&&r.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(r.multiaddr)),r.isCertified!=null&&(n.uint32(16),n.bool(r.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={multiaddr:new Uint8Array(0)},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.multiaddr=r.bytes();break;case 2:i.isCertified=r.bool();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ye(r,t.codec()),t.decode=r=>We(r,t.codec())})(eo||(eo={}));var to;(function(t){let e;t.codec=()=>(e==null&&(e=Qe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.value!=null&&r.value!==0&&(n.uint32(8),n.uint32(r.value)),r.expiry!=null&&(n.uint32(16),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={value:0},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.value=r.uint32();break;case 2:i.expiry=r.uint64();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ye(r,t.codec()),t.decode=r=>We(r,t.codec())})(to||(to={}));function Qn(t,e){let r=Yn.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=qh({...t,publicKey:t.publicKey}));let n=new Map,i=BigInt(Date.now());for(let[s,o]of r.tags.entries())o.expiry!=null&&o.expiry<i||n.set(s,o);return{...r,id:t,addresses:r.addresses.map(({multiaddr:s,isCertified:o})=>({multiaddr:ke(s),isCertified:o??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}var fr="/",xd=new TextEncoder().encode(fr),ro=xd[0],un=class t{_buf;constructor(e,r){if(typeof e=="string")this._buf=Y(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==ro)throw new Error("Invalid key")}toString(e="utf8"){return ie(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new t(e.join(fr))}static random(){return new t(Math.random().toString().substring(2))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new t(e):typeof e.uint8Array=="function"?new t(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=xd),this._buf[0]!==ro){let e=new Uint8Array(this._buf.byteLength+1);e.fill(ro,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===ro;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let s=r[i],o=n[i];if(s<o)return!0;if(s>o)return!1}return r.length<n.length}reverse(){return t.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(fr).slice(1)}type(){return lw(this.baseNamespace())}name(){return fw(this.baseNamespace())}instance(e){return new t(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(fr)||(e+=fr),e+=this.type(),new t(e)}parent(){let e=this.list();return e.length===1?new t(fr):new t(e.slice(0,-1).join(fr))}child(e){return this.toString()===fr?e:e.toString()===fr?this:new t(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return t.withNamespaces([...this.namespaces(),...hw(e.map(r=>r.namespaces()))])}};function lw(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function fw(t){let e=t.split(":");return e[e.length-1]}function hw(t){return[].concat(...t)}var Eu="/peers/";function Xn(t){if(!bs(t)||t.type==null)throw new S("Invalid PeerId",Xe.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new un(`${Eu}${e}`)}async function bd(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=ke(i.multiaddr)),!Tr(i.multiaddr))throw new S("Multiaddr was invalid",Xe.ERR_INVALID_PARAMETERS);if(!await e(t,i.multiaddr))continue;let s=i.isCertified??!1,o=i.multiaddr.toString(),a=n.get(o);a!=null?i.isCertified=a.isCertified||s:n.set(o,{multiaddr:i.multiaddr,isCertified:s})}return[...n.values()].sort((i,s)=>i.multiaddr.toString().localeCompare(s.multiaddr.toString())).map(({isCertified:i,multiaddr:s})=>({isCertified:i,multiaddr:s.bytes}))}async function io(t,e,r,n){if(e==null)throw new S("Invalid PeerData",Xe.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!Ie(e.publicKey,t.publicKey))throw new S("publicKey bytes do not match peer id publicKey bytes",Xe.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new S("peer id did not match existing peer id",Xe.ERR_INVALID_PARAMETERS);let s=i?.addresses??[],o=new Set(i?.protocols??[]),a=i?.metadata??new Map,c=i?.tags??new Map,u=i?.peerRecordEnvelope;if(r==="patch"){if((e.multiaddrs!=null||e.addresses!=null)&&(s=[],e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses)),e.protocols!=null&&(o=new Set(e.protocols)),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=no(f,{validate:wd})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=no(f,{validate:Ed,map:vd})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses),e.protocols!=null&&(o=new Set([...o,...e.protocols])),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[d,p]of f)p==null?a.delete(d):a.set(d,p);a=no([...a.entries()],{validate:wd})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),d=new Map(c);for(let[p,h]of f)h==null?d.delete(p):d.set(p,h);c=no([...d.entries()],{validate:Ed,map:vd})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await bd(t,n.addressFilter??(async()=>!0),s),protocols:[...o.values()].sort((f,d)=>f.localeCompare(d)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete l.publicKey,l}function no(t,e){let r=new Map;for(let[n,i]of t)i!=null&&e.validate(n,i);for(let[n,i]of t.sort(([s],[o])=>s.localeCompare(o)))i!=null&&r.set(n,e.map?.(n,i)??i);return r}function wd(t,e){if(typeof t!="string")throw new S("Metadata key must be a string",Xe.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new S("Metadata value must be a Uint8Array",Xe.ERR_INVALID_PARAMETERS)}function Ed(t,e){if(typeof t!="string")throw new S("Tag name must be a string",Xe.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new S("Tag value must be an integer",Xe.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new S("Tag value must be between 0-100",Xe.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new S("Tag ttl must be an integer",Xe.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new S("Tag ttl must be between greater than 0",Xe.ERR_INVALID_PARAMETERS)}}function vd(t,e){let r;return e.expiry!=null&&(r=e.expiry),e.ttl!=null&&(r=BigInt(Date.now()+Number(e.ttl))),{value:e.value??0,expiry:r}}function so(t,e,r){let n=t.toString().split("/")[2],i=dt.decode(n),s=qn(i),o=r.get(s);if(o!=null)return o;let a=Qn(s,e);return r.set(s,a),a}function dw(t,e){return t==null?{}:{prefix:Eu,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(so(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(so(n.key,n.value,e),so(i.key,i.value,e)))}}var oo=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=wu({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(Xn(e))}async delete(e){if(this.peerId.equals(e))throw new S("Cannot delete self peer",Xe.ERR_INVALID_PARAMETERS);await this.datastore.delete(Xn(e))}async load(e){let r=await this.datastore.get(Xn(e));return Qn(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await io(e,r,"patch",{addressFilter:this.addressFilter});return this.#i(e,s,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await io(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return this.#i(e,s,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await io(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#i(e,s,n,i)}async*all(e){let r=new et;for await(let{key:n,value:i}of this.datastore.query(dw(e??{},r))){let s=so(n,i,r);s.id.equals(this.peerId)||(yield s)}}async#e(e){try{let r=await this.datastore.get(Xn(e)),n=Qn(e,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}}async#i(e,r,n,i){let s=Yn.encode(r);return n!=null&&Ie(s,n)?{peer:Qn(e,s),previous:i,updated:!1}:(await this.datastore.put(Xn(e),s),{peer:Qn(e,s),previous:i,updated:!0})}};var ao=class{store;events;peerId;log;constructor(e,r={}){this.log=e.logger.forComponent("libp2p:peer-store"),this.events=e.events,this.peerId=e.peerId,this.store=new oo(e,r)}async forEach(e,r){this.log.trace("forEach await read lock");let n=await this.store.lock.readLock();this.log.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{this.log.trace("forEach release read lock"),n()}}async all(e){this.log.trace("all await read lock");let r=await this.store.lock.readLock();this.log.trace("all got read lock");try{return await Ui(this.store.all(e))}finally{this.log.trace("all release read lock"),r()}}async delete(e){this.log.trace("delete await write lock");let r=await this.store.lock.writeLock();this.log.trace("delete got write lock");try{await this.store.delete(e)}finally{this.log.trace("delete release write lock"),r()}}async has(e){this.log.trace("has await read lock");let r=await this.store.lock.readLock();this.log.trace("has got read lock");try{return await this.store.has(e)}finally{this.log.trace("has release read lock"),r()}}async get(e){this.log.trace("get await read lock");let r=await this.store.lock.readLock();this.log.trace("get got read lock");try{return await this.store.load(e)}finally{this.log.trace("get release read lock"),r()}}async save(e,r){this.log.trace("save await write lock");let n=await this.store.lock.writeLock();this.log.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("save release write lock"),n()}}async patch(e,r){this.log.trace("patch await write lock");let n=await this.store.lock.writeLock();this.log.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("patch release write lock"),n()}}async merge(e,r){this.log.trace("merge await write lock");let n=await this.store.lock.writeLock();this.log.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await Vn.openAndCertify(e,on.DOMAIN);if(r?.equals(n.peerId)===!1)return this.log("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=on.createFromProtobuf(n.payload),s;try{s=await this.get(n.peerId)}catch(o){if(o.code!=="ERR_NOT_FOUND")throw o}if(s?.peerRecordEnvelope!=null){let o=await Vn.createFromProtobuf(s.peerRecordEnvelope),a=on.createFromProtobuf(o.payload);if(a.seqNumber>=i.seqNumber)return this.log("sequence number was lower or equal to existing sequence number - stored: %d received: %d",a.seqNumber,i.seqNumber),!1}return await this.patch(i.peerId,{peerRecordEnvelope:e,addresses:i.multiaddrs.map(o=>({isCertified:!0,multiaddr:o}))}),!0}#e(e,r){r.updated&&(this.peerId.equals(e)?this.events.safeDispatchEvent("self:peer:update",{detail:r}):this.events.safeDispatchEvent("peer:update",{detail:r}))}};function pw(t){return t[Symbol.asyncIterator]!=null}function mw(t){if(pw(t))return(async()=>{for await(let e of t);})();for(let e of t);}var vu=mw;function yw(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var _d=yw;function gw(t){return t[Symbol.asyncIterator]!=null}function xw(t,e){if(gw(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=_d(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){await s&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let o=e;return function*(){s===!0&&(yield n);for(let a of r)o(a)&&(yield a)}()}var ln=xw;function bw(t){return t[Symbol.asyncIterator]!=null}function ww(t,e){return bw(t)?async function*(){yield*(await Ui(t)).sort(e)}():function*(){yield*Ui(t).sort(e)}()}var _u=ww;function Ew(t){return t[Symbol.asyncIterator]!=null}function vw(t,e){return Ew(t)?async function*(){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}}():function*(){let r=0;if(!(e<1)){for(let n of t)if(yield n,r++,r===e)return}}()}var Su=vw;var co=class{put(e,r,n){return Promise.reject(new Error(".put is not implemented"))}get(e,r){return Promise.reject(new Error(".get is not implemented"))}has(e,r){return Promise.reject(new Error(".has is not implemented"))}delete(e,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,r={}){for await(let{key:n,value:i}of e)await this.put(n,i,r),yield n}async*getMany(e,r={}){for await(let n of e)yield{key:n,value:await this.get(n,r)}}async*deleteMany(e,r={}){for await(let n of e)await this.delete(n,r),yield n}batch(){let e=[],r=[];return{put(n,i){e.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await vu(this.putMany(e,n)),e=[],await vu(this.deleteMany(r,n)),r=[]}}}async*_all(e,r){throw new Error("._all is not implemented")}async*_allKeys(e,r){throw new Error("._allKeys is not implemented")}query(e,r){let n=this._all(e,r);if(e.prefix!=null){let i=e.prefix;n=ln(n,s=>s.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>ln(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>_u(i,s),n)),e.offset!=null){let i=0,s=e.offset;n=ln(n,()=>i++>=s)}return e.limit!=null&&(n=Su(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=ln(n,s=>s.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>ln(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>_u(i,s),n)),e.offset!=null){let i=e.offset,s=0;n=ln(n,()=>s++>=i)}return e.limit!=null&&(n=Su(n,e.limit)),n}};var Id=we(Au(),1);function Cd(t){return t=t??new Error("Not Found"),(0,Id.default)(t,"ERR_NOT_FOUND")}var uo=class extends co{data;constructor(){super(),this.data=new Map}put(e,r){return this.data.set(e.toString(),r),e}get(e){let r=this.data.get(e.toString());if(r==null)throw Cd();return r}has(e){return this.data.has(e.toString())}delete(e){this.data.delete(e.toString())}*_all(){for(let[e,r]of this.data.entries())yield{key:new un(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new un(e)}};function Rd(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var Aw=t=>t;function Iu(t,e){let r=t.getPeerId();return r!=null&&Le(r).equals(e)&&(t=t.decapsulate(ke(`/p2p/${e.toString()}`))),t}var lo=class{log;components;listen;announce;observed;announceFilter;constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.log=e.logger.forComponent("libp2p:address-manager"),this.listen=n.map(s=>s.toString()),this.announce=new Set(i.map(s=>s.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??Aw,this._updatePeerStoreAddresses=Rd(this._updatePeerStoreAddresses.bind(this),1e3),e.events.addEventListener("transport:listening",()=>{this._updatePeerStoreAddresses()}),e.events.addEventListener("transport:close",()=>{this._updatePeerStoreAddresses()})}_updatePeerStoreAddresses(){let e=this.getAnnounceAddrs().concat(this.components.transportManager.getAddrs()).concat([...this.observed.entries()].filter(([r,n])=>n.confident).map(([r])=>ke(r))).map(r=>r.getPeerId()===this.components.peerId.toString()?r.decapsulate(`/p2p/${this.components.peerId.toString()}`):r);this.components.peerStore.patch(this.components.peerId,{multiaddrs:e}).catch(r=>{this.log.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>ke(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>ke(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>ke(e))}addObservedAddr(e){e=Iu(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=Iu(e,this.components.peerId);let r=e.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this._updatePeerStoreAddresses()}removeObservedAddr(e){e=Iu(e,this.components.peerId);let r=e.toString();this.observed.delete(r)}getAddresses(){let e=this.getAnnounceAddrs().map(n=>n.toString());e.length===0&&(e=this.components.transportManager.getAddrs().map(n=>n.toString())),e=e.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(e);return this.announceFilter(Array.from(r).map(n=>ke(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};var Cu=class{components={};_started=!1;constructor(e={}){this.components={};for(let[r,n]of Object.entries(e))this.components[r]=n;this.components.logger==null&&(this.components.logger=zs())}isStarted(){return this._started}async _invokeStartableMethod(e){await Promise.all(Object.values(this.components).filter(r=>r0(r)).map(async r=>{await r[e]?.()}))}async beforeStart(){await this._invokeStartableMethod("beforeStart")}async start(){await this._invokeStartableMethod("start"),this._started=!0}async afterStart(){await this._invokeStartableMethod("afterStart")}async beforeStop(){await this._invokeStartableMethod("beforeStop")}async stop(){await this._invokeStartableMethod("stop"),this._started=!1}async afterStop(){await this._invokeStartableMethod("afterStop")}},Iw=["metrics","connectionProtector"],Cw=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function Td(t={}){let e=new Cu(t);return new Proxy(e,{get(n,i,s){if(typeof i=="string"&&!Cw.includes(i)){let o=e.components[i];if(o==null&&!Iw.includes(i))throw new S(`${i} not set`,"ERR_SERVICE_MISSING");return o}return Reflect.get(n,i,s)},set(n,i,s){return typeof i=="string"?e.components[i]=s:Reflect.set(n,i,s),!0}})}var Od=we(Bd(),1);var Ld="[a-fA-F\\d:]",Pr=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${Ld})|(?<=${Ld})(?=\\s|$))`:"",Ot="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Pe="[a-fA-F\\d]{1,4}",fo=`
|
|
38
38
|
(?:
|
|
39
|
-
(?:${
|
|
40
|
-
(?:${
|
|
41
|
-
(?:${
|
|
42
|
-
(?:${
|
|
43
|
-
(?:${
|
|
44
|
-
(?:${
|
|
45
|
-
(?:${
|
|
46
|
-
(?::(?:(?::${
|
|
39
|
+
(?:${Pe}:){7}(?:${Pe}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
40
|
+
(?:${Pe}:){6}(?:${Ot}|:${Pe}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
|
|
41
|
+
(?:${Pe}:){5}(?::${Ot}|(?::${Pe}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
|
|
42
|
+
(?:${Pe}:){4}(?:(?::${Pe}){0,1}:${Ot}|(?::${Pe}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
|
|
43
|
+
(?:${Pe}:){3}(?:(?::${Pe}){0,2}:${Ot}|(?::${Pe}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
|
|
44
|
+
(?:${Pe}:){2}(?:(?::${Pe}){0,3}:${Ot}|(?::${Pe}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
|
|
45
|
+
(?:${Pe}:){1}(?:(?::${Pe}){0,4}:${Ot}|(?::${Pe}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
46
|
+
(?::(?:(?::${Pe}){0,5}:${Ot}|(?::${Pe}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
|
|
47
47
|
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
|
|
48
|
-
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),NL=new RegExp(`(?:^${$t}$)|(?:^${Hc}$)`),PL=new RegExp(`^${$t}$`),OL=new RegExp(`^${Hc}$`),np=t=>t&&t.exact?NL:new RegExp(`(?:${dn(t)}${$t}${dn(t)})|(?:${dn(t)}${Hc}${dn(t)})`,"g");np.v4=t=>t&&t.exact?PL:new RegExp(`${dn(t)}${$t}${dn(t)}`,"g");np.v6=t=>t&&t.exact?OL:new RegExp(`${dn(t)}${Hc}${dn(t)}`,"g");var g2=np;var E2=we(b2(),1),{isValid:kL,parse:UL}=E2.default,ML=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],FL=ML.map(t=>new v2.Netmask(t));function KL(t){for(let e of FL)if(e.contains(t))return!0;return!1}function w2(t){return/^::$/.test(t)||/^::1$/.test(t)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}var A2=t=>{if(kL(t)){let e=UL(t);if(e.kind()==="ipv4")return KL(e.toNormalizedString());if(e.kind()==="ipv6")return w2(t)}else if(so(t)&&g2.v6().test(t))return w2(t)};var Wc=A2;function S2(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!Wc(`${r[0][1]}`):!1},denyInboundConnection:async()=>!1,denyOutboundConnection:async()=>!1,denyInboundEncryptedConnection:async()=>!1,denyOutboundEncryptedConnection:async()=>!1,denyInboundUpgradedConnection:async()=>!1,denyOutboundUpgradedConnection:async()=>!1,filterMultiaddrForPeer:async()=>!0,...t}}function VL(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(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 d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var qL=VL,zL=qL,C2=zL;var BQ=new Uint8Array(0);var I2=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var ip=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},op=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return _2(this,e)}},sp=class{constructor(e){this.decoders=e}or(e){return _2(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},_2=(t,e)=>new sp({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),ap=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new ip(e,r,n),this.decoder=new op(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},T2=({name:t,prefix:e,encode:r,decode:n})=>new ap(t,e,r,n),cp=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=C2(r,e);return T2({prefix:t,name:e,encode:n,decode:o=>I2(i(o))})},$L=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},HL=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Ws=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>T2({prefix:e,name:t,encode(i){return HL(i,n,r)},decode(i){return $L(i,n,r,t)}});var R2=cp({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),kQ=cp({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var FQ=Ws({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),KQ=Ws({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),B2=Ws({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),VQ=Ws({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var GL=t=>t.toString().split("/").slice(1),Ys=t=>({match:e=>e.length<1?!1:t(e[0])?e.slice(1):!1,pattern:"fn"}),Ne=t=>({match:e=>Ys(r=>r===t).match(e),pattern:t}),Xc=()=>({match:t=>Ys(e=>typeof e=="string").match(t),pattern:"{string}"}),D2=()=>({match:t=>Ys(e=>!isNaN(parseInt(e))).match(t),pattern:"{number}"}),Nt=()=>({match:t=>{if(t.length<2||t[0]!=="p2p"&&t[0]!=="ipfs")return!1;if(t[1].startsWith("Q")||t[1].startsWith("1"))try{R2.decode(`z${t[1]}`)}catch{return!1}else return!1;return t.slice(2)},pattern:"/p2p/{peerid}"}),Yc=()=>({match:t=>{if(t.length<2||t[0]!=="certhash")return!1;try{B2.decode(t[1])}catch{return!1}return t.slice(2)},pattern:"/certhash/{certhash}"}),ur=t=>({match:e=>{let r=t.match(e);return r===!1?e:r},pattern:`optional(${t.pattern})`}),fr=(...t)=>({match:e=>{let r;for(let n of t){let i=n.match(e);i!==!1&&(r==null||i.length<r.length)&&(r=i)}return r??!1},pattern:`or(${t.map(e=>e.pattern).join(", ")})`}),Pe=(...t)=>({match:e=>{for(let r of t){let n=r.match(e);if(n===!1)return!1;e=n}return e},pattern:`and(${t.map(e=>e.pattern).join(", ")})`});function Ve(...t){function e(i){let o=GL(i);for(let s of t){let a=s.match(o);if(a===!1)return!1;o=a}return o}function r(i){return e(i)!==!1}function n(i){let o=e(i);return o===!1?!1:o.length===0}return{matches:r,exactMatch:n}}var fp=Pe(Ne("dns4"),Xc()),lp=Pe(Ne("dns6"),Xc()),hp=Pe(Ne("dnsaddr"),Xc()),L2=Pe(Ne("dns"),Xc()),WQ=Ve(fp),YQ=Ve(lp),QQ=Ve(hp),XQ=Ve(fr(L2,hp,fp,lp)),N2=Pe(Ne("ip4"),Ys(bc)),P2=Pe(Ne("ip6"),Ys(wc)),O2=fr(N2,P2),Qs=fr(O2,L2,fp,lp,hp),jQ=Ve(Qs),JQ=Ve(N2),ZQ=Ve(P2),eX=Ve(O2),jc=Pe(Qs,Ne("tcp"),D2()),Xs=Pe(Qs,Ne("udp"),D2()),WL=fr(jc,Xs),tX=Ve(jc),rX=Ve(Xs),dp=Pe(Xs,Ne("quic")),Jc=Pe(Xs,Ne("quic-v1")),YL=fr(dp,Jc),nX=Ve(dp),iX=Ve(Jc),up=fr(Qs,jc,Xs,dp,Jc),k2=fr(Pe(up,Ne("ws"),ur(Nt()))),oX=Ve(k2),U2=fr(Pe(up,Ne("wss"),ur(Nt())),Pe(up,Ne("tls"),Ne("ws"),ur(Nt()))),sX=Ve(U2),M2=Pe(WL,Ne("webrtc-direct"),Yc(),ur(Yc()),ur(Nt())),aX=Ve(M2),F2=Pe(Jc,Ne("webtransport"),Yc(),Yc(),ur(Nt())),cX=Ve(F2),Qc=fr(k2,U2,Pe(jc,ur(Nt())),Pe(YL,ur(Nt())),Pe(Qs,ur(Nt())),M2,F2,Nt()),uX=Ve(Qc),QL=Pe(Qc,Ne("p2p-circuit"),Nt()),pp=Ve(QL),XL=fr(Pe(Qc,Ne("p2p-circuit"),Ne("webrtc"),Nt()),Pe(Qc,Ne("webrtc"),ur(Nt())),Ne("webrtc")),fX=Ve(XL);function mp(t){try{let{address:e}=t.nodeAddress();return!!Wc(e)}catch{return!0}}function jL(t,e){let r=mp(t.multiaddr),n=mp(e.multiaddr);return r&&!n?1:!r&&n?-1:0}function JL(t,e){return t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}function ZL(t,e){let r=pp.exactMatch(t.multiaddr),n=pp.exactMatch(e.multiaddr);return r&&!n?1:!r&&n?-1:0}function So(t,e){let r=jL(t,e);if(r!==0)return r;let n=ZL(t,e);return n!==0?n:JL(t,e)}var gp=we(sh(),1),xp=we(q2(),1);function Zc(t,e,r){return`${t}?name=${e}&type=${r}`}async function z2(t,e){return await(await fetch(t,{headers:new Headers({accept:"application/dns-json"}),signal:e})).json()}function ei(t,e){return`${e}_${t}`}var yp=Object.assign((0,gp.default)("dns-over-http-resolver"),{error:(0,gp.default)("dns-over-http-resolver:error")}),bp=class{_cache;_TXTcache;_servers;_request;_abortControllers;constructor(e={}){this._cache=new xp.default({max:e?.maxCache??100}),this._TXTcache=new xp.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??z2,this._abortControllers=[]}cancel(){this._abortControllers.forEach(e=>{e.abort()})}getServers(){return this._servers}_getShuffledServers(){let e=[...this._servers];for(let r=e.length-1;r>0;r--){let n=Math.floor(Math.random()*r),i=e[r];e[r]=e[n],e[n]=i}return e}setServers(e){this._servers=e}async resolve(e,r="A"){switch(r){case"A":return this.resolve4(e);case"AAAA":return this.resolve6(e);case"TXT":return this.resolveTxt(e);default:throw new Error(`${r} is not supported`)}}async resolve4(e){let r="A",n=this._cache.get(ei(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(Zc(o,e,r),s.signal),c=a.Answer.map(f=>f.data),u=Math.min(...a.Answer.map(f=>f.TTL));return this._cache.set(ei(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),yp.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(ei(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(Zc(o,e,r),s.signal),c=a.Answer.map(f=>f.data),u=Math.min(...a.Answer.map(f=>f.TTL));return this._cache.set(ei(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),yp.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._TXTcache.get(ei(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(Zc(o,e,r),s.signal),c=a.Answer.map(f=>[f.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(f=>f.TTL));return this._TXTcache.set(ei(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),yp.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},$2=bp;var H2=$2;var{code:iN}=ue("dnsaddr");async function Co(t,e={}){let r=new H2;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===iN)??[];if(i==null)throw new Error("No hostname found in multiaddr");let s=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(s=s.filter(a=>a.includes(n))),s}var ev=we(Z2(),1),ru=ev.default;var Mr;(function(t){t.NOT_STARTED_YET="The libp2p node is not started yet",t.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",t.NOT_FOUND="Not found"})(Mr||(Mr={}));var V;(function(t){t.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",t.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",t.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",t.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",t.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",t.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",t.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",t.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",t.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",t.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",t.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",t.ERR_DIALED_SELF="ERR_DIALED_SELF",t.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",t.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",t.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",t.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",t.ERR_INVALID_KEY="ERR_INVALID_KEY",t.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_PEER="ERR_INVALID_PEER",t.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",t.ERR_NOT_FOUND="ERR_NOT_FOUND",t.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",t.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",t.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",t.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",t.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",t.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",t.ERR_FIND_SELF="ERR_FIND_SELF",t.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",t.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",t.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",t.ERR_INVALID_CMS="ERR_INVALID_CMS",t.ERR_MISSING_KEYS="ERR_MISSING_KEYS",t.ERR_NO_KEY="ERR_NO_KEY",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",t.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",t.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",t.ERR_INVALID_RECORD="ERR_INVALID_RECORD",t.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",t.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",t.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",t.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",t.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",t.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(V||(V={}));var fN={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:Co},addressSorter:So},transportManager:{faultTolerance:$r.FATAL_ALL}};function tv(t){let e=ru(fN,t);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new _(Mr.ERR_PROTECTOR_REQUIRED,V.ERR_PROTECTOR_REQUIRED);return e}var rE=we(jv(),1);function ou(t){if(Ta(t))return{peerId:t,multiaddrs:[]};Array.isArray(t)||(t=[t]);let e;if(t.length>0){let r=t[0].getPeerId();e=r==null?void 0:se(r),t.forEach(n=>{if(!cn(n))throw new _("Invalid Multiaddr",V.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new _("Multiaddrs must all have the same peer id or have no peer id",V.ERR_INVALID_PARAMETERS)}else{let o=se(i);if(e==null||!e.equals(o))throw new _("Multiaddrs must all have the same peer id or have no peer id",V.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function De(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}function Up(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var Js=class{#e=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=r.priority){this.#e.push(n);return}let i=Up(this.#e,n,(o,s)=>s.priority-o.priority);this.#e.splice(i,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var Zs=class extends Wn.default{#e;#i;#o=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#f;#s;#y;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Js,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#y=e.throwOnTimeout===!0,this.#s=e.autoStart===!1}get#b(){return this.#i||this.#o<this.#a}get#w(){return this.#n<this.#f}#v(){this.#n--,this.#l(),this.emit("next")}#E(){this.#x(),this.#g(),this.#u=void 0}get#A(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#o=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#E()},r)),!0}return!1}#l(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#s){let e=!this.#A;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#g(),!0):!1}}return!1}#g(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#o===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#o=this.#e?this.#n:0,this.#h()}#h(){for(;this.#l(););}get concurrency(){return this.#f}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#f=e,this.#h()}async#S(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#y,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#o++;try{r.signal?.throwIfAborted();let o=e({signal:r.signal});r.timeout&&(o=Pr(Promise.resolve(o),{milliseconds:r.timeout})),r.signal&&(o=Promise.race([o,this.#S(r.signal)]));let s=await o;n(s),this.emit("completed",s)}catch(o){if(o instanceof Nr&&!r.throwOnTimeout){n();return}i(o),this.emit("error",o)}finally{this.#v()}},r),this.emit("add"),this.#l()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#s?(this.#s=!1,this.#h(),this):this}pause(){this.#s=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.size===0||await this.#d("idle")}async#d(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#s}};function jN(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var Mp=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new _("missing peer id",uf);let o={priority:i,peerId:n,run:e};if(this.size>0&&this.#e[this.size-1].priority>=i){this.#e.push(o);return}let s=jN(this.#e,o,(a,c)=>c.priority-a.priority);this.#e.splice(s,0,o)}dequeue(){return this.#e.shift()?.run}filter(e){if(e.peerId!=null){let r=e.peerId;return this.#e.filter(n=>r.equals(n.peerId)).map(n=>n.run)}return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}},su=class extends Zs{results;constructor(e={}){super({...e,queueClass:Mp}),this.results=new ot}hasJob(e){return this.sizeBy({peerId:e})>0}async joinJob(e){let r=this.results.get(e);if(r==null)throw new _("No job found for peer id","ERR_NO_JOB_FOR_PEER_ID");return r===!0&&(r=De(),this.results.set(e,r)),r.promise}async add(e,r){let n=r?.peerId;if(n==null)throw new _("missing peer id",uf);return this.results.set(r.peerId,!0),super.add(async i=>{try{let o=await e(i),s=this.results.get(n);return s!=null&&s!==!0&&s.resolve(o),o}catch(o){let s=this.results.get(n);throw s!=null&&s!==!0&&s.reject(o),o}finally{this.results.delete(n)}},r)}clear(){this.results.clear(),super.clear()}};function Jv(t,e="utf8"){let r=qc[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var au="last-dial-failure";var cu=5,uu=100,fu=50,Zv=1e3*60*7;var ri={minConnections:cu,maxQueueLength:100,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3,autoDialPeerRetryThreshold:Zv,autoDialDiscoveredPeersDebounce:10},lu=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialPeerRetryThresholdMs;autoDialDiscoveredPeersDebounce;autoDialInterval;started;running;log;constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??ri.minConnections,this.autoDialPriority=r.autoDialPriority??ri.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??ri.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??ri.maxQueueLength,this.autoDialPeerRetryThresholdMs=r.autoDialPeerRetryThreshold??ri.autoDialPeerRetryThreshold,this.autoDialDiscoveredPeersDebounce=r.autoDialDiscoveredPeersDebounce??ri.autoDialDiscoveredPeersDebounce,this.log=e.logger.forComponent("libp2p:connection-manager:auto-dial"),this.started=!1,this.running=!1,this.queue=new su({concurrency:r.autoDialConcurrency??ri.autoDialConcurrency}),this.queue.addListener("error",i=>{this.log.error("error during auto-dial",i)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(i=>{this.log.error(i)})});let n;e.events.addEventListener("peer:discovery",()=>{clearTimeout(n),n=setTimeout(()=>{this.autoDial().catch(i=>{this.log.error(i)})},this.autoDialDiscoveredPeersDebounce)})}isStarted(){return this.started}start(){this.started=!0}afterStart(){this.autoDial().catch(e=>{this.log.error("error while autodialing",e)})}stop(){this.queue.clear(),clearTimeout(this.autoDialInterval),this.started=!1,this.running=!1}async autoDial(){if(!this.started||this.running)return;let e=this.connectionManager.getConnectionsMap(),r=e.size;if(r>=this.minConnections){this.minConnections>0&&this.log.trace("have enough connections %d/%d",r,this.minConnections);return}if(this.queue.size>this.autoDialMaxQueueLength){this.log("not enough connections %d/%d but auto dial queue is full",r,this.minConnections),this.sheduleNextAutodial();return}this.running=!0,this.log("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=new Dt(this.connectionManager.getDialQueue().map(u=>u.peerId).filter(Boolean)),i=await this.peerStore.all({filters:[u=>u.addresses.length===0?(this.log.trace("not autodialing %p because they have no addresses",u.id),!1):e.has(u.id)?(this.log.trace("not autodialing %p because they are already connected",u.id),!1):n.has(u.id)?(this.log.trace("not autodialing %p because they are already being dialed",u.id),!1):this.queue.hasJob(u.id)?(this.log.trace("not autodialing %p because they are already being autodialed",u.id),!1):!0]}),o=i.sort(()=>Math.random()>.5?1:-1),s=new ot;for(let u of o)s.has(u.id)||s.set(u.id,[...u.tags.values()].reduce((f,h)=>f+h.value,0));let c=o.sort((u,f)=>{let h=s.get(u.id)??0,p=s.get(f.id)??0;return h>p?-1:h<p?1:0}).filter(u=>{let f=u.metadata.get(au);if(f==null)return!0;let h=parseInt(Jv(f));return isNaN(h)?!0:Date.now()-h>this.autoDialPeerRetryThresholdMs});this.log("selected %d/%d peers to dial",c.length,i.length);for(let u of c)this.queue.add(async()=>{let f=this.connectionManager.getConnectionsMap().size;if(f>=this.minConnections){this.log("got enough connections now %d/%d",f,this.minConnections),this.queue.clear();return}this.log("connecting to a peerStore stored peer %p",u.id),await this.connectionManager.openConnection(u.id,{priority:this.autoDialPriority})},{peerId:u.id}).catch(f=>{this.log.error("could not connect to peerStore stored peer",f)});this.running=!1,this.sheduleNextAutodial()}sheduleNextAutodial(){this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(e=>{this.log.error("error while autodialing",e)})},this.autoDialIntervalMs))}};var eE={maxConnections:uu,allow:[]},hu=class{maxConnections;connectionManager;peerStore;allow;events;log;constructor(e,r={}){this.maxConnections=r.maxConnections??eE.maxConnections,this.allow=r.allow??eE.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,this.log=e.logger.forComponent("libp2p:connection-manager:connection-pruner"),e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{this.log.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(this.log("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;this.log("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new ot;for(let a of e){let c=a.remotePeer;if(!i.has(c)){i.set(c,0);try{let u=await this.peerStore.get(c);i.set(c,[...u.tags.values()].reduce((f,h)=>f+h.value,0))}catch(u){u.code!=="ERR_NOT_FOUND"&&this.log.error("error loading peer tags",u)}}}let o=e.sort((a,c)=>{let u=i.get(a.remotePeer)??0,f=i.get(c.remotePeer)??0;if(u>f)return 1;if(u<f)return-1;let h=a.timeline.open,p=c.timeline.open;return h<p?1:h>p?-1:0}),s=[];for(let a of o)if(this.log("too many connections open - closing a connection to %p",a.remotePeer),this.allow.some(u=>a.remoteAddr.toString().startsWith(u.toString()))||s.push(a),s.length===n)break;await Promise.all(s.map(async a=>{try{await a.close()}catch(c){this.log.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:s})}};function du(t){let e=new globalThis.AbortController;function r(){e.abort();for(let o of t)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}for(let o of t){if(o?.aborted===!0){r();break}o?.addEventListener!=null&&o.addEventListener("abort",r)}function n(){for(let o of t)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}let i=e.signal;return i.clear=n,i}function qp(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var ea=class{#e=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=r.priority){this.#e.push(n);return}let i=qp(this.#e,n,(o,s)=>s.priority-o.priority);this.#e.splice(i,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var Do=class extends Wn.default{#e;#i;#o=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#f;#s;#y;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:ea,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#y=e.throwOnTimeout===!0,this.#s=e.autoStart===!1}get#b(){return this.#i||this.#o<this.#a}get#w(){return this.#n<this.#f}#v(){this.#n--,this.#l(),this.emit("next")}#E(){this.#x(),this.#g(),this.#u=void 0}get#A(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#o=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#E()},r)),!0}return!1}#l(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#s){let e=!this.#A;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#g(),!0):!1}}return!1}#g(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#o===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#o=this.#e?this.#n:0,this.#h()}#h(){for(;this.#l(););}get concurrency(){return this.#f}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#f=e,this.#h()}async#S(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#y,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#o++;try{r.signal?.throwIfAborted();let o=e({signal:r.signal});r.timeout&&(o=Pr(Promise.resolve(o),{milliseconds:r.timeout})),r.signal&&(o=Promise.race([o,this.#S(r.signal)]));let s=await o;n(s),this.emit("completed",s)}catch(o){if(o instanceof Nr&&!r.throwOnTimeout){n();return}i(o),this.emit("error",o)}finally{this.#v()}},r),this.emit("add"),this.#l()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#s?(this.#s=!1,this.#h(),this):this}pause(){this.#s=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.size===0||await this.#d("idle")}async#d(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#s}};async function zp(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await eP(t,e),s=(await Promise.all(n.map(async a=>zp(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return e.log("resolved %s to",t,s.map(a=>a.toString())),s}async function eP(t,e){try{return t=Ke(t.toString()),await t.resolve(e)}catch(r){return e.log.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function tE(...t){let e=[];for(let n of t)n!=null&&(wt(1/0,n),e.push(n));let r=du(e);return wt(1/0,r),r}var pu={addressSorter:So,maxParallelDials:fu,maxPeerAddrsToDial:25,dialTimeout:3e4,resolvers:{dnsaddr:Co}},mu=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;connections;log;constructor(e,r={}){this.addressSorter=r.addressSorter??pu.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??pu.maxPeerAddrsToDial,this.dialTimeout=r.dialTimeout??pu.dialTimeout,this.connections=r.connections??new ot,this.log=e.logger.forComponent("libp2p:connection-manager:dial-queue"),this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController,wt(1/0,this.shutDownController.signal),this.pendingDialCount=e.metrics?.registerMetric("libp2p_dial_queue_pending_dials"),this.inProgressDialCount=e.metrics?.registerMetric("libp2p_dial_queue_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))Ec.set(n,i);this.queue=new Do({concurrency:r.maxParallelDials??pu.maxParallelDials}),this.queue.on("add",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("active",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("completed",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("error",n=>{this.log.error("error in dial queue",n),this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("empty",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("idle",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)})}start(){this.shutDownController=new AbortController}stop(){this.shutDownController.abort(),this.queue.clear()}async dial(e,r={}){let{peerId:n,multiaddrs:i}=ou(e),o=i.map(p=>({multiaddr:p,isCertified:!1})),s=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,o,{...r,signal:s})}catch(p){throw s.clear(),p}let c=Array.from(this.connections.values()).flat().find(p=>r.force===!0?!1:a.find(y=>y.multiaddr.equals(p.remoteAddr)));if(c!=null)return this.log("already connected to %a",c.remoteAddr),c;let u=this.pendingDials.find(p=>!!(p.peerId!=null&&n!=null&&p.peerId.equals(n)||a.map(({multiaddr:y})=>y.toString()).join()===p.multiaddrs.map(y=>y.toString()).join()));if(u!=null)return this.log("joining existing dial target for %p",n),s.clear(),u.promise;this.log("creating dial target for",a.map(({multiaddr:p})=>p.toString()));let f={id:tP(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:p})=>p)};f.promise=this.performDial(f,{...r,signal:s}).finally(()=>{this.pendingDials=this.pendingDials.filter(p=>p.id!==f.id),s.clear()}).catch(async p=>{if(this.log.error("dial failed to %s",f.multiaddrs.map(y=>y.toString()).join(", "),p),n!=null)try{await this.peerStore.patch(n,{metadata:{[au]:zc(Date.now().toString())}})}catch(y){this.log.error("could not update last dial failure key for %p",n,y)}throw s.aborted?new _(p.message,Ra):p}),this.pendingDials.push(f);let h=await f.promise;return c=Array.from(this.connections.values()).flat().find(p=>r.force===!0?!1:p.id!==h.id&&p.remoteAddr.equals(h.remoteAddr)),c!=null?(this.log("already connected to %a",c.remoteAddr),await h.close(),c):(this.log("connection opened to %a",h.remoteAddr),h)}createDialAbortControllers(e){let r=du([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);return wt(1/0,r),r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new _("Tried to dial self",V.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new _("The dial request is blocked by gater.allowDialPeer",V.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){this.log("loading multiaddrs for %p",e);try{let f=await this.peerStore.get(e);r.push(...f.addresses),this.log("loaded multiaddrs for %p",e,r.map(({multiaddr:h})=>h.toString()))}catch(f){if(f.code!==V.ERR_NOT_FOUND)throw f}}}let i=(await Promise.all(r.map(async f=>{let h=await zp(f.multiaddr,{...n,log:this.log});return h.length===1&&h[0].equals(f.multiaddr)?f:h.map(p=>({multiaddr:p,isCertified:!1}))}))).flat();if(e!=null){let f=`/p2p/${e.toString()}`;i=i.map(h=>h.multiaddr.protos().pop()?.path===!0?h:h.multiaddr.getPeerId()==null?{multiaddr:h.multiaddr.encapsulate(f),isCertified:h.isCertified}:h)}let o=i.filter(f=>{if(this.transportManager.transportForMultiaddr(f.multiaddr)==null)return!1;let h=f.multiaddr.getPeerId();return e!=null&&h!=null?e.equals(h):!0}),s=new Map;for(let f of o){let h=f.multiaddr.toString(),p=s.get(h);if(p!=null){p.isCertified=p.isCertified||f.isCertified||!1;continue}s.set(h,f)}let a=[...s.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(this.log("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:f})=>f.toString())),this.log("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:f})=>f.toString()))),a.length===0)throw new _("The dial request has no valid addresses",V.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new _("dial with more addresses than allowed",V.ERR_TOO_MANY_ADDRESSES);let c=[];for(let f of a)this.connectionGater.denyDialMultiaddr!=null&&await this.connectionGater.denyDialMultiaddr(f.multiaddr)||c.push(f);let u=c.sort(this.addressSorter);if(u.length===0)throw new _("The connection gater denied all addresses in the dial request",V.ERR_NO_VALID_ADDRESSES);return u}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new Do({concurrency:1});i.on("error",s=>{this.log.error("error dialing %s %o",e.multiaddrs,s)});let o=await Promise.any(e.multiaddrs.map(async(s,a)=>{let c=n[a];if(c==null)throw new _("dialAction did not come with an AbortController",V.ERR_INVALID_PARAMETERS);let u=tE(c.signal,r.signal);u.addEventListener("abort",()=>{this.log("dial to %a aborted",s)});let f=De();return await i.add(async()=>{if(u.aborted){this.log("dial to %a was aborted before reaching the head of the peer dial queue",s),f.reject(new hi);return}await this.queue.add(async()=>{try{if(u.aborted){this.log("dial to %a was aborted before reaching the head of the dial queue",s),f.reject(new hi);return}e.status="active";let h=await this.transportManager.dial(s,{...r,signal:u});if(c.signal.aborted){this.log("multiple dials succeeded, closing superfluous connection"),h.close().catch(p=>{this.log.error("error closing superfluous connection",p)}),f.reject(new hi);return}n[a]=void 0,n.forEach(p=>{p!==void 0&&p.abort()}),this.log("dial to %a succeeded",s),f.resolve(h)}catch(h){this.log.error("error during dial of %a",s,h),f.reject(h)}},{...r,signal:u}).catch(h=>{f.reject(h)})},{signal:u}).catch(h=>{f.reject(h)}).finally(()=>{u.clear()}),f.promise}));if(o==null)throw new _("successful dial led to empty object returned from peer dial queue",V.ERR_TRANSPORT_DIAL_FAILED);return e.status="success",o}catch(i){throw e.status="error",e.multiaddrs.length===1&&i.name==="AggregateError"?i.errors[0]:i}}};function tP(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var iP=50,ni={minConnections:cu,maxConnections:uu,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0,autoDialMaxQueueLength:100},yu=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;log;constructor(e,r={}){this.maxConnections=r.maxConnections??ni.maxConnections;let n=r.minConnections??ni.minConnections;if(this.maxConnections<n)throw new _("Connection Manager maxConnections must be greater than minConnections",V.ERR_INVALID_PARAMETERS);this.connections=new ot,this.started=!1,this.peerStore=e.peerStore,this.metrics=e.metrics,this.events=e.events,this.log=e.logger.forComponent("libp2p:connection-manager"),this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.events.addEventListener("connection:open",this.onConnect),this.events.addEventListener("connection:close",this.onDisconnect),this.allow=(r.allow??[]).map(i=>Ke(i)),this.deny=(r.deny??[]).map(i=>Ke(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??ni.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new rE.RateLimiterMemory({points:r.inboundConnectionThreshold??ni.inboundConnectionThreshold,duration:1}),this.autoDial=new lu({connectionManager:this,peerStore:e.peerStore,events:e.events,logger:e.logger},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??ni.autoDialConcurrency,autoDialPriority:r.autoDialPriority??ni.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??ni.autoDialMaxQueueLength}),this.connectionPruner=new hu({connectionManager:this,peerStore:e.peerStore,events:e.events,logger:e.logger},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new mu({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater,logger:e.logger},{addressSorter:r.addressSorter??So,maxParallelDials:r.maxParallelDials??fu,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:Co},connections:this.connections})}isStarted(){return this.started}async start(){this.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let e={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.direction==="inbound"?e.inbound++:e.outbound++;return e}}),this.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let e={};for(let r of this.connections.values())for(let n of r)for(let i of n.streams){let o=`${i.direction} ${i.protocol??"unnegotiated"}`;e[o]=(e[o]??0)+1}return e}}),this.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let e={};for(let n of this.connections.values())for(let i of n){let o={};for(let s of i.streams){let a=`${s.direction} ${s.protocol??"unnegotiated"}`;o[a]=(o[a]??0)+1}for(let[s,a]of Object.entries(o))e[s]=e[s]??[],e[s].push(a)}let r={};for(let[n,i]of Object.entries(e)){i=i.sort((s,a)=>s-a);let o=Math.floor(i.length*.9);r[n]=i[o]}return r}}),this.dialQueue.start(),this.autoDial.start(),this.started=!0,this.log("started")}async afterStart(){Promise.resolve().then(async()=>{let e=await this.peerStore.all({filters:[r=>r.tags.has(Xy)]});await Promise.all(e.map(async r=>{await this.openConnection(r.id).catch(n=>{this.log.error(n)})}))}).catch(e=>{this.log.error(e)}),this.autoDial.afterStart()}async stop(){this.dialQueue.stop(),this.autoDial.stop();let e=[];for(let r of this.connections.values())for(let n of r)e.push((async()=>{try{await n.close()}catch(i){this.log.error(i)}})());this.log("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),this.log("stopped")}onConnect(e){this._onConnect(e).catch(r=>{this.log.error(r)})}async _onConnect(e){let{detail:r}=e;if(!this.started){await r.close();return}let n=r.remotePeer,i=this.connections.get(n),o=!1;i!=null?i.push(r):(o=!0,this.connections.set(n,[r])),n.publicKey!=null&&n.type==="RSA"&&await this.peerStore.patch(n,{publicKey:n.publicKey}),o&&this.events.safeDispatchEvent("peer:connect",{detail:r.remotePeer})}onDisconnect(e){let{detail:r}=e;if(!this.started)return;let n=r.remotePeer,i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(o=>o.id!==r.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.events.safeDispatchEvent("peer:disconnect",{detail:r.remotePeer}))}getConnections(e){if(e!=null)return this.connections.get(e)??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(e,r={}){if(!this.isStarted())throw new _("Not started",V.ERR_NODE_NOT_STARTED);r.signal?.throwIfAborted();let{peerId:n}=ou(e);if(n!=null&&r.force!==!0){this.log("dial %p",n);let a=this.getConnections(n).find(c=>!c.transient);if(a!=null)return this.log("had an existing non-transient connection to %p",n),a}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??iP}),o=this.connections.get(i.remotePeer);o==null&&(o=[],this.connections.set(i.remotePeer,o));let s=!1;for(let a of o)a.id===i.id&&(s=!0);return s||o.push(i),i}async closeConnections(e,r={}){let n=this.connections.get(e)??[];await Promise.all(n.map(async i=>{try{await i.close(r)}catch(o){i.abort(o)}}))}async acceptIncomingConnection(e){if(this.deny.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.log("connection from %a refused - connection remote address was in deny list",e.remoteAddr),!1;if(this.allow.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.maxIncomingPendingConnections)return this.log("connection from %a refused - incomingPendingConnections exceeded by host",e.remoteAddr),!1;if(e.remoteAddr.isThinWaistAddress()){let i=e.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return this.log("connection from %a refused - inboundConnectionThreshold exceeded by host %s",e.remoteAddr,i),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(this.log("connection from %a refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var gu=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},Lo=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new gu(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new gu(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var Gp=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function nE(t={}){return oP(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function oP(t,e){e=e??{};let r=e.onEnd,n=new Lo,i,o,s,a=De(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((m,g)=>{o=x=>{o=null,n.push(x);try{m(t(n))}catch(b){g(b)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=De()})}},u=m=>o!=null?o(m):(n.push(m),i),f=m=>(n=new Lo,o!=null?o({error:m}):(n.push({error:m}),i)),h=m=>{if(s)return i;if(e?.objectMode!==!0&&m?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:m})},p=m=>s?i:(s=!0,m!=null?f(m):u({done:!0})),y=()=>(n=new Lo,p(),{done:!0}),l=m=>(p(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:y,throw:l,push:h,end:p,get readableLength(){return n.size},onEmpty:async m=>{let g=m?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let x,b;g!=null&&(x=new Promise((v,w)=>{b=()=>{w(new Gp)},g.addEventListener("abort",b)}));try{await Promise.race([a.promise,x])}finally{b!=null&&g!=null&&g?.removeEventListener("abort",b)}}},r==null)return i;let d=i;return i={[Symbol.asyncIterator](){return this},next(){return d.next()},throw(m){return d.throw(m),r!=null&&(r(m),r=void 0),{done:!0}},return(){return d.return(),r!=null&&(r(),r=void 0),{done:!0}},push:h,end(m){return d.end(m),r!=null&&(r(m),r=void 0),i},get readableLength(){return d.readableLength},onEmpty:m=>d.onEmpty(m)},i}function sP(t){return t[Symbol.asyncIterator]!=null}function aP(...t){let e=[];for(let r of t)sP(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=nE({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var ta=aP;var xu=globalThis.CustomEvent??Event;async function*ra(t,e={}){let r=e.concurrency??1/0;r<1&&(r=1/0);let n=e.ordered==null?!1:e.ordered,i=new EventTarget,o=[],s=De(),a=De(),c=!1,u,f=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let l of t){if(o.length===r&&(s=De(),await s.promise),f)break;let d={done:!1};o.push(d),l().then(m=>{d.done=!0,d.ok=!0,d.value=m,i.dispatchEvent(new xu("task-complete"))},m=>{d.done=!0,d.err=m,i.dispatchEvent(new xu("task-complete"))})}c=!0,i.dispatchEvent(new xu("task-complete"))}catch(l){u=l,i.dispatchEvent(new xu("task-complete"))}});function h(){return n?o[0]?.done:!!o.find(l=>l.done)}function*p(){for(;o.length>0&&o[0].done;){let l=o[0];if(o.shift(),l.ok)yield l.value;else throw f=!0,s.resolve(),l.err;s.resolve()}}function*y(){for(;h();)for(let l=0;l<o.length;l++)if(o[l].done){let d=o[l];if(o.splice(l,1),l--,d.ok)yield d.value;else throw f=!0,s.resolve(),d.err;s.resolve()}}for(;;){if(h()||(a=De(),await a.promise),u!=null)throw u;if(n?yield*p():yield*y(),c&&o.length===0)break}}var bu=class{log;routers;started;components;constructor(e,r){this.log=e.logger.forComponent("libp2p:content-routing"),this.routers=r.routers??[],this.started=!1,this.components=e}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(e,r={}){if(this.routers.length===0)throw new _("No content routers available",V.ERR_NO_ROUTERS_AVAILABLE);let n=this,i=new Dt;for await(let o of ra(async function*(){let s=ta(...n.routers.map(a=>a.findProviders(e,r)));for await(let a of s)yield async()=>{if(a.multiaddrs.length===0)try{a=await n.components.peerRouting.findPeer(a.id,{...r,useCache:!1})}catch(c){n.log.error("could not find peer multiaddrs",c);return}return a}}()))o!=null&&o.multiaddrs.length!==0&&(await this.components.peerStore.merge(o.id,{multiaddrs:o.multiaddrs}),!i.has(o.id)&&(i.add(o.id),yield o))}async provide(e,r={}){if(this.routers.length===0)throw new _("No content routers available",V.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(e,r)}))}async put(e,r,n){if(!this.isStarted())throw new _(Mr.NOT_STARTED_YET,V.ERR_NODE_NOT_STARTED);await Promise.all(this.routers.map(async i=>{await i.put(e,r,n)}))}async get(e,r){if(!this.isStarted())throw new _(Mr.NOT_STARTED_YET,V.ERR_NODE_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};var wu=class{log;peerId;peerStore;routers;constructor(e,r){this.log=e.logger.forComponent("libp2p:peer-routing"),this.peerId=e.peerId,this.peerStore=e.peerStore,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new _("No peer routers available",V.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.peerId.toString())throw new _("Should not try to find self",V.ERR_FIND_SELF);let n=this,i=ta(...this.routers.map(o=>async function*(){try{yield await o.findPeer(e,r)}catch(s){n.log.error(s)}}()));for await(let o of i)if(o!=null)return await this.peerStore.merge(o.id,{multiaddrs:o.multiaddrs}),o;throw new _(Mr.NOT_FOUND,V.ERR_NOT_FOUND)}async*getClosestPeers(e,r={}){if(this.routers.length===0)throw new _("No peer routers available",V.ERR_NO_ROUTERS_AVAILABLE);let n=this,i=new Dt;for await(let o of ra(async function*(){let s=ta(...n.routers.map(a=>a.getClosestPeers(e,r)));for await(let a of s)yield async()=>{if(a.multiaddrs.length===0)try{a=await n.findPeer(a.id,{...r,useCache:!1})}catch(c){n.log.error("could not find peer multiaddrs",c);return}return a}}()))o!=null&&o.multiaddrs.length!==0&&(await this.peerStore.merge(o.id,{multiaddrs:o.multiaddrs}),!i.has(o.id)&&(i.add(o.id),yield o))}};var Wp=32,Yp=64,vu=class{log;topologies;handlers;components;constructor(e){this.log=e.logger.forComponent("libp2p:registrar"),this.topologies=new Map,this.handlers=new Map,this.components=e,this._onDisconnect=this._onDisconnect.bind(this),this._onPeerUpdate=this._onPeerUpdate.bind(this),this._onPeerIdentify=this._onPeerIdentify.bind(this),this.components.events.addEventListener("peer:disconnect",this._onDisconnect),this.components.events.addEventListener("peer:update",this._onPeerUpdate),this.components.events.addEventListener("peer:identify",this._onPeerIdentify)}getProtocols(){return Array.from(new Set([...this.handlers.keys()])).sort()}getHandler(e){let r=this.handlers.get(e);if(r==null)throw new _(`No handler registered for protocol ${e}`,V.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(e){let r=this.topologies.get(e);return r==null?[]:[...r.values()]}async handle(e,r,n){if(this.handlers.has(e))throw new _(`Handler already registered for protocol ${e}`,V.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=ru.bind({ignoreUndefined:!0})({maxInboundStreams:Wp,maxOutboundStreams:Yp},n);this.handlers.set(e,{handler:r,options:i}),await this.components.peerStore.merge(this.components.peerId,{protocols:[e]})}async unhandle(e){(Array.isArray(e)?e:[e]).forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.patch(this.components.peerId,{protocols:this.getProtocols()})}async register(e,r){if(r==null)throw new _("invalid topology",V.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(e);return i==null&&(i=new Map,this.topologies.set(e,i)),i.set(n,r),n}unregister(e){for(let[r,n]of this.topologies.entries())n.has(e)&&(n.delete(e),n.size===0&&this.topologies.delete(r))}_onDisconnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{for(let i of n.protocols){let o=this.topologies.get(i);if(o!=null)for(let s of o.values())s.onDisconnect?.(r)}}).catch(n=>{n.code!==V.ERR_NOT_FOUND&&this.log.error("could not inform topologies of disconnecting peer %p",r,n)})}_onPeerUpdate(e){let{peer:r,previous:n}=e.detail,i=(n?.protocols??[]).filter(o=>!r.protocols.includes(o));for(let o of i){let s=this.topologies.get(o);if(s!=null)for(let a of s.values())a.onDisconnect?.(r.id)}}_onPeerIdentify(e){let r=e.detail.protocols,n=e.detail.connection,i=e.detail.peerId;for(let o of r){let s=this.topologies.get(o);if(s!=null)for(let a of s.values())n.transient&&a.notifyOnTransient!==!0||a.onConnect?.(i,n)}}};var Qp=class extends Map{metric;constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function iE(t){let{name:e,metrics:r}=t,n;return r!=null?n=new Qp({name:e,metrics:r}):n=new Map,n}var Eu=class{log;components;transports;listeners;faultTolerance;started;constructor(e,r={}){this.log=e.logger.forComponent("libp2p:transports"),this.components=e,this.started=!1,this.transports=new Map,this.listeners=iE({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??$r.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new _("Transport must have a valid tag",V.ERR_INVALID_KEY);if(this.transports.has(r))throw new _(`There is already a transport with the tag ${r}`,V.ERR_DUPLICATE_TRANSPORT);this.log("adding transport %s",r),this.transports.set(r,e),this.listeners.has(r)||this.listeners.set(r,[])}isStarted(){return this.started}start(){this.started=!0}async afterStart(){let e=this.components.addressManager.getListenAddrs();await this.listen(e)}async stop(){let e=[];for(let[r,n]of this.listeners)for(this.log("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),this.log("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(e,r){let n=this.transportForMultiaddr(e);if(n==null)throw new _(`No transport available for address ${String(e)}`,V.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=V.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let e=[];for(let r of this.listeners.values())for(let n of r)e=[...e,...n.getAddrs()];return e}getTransports(){return Array.of(...this.transports.values())}getListeners(){return Array.of(...this.listeners.values()).flat()}transportForMultiaddr(e){for(let r of this.transports.values())if(r.filter([e]).length>0)return r}async listen(e){if(!this.isStarted())throw new _("Not started",V.ERR_NODE_NOT_STARTED);if(e==null||e.length===0){this.log("no addresses were provided for listening, this node is dial only");return}let r=[];for(let[n,i]of this.transports.entries()){let o=i.filter(e),s=[];for(let u of o){this.log("creating listener for %s on %a",n,u);let f=i.createListener({upgrader:this.components.upgrader}),h=this.listeners.get(n)??[];h==null&&(h=[],this.listeners.set(n,h)),h.push(f),f.addEventListener("listening",()=>{this.components.events.safeDispatchEvent("transport:listening",{detail:f})}),f.addEventListener("close",()=>{let p=h.findIndex(y=>y===f);h.splice(p,1),this.components.events.safeDispatchEvent("transport:close",{detail:f})}),s.push(f.listen(u))}if(s.length===0){r.push(n);continue}if((await Promise.allSettled(s)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==$r.NO_FATAL)throw new _(`Transport (${n}) could not listen on any available address`,V.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===$r.FATAL_ALL)throw new _(n,V.ERR_NO_VALID_ADDRESSES);this.log(`libp2p in dial mode only: ${n}`)}}async remove(e){let r=this.listeners.get(e)??[];this.log.trace("removing transport %s",e);let n=[];for(this.log.trace("closing listeners for %s",e);r.length>0;){let i=r.pop();i!=null&&n.push(i.close())}await Promise.all(n),this.transports.delete(e),this.listeners.delete(e)}async removeAll(){let e=[];for(let r of this.transports.keys())e.push(this.remove(r));await Promise.all(e)}};var tt="/multistream/1.0.0";var Au=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=r??"ABORT_ERR"}};async function Su(t,e,r){if(e==null)return t;if(e.aborted)return Promise.reject(new Au(r?.errorMessage,r?.errorCode));let n,i=new Au(r?.errorMessage,r?.errorCode);try{return await Promise.race([t,new Promise((o,s)=>{n=()=>{s(i)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var Xp=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=De(),this.haveNext=De()}[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 e=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=De(),e}async throw(e){return this.ended=!0,e!=null&&this.haveNext.reject(e),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return await this._push(void 0),e}async push(e,r){await this._push(e,r)}async end(e,r){e!=null?await this.throw(e):await this._push(void 0,r)}async _push(e,r){if(e!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=De(),await Su(this.needNext.promise,r?.signal,r)}};function oE(){return new Xp}var Cu=class extends Error{code;constructor(e,r){super(e),this.code=r}},jp=class extends Cu{type;constructor(e){super(e,"ABORT_ERR"),this.type="aborted"}};function sE(t,e){let r=oE();t.sink(r).catch(async s=>{await r.end(s)}),t.sink=async s=>{for await(let a of s)await r.push(a);await r.end()};let n=t.source;t.source[Symbol.iterator]!=null?n=t.source[Symbol.iterator]():t.source[Symbol.asyncIterator]!=null&&(n=t.source[Symbol.asyncIterator]());let i=new He;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,u=new Promise((f,h)=>{c=()=>{h(new jp("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:h,value:p}=await Promise.race([n.next(),u]);return h===!0?new He:p}for(;i.byteLength<s;){let{value:h,done:p}=await Promise.race([n.next(),u]);if(p===!0)throw new Cu("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(h)}let f=i.sublist(0,s);return i.consume(s),f}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(s,a)=>{a?.signal?.throwIfAborted(),s instanceof Uint8Array?await r.push(s,a):await r.push(s.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let s=t.source;t.source=async function*(){e?.yieldBytes===!1?yield i:yield*i,yield*s}()}return t}}}function Iu(t){return t[Symbol.asyncIterator]!=null}var _u=t=>{let e=at(t),r=it(e);return yt(t,r),_u.bytes=e,r};_u.bytes=0;function ii(t,e){e=e??{};let r=e.lengthEncoder??_u;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return Iu(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}ii.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??_u;return new He(r(t.byteLength),t)};var No=we(L0(),1);var cP=8,uP=1024*1024*4,oi;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(oi||(oi={}));var Zp=t=>{let e=zt(t);return Zp.bytes=at(e),e};Zp.bytes=0;function Jp(t,e){let r=new He,n=oi.LENGTH,i=-1,o=e?.lengthDecoder??Zp,s=e?.maxLengthLength??cP,a=e?.maxDataLength??uP;function*c(){for(;r.byteLength>0;){if(n===oi.LENGTH)try{if(i=o(r),i<0)throw(0,No.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,No.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=oi.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,No.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===oi.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=oi.LENGTH}}}return Iu(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,No.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,No.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Jp.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await t.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return Jp(n,{...e??{},onLength:o=>{r=o}})};var Tu=class extends Error{code;constructor(e,r){super(e),this.code=r}},aE=t=>zt(t);aE.bytes=0;function na(t,e={}){let r=sE(t,e);return e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=at(e.maxDataLength)),{read:async i=>{let o=-1,s=new He,a=e?.lengthDecoder??aE;for(;;){s.append(await r.read(1,i));try{o=a(s)}catch(c){if(c instanceof RangeError)continue;throw c}if(e?.maxLengthLength!=null&&s.byteLength>e.maxLengthLength)throw new Tu("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(o>-1)break}if(e?.maxDataLength!=null&&o>e.maxDataLength)throw new Tu("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(o,i)},write:async(i,o)=>{await r.write(ii.single(i,e),o)},writeV:async(i,o)=>{let s=new He(...i.map(a=>ii.single(a,e)));await r.write(s,o)},unwrap:()=>r.unwrap()}}function Ru(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var im={};R(im,{base10:()=>yP});function lP(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(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 d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var hP=lP,dP=hP,cE=dP;var _Z=new Uint8Array(0);var uE=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Fr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var fE=t=>new TextEncoder().encode(t),lE=t=>new TextDecoder().decode(t);var em=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},tm=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return dE(this,e)}},rm=class{constructor(e){this.decoders=e}or(e){return dE(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},dE=(t,e)=>new rm({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),nm=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new em(e,r,n),this.decoder=new tm(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Po=({name:t,prefix:e,encode:r,decode:n})=>new nm(t,e,r,n),mn=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=cE(r,e);return Po({prefix:t,name:e,encode:n,decode:o=>Fr(i(o))})},pP=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},mP=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Le=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Po({prefix:e,name:t,encode(i){return mP(i,n,r)},decode(i){return pP(i,n,r,t)}});var yP=mn({prefix:"9",name:"base10",alphabet:"0123456789"});var om={};R(om,{base16:()=>gP,base16upper:()=>xP});var gP=Le({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),xP=Le({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var sm={};R(sm,{base2:()=>bP});var bP=Le({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var am={};R(am,{base256emoji:()=>SP});var pE=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}"),wP=pE.reduce((t,e,r)=>(t[r]=e,t),[]),vP=pE.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function EP(t){return t.reduce((e,r)=>(e+=wP[r],e),"")}function AP(t){let e=[];for(let r of t){let n=vP[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var SP=Po({prefix:"\u{1F680}",name:"base256emoji",encode:EP,decode:AP});var cm={};R(cm,{base32:()=>Oo,base32hex:()=>TP,base32hexpad:()=>BP,base32hexpadupper:()=>DP,base32hexupper:()=>RP,base32pad:()=>IP,base32padupper:()=>_P,base32upper:()=>CP,base32z:()=>LP});var Oo=Le({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),CP=Le({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),IP=Le({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),_P=Le({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),TP=Le({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),RP=Le({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),BP=Le({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),DP=Le({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),LP=Le({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var um={};R(um,{base36:()=>NP,base36upper:()=>PP});var NP=mn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),PP=mn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var fm={};R(fm,{base58btc:()=>lr,base58flickr:()=>OP});var lr=mn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),OP=mn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var lm={};R(lm,{base64:()=>kP,base64pad:()=>UP,base64url:()=>MP,base64urlpad:()=>FP});var kP=Le({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),UP=Le({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),MP=Le({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),FP=Le({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var hm={};R(hm,{base8:()=>KP});var KP=Le({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var dm={};R(dm,{identity:()=>VP});var VP=Po({prefix:"\0",name:"identity",encode:t=>lE(t),decode:t=>fE(t)});var qZ=new TextEncoder,zZ=new TextDecoder;var mm={};R(mm,{identity:()=>fO});var $P=gE,mE=128,HP=127,GP=~HP,WP=Math.pow(2,31);function gE(t,e,r){e=e||[],r=r||0;for(var n=r;t>=WP;)e[r++]=t&255|mE,t/=128;for(;t&GP;)e[r++]=t&255|mE,t>>>=7;return e[r]=t|0,gE.bytes=r-n+1,e}var YP=pm,QP=128,yE=127;function pm(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw pm.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&yE)<<i:(s&yE)*Math.pow(2,i),i+=7}while(s>=QP);return pm.bytes=o-n,r}var XP=Math.pow(2,7),jP=Math.pow(2,14),JP=Math.pow(2,21),ZP=Math.pow(2,28),eO=Math.pow(2,35),tO=Math.pow(2,42),rO=Math.pow(2,49),nO=Math.pow(2,56),iO=Math.pow(2,63),oO=function(t){return t<XP?1:t<jP?2:t<JP?3:t<ZP?4:t<eO?5:t<tO?6:t<rO?7:t<nO?8:t<iO?9:10},sO={encode:$P,decode:YP,encodingLength:oO},aO=sO,ia=aO;var oa=(t,e=0)=>[ia.decode(t,e),ia.decode.bytes],ko=(t,e,r=0)=>(ia.encode(t,e,r),e),Uo=t=>ia.encodingLength(t);var si=(t,e)=>{let r=e.byteLength,n=Uo(t),i=n+Uo(r),o=new Uint8Array(i+r);return ko(t,o,0),ko(r,o,n),o.set(e,i),new Mo(t,r,e,o)},xE=t=>{let e=Fr(t),[r,n]=oa(e),[i,o]=oa(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Mo(r,i,s,e)},bE=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&uE(t.bytes,r.bytes)}},Mo=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var wE=0,cO="identity",vE=Fr,uO=t=>si(wE,vE(t)),fO={code:wE,name:cO,encode:vE,digest:uO};var xm={};R(xm,{sha256:()=>lO,sha512:()=>hO});var gm=({name:t,code:e,encode:r})=>new ym(t,e,r),ym=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?si(this.code,r):r.then(n=>si(this.code,n))}else throw Error("Unknown type, must be binary type")}};var AE=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),lO=gm({name:"sha2-256",code:18,encode:AE("SHA-256")}),hO=gm({name:"sha2-512",code:19,encode:AE("SHA-512")});var SE=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return pO(r,bm(t),e||lr.encoder);default:return mO(r,bm(t),e||Oo.encoder)}};var CE=new WeakMap,bm=t=>{let e=CE.get(t);if(e==null){let r=new Map;return CE.set(t,r),r}return e},Du=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==aa)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==yO)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=si(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&bE(e.multihash,n.multihash)}toString(e){return SE(this,e)}toJSON(){return{"/":SE(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||IE(n,i,o.bytes))}else if(r[gO]===!0){let{version:n,multihash:i,code:o}=r,s=xE(i);return t.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==aa)throw new Error(`Version 0 CID must use dag-pb (code: ${aa}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=IE(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,aa,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Fr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Mo(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=oa(e.subarray(r));return r+=p,h},i=n(),o=aa;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=dO(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return bm(o).set(n,e),o}},dO=(t,e)=>{switch(t[0]){case"Q":{let r=e||lr;return[lr.prefix,r.decode(`${lr.prefix}${t}`)]}case lr.prefix:{let r=e||lr;return[lr.prefix,r.decode(t)]}case Oo.prefix:{let r=e||Oo;return[Oo.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},pO=(t,e,r)=>{let{prefix:n}=r;if(n!==lr.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},mO=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},aa=112,yO=18,IE=(t,e,r)=>{let n=Uo(t),i=n+Uo(e),o=new Uint8Array(i+r.byteLength);return ko(t,o,0),ko(e,o,n),o.set(r,i),o},gO=Symbol.for("@ipld/js-cid/CID");var wm={...dm,...sm,...hm,...im,...om,...cm,...um,...fm,...lm,...am},oee={...xm,...mm};function _E(t=0){return globalThis.Buffer?.allocUnsafe!=null?Ru(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function RE(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var TE=RE("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),vm=RE("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=_E(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),xO={utf8:TE,"utf-8":TE,hex:wm.base16,latin1:vm,ascii:vm,binary:vm,...wm},Lu=xO;function ut(t,e="utf8"){let r=Lu[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Ru(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function BE(t,e="utf8"){let r=Lu[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var bO=ut(`
|
|
49
|
-
`);async function
|
|
50
|
-
`),
|
|
51
|
-
`);await
|
|
52
|
-
`),r),r.log.trace("select: reading protocol response");let u=await
|
|
53
|
-
`;yield new
|
|
54
|
-
`),
|
|
55
|
-
`),
|
|
56
|
-
`)]),r.log.trace('optimistic: wrote ["%s", "%s", data] in source',
|
|
57
|
-
`),r),r.log.trace('handle: responded with "%s" for "%s"',
|
|
58
|
-
`),r),r.log.trace('handle: responded with "%s" for "%s"',i,i),{stream:n.unwrap(),protocol:i};if(i==="ls"){let
|
|
59
|
-
`))),
|
|
60
|
-
`));r.log.trace('handle: respond with "%s" for %s',e,i),await
|
|
61
|
-
`),r),r.log('handle: responded with "na" for "%s"',i)}}var AO=500,Em=class{id;remoteAddr;remotePeer;direction;timeline;multiplexer;encryption;status;transient;log;tags;_newStream;_close;_abort;_getStreams;constructor(e){let{remoteAddr:r,remotePeer:n,newStream:i,close:o,abort:s,getStreams:a}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.direction=e.direction,this.status="open",this.timeline=e.timeline,this.multiplexer=e.multiplexer,this.encryption=e.encryption,this.transient=e.transient??!1,this.log=e.logger.forComponent(`libp2p:connection:${this.direction}:${this.id}`),this.remoteAddr.getPeerId()==null&&(this.remoteAddr=this.remoteAddr.encapsulate(`/p2p/${this.remotePeer}`)),this._newStream=i,this._close=o,this._abort=s,this._getStreams=a,this.tags=[]}[Symbol.toStringTag]="Connection";[Qy]=!0;get streams(){return this._getStreams()}async newStream(e,r){if(this.status==="closing")throw new _("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.status==="closed")throw new _("the connection is closed","ERR_CONNECTION_CLOSED");if(Array.isArray(e)||(e=[e]),this.transient&&r?.runOnTransientConnection!==!0)throw new _("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");let n=await this._newStream(e,r);return n.direction="outbound",n}async close(e={}){if(!(this.status==="closed"||this.status==="closing")){if(this.log("closing connection to %a",this.remoteAddr),this.status="closing",e.signal==null){let r=AbortSignal.timeout(AO);wt(1/0,r),e={...e,signal:r}}try{this.log.trace("closing all streams"),await Promise.all(this.streams.map(async r=>r.close(e))),this.log.trace("closing underlying transport"),await this._close(e),this.log.trace("updating timeline with close time"),this.status="closed",this.timeline.close=Date.now()}catch(r){this.log.error("error encountered during graceful close of connection to %a",this.remoteAddr,r),this.abort(r)}}}abort(e){this.log.error("aborting connection to %a due to error",this.remoteAddr,e),this.status="closing",this.streams.forEach(r=>{r.abort(e)}),this.log.error("all streams aborted",this.streams.length),this._abort(e),this.timeline.close=Date.now(),this.status="closed"}};function NE(t){return new Em(t)}var CO=3e4;function IO(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==V.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return Wp}function _O(t,e,r={}){try{let{options:n}=e.getHandler(t);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==V.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return r.maxOutboundStreams??Yp}function PE(t,e,r){let n=0;return r.streams.forEach(i=>{i.direction===e&&i.protocol===t&&n++}),n}var Pu=class{components;connectionEncryption;muxers;inboundUpgradeTimeout;events;constructor(e,r){this.components=e,this.connectionEncryption=new Map,r.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,r.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=r.inboundUpgradeTimeout??3e4,this.events=e.events}async shouldBlockConnection(e,r,n){let i=this.components.connectionGater[n];if(i!==void 0&&await i(e,r))throw new _(`The multiaddr connection is blocked by gater.${n}`,V.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new _("connection denied",V.ERR_CONNECTION_DENIED);let i,o,s,a,c,u=AbortSignal.timeout(this.inboundUpgradeTimeout),f=()=>{e.abort(new _("inbound upgrade timeout",Ra))};u.addEventListener("abort",f,{once:!0}),wt(1/0,u);try{if(await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new _("The multiaddr connection is blocked by gater.acceptConnection",V.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),e.log("starting the inbound connection upgrade");let h=e;if(r?.skipProtection!==!0){let p=this.components.connectionProtector;p!=null&&(e.log("protecting the inbound connection"),h=await p.protect(e))}try{if(i=h,r?.skipEncryption!==!0){({conn:i,remotePeer:o,protocol:c}=await this._encryptInbound(h));let p={...h,...i};await this.shouldBlockConnection(o,p,"denyInboundEncryptedConnection")}else{let p=e.remoteAddr.getPeerId();if(p==null)throw new _("inbound connection that skipped encryption must have a peer id",V.ERR_INVALID_MULTIADDR);let y=se(p);c="native",o=y}if(s=i,r?.muxerFactory!=null)a=r.muxerFactory;else if(this.muxers.size>0){let p=await this._multiplexInbound({...h,...i},this.muxers);a=p.muxerFactory,s=p.stream}}catch(p){throw e.log.error("failed to upgrade inbound connection",p),p}return await this.shouldBlockConnection(o,e,"denyInboundUpgradedConnection"),e.log("successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:s,muxerFactory:a,remotePeer:o,transient:r?.transient})}finally{u.removeEventListener("abort",f),this.components.connectionManager.afterUpgradeInbound()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=se(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let o,s,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),e.log("starting the outbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let h=this.components.connectionProtector;h!=null&&(f=await h.protect(e))}try{if(o=f,r?.skipEncryption!==!0){({conn:o,remotePeer:s,protocol:c}=await this._encryptOutbound(f,i));let h={...f,...o};await this.shouldBlockConnection(s,h,"denyOutboundEncryptedConnection")}else{if(i==null)throw new _("Encryption was skipped but no peer id was passed",V.ERR_INVALID_PEER);c="native",s=i}if(a=o,r?.muxerFactory!=null)u=r.muxerFactory;else if(this.muxers.size>0){let h=await this._multiplexOutbound({...f,...o},this.muxers);u=h.muxerFactory,a=h.stream}}catch(h){throw e.log.error("failed to upgrade outbound connection",h),await e.close(h),h}return await this.shouldBlockConnection(s,e,"denyOutboundUpgradedConnection"),e.log("successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:s,transient:r?.transient})}_createConnection(e){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:o,remotePeer:s,muxerFactory:a,transient:c}=e,u,f,h;a!=null&&(u=a.createStreamMuxer({direction:n,onIncomingStream:l=>{h!=null&&Promise.resolve().then(async()=>{let d=this.components.registrar.getProtocols(),{stream:m,protocol:g}=await ua(l,d,{log:l.log,yieldBytes:!1});if(h==null)return;h.log("incoming stream opened on %s",g);let x=IO(g,this.components.registrar);if(PE(g,"inbound",h)===x){let v=new _(`Too many inbound protocol streams for protocol "${g}" - limit ${x}`,V.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw l.abort(v),v}l.source=m.source,l.sink=m.sink,l.protocol=g,m.closeWrite!=null&&(l.closeWrite=m.closeWrite),m.closeRead!=null&&(l.closeRead=m.closeRead),m.close!=null&&(l.close=m.close),await this.components.peerStore.merge(s,{protocols:[g]}),this.components.metrics?.trackProtocolStream(l,h),this._onStream({connection:h,stream:l,protocol:g})}).catch(async d=>{h.log.error("error handling incoming stream id %s",l.id,d.message,d.code,d.stack),l.timeline.close==null&&await l.close()})}}),f=async(l,d={})=>{if(u==null)throw new _("Stream is not multiplexed",V.ERR_MUXER_UNAVAILABLE);h.log("starting new stream for protocols %s",l);let m=await u.newStream();h.log.trace("started new stream %s for protocols %s",m.id,l);try{if(d.signal==null){m.log("no abort signal was passed while trying to negotiate protocols %s falling back to default timeout",l);let w=AbortSignal.timeout(CO);wt(1/0,w),d={...d,signal:w}}m.log.trace("selecting protocol from protocols %s",l);let{stream:g,protocol:x}=await ca(m,l,{...d,log:m.log,yieldBytes:!0});m.log("selected protocol %s",x);let b=_O(x,this.components.registrar,d);if(PE(x,"outbound",h)>=b){let w=new _(`Too many outbound protocol streams for protocol "${x}" - limit ${b}`,V.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(w),w}return await this.components.peerStore.merge(s,{protocols:[x]}),m.source=g.source,m.sink=g.sink,m.protocol=x,g.closeWrite!=null&&(m.closeWrite=g.closeWrite),g.closeRead!=null&&(m.closeRead=g.closeRead),g.close!=null&&(m.close=g.close),this.components.metrics?.trackProtocolStream(m,h),m}catch(g){throw h.log.error("could not create new stream for protocols %s",l,g),m.timeline.close==null&&m.abort(g),g.code!=null?g:new _(String(g),V.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([u.sink(o.source),o.sink(u.source)]).catch(l=>{h.log.error("error piping data through muxer",l)}));let p=i.timeline;i.timeline=new Proxy(p,{set:(...l)=>(h!=null&&l[1]==="close"&&l[2]!=null&&p.close==null&&(async()=>{try{h.status==="open"&&await h.close()}catch(d){h.log.error("error closing connection after timeline close",d)}finally{this.events.safeDispatchEvent("connection:close",{detail:h})}})().catch(d=>{h.log.error("error thrown while dispatching connection:close event",d)}),Reflect.set(...l))}),i.timeline.upgraded=Date.now();let y=()=>{throw new _("connection is not multiplexed",V.ERR_CONNECTION_NOT_MULTIPLEXED)};return h=NE({remoteAddr:i.remoteAddr,remotePeer:s,status:"open",direction:n,timeline:i.timeline,multiplexer:u?.protocol,encryption:r,transient:c,logger:this.components.logger,newStream:f??y,getStreams:()=>u!=null?u.streams:[],close:async l=>{u!=null&&(h.log.trace("close muxer"),await u.close(l)),h.log.trace("close maconn"),await i.close(l),h.log.trace("closed maconn")},abort:l=>{i.abort(l),u?.abort(l)}}),this.events.safeDispatchEvent("connection:open",{detail:h}),h}_onStream(e){let{connection:r,stream:n,protocol:i}=e,{handler:o,options:s}=this.components.registrar.getHandler(i);if(r.transient&&s.runOnTransientConnection!==!0)throw new _("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");o({connection:r,stream:n})}async _encryptInbound(e){let r=Array.from(this.connectionEncryption.keys());e.log("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await ua(e,r,{log:e.log}),o=this.connectionEncryption.get(i);if(o==null)throw new Error(`no crypto module found for ${i}`);return e.log("encrypting inbound connection using",i),{...await o.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw e.log.error("encrypting inbound connection to %p failed",n),new _(n.message,V.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());e.log("selecting outbound crypto protocol",n);try{e.log.trace("selecting encrypter from %s",n);let{stream:i,protocol:o}=await ca(e,n,{log:e.log,yieldBytes:!0}),s=this.connectionEncryption.get(o);if(s==null)throw new Error(`no crypto module found for ${o}`);return e.log("encrypting outbound connection to %p using %p",r),{...await s.secureOutbound(this.components.peerId,i,r),protocol:o}}catch(i){throw e.log.error("encrypting outbound connection to %p failed",i),new _(i.message,V.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());e.log("outbound selecting muxer %s",n);try{e.log.trace("selecting stream muxer from %s",n);let{stream:i,protocol:o}=await ca(e,n,{log:e.log,yieldBytes:!0});e.log("selected %s as muxer protocol",o);let s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw e.log.error("error multiplexing outbound connection",i),new _(String(i),V.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());e.log("inbound handling muxers %s",n);try{let{stream:i,protocol:o}=await ua(e,n,{log:e.log}),s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw e.log.error("error multiplexing inbound connection",i),new _(String(i),V.ERR_MUXER_UNAVAILABLE)}}};var OE="1.0.12-5d1f68e92",kE="libp2p";var Am=class extends Wo{peerId;peerStore;contentRouting;peerRouting;metrics;services;logger;status;components;log;constructor(e){super(),this.status="stopped";let r=new Wo,n=r.dispatchEvent.bind(r);r.dispatchEvent=a=>{let c=n(a),u=this.dispatchEvent(new lf(a.type,{detail:a.detail}));return c||u},wt(1/0,r),this.peerId=e.peerId,this.logger=e.logger??oc(),this.log=this.logger.forComponent("libp2p"),this.services={};let i=this.components=p2({peerId:e.peerId,nodeInfo:e.nodeInfo??{name:kE,version:OE},logger:this.logger,events:r,datastore:e.datastore??new Mc,connectionGater:S2(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new kc(i,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore})),e.metrics!=null&&(this.metrics=this.configureComponent("metrics",e.metrics(this.components))),i.events.addEventListener("peer:update",a=>{if(a.detail.previous==null){let c={id:a.detail.peer.id,multiaddrs:a.detail.peer.addresses.map(u=>u.multiaddr)};i.events.safeDispatchEvent("peer:discovery",{detail:c})}}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new Pu(this.components,{connectionEncryption:(e.connectionEncryption??[]).map((a,c)=>this.configureComponent(`connection-encryption-${c}`,a(this.components))),muxers:(e.streamMuxers??[]).map((a,c)=>this.configureComponent(`stream-muxers-${c}`,a(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new Eu(this.components,e.transportManager)),this.configureComponent("connectionManager",new yu(this.components,e.connectionManager)),this.configureComponent("registrar",new vu(this.components)),this.configureComponent("addressManager",new $c(this.components,e.addresses));let o=(e.peerRouters??[]).map((a,c)=>this.configureComponent(`peer-router-${c}`,a(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new wu(this.components,{routers:o}));let s=(e.contentRouters??[]).map((a,c)=>this.configureComponent(`content-router-${c}`,a(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new bu(this.components,{routers:s})),(e.peerDiscovery??[]).forEach((a,c)=>{this.configureComponent(`peer-discovery-${c}`,a(this.components)).addEventListener("peer",f=>{this.#e(f)})}),e.transports?.forEach((a,c)=>{this.components.transportManager.add(this.configureComponent(`transport-${c}`,a(this.components)))}),e.services!=null)for(let a of Object.keys(e.services)){let c=e.services[a],u=c(this.components);if(u==null){this.log.error("service factory %s returned null or undefined instance",a);continue}this.services[a]=u,this.configureComponent(a,u),u[of]!=null&&(this.log("registering service %s for content routing",a),s.push(u[of])),u[cf]!=null&&(this.log("registering service %s for peer routing",a),o.push(u[cf])),u[sf]!=null&&(this.log("registering service %s for peer discovery",a),u[sf].addEventListener?.("peer",f=>{this.#e(f)}))}}configureComponent(e,r){return r==null&&this.log.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(this.status==="stopped"){this.status="starting",this.log("libp2p is starting");try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),this.status="started",this.safeDispatchEvent("start",{detail:this}),this.log("libp2p has started")}catch(e){throw this.log.error("An error occurred starting libp2p",e),this.status="started",await this.stop(),e}}}async stop(){this.status==="started"&&(this.log("libp2p is stopping"),this.status="stopping",await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.status="stopped",this.safeDispatchEvent("stop",{detail:this}),this.log("libp2p has stopped"))}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new Dt;for(let r of this.components.connectionManager.getConnections())e.add(r.remotePeer);return Array.from(e)}async dial(e,r={}){return this.components.connectionManager.openConnection(e,{priority:75,...r})}async dialProtocol(e,r,n={}){if(r==null)throw new _("no protocols were provided to open a stream",V.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new _("no protocols were provided to open a stream",V.ERR_INVALID_PROTOCOLS_FOR_STREAM);return(await this.dial(e,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e,r={}){cn(e)&&(e=se(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e,r)}async getPublicKey(e,r={}){if(this.log("getPublicKey %p",e),e.publicKey!=null)return e.publicKey;let n=await this.peerStore.get(e);if(n.id.publicKey!=null)return n.id.publicKey;let i=H1([zc("/pk/"),e.multihash.digest]),o=await this.contentRouting.get(i,r);return bs(o),await this.peerStore.patch(e,{publicKey:o}),o}async handle(e,r,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(e,r){return this.components.registrar.register(e,r)}unregister(e){this.components.registrar.unregister(e)}#e(e){let{detail:r}=e;if(r.id.toString()===this.peerId.toString()){this.log.error(new Error(V.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs}).catch(n=>{this.log.error(n)})}};async function UE(t={}){return t.peerId??=await Gb(),new Am(tv(t))}async function RO(t={}){let e=await UE(t);return t.start!==!1&&await e.start(),e}return jE(BO);})();
|
|
48
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Rw=new RegExp(`(?:^${Ot}$)|(?:^${fo}$)`),Tw=new RegExp(`^${Ot}$`),Bw=new RegExp(`^${fo}$`),Ru=t=>t&&t.exact?Rw:new RegExp(`(?:${Pr(t)}${Ot}${Pr(t)})|(?:${Pr(t)}${fo}${Pr(t)})`,"g");Ru.v4=t=>t&&t.exact?Tw:new RegExp(`${Pr(t)}${Ot}${Pr(t)}`,"g");Ru.v6=t=>t&&t.exact?Bw:new RegExp(`${Pr(t)}${fo}${Pr(t)}`,"g");var Pd=Ru;var Md=we(Nd(),1),{isValid:Lw,parse:Pw}=Md.default,Dw=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],Nw=Dw.map(t=>new Od.Netmask(t));function kw(t){for(let e of Nw)if(e.contains(t))return!0;return!1}function kd(t){return/^::$/.test(t)||/^::1$/.test(t)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}var Ud=t=>{if(Lw(t)){let e=Pw(t);if(e.kind()==="ipv4")return kw(e.toNormalizedString());if(e.kind()==="ipv6")return kd(t)}else if(zn(t)&&Pd.v6().test(t))return kd(t)};var po=Ud;function Fd(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!po(`${r[0][1]}`):!1},denyInboundConnection:async()=>!1,denyOutboundConnection:async()=>!1,denyInboundEncryptedConnection:async()=>!1,denyOutboundEncryptedConnection:async()=>!1,denyInboundUpgradedConnection:async()=>!1,denyOutboundUpgradedConnection:async()=>!1,filterMultiaddrForPeer:async()=>!0,...t}}function Ow(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var s=t.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var m=0,y=0,g=0,x=h.length;g!==x&&h[g]===0;)g++,m++;for(var b=(x-g)*l+1>>>0,A=new Uint8Array(b);g!==x;){for(var E=h[g],_=0,T=b-1;(E!==0||_<y)&&T!==-1;T--,_++)E+=256*A[T]>>>0,A[T]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");y=_,g++}for(var P=b-y;P!==b&&A[P]===0;)P++;for(var z=c.repeat(m);P<b;++P)z+=t.charAt(A[P]);return z}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var y=0,g=0;h[m]===c;)y++,m++;for(var x=(h.length-m)*u+1>>>0,b=new Uint8Array(x);h[m];){var A=r[h.charCodeAt(m)];if(A===255)return;for(var E=0,_=x-1;(A!==0||E<g)&&_!==-1;_--,E++)A+=a*b[_]>>>0,b[_]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");g=E,m++}if(h[m]!==" "){for(var T=x-g;T!==x&&b[T]===0;)T++;for(var P=new Uint8Array(y+(x-T)),z=y;T!==x;)P[z++]=b[T++];return P}}}function p(h){var m=d(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:d,decode:p}}var Mw=Ow,Uw=Mw,Kd=Uw;var q3=new Uint8Array(0);var qd=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var Tu=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Bu=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Vd(this,e)}},Lu=class{constructor(e){this.decoders=e}or(e){return Vd(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Vd=(t,e)=>new Lu({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Pu=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Tu(e,r,n),this.decoder=new Bu(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},$d=({name:t,prefix:e,encode:r,decode:n})=>new Pu(t,e,r,n),Du=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=Kd(r,e);return $d({prefix:t,name:e,encode:n,decode:s=>qd(i(s))})},Fw=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let o=new Uint8Array(s*r/8|0),a=0,c=0,u=0;for(let l=0;l<s;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},Kw=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>r;)o-=r,s+=e[i&a>>o];if(o&&(s+=e[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},Vi=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>$d({prefix:e,name:t,encode(i){return Kw(i,n,r)},decode(i){return Fw(i,n,r,t)}});var zd=Du({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),W3=Du({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var X3=Vi({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Z3=Vi({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Hd=Vi({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),j3=Vi({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var qw=t=>t.toString().split("/").slice(1),$i=t=>({match:e=>e.length<1?!1:t(e[0])?e.slice(1):!1,pattern:"fn"}),Ce=t=>({match:e=>$i(r=>r===t).match(e),pattern:t}),go=()=>({match:t=>$i(e=>typeof e=="string").match(t),pattern:"{string}"}),Gd=()=>({match:t=>$i(e=>!isNaN(parseInt(e))).match(t),pattern:"{number}"}),_t=()=>({match:t=>{if(t.length<2||t[0]!=="p2p"&&t[0]!=="ipfs")return!1;if(t[1].startsWith("Q")||t[1].startsWith("1"))try{zd.decode(`z${t[1]}`)}catch{return!1}else return!1;return t.slice(2)},pattern:"/p2p/{peerid}"}),mo=()=>({match:t=>{if(t.length<2||t[0]!=="certhash")return!1;try{Hd.decode(t[1])}catch{return!1}return t.slice(2)},pattern:"/certhash/{certhash}"}),Wt=t=>({match:e=>{let r=t.match(e);return r===!1?e:r},pattern:`optional(${t.pattern})`}),Yt=(...t)=>({match:e=>{let r;for(let n of t){let i=n.match(e);i!==!1&&(r==null||i.length<r.length)&&(r=i)}return r??!1},pattern:`or(${t.map(e=>e.pattern).join(", ")})`}),Re=(...t)=>({match:e=>{for(let r of t){let n=r.match(e);if(n===!1)return!1;e=n}return e},pattern:`and(${t.map(e=>e.pattern).join(", ")})`});function Oe(...t){function e(i){let s=qw(i);for(let o of t){let a=o.match(s);if(a===!1)return!1;s=a}return s}function r(i){return e(i)!==!1}function n(i){let s=e(i);return s===!1?!1:s.length===0}return{matches:r,exactMatch:n}}var ku=Re(Ce("dns4"),go()),Ou=Re(Ce("dns6"),go()),Mu=Re(Ce("dnsaddr"),go()),Wd=Re(Ce("dns"),go()),iB=Oe(ku),sB=Oe(Ou),oB=Oe(Mu),aB=Oe(Yt(Wd,Mu,ku,Ou)),Yd=Re(Ce("ip4"),$i(Qs)),Qd=Re(Ce("ip6"),$i(Xs)),Xd=Yt(Yd,Qd),zi=Yt(Xd,Wd,ku,Ou,Mu),cB=Oe(zi),uB=Oe(Yd),lB=Oe(Qd),fB=Oe(Xd),xo=Re(zi,Ce("tcp"),Gd()),Hi=Re(zi,Ce("udp"),Gd()),Vw=Yt(xo,Hi),hB=Oe(xo),dB=Oe(Hi),Uu=Re(Hi,Ce("quic")),bo=Re(Hi,Ce("quic-v1")),$w=Yt(Uu,bo),pB=Oe(Uu),mB=Oe(bo),Nu=Yt(zi,xo,Hi,Uu,bo),Zd=Yt(Re(Nu,Ce("ws"),Wt(_t()))),yB=Oe(Zd),jd=Yt(Re(Nu,Ce("wss"),Wt(_t())),Re(Nu,Ce("tls"),Ce("ws"),Wt(_t()))),gB=Oe(jd),Jd=Re(Vw,Ce("webrtc-direct"),mo(),Wt(mo()),Wt(_t())),xB=Oe(Jd),ep=Re(bo,Ce("webtransport"),mo(),mo(),Wt(_t())),bB=Oe(ep),yo=Yt(Zd,jd,Re(xo,Wt(_t())),Re($w,Wt(_t())),Re(zi,Wt(_t())),Jd,ep,_t()),wB=Oe(yo),zw=Re(yo,Ce("p2p-circuit"),_t()),Fu=Oe(zw),Hw=Yt(Re(yo,Ce("p2p-circuit"),Ce("webrtc"),_t()),Re(yo,Ce("webrtc"),Wt(_t())),Ce("webrtc")),EB=Oe(Hw);function Ku(t){try{let{address:e}=t.nodeAddress();return!!po(e)}catch{return!0}}function Gw(t,e){let r=Ku(t.multiaddr),n=Ku(e.multiaddr);return r&&!n?1:!r&&n?-1:0}function Ww(t,e){return t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}function Yw(t,e){let r=Fu.exactMatch(t.multiaddr),n=Fu.exactMatch(e.multiaddr);return r&&!n?1:!r&&n?-1:0}function Zn(t,e){let r=Gw(t,e);if(r!==0)return r;let n=Yw(t,e);return n!==0?n:Ww(t,e)}var Vu=we(Vc(),1),$u=we(np(),1);function wo(t,e,r){return`${t}?name=${e}&type=${r}`}async function ip(t,e){return await(await fetch(t,{headers:new Headers({accept:"application/dns-json"}),signal:e})).json()}function fn(t,e){return`${e}_${t}`}var qu=Object.assign((0,Vu.default)("dns-over-http-resolver"),{error:(0,Vu.default)("dns-over-http-resolver:error")}),zu=class{_cache;_TXTcache;_servers;_request;_abortControllers;constructor(e={}){this._cache=new $u.default({max:e?.maxCache??100}),this._TXTcache=new $u.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??ip,this._abortControllers=[]}cancel(){this._abortControllers.forEach(e=>{e.abort()})}getServers(){return this._servers}_getShuffledServers(){let e=[...this._servers];for(let r=e.length-1;r>0;r--){let n=Math.floor(Math.random()*r),i=e[r];e[r]=e[n],e[n]=i}return e}setServers(e){this._servers=e}async resolve(e,r="A"){switch(r){case"A":return this.resolve4(e);case"AAAA":return this.resolve6(e);case"TXT":return this.resolveTxt(e);default:throw new Error(`${r} is not supported`)}}async resolve4(e){let r="A",n=this._cache.get(fn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(wo(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(fn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),qu.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(fn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(wo(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(fn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),qu.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._TXTcache.get(fn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(wo(s,e,r),o.signal),c=a.Answer.map(l=>[l.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(l=>l.TTL));return this._TXTcache.set(fn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),qu.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},sp=zu;var op=sp;var{code:Jw}=ue("dnsaddr");async function jn(t,e={}){let r=new op;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===Jw)??[];if(i==null)throw new Error("No hostname found in multiaddr");let o=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(o=o.filter(a=>a.includes(n))),o}var mp=we(pp(),1),_o=mp.default;var hr;(function(t){t.NOT_STARTED_YET="The libp2p node is not started yet",t.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",t.NOT_FOUND="Not found"})(hr||(hr={}));var F;(function(t){t.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",t.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",t.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",t.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",t.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",t.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",t.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",t.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",t.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",t.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",t.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",t.ERR_DIALED_SELF="ERR_DIALED_SELF",t.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",t.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",t.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",t.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",t.ERR_INVALID_KEY="ERR_INVALID_KEY",t.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_PEER="ERR_INVALID_PEER",t.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",t.ERR_NOT_FOUND="ERR_NOT_FOUND",t.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",t.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",t.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",t.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",t.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",t.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",t.ERR_FIND_SELF="ERR_FIND_SELF",t.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",t.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",t.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",t.ERR_INVALID_CMS="ERR_INVALID_CMS",t.ERR_MISSING_KEYS="ERR_MISSING_KEYS",t.ERR_NO_KEY="ERR_NO_KEY",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",t.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",t.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",t.ERR_INVALID_RECORD="ERR_INVALID_RECORD",t.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",t.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",t.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",t.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",t.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",t.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(F||(F={}));var sE={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:jn},addressSorter:Zn},transportManager:{faultTolerance:gr.FATAL_ALL}};function yp(t){let e=_o(sE,t);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new S(hr.ERR_PROTECTOR_REQUIRED,F.ERR_PROTECTOR_REQUIRED);return e}var ym=we(hm(),1);function Io(t){if(bs(t))return{peerId:t,multiaddrs:[]};Array.isArray(t)||(t=[t]);let e;if(t.length>0){let r=t[0].getPeerId();e=r==null?void 0:Le(r),t.forEach(n=>{if(!Tr(n))throw new S("Invalid Multiaddr",F.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new S("Multiaddrs must all have the same peer id or have no peer id",F.ERR_INVALID_PARAMETERS)}else{let s=Le(i);if(e==null||!e.equals(s))throw new S("Multiaddrs must all have the same peer id or have no peer id",F.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function Se(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}function cl(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var Wi=class{#e=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=r.priority){this.#e.push(n);return}let i=cl(this.#e,n,(s,o)=>o.priority-s.priority);this.#e.splice(i,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var Yi=class extends an.default{#e;#i;#s=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#l;#o;#y;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Wi,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#y=e.throwOnTimeout===!0,this.#o=e.autoStart===!1}get#b(){return this.#i||this.#s<this.#a}get#w(){return this.#n<this.#l}#E(){this.#n--,this.#f(),this.emit("next")}#v(){this.#x(),this.#g(),this.#u=void 0}get#_(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#s=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#v()},r)),!0}return!1}#f(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#o){let e=!this.#_;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#g(),!0):!1}}return!1}#g(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#s===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#s=this.#e?this.#n:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#l}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#l=e,this.#h()}async#S(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#y,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#s++;try{r.signal?.throwIfAborted();let s=e({signal:r.signal});r.timeout&&(s=lr(Promise.resolve(s),{milliseconds:r.timeout})),r.signal&&(s=Promise.race([s,this.#S(r.signal)]));let o=await s;n(o),this.emit("completed",o)}catch(s){if(s instanceof ur&&!r.throwOnTimeout){n();return}i(s),this.emit("error",s)}finally{this.#E()}},r),this.emit("add"),this.#f()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#o?(this.#o=!1,this.#h(),this):this}pause(){this.#o=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.size===0||await this.#d("idle")}async#d(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#o}};function GE(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var ul=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new S("missing peer id",Aa);let s={priority:i,peerId:n,run:e};if(this.size>0&&this.#e[this.size-1].priority>=i){this.#e.push(s);return}let o=GE(this.#e,s,(a,c)=>c.priority-a.priority);this.#e.splice(o,0,s)}dequeue(){return this.#e.shift()?.run}filter(e){if(e.peerId!=null){let r=e.peerId;return this.#e.filter(n=>r.equals(n.peerId)).map(n=>n.run)}return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}},Co=class extends Yi{results;constructor(e={}){super({...e,queueClass:ul}),this.results=new et}hasJob(e){return this.sizeBy({peerId:e})>0}async joinJob(e){let r=this.results.get(e);if(r==null)throw new S("No job found for peer id","ERR_NO_JOB_FOR_PEER_ID");return r===!0&&(r=Se(),this.results.set(e,r)),r.promise}async add(e,r){let n=r?.peerId;if(n==null)throw new S("missing peer id",Aa);return this.results.set(r.peerId,!0),super.add(async i=>{try{let s=await e(i),o=this.results.get(n);return o!=null&&o!==!0&&o.resolve(s),s}catch(s){let o=this.results.get(n);throw o!=null&&o!==!0&&o.reject(s),s}finally{this.results.delete(n)}},r)}clear(){this.results.clear(),super.clear()}};var Ro="last-dial-failure";var To=5,Bo=100,Lo=50,dm=1e3*60*7;var dn={minConnections:To,maxQueueLength:100,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3,autoDialPeerRetryThreshold:dm,autoDialDiscoveredPeersDebounce:10},Po=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialPeerRetryThresholdMs;autoDialDiscoveredPeersDebounce;autoDialInterval;started;running;log;constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??dn.minConnections,this.autoDialPriority=r.autoDialPriority??dn.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??dn.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??dn.maxQueueLength,this.autoDialPeerRetryThresholdMs=r.autoDialPeerRetryThreshold??dn.autoDialPeerRetryThreshold,this.autoDialDiscoveredPeersDebounce=r.autoDialDiscoveredPeersDebounce??dn.autoDialDiscoveredPeersDebounce,this.log=e.logger.forComponent("libp2p:connection-manager:auto-dial"),this.started=!1,this.running=!1,this.queue=new Co({concurrency:r.autoDialConcurrency??dn.autoDialConcurrency}),this.queue.addListener("error",i=>{this.log.error("error during auto-dial",i)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(i=>{this.log.error(i)})});let n;e.events.addEventListener("peer:discovery",()=>{clearTimeout(n),n=setTimeout(()=>{this.autoDial().catch(i=>{this.log.error(i)})},this.autoDialDiscoveredPeersDebounce)})}isStarted(){return this.started}start(){this.started=!0}afterStart(){this.autoDial().catch(e=>{this.log.error("error while autodialing",e)})}stop(){this.queue.clear(),clearTimeout(this.autoDialInterval),this.started=!1,this.running=!1}async autoDial(){if(!this.started||this.running)return;let e=this.connectionManager.getConnectionsMap(),r=e.size;if(r>=this.minConnections){this.minConnections>0&&this.log.trace("have enough connections %d/%d",r,this.minConnections);return}if(this.queue.size>this.autoDialMaxQueueLength){this.log("not enough connections %d/%d but auto dial queue is full",r,this.minConnections),this.sheduleNextAutodial();return}this.running=!0,this.log("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=new vt(this.connectionManager.getDialQueue().map(u=>u.peerId).filter(Boolean)),i=await this.peerStore.all({filters:[u=>u.addresses.length===0?(this.log.trace("not autodialing %p because they have no addresses",u.id),!1):e.has(u.id)?(this.log.trace("not autodialing %p because they are already connected",u.id),!1):n.has(u.id)?(this.log.trace("not autodialing %p because they are already being dialed",u.id),!1):this.queue.hasJob(u.id)?(this.log.trace("not autodialing %p because they are already being autodialed",u.id),!1):!0]}),s=i.sort(()=>Math.random()>.5?1:-1),o=new et;for(let u of s)o.has(u.id)||o.set(u.id,[...u.tags.values()].reduce((l,f)=>l+f.value,0));let c=s.sort((u,l)=>{let f=o.get(u.id)??0,d=o.get(l.id)??0;return f>d?-1:f<d?1:0}).filter(u=>{let l=u.metadata.get(Ro);if(l==null)return!0;let f=parseInt(ie(l));return isNaN(f)?!0:Date.now()-f>this.autoDialPeerRetryThresholdMs});this.log("selected %d/%d peers to dial",c.length,i.length);for(let u of c)this.queue.add(async()=>{let l=this.connectionManager.getConnectionsMap().size;if(l>=this.minConnections){this.log("got enough connections now %d/%d",l,this.minConnections),this.queue.clear();return}this.log("connecting to a peerStore stored peer %p",u.id),await this.connectionManager.openConnection(u.id,{priority:this.autoDialPriority})},{peerId:u.id}).catch(l=>{this.log.error("could not connect to peerStore stored peer",l)});this.running=!1,this.sheduleNextAutodial()}sheduleNextAutodial(){this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(e=>{this.log.error("error while autodialing",e)})},this.autoDialIntervalMs))}};var pm={maxConnections:Bo,allow:[]},Do=class{maxConnections;connectionManager;peerStore;allow;events;log;constructor(e,r={}){this.maxConnections=r.maxConnections??pm.maxConnections,this.allow=r.allow??pm.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,this.log=e.logger.forComponent("libp2p:connection-manager:connection-pruner"),e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{this.log.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(this.log("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;this.log("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new et;for(let a of e){let c=a.remotePeer;if(!i.has(c)){i.set(c,0);try{let u=await this.peerStore.get(c);i.set(c,[...u.tags.values()].reduce((l,f)=>l+f.value,0))}catch(u){u.code!=="ERR_NOT_FOUND"&&this.log.error("error loading peer tags",u)}}}let s=e.sort((a,c)=>{let u=i.get(a.remotePeer)??0,l=i.get(c.remotePeer)??0;if(u>l)return 1;if(u<l)return-1;let f=a.timeline.open,d=c.timeline.open;return f<d?1:f>d?-1:0}),o=[];for(let a of s)if(this.log("too many connections open - closing a connection to %p",a.remotePeer),this.allow.some(u=>a.remoteAddr.toString().startsWith(u.toString()))||o.push(a),o.length===n)break;await Promise.all(o.map(async a=>{try{await a.close()}catch(c){this.log.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:o})}};function No(t){let e=new globalThis.AbortController;function r(){e.abort();for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}for(let s of t){if(s?.aborted===!0){r();break}s?.addEventListener!=null&&s.addEventListener("abort",r)}function n(){for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}let i=e.signal;return i.clear=n,i}function dl(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var Qi=class{#e=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=r.priority){this.#e.push(n);return}let i=dl(this.#e,n,(s,o)=>o.priority-s.priority);this.#e.splice(i,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var ii=class extends an.default{#e;#i;#s=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#l;#o;#y;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Qi,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#y=e.throwOnTimeout===!0,this.#o=e.autoStart===!1}get#b(){return this.#i||this.#s<this.#a}get#w(){return this.#n<this.#l}#E(){this.#n--,this.#f(),this.emit("next")}#v(){this.#x(),this.#g(),this.#u=void 0}get#_(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#s=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#v()},r)),!0}return!1}#f(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#o){let e=!this.#_;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#g(),!0):!1}}return!1}#g(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#s===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#s=this.#e?this.#n:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#l}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#l=e,this.#h()}async#S(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#y,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#s++;try{r.signal?.throwIfAborted();let s=e({signal:r.signal});r.timeout&&(s=lr(Promise.resolve(s),{milliseconds:r.timeout})),r.signal&&(s=Promise.race([s,this.#S(r.signal)]));let o=await s;n(o),this.emit("completed",o)}catch(s){if(s instanceof ur&&!r.throwOnTimeout){n();return}i(s),this.emit("error",s)}finally{this.#E()}},r),this.emit("add"),this.#f()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#o?(this.#o=!1,this.#h(),this):this}pause(){this.#o=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.size===0||await this.#d("idle")}async#d(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#o}};async function pl(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await QE(t,e),o=(await Promise.all(n.map(async a=>pl(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return e.log("resolved %s to",t,o.map(a=>a.toString())),o}async function QE(t,e){try{return t=ke(t.toString()),await t.resolve(e)}catch(r){return e.log.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function mm(...t){let e=[];for(let n of t)n!=null&&(ht(1/0,n),e.push(n));let r=No(e);return ht(1/0,r),r}var ko={addressSorter:Zn,maxParallelDials:Lo,maxPeerAddrsToDial:25,dialTimeout:3e4,resolvers:{dnsaddr:jn}},Oo=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;connections;log;constructor(e,r={}){this.addressSorter=r.addressSorter??ko.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??ko.maxPeerAddrsToDial,this.dialTimeout=r.dialTimeout??ko.dialTimeout,this.connections=r.connections??new et,this.log=e.logger.forComponent("libp2p:connection-manager:dial-queue"),this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController,ht(1/0,this.shutDownController.signal),this.pendingDialCount=e.metrics?.registerMetric("libp2p_dial_queue_pending_dials"),this.inProgressDialCount=e.metrics?.registerMetric("libp2p_dial_queue_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))js.set(n,i);this.queue=new ii({concurrency:r.maxParallelDials??ko.maxParallelDials}),this.queue.on("add",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("active",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("completed",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("error",n=>{this.log.error("error in dial queue",n),this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("empty",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("idle",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)})}start(){this.shutDownController=new AbortController}stop(){this.shutDownController.abort(),this.queue.clear()}async dial(e,r={}){let{peerId:n,multiaddrs:i}=Io(e),s=i.map(d=>({multiaddr:d,isCertified:!1})),o=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,s,{...r,signal:o})}catch(d){throw o.clear(),d}let c=Array.from(this.connections.values()).flat().find(d=>r.force===!0?!1:a.find(p=>p.multiaddr.equals(d.remoteAddr)));if(c!=null)return this.log("already connected to %a",c.remoteAddr),c;let u=this.pendingDials.find(d=>!!(d.peerId!=null&&n!=null&&d.peerId.equals(n)||a.map(({multiaddr:p})=>p.toString()).join()===d.multiaddrs.map(p=>p.toString()).join()));if(u!=null)return this.log("joining existing dial target for %p",n),o.clear(),u.promise;this.log("creating dial target for",a.map(({multiaddr:d})=>d.toString()));let l={id:XE(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:d})=>d)};l.promise=this.performDial(l,{...r,signal:o}).finally(()=>{this.pendingDials=this.pendingDials.filter(d=>d.id!==l.id),o.clear()}).catch(async d=>{if(this.log.error("dial failed to %s",l.multiaddrs.map(p=>p.toString()).join(", "),d),n!=null)try{await this.peerStore.patch(n,{metadata:{[Ro]:Y(Date.now().toString())}})}catch(p){this.log.error("could not update last dial failure key for %p",n,p)}throw o.aborted?new S(d.message,ws):d}),this.pendingDials.push(l);let f=await l.promise;return c=Array.from(this.connections.values()).flat().find(d=>r.force===!0?!1:d.id!==f.id&&d.remoteAddr.equals(f.remoteAddr)),c!=null?(this.log("already connected to %a",c.remoteAddr),await f.close(),c):(this.log("connection opened to %a",f.remoteAddr),f)}createDialAbortControllers(e){let r=No([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);return ht(1/0,r),r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new S("Tried to dial self",F.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new S("The dial request is blocked by gater.allowDialPeer",F.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){this.log("loading multiaddrs for %p",e);try{let l=await this.peerStore.get(e);r.push(...l.addresses),this.log("loaded multiaddrs for %p",e,r.map(({multiaddr:f})=>f.toString()))}catch(l){if(l.code!==F.ERR_NOT_FOUND)throw l}}}let i=(await Promise.all(r.map(async l=>{let f=await pl(l.multiaddr,{...n,log:this.log});return f.length===1&&f[0].equals(l.multiaddr)?l:f.map(d=>({multiaddr:d,isCertified:!1}))}))).flat();if(e!=null){let l=`/p2p/${e.toString()}`;i=i.map(f=>f.multiaddr.protos().pop()?.path===!0?f:f.multiaddr.getPeerId()==null?{multiaddr:f.multiaddr.encapsulate(l),isCertified:f.isCertified}:f)}let s=i.filter(l=>{if(this.transportManager.transportForMultiaddr(l.multiaddr)==null)return!1;let f=l.multiaddr.getPeerId();return e!=null&&f!=null?e.equals(f):!0}),o=new Map;for(let l of s){let f=l.multiaddr.toString(),d=o.get(f);if(d!=null){d.isCertified=d.isCertified||l.isCertified||!1;continue}o.set(f,l)}let a=[...o.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(this.log("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:l})=>l.toString())),this.log("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:l})=>l.toString()))),a.length===0)throw new S("The dial request has no valid addresses",F.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new S("dial with more addresses than allowed",F.ERR_TOO_MANY_ADDRESSES);let c=[];for(let l of a)this.connectionGater.denyDialMultiaddr!=null&&await this.connectionGater.denyDialMultiaddr(l.multiaddr)||c.push(l);let u=c.sort(this.addressSorter);if(u.length===0)throw new S("The connection gater denied all addresses in the dial request",F.ERR_NO_VALID_ADDRESSES);return u}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new ii({concurrency:1});i.on("error",o=>{this.log.error("error dialing %s %o",e.multiaddrs,o)});let s=await Promise.any(e.multiaddrs.map(async(o,a)=>{let c=n[a];if(c==null)throw new S("dialAction did not come with an AbortController",F.ERR_INVALID_PARAMETERS);let u=mm(c.signal,r.signal);u.addEventListener("abort",()=>{this.log("dial to %a aborted",o)});let l=Se();return await i.add(async()=>{if(u.aborted){this.log("dial to %a was aborted before reaching the head of the peer dial queue",o),l.reject(new vn);return}await this.queue.add(async()=>{try{if(u.aborted){this.log("dial to %a was aborted before reaching the head of the dial queue",o),l.reject(new vn);return}e.status="active";let f=await this.transportManager.dial(o,{...r,signal:u});if(c.signal.aborted){this.log("multiple dials succeeded, closing superfluous connection"),f.close().catch(d=>{this.log.error("error closing superfluous connection",d)}),l.reject(new vn);return}n[a]=void 0,n.forEach(d=>{d!==void 0&&d.abort()}),this.log("dial to %a succeeded",o),l.resolve(f)}catch(f){this.log.error("error during dial of %a",o,f),l.reject(f)}},{...r,signal:u}).catch(f=>{l.reject(f)})},{signal:u}).catch(f=>{l.reject(f)}).finally(()=>{u.clear()}),l.promise}));if(s==null)throw new S("successful dial led to empty object returned from peer dial queue",F.ERR_TRANSPORT_DIAL_FAILED);return e.status="success",s}catch(i){throw e.status="error",e.multiaddrs.length===1&&i.name==="AggregateError"?i.errors[0]:i}}};function XE(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var JE=50,pn={minConnections:To,maxConnections:Bo,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0,autoDialMaxQueueLength:100},Mo=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;log;constructor(e,r={}){this.maxConnections=r.maxConnections??pn.maxConnections;let n=r.minConnections??pn.minConnections;if(this.maxConnections<n)throw new S("Connection Manager maxConnections must be greater than minConnections",F.ERR_INVALID_PARAMETERS);this.connections=new et,this.started=!1,this.peerStore=e.peerStore,this.metrics=e.metrics,this.events=e.events,this.log=e.logger.forComponent("libp2p:connection-manager"),this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.events.addEventListener("connection:open",this.onConnect),this.events.addEventListener("connection:close",this.onDisconnect),this.allow=(r.allow??[]).map(i=>ke(i)),this.deny=(r.deny??[]).map(i=>ke(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??pn.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new ym.RateLimiterMemory({points:r.inboundConnectionThreshold??pn.inboundConnectionThreshold,duration:1}),this.autoDial=new Po({connectionManager:this,peerStore:e.peerStore,events:e.events,logger:e.logger},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??pn.autoDialConcurrency,autoDialPriority:r.autoDialPriority??pn.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??pn.autoDialMaxQueueLength}),this.connectionPruner=new Do({connectionManager:this,peerStore:e.peerStore,events:e.events,logger:e.logger},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new Oo({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater,logger:e.logger},{addressSorter:r.addressSorter??Zn,maxParallelDials:r.maxParallelDials??Lo,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:jn},connections:this.connections})}isStarted(){return this.started}async start(){this.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let e={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.direction==="inbound"?e.inbound++:e.outbound++;return e}}),this.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let e={};for(let r of this.connections.values())for(let n of r)for(let i of n.streams){let s=`${i.direction} ${i.protocol??"unnegotiated"}`;e[s]=(e[s]??0)+1}return e}}),this.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let e={};for(let n of this.connections.values())for(let i of n){let s={};for(let o of i.streams){let a=`${o.direction} ${o.protocol??"unnegotiated"}`;s[a]=(s[a]??0)+1}for(let[o,a]of Object.entries(s))e[o]=e[o]??[],e[o].push(a)}let r={};for(let[n,i]of Object.entries(e)){i=i.sort((o,a)=>o-a);let s=Math.floor(i.length*.9);r[n]=i[s]}return r}}),this.dialQueue.start(),this.autoDial.start(),this.started=!0,this.log("started")}async afterStart(){Promise.resolve().then(async()=>{let e=await this.peerStore.all({filters:[r=>r.tags.has(e0)]});await Promise.all(e.map(async r=>{await this.openConnection(r.id).catch(n=>{this.log.error(n)})}))}).catch(e=>{this.log.error(e)}),this.autoDial.afterStart()}async stop(){this.dialQueue.stop(),this.autoDial.stop();let e=[];for(let r of this.connections.values())for(let n of r)e.push((async()=>{try{await n.close()}catch(i){this.log.error(i)}})());this.log("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),this.log("stopped")}onConnect(e){this._onConnect(e).catch(r=>{this.log.error(r)})}async _onConnect(e){let{detail:r}=e;if(!this.started){await r.close();return}let n=r.remotePeer,i=this.connections.get(n),s=!1;i!=null?i.push(r):(s=!0,this.connections.set(n,[r])),n.publicKey!=null&&n.type==="RSA"&&await this.peerStore.patch(n,{publicKey:n.publicKey}),s&&this.events.safeDispatchEvent("peer:connect",{detail:r.remotePeer})}onDisconnect(e){let{detail:r}=e;if(!this.started)return;let n=r.remotePeer,i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(s=>s.id!==r.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.events.safeDispatchEvent("peer:disconnect",{detail:r.remotePeer}))}getConnections(e){if(e!=null)return this.connections.get(e)??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(e,r={}){if(!this.isStarted())throw new S("Not started",F.ERR_NODE_NOT_STARTED);r.signal?.throwIfAborted();let{peerId:n}=Io(e);if(n!=null&&r.force!==!0){this.log("dial %p",n);let a=this.getConnections(n).find(c=>!c.transient);if(a!=null)return this.log("had an existing non-transient connection to %p",n),a}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??JE}),s=this.connections.get(i.remotePeer);s==null&&(s=[],this.connections.set(i.remotePeer,s));let o=!1;for(let a of s)a.id===i.id&&(o=!0);return o||s.push(i),i}async closeConnections(e,r={}){let n=this.connections.get(e)??[];await Promise.all(n.map(async i=>{try{await i.close(r)}catch(s){i.abort(s)}}))}async acceptIncomingConnection(e){if(this.deny.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.log("connection from %a refused - connection remote address was in deny list",e.remoteAddr),!1;if(this.allow.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.maxIncomingPendingConnections)return this.log("connection from %a refused - incomingPendingConnections exceeded by host",e.remoteAddr),!1;if(e.remoteAddr.isThinWaistAddress()){let i=e.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return this.log("connection from %a refused - inboundConnectionThreshold exceeded by host %s",e.remoteAddr,i),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(this.log("connection from %a refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var Uo=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},si=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Uo(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new Uo(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var gl=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function gm(t={}){return ev(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function ev(t,e){e=e??{};let r=e.onEnd,n=new si,i,s,o,a=Se(),c=async()=>{try{return n.isEmpty()?o?{done:!0}:await new Promise((y,g)=>{s=x=>{s=null,n.push(x);try{y(t(n))}catch(b){g(b)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Se()})}},u=y=>s!=null?s(y):(n.push(y),i),l=y=>(n=new si,s!=null?s({error:y}):(n.push({error:y}),i)),f=y=>{if(o)return i;if(e?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:y})},d=y=>o?i:(o=!0,y!=null?l(y):u({done:!0})),p=()=>(n=new si,d(),{done:!0}),h=y=>(d(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:p,throw:h,push:f,end:d,get readableLength(){return n.size},onEmpty:async y=>{let g=y?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let x,b;g!=null&&(x=new Promise((A,E)=>{b=()=>{E(new gl)},g.addEventListener("abort",b)}));try{await Promise.race([a.promise,x])}finally{b!=null&&g!=null&&g?.removeEventListener("abort",b)}}},r==null)return i;let m=i;return i={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(y){return m.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return m.return(),r!=null&&(r(),r=void 0),{done:!0}},push:f,end(y){return m.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return m.readableLength},onEmpty:y=>m.onEmpty(y)},i}function tv(t){return t[Symbol.asyncIterator]!=null}function rv(...t){let e=[];for(let r of t)tv(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=gm({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var Xi=rv;var Fo=globalThis.CustomEvent??Event;async function*Zi(t,e={}){let r=e.concurrency??1/0;r<1&&(r=1/0);let n=e.ordered==null?!1:e.ordered,i=new EventTarget,s=[],o=Se(),a=Se(),c=!1,u,l=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let h of t){if(s.length===r&&(o=Se(),await o.promise),l)break;let m={done:!1};s.push(m),h().then(y=>{m.done=!0,m.ok=!0,m.value=y,i.dispatchEvent(new Fo("task-complete"))},y=>{m.done=!0,m.err=y,i.dispatchEvent(new Fo("task-complete"))})}c=!0,i.dispatchEvent(new Fo("task-complete"))}catch(h){u=h,i.dispatchEvent(new Fo("task-complete"))}});function f(){return n?s[0]?.done:!!s.find(h=>h.done)}function*d(){for(;s.length>0&&s[0].done;){let h=s[0];if(s.shift(),h.ok)yield h.value;else throw l=!0,o.resolve(),h.err;o.resolve()}}function*p(){for(;f();)for(let h=0;h<s.length;h++)if(s[h].done){let m=s[h];if(s.splice(h,1),h--,m.ok)yield m.value;else throw l=!0,o.resolve(),m.err;o.resolve()}}for(;;){if(f()||(a=Se(),await a.promise),u!=null)throw u;if(n?yield*d():yield*p(),c&&s.length===0)break}}var Ko=class{log;routers;started;components;constructor(e,r){this.log=e.logger.forComponent("libp2p:content-routing"),this.routers=r.routers??[],this.started=!1,this.components=e}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(e,r={}){if(this.routers.length===0)throw new S("No content routers available",F.ERR_NO_ROUTERS_AVAILABLE);let n=this,i=new vt;for await(let s of Zi(async function*(){let o=Xi(...n.routers.map(a=>a.findProviders(e,r)));for await(let a of o)yield async()=>{if(a.multiaddrs.length===0)try{a=await n.components.peerRouting.findPeer(a.id,{...r,useCache:!1})}catch(c){n.log.error("could not find peer multiaddrs",c);return}return a}}()))s!=null&&s.multiaddrs.length!==0&&(await this.components.peerStore.merge(s.id,{multiaddrs:s.multiaddrs}),!i.has(s.id)&&(i.add(s.id),yield s))}async provide(e,r={}){if(this.routers.length===0)throw new S("No content routers available",F.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(e,r)}))}async put(e,r,n){if(!this.isStarted())throw new S(hr.NOT_STARTED_YET,F.ERR_NODE_NOT_STARTED);await Promise.all(this.routers.map(async i=>{await i.put(e,r,n)}))}async get(e,r){if(!this.isStarted())throw new S(hr.NOT_STARTED_YET,F.ERR_NODE_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};var qo=class{log;peerId;peerStore;routers;constructor(e,r){this.log=e.logger.forComponent("libp2p:peer-routing"),this.peerId=e.peerId,this.peerStore=e.peerStore,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new S("No peer routers available",F.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.peerId.toString())throw new S("Should not try to find self",F.ERR_FIND_SELF);let n=this,i=Xi(...this.routers.map(s=>async function*(){try{yield await s.findPeer(e,r)}catch(o){n.log.error(o)}}()));for await(let s of i)if(s!=null)return await this.peerStore.merge(s.id,{multiaddrs:s.multiaddrs}),s;throw new S(hr.NOT_FOUND,F.ERR_NOT_FOUND)}async*getClosestPeers(e,r={}){if(this.routers.length===0)throw new S("No peer routers available",F.ERR_NO_ROUTERS_AVAILABLE);let n=this,i=new vt;for await(let s of Zi(async function*(){let o=Xi(...n.routers.map(a=>a.getClosestPeers(e,r)));for await(let a of o)yield async()=>{if(a.multiaddrs.length===0)try{a=await n.findPeer(a.id,{...r,useCache:!1})}catch(c){n.log.error("could not find peer multiaddrs",c);return}return a}}()))s!=null&&s.multiaddrs.length!==0&&(await this.peerStore.merge(s.id,{multiaddrs:s.multiaddrs}),!i.has(s.id)&&(i.add(s.id),yield s))}};var xl=32,bl=64,Vo=class{log;topologies;handlers;components;constructor(e){this.log=e.logger.forComponent("libp2p:registrar"),this.topologies=new Map,this.handlers=new Map,this.components=e,this._onDisconnect=this._onDisconnect.bind(this),this._onPeerUpdate=this._onPeerUpdate.bind(this),this._onPeerIdentify=this._onPeerIdentify.bind(this),this.components.events.addEventListener("peer:disconnect",this._onDisconnect),this.components.events.addEventListener("peer:update",this._onPeerUpdate),this.components.events.addEventListener("peer:identify",this._onPeerIdentify)}getProtocols(){return Array.from(new Set([...this.handlers.keys()])).sort()}getHandler(e){let r=this.handlers.get(e);if(r==null)throw new S(`No handler registered for protocol ${e}`,F.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(e){let r=this.topologies.get(e);return r==null?[]:[...r.values()]}async handle(e,r,n){if(this.handlers.has(e))throw new S(`Handler already registered for protocol ${e}`,F.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=_o.bind({ignoreUndefined:!0})({maxInboundStreams:xl,maxOutboundStreams:bl},n);this.handlers.set(e,{handler:r,options:i}),await this.components.peerStore.merge(this.components.peerId,{protocols:[e]})}async unhandle(e){(Array.isArray(e)?e:[e]).forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.patch(this.components.peerId,{protocols:this.getProtocols()})}async register(e,r){if(r==null)throw new S("invalid topology",F.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(e);return i==null&&(i=new Map,this.topologies.set(e,i)),i.set(n,r),n}unregister(e){for(let[r,n]of this.topologies.entries())n.has(e)&&(n.delete(e),n.size===0&&this.topologies.delete(r))}_onDisconnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{for(let i of n.protocols){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onDisconnect?.(r)}}).catch(n=>{n.code!==F.ERR_NOT_FOUND&&this.log.error("could not inform topologies of disconnecting peer %p",r,n)})}_onPeerUpdate(e){let{peer:r,previous:n}=e.detail,i=(n?.protocols??[]).filter(s=>!r.protocols.includes(s));for(let s of i){let o=this.topologies.get(s);if(o!=null)for(let a of o.values())a.onDisconnect?.(r.id)}}_onPeerIdentify(e){let r=e.detail.protocols,n=e.detail.connection,i=e.detail.peerId;for(let s of r){let o=this.topologies.get(s);if(o!=null)for(let a of o.values())n.transient&&a.notifyOnTransient!==!0||a.onConnect?.(i,n)}}};var wl=class extends Map{metric;constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function xm(t){let{name:e,metrics:r}=t,n;return r!=null?n=new wl({name:e,metrics:r}):n=new Map,n}var $o=class{log;components;transports;listeners;faultTolerance;started;constructor(e,r={}){this.log=e.logger.forComponent("libp2p:transports"),this.components=e,this.started=!1,this.transports=new Map,this.listeners=xm({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??gr.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new S("Transport must have a valid tag",F.ERR_INVALID_KEY);if(this.transports.has(r))throw new S(`There is already a transport with the tag ${r}`,F.ERR_DUPLICATE_TRANSPORT);this.log("adding transport %s",r),this.transports.set(r,e),this.listeners.has(r)||this.listeners.set(r,[])}isStarted(){return this.started}start(){this.started=!0}async afterStart(){let e=this.components.addressManager.getListenAddrs();await this.listen(e)}async stop(){let e=[];for(let[r,n]of this.listeners)for(this.log("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),this.log("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(e,r){let n=this.transportForMultiaddr(e);if(n==null)throw new S(`No transport available for address ${String(e)}`,F.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=F.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let e=[];for(let r of this.listeners.values())for(let n of r)e=[...e,...n.getAddrs()];return e}getTransports(){return Array.of(...this.transports.values())}getListeners(){return Array.of(...this.listeners.values()).flat()}transportForMultiaddr(e){for(let r of this.transports.values())if(r.filter([e]).length>0)return r}async listen(e){if(!this.isStarted())throw new S("Not started",F.ERR_NODE_NOT_STARTED);if(e==null||e.length===0){this.log("no addresses were provided for listening, this node is dial only");return}let r=[];for(let[n,i]of this.transports.entries()){let s=i.filter(e),o=[];for(let u of s){this.log("creating listener for %s on %a",n,u);let l=i.createListener({upgrader:this.components.upgrader}),f=this.listeners.get(n)??[];f==null&&(f=[],this.listeners.set(n,f)),f.push(l),l.addEventListener("listening",()=>{this.components.events.safeDispatchEvent("transport:listening",{detail:l})}),l.addEventListener("close",()=>{let d=f.findIndex(p=>p===l);f.splice(d,1),this.components.events.safeDispatchEvent("transport:close",{detail:l})}),o.push(l.listen(u))}if(o.length===0){r.push(n);continue}if((await Promise.allSettled(o)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==gr.NO_FATAL)throw new S(`Transport (${n}) could not listen on any available address`,F.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===gr.FATAL_ALL)throw new S(n,F.ERR_NO_VALID_ADDRESSES);this.log(`libp2p in dial mode only: ${n}`)}}async remove(e){let r=this.listeners.get(e)??[];this.log.trace("removing transport %s",e);let n=[];for(this.log.trace("closing listeners for %s",e);r.length>0;){let i=r.pop();i!=null&&n.push(i.close())}await Promise.all(n),this.transports.delete(e),this.listeners.delete(e)}async removeAll(){let e=[];for(let r of this.transports.keys())e.push(this.remove(r));await Promise.all(e)}};var Ze="/multistream/1.0.0";var zo=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=r??"ABORT_ERR"}};async function Ho(t,e,r){if(e==null)return t;if(e.aborted)return Promise.reject(new zo(r?.errorMessage,r?.errorCode));let n,i=new zo(r?.errorMessage,r?.errorCode);try{return await Promise.race([t,new Promise((s,o)=>{n=()=>{o(i)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var El=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=Se(),this.haveNext=Se()}[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 e=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=Se(),e}async throw(e){return this.ended=!0,e!=null&&this.haveNext.reject(e),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return await this._push(void 0),e}async push(e,r){await this._push(e,r)}async end(e,r){e!=null?await this.throw(e):await this._push(void 0,r)}async _push(e,r){if(e!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=Se(),await Ho(this.needNext.promise,r?.signal,r)}};function bm(){return new El}var Go=class extends Error{code;constructor(e,r){super(e),this.code=r}},vl=class extends Go{type;constructor(e){super(e,"ABORT_ERR"),this.type="aborted"}};function wm(t,e){let r=bm();t.sink(r).catch(async o=>{await r.end(o)}),t.sink=async o=>{for await(let a of o)await r.push(a);await r.end()};let n=t.source;t.source[Symbol.iterator]!=null?n=t.source[Symbol.iterator]():t.source[Symbol.asyncIterator]!=null&&(n=t.source[Symbol.asyncIterator]());let i=new Ve;return{read:async(o,a)=>{a?.signal?.throwIfAborted();let c,u=new Promise((l,f)=>{c=()=>{f(new vl("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(o==null){let{done:f,value:d}=await Promise.race([n.next(),u]);return f===!0?new Ve:d}for(;i.byteLength<o;){let{value:f,done:d}=await Promise.race([n.next(),u]);if(d===!0)throw new Go("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(f)}let l=i.sublist(0,o);return i.consume(o),l}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(o,a)=>{a?.signal?.throwIfAborted(),o instanceof Uint8Array?await r.push(o,a):await r.push(o.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let o=t.source;t.source=async function*(){e?.yieldBytes===!1?yield i:yield*i,yield*o}()}return t}}}function Em(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function vm(t=0){return globalThis.Buffer?.allocUnsafe!=null?Em(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Wo(t){return t[Symbol.asyncIterator]!=null}var Yo=t=>{let e=rt(t),r=vm(e);return lt(t,r),Yo.bytes=e,r};Yo.bytes=0;function mn(t,e){e=e??{};let r=e.lengthEncoder??Yo;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return Wo(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}mn.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Yo;return new Ve(r(t.byteLength),t)};var oi=we(Au(),1);var nv=8,iv=1024*1024*4,yn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(yn||(yn={}));var Sl=t=>{let e=kt(t);return Sl.bytes=rt(e),e};Sl.bytes=0;function _l(t,e){let r=new Ve,n=yn.LENGTH,i=-1,s=e?.lengthDecoder??Sl,o=e?.maxLengthLength??nv,a=e?.maxDataLength??iv;function*c(){for(;r.byteLength>0;){if(n===yn.LENGTH)try{if(i=s(r),i<0)throw(0,oi.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,oi.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=s.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=yn.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>o)throw(0,oi.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===yn.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=yn.LENGTH}}}return Wo(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,oi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,oi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}_l.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:s,value:o}=await t.next(r);if(s===!0)return;o!=null&&(yield o)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}}();return _l(n,{...e??{},onLength:s=>{r=s}})};var Qo=class extends Error{code;constructor(e,r){super(e),this.code=r}},_m=t=>kt(t);_m.bytes=0;function ji(t,e={}){let r=wm(t,e);return e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=rt(e.maxDataLength)),{read:async i=>{let s=-1,o=new Ve,a=e?.lengthDecoder??_m;for(;;){o.append(await r.read(1,i));try{s=a(o)}catch(c){if(c instanceof RangeError)continue;throw c}if(e?.maxLengthLength!=null&&o.byteLength>e.maxLengthLength)throw new Qo("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(s>-1)break}if(e?.maxDataLength!=null&&s>e.maxDataLength)throw new Qo("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(s,i)},write:async(i,s)=>{await r.write(mn.single(i,e),s)},writeV:async(i,s)=>{let o=new Ve(...i.map(a=>mn.single(a,e)));await r.write(o,s)},unwrap:()=>r.unwrap()}}var ov=Y(`
|
|
49
|
+
`);async function gn(t,e,r){await t.write(e,r)}async function Sm(t,e,r){await t.writeV(e,r)}async function av(t,e){let r=await t.read(e);if(r.byteLength===0||r.get(r.byteLength-1)!==ov[0])throw e.log.error("Invalid mss message - missing newline",r),new S("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return r.sublist(0,-1)}async function Nr(t,e){let r=await av(t,e);return ie(r.subarray())}async function Ji(t,e,r){if(e=Array.isArray(e)?[...e]:[e],e.length===1&&r.negotiateFully===!1)return cv(t,e[0],r);let n=ji(t,{...r,maxDataLength:1024}),i=e.shift();if(i==null)throw new Error("At least one protocol must be specified");r.log.trace('select: write ["%s", "%s"]',Ze,i);let s=Y(`${Ze}
|
|
50
|
+
`),o=Y(`${i}
|
|
51
|
+
`);await Sm(n,[s,o],r),r.log.trace("select: reading multistream-select header");let a=await Nr(n,r);if(r.log.trace('select: read "%s"',a),a===Ze&&(r.log.trace("select: reading protocol response"),a=await Nr(n,r),r.log.trace('select: read "%s"',a)),a===i)return{stream:n.unwrap(),protocol:i};for(let c of e){r.log.trace('select: write "%s"',c),await gn(n,Y(`${c}
|
|
52
|
+
`),r),r.log.trace("select: reading protocol response");let u=await Nr(n,r);if(r.log.trace('select: read "%s" for "%s"',u,c),u===c)return{stream:n.unwrap(),protocol:c}}throw new S("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}function cv(t,e,r){let n=t.sink.bind(t),i=t.source,s=!1,o=!1,a=Se(),c=!1,u=!1,l=Se(),f=!1,d=!1,p=Se(),h=ji({sink:n,source:i},{...r,maxDataLength:1024});t.sink=async x=>{let{sink:b}=h.unwrap();await b(async function*(){let A=!1;for await(let E of x){if(u&&await l.promise,c)yield E;else{u=!0,r.log.trace('optimistic: write ["%s", "%s", data(%d)] in sink',Ze,e,E.byteLength);let _=`${e}
|
|
53
|
+
`;yield new Ve(Uint8Array.from([19]),Y(`${Ze}
|
|
54
|
+
`),lt(_.length),Y(_),E).subarray(),r.log.trace('optimistic: wrote ["%s", "%s", data(%d)] in sink',Ze,e,E.byteLength),c=!0,u=!1,l.resolve(),m().catch(T=>{r.log.error("could not finish optimistic protocol negotiation of %s",e,T)})}A=!0}A||await m()}())};async function m(){if(o){r.log.trace("optimistic: already negotiating %s stream",e),await a.promise;return}o=!0;try{c||(r.log.trace("optimistic: doing send protocol for %s stream",e),await y()),f||(r.log.trace("optimistic: doing read protocol for %s stream",e),await g())}finally{o=!1,s=!0,a.resolve()}}async function y(){if(u){await l.promise;return}u=!0;try{r.log.trace('optimistic: write ["%s", "%s", data] in source',Ze,e),await h.writeV([Y(`${Ze}
|
|
55
|
+
`),Y(`${e}
|
|
56
|
+
`)]),r.log.trace('optimistic: wrote ["%s", "%s", data] in source',Ze,e)}finally{c=!0,u=!1,l.resolve()}}async function g(){if(d){await p.promise;return}d=!0;try{r.log.trace("optimistic: reading multistream select header");let x=await Nr(h,r);if(r.log.trace('optimistic: read multistream select header "%s"',x),x===Ze&&(x=await Nr(h,r)),r.log.trace('optimistic: read protocol "%s", expecting "%s"',x,e),x!==e)throw new S("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}finally{f=!0,d=!1,p.resolve()}}if(t.source=async function*(){await m(),r.log.trace('optimistic: reading data from "%s" stream',e),yield*h.unwrap().source}(),t.closeRead!=null){let x=t.closeRead.bind(t);t.closeRead=async b=>{s||await m().catch(A=>{r.log.error("could not negotiate protocol before close read",A)}),await x(b)}}if(t.closeWrite!=null){let x=t.closeWrite.bind(t);t.closeWrite=async b=>{s||await m().catch(A=>{r.log.error("could not negotiate protocol before close write",A)}),await x(b)}}if(t.close!=null){let x=t.close.bind(t);t.close=async b=>{let A=[];u&&A.push(l.promise),d&&A.push(p.promise),A.length>0?await Ho(Promise.all(A),b?.signal):(s=!0,o=!1,a.resolve()),await x(b)}}return{stream:t,protocol:e}}async function es(t,e,r){e=Array.isArray(e)?e:[e],r.log.trace("handle: available protocols %s",e);let n=ji(t,{...r,maxDataLength:1024,maxLengthLength:2});for(;;){r.log.trace("handle: reading incoming string");let i=await Nr(n,r);if(r.log.trace('handle: read "%s"',i),i===Ze){r.log.trace('handle: respond with "%s" for "%s"',Ze,i),await gn(n,Y(`${Ze}
|
|
57
|
+
`),r),r.log.trace('handle: responded with "%s" for "%s"',Ze,i);continue}if(e.includes(i))return r.log.trace('handle: respond with "%s" for "%s"',i,i),await gn(n,Y(`${i}
|
|
58
|
+
`),r),r.log.trace('handle: responded with "%s" for "%s"',i,i),{stream:n.unwrap(),protocol:i};if(i==="ls"){let s=new Ve(...e.map(o=>mn.single(Y(`${o}
|
|
59
|
+
`))),Y(`
|
|
60
|
+
`));r.log.trace('handle: respond with "%s" for %s',e,i),await gn(n,s,r),r.log.trace('handle: responded with "%s" for %s',e,i);continue}r.log('handle: respond with "na" for "%s"',i),await gn(n,Y(`na
|
|
61
|
+
`),r),r.log('handle: responded with "na" for "%s"',i)}}var lv=500,Al=class{id;remoteAddr;remotePeer;direction;timeline;multiplexer;encryption;status;transient;log;tags;_newStream;_close;_abort;_getStreams;constructor(e){let{remoteAddr:r,remotePeer:n,newStream:i,close:s,abort:o,getStreams:a}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.direction=e.direction,this.status="open",this.timeline=e.timeline,this.multiplexer=e.multiplexer,this.encryption=e.encryption,this.transient=e.transient??!1,this.log=e.logger.forComponent(`libp2p:connection:${this.direction}:${this.id}`),this.remoteAddr.getPeerId()==null&&(this.remoteAddr=this.remoteAddr.encapsulate(`/p2p/${this.remotePeer}`)),this._newStream=i,this._close=s,this._abort=o,this._getStreams=a,this.tags=[]}[Symbol.toStringTag]="Connection";[Jf]=!0;get streams(){return this._getStreams()}async newStream(e,r){if(this.status==="closing")throw new S("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.status==="closed")throw new S("the connection is closed","ERR_CONNECTION_CLOSED");if(Array.isArray(e)||(e=[e]),this.transient&&r?.runOnTransientConnection!==!0)throw new S("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");let n=await this._newStream(e,r);return n.direction="outbound",n}async close(e={}){if(!(this.status==="closed"||this.status==="closing")){if(this.log("closing connection to %a",this.remoteAddr),this.status="closing",e.signal==null){let r=AbortSignal.timeout(lv);ht(1/0,r),e={...e,signal:r}}try{this.log.trace("closing all streams"),await Promise.all(this.streams.map(async r=>r.close(e))),this.log.trace("closing underlying transport"),await this._close(e),this.log.trace("updating timeline with close time"),this.status="closed",this.timeline.close=Date.now()}catch(r){this.log.error("error encountered during graceful close of connection to %a",this.remoteAddr,r),this.abort(r)}}}abort(e){this.log.error("aborting connection to %a due to error",this.remoteAddr,e),this.status="closing",this.streams.forEach(r=>{r.abort(e)}),this.log.error("all streams aborted",this.streams.length),this._abort(e),this.timeline.close=Date.now(),this.status="closed"}};function Im(t){return new Al(t)}var hv=3e4;function dv(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==F.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return xl}function pv(t,e,r={}){try{let{options:n}=e.getHandler(t);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==F.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return r.maxOutboundStreams??bl}function Cm(t,e,r){let n=0;return r.streams.forEach(i=>{i.direction===e&&i.protocol===t&&n++}),n}var Zo=class{components;connectionEncryption;muxers;inboundUpgradeTimeout;events;constructor(e,r){this.components=e,this.connectionEncryption=new Map,r.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,r.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=r.inboundUpgradeTimeout??3e4,this.events=e.events}async shouldBlockConnection(e,r,n){let i=this.components.connectionGater[n];if(i!==void 0&&await i(e,r))throw new S(`The multiaddr connection is blocked by gater.${n}`,F.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new S("connection denied",F.ERR_CONNECTION_DENIED);let i,s,o,a,c,u=AbortSignal.timeout(this.inboundUpgradeTimeout),l=()=>{e.abort(new S("inbound upgrade timeout",ws))};u.addEventListener("abort",l,{once:!0}),ht(1/0,u);try{if(await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new S("The multiaddr connection is blocked by gater.acceptConnection",F.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),e.log("starting the inbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let d=this.components.connectionProtector;d!=null&&(e.log("protecting the inbound connection"),f=await d.protect(e))}try{if(i=f,r?.skipEncryption!==!0){({conn:i,remotePeer:s,protocol:c}=await this._encryptInbound(f));let d={...f,...i};await this.shouldBlockConnection(s,d,"denyInboundEncryptedConnection")}else{let d=e.remoteAddr.getPeerId();if(d==null)throw new S("inbound connection that skipped encryption must have a peer id",F.ERR_INVALID_MULTIADDR);let p=Le(d);c="native",s=p}if(o=i,r?.muxerFactory!=null)a=r.muxerFactory;else if(this.muxers.size>0){let d=await this._multiplexInbound({...f,...i},this.muxers);a=d.muxerFactory,o=d.stream}}catch(d){throw e.log.error("failed to upgrade inbound connection",d),d}return await this.shouldBlockConnection(s,e,"denyInboundUpgradedConnection"),e.log("successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:o,muxerFactory:a,remotePeer:s,transient:r?.transient})}finally{u.removeEventListener("abort",l),this.components.connectionManager.afterUpgradeInbound()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=Le(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let s,o,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),e.log("starting the outbound connection upgrade");let l=e;if(r?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(l=await f.protect(e))}try{if(s=l,r?.skipEncryption!==!0){({conn:s,remotePeer:o,protocol:c}=await this._encryptOutbound(l,i));let f={...l,...s};await this.shouldBlockConnection(o,f,"denyOutboundEncryptedConnection")}else{if(i==null)throw new S("Encryption was skipped but no peer id was passed",F.ERR_INVALID_PEER);c="native",o=i}if(a=s,r?.muxerFactory!=null)u=r.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...l,...s},this.muxers);u=f.muxerFactory,a=f.stream}}catch(f){throw e.log.error("failed to upgrade outbound connection",f),await e.close(f),f}return await this.shouldBlockConnection(o,e,"denyOutboundUpgradedConnection"),e.log("successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:o,transient:r?.transient})}_createConnection(e){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:s,remotePeer:o,muxerFactory:a,transient:c}=e,u,l,f;a!=null&&(u=a.createStreamMuxer({direction:n,onIncomingStream:h=>{f!=null&&Promise.resolve().then(async()=>{let m=this.components.registrar.getProtocols(),{stream:y,protocol:g}=await es(h,m,{log:h.log,yieldBytes:!1});if(f==null)return;f.log("incoming stream opened on %s",g);let x=dv(g,this.components.registrar);if(Cm(g,"inbound",f)===x){let A=new S(`Too many inbound protocol streams for protocol "${g}" - limit ${x}`,F.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw h.abort(A),A}h.source=y.source,h.sink=y.sink,h.protocol=g,y.closeWrite!=null&&(h.closeWrite=y.closeWrite),y.closeRead!=null&&(h.closeRead=y.closeRead),y.close!=null&&(h.close=y.close),await this.components.peerStore.merge(o,{protocols:[g]}),this.components.metrics?.trackProtocolStream(h,f),this._onStream({connection:f,stream:h,protocol:g})}).catch(async m=>{f.log.error("error handling incoming stream id %s",h.id,m.message,m.code,m.stack),h.timeline.close==null&&await h.close()})}}),l=async(h,m={})=>{if(u==null)throw new S("Stream is not multiplexed",F.ERR_MUXER_UNAVAILABLE);f.log("starting new stream for protocols %s",h);let y=await u.newStream();f.log.trace("started new stream %s for protocols %s",y.id,h);try{if(m.signal==null){y.log("no abort signal was passed while trying to negotiate protocols %s falling back to default timeout",h);let E=AbortSignal.timeout(hv);ht(1/0,E),m={...m,signal:E}}y.log.trace("selecting protocol from protocols %s",h);let{stream:g,protocol:x}=await Ji(y,h,{...m,log:y.log,yieldBytes:!0});y.log("selected protocol %s",x);let b=pv(x,this.components.registrar,m);if(Cm(x,"outbound",f)>=b){let E=new S(`Too many outbound protocol streams for protocol "${x}" - limit ${b}`,F.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw y.abort(E),E}return await this.components.peerStore.merge(o,{protocols:[x]}),y.source=g.source,y.sink=g.sink,y.protocol=x,g.closeWrite!=null&&(y.closeWrite=g.closeWrite),g.closeRead!=null&&(y.closeRead=g.closeRead),g.close!=null&&(y.close=g.close),this.components.metrics?.trackProtocolStream(y,f),y}catch(g){throw f.log.error("could not create new stream for protocols %s",h,g),y.timeline.close==null&&y.abort(g),g.code!=null?g:new S(String(g),F.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([u.sink(s.source),s.sink(u.source)]).catch(h=>{f.log.error("error piping data through muxer",h)}));let d=i.timeline;i.timeline=new Proxy(d,{set:(...h)=>(f!=null&&h[1]==="close"&&h[2]!=null&&d.close==null&&(async()=>{try{f.status==="open"&&await f.close()}catch(m){f.log.error("error closing connection after timeline close",m)}finally{this.events.safeDispatchEvent("connection:close",{detail:f})}})().catch(m=>{f.log.error("error thrown while dispatching connection:close event",m)}),Reflect.set(...h))}),i.timeline.upgraded=Date.now();let p=()=>{throw new S("connection is not multiplexed",F.ERR_CONNECTION_NOT_MULTIPLEXED)};return f=Im({remoteAddr:i.remoteAddr,remotePeer:o,status:"open",direction:n,timeline:i.timeline,multiplexer:u?.protocol,encryption:r,transient:c,logger:this.components.logger,newStream:l??p,getStreams:()=>u!=null?u.streams:[],close:async h=>{u!=null&&(f.log.trace("close muxer"),await u.close(h)),f.log.trace("close maconn"),await i.close(h),f.log.trace("closed maconn")},abort:h=>{i.abort(h),u?.abort(h)}}),this.events.safeDispatchEvent("connection:open",{detail:f}),f}_onStream(e){let{connection:r,stream:n,protocol:i}=e,{handler:s,options:o}=this.components.registrar.getHandler(i);if(r.transient&&o.runOnTransientConnection!==!0)throw new S("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");s({connection:r,stream:n})}async _encryptInbound(e){let r=Array.from(this.connectionEncryption.keys());e.log("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await es(e,r,{log:e.log}),s=this.connectionEncryption.get(i);if(s==null)throw new Error(`no crypto module found for ${i}`);return e.log("encrypting inbound connection using",i),{...await s.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw e.log.error("encrypting inbound connection to %p failed",n),new S(n.message,F.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());e.log("selecting outbound crypto protocol",n);try{e.log.trace("selecting encrypter from %s",n);let{stream:i,protocol:s}=await Ji(e,n,{log:e.log,yieldBytes:!0}),o=this.connectionEncryption.get(s);if(o==null)throw new Error(`no crypto module found for ${s}`);return e.log("encrypting outbound connection to %p using %p",r),{...await o.secureOutbound(this.components.peerId,i,r),protocol:s}}catch(i){throw e.log.error("encrypting outbound connection to %p failed",i),new S(i.message,F.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());e.log("outbound selecting muxer %s",n);try{e.log.trace("selecting stream muxer from %s",n);let{stream:i,protocol:s}=await Ji(e,n,{log:e.log,yieldBytes:!0});e.log("selected %s as muxer protocol",s);let o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw e.log.error("error multiplexing outbound connection",i),new S(String(i),F.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());e.log("inbound handling muxers %s",n);try{let{stream:i,protocol:s}=await es(e,n,{log:e.log}),o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw e.log.error("error multiplexing inbound connection",i),new S(String(i),F.ERR_MUXER_UNAVAILABLE)}}};var Rm="1.1.0",Tm="libp2p";var Il=class extends mi{peerId;peerStore;contentRouting;peerRouting;metrics;services;logger;status;components;log;constructor(e){super(),this.status="stopped";let r=new mi,n=r.dispatchEvent.bind(r);r.dispatchEvent=a=>{let c=n(a),u=this.dispatchEvent(new Ca(a.type,{detail:a.detail}));return c||u},ht(1/0,r),this.peerId=e.peerId,this.logger=e.logger??zs(),this.log=this.logger.forComponent("libp2p"),this.services={};let i=this.components=Td({peerId:e.peerId,nodeInfo:e.nodeInfo??{name:Tm,version:Rm},logger:this.logger,events:r,datastore:e.datastore??new uo,connectionGater:Fd(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new ao(i,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore})),e.metrics!=null&&(this.metrics=this.configureComponent("metrics",e.metrics(this.components))),i.events.addEventListener("peer:update",a=>{if(a.detail.previous==null){let c={id:a.detail.peer.id,multiaddrs:a.detail.peer.addresses.map(u=>u.multiaddr)};i.events.safeDispatchEvent("peer:discovery",{detail:c})}}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new Zo(this.components,{connectionEncryption:(e.connectionEncryption??[]).map((a,c)=>this.configureComponent(`connection-encryption-${c}`,a(this.components))),muxers:(e.streamMuxers??[]).map((a,c)=>this.configureComponent(`stream-muxers-${c}`,a(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new $o(this.components,e.transportManager)),this.configureComponent("connectionManager",new Mo(this.components,e.connectionManager)),this.configureComponent("registrar",new Vo(this.components)),this.configureComponent("addressManager",new lo(this.components,e.addresses));let s=(e.peerRouters??[]).map((a,c)=>this.configureComponent(`peer-router-${c}`,a(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new qo(this.components,{routers:s}));let o=(e.contentRouters??[]).map((a,c)=>this.configureComponent(`content-router-${c}`,a(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new Ko(this.components,{routers:o})),(e.peerDiscovery??[]).forEach((a,c)=>{this.configureComponent(`peer-discovery-${c}`,a(this.components)).addEventListener("peer",l=>{this.#e(l)})}),e.transports?.forEach((a,c)=>{this.components.transportManager.add(this.configureComponent(`transport-${c}`,a(this.components)))}),e.services!=null)for(let a of Object.keys(e.services)){let c=e.services[a],u=c(this.components);if(u==null){this.log.error("service factory %s returned null or undefined instance",a);continue}this.services[a]=u,this.configureComponent(a,u),u[Ea]!=null&&(this.log("registering service %s for content routing",a),o.push(u[Ea])),u[Sa]!=null&&(this.log("registering service %s for peer routing",a),s.push(u[Sa])),u[va]!=null&&(this.log("registering service %s for peer discovery",a),u[va].addEventListener?.("peer",l=>{this.#e(l)}))}}configureComponent(e,r){return r==null&&this.log.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(this.status==="stopped"){this.status="starting",this.log("libp2p is starting");try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),this.status="started",this.safeDispatchEvent("start",{detail:this}),this.log("libp2p has started")}catch(e){throw this.log.error("An error occurred starting libp2p",e),this.status="started",await this.stop(),e}}}async stop(){this.status==="started"&&(this.log("libp2p is stopping"),this.status="stopping",await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.status="stopped",this.safeDispatchEvent("stop",{detail:this}),this.log("libp2p has stopped"))}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new vt;for(let r of this.components.connectionManager.getConnections())e.add(r.remotePeer);return Array.from(e)}async dial(e,r={}){return this.components.connectionManager.openConnection(e,{priority:75,...r})}async dialProtocol(e,r,n={}){if(r==null)throw new S("no protocols were provided to open a stream",F.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new S("no protocols were provided to open a stream",F.ERR_INVALID_PROTOCOLS_FOR_STREAM);return(await this.dial(e,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e,r={}){Tr(e)&&(e=Le(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e,r)}async getPublicKey(e,r={}){if(this.log("getPublicKey %p",e),e.publicKey!=null)return e.publicKey;let n=await this.peerStore.get(e);if(n.id.publicKey!=null)return n.id.publicKey;let i=qe([Y("/pk/"),e.multihash.digest]),s=await this.contentRouting.get(i,r);return Pi(s),await this.peerStore.patch(e,{publicKey:s}),s}async handle(e,r,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(e,r){return this.components.registrar.register(e,r)}unregister(e){this.components.registrar.unregister(e)}#e(e){let{detail:r}=e;if(r.id.toString()===this.peerId.toString()){this.log.error(new Error(F.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs}).catch(n=>{this.log.error(n)})}};async function Bm(t={}){return t.peerId??=await Vh(),new Il(yp(t))}async function yv(t={}){let e=await Bm(t);return t.start!==!1&&await e.start(),e}return zm(gv);})();
|
|
62
62
|
/*! Bundled license information:
|
|
63
63
|
|
|
64
64
|
@noble/hashes/esm/utils.js:
|