libp2p 0.46.9 → 0.46.10
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 +22 -22
- package/dist/src/config.js +2 -2
- package/dist/src/config.js.map +1 -1
- package/dist/src/connection-manager/constants.browser.d.ts +6 -6
- package/dist/src/connection-manager/constants.browser.d.ts.map +1 -1
- package/dist/src/connection-manager/constants.browser.js +6 -6
- package/dist/src/connection-manager/constants.browser.js.map +1 -1
- package/dist/src/connection-manager/constants.d.ts +6 -6
- package/dist/src/connection-manager/constants.d.ts.map +1 -1
- package/dist/src/connection-manager/constants.defaults.d.ts +5 -5
- package/dist/src/connection-manager/constants.defaults.d.ts.map +1 -1
- package/dist/src/connection-manager/constants.defaults.js +5 -5
- package/dist/src/connection-manager/constants.defaults.js.map +1 -1
- package/dist/src/connection-manager/constants.js +6 -6
- package/dist/src/connection-manager/constants.js.map +1 -1
- package/dist/src/connection-manager/dial-queue.js +2 -2
- package/dist/src/connection-manager/dial-queue.js.map +1 -1
- package/dist/src/connection-manager/index.d.ts +5 -5
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +4 -3
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/identify/consts.d.ts +1 -1
- package/dist/src/identify/consts.d.ts.map +1 -1
- 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/package.json +8 -8
- package/src/config.ts +2 -2
- package/src/connection-manager/constants.browser.ts +7 -7
- package/src/connection-manager/constants.defaults.ts +6 -6
- package/src/connection-manager/constants.ts +7 -7
- package/src/connection-manager/dial-queue.ts +2 -2
- package/src/connection-manager/index.ts +9 -8
- 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};Ua.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=Nf[e];if(!r){r=Nf[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 l=0;t[l]===o&&l<t.length-1;++l)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function kg(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 Oe=O((xA,Kf)=>{var Mf=ye(),Uf=Of(),E=Kf.exports=Mf.util=Mf.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){E.nextTick=process.nextTick,typeof setImmediate=="function"?E.setImmediate=setImmediate:E.setImmediate=E.nextTick;return}if(typeof setImmediate=="function"){E.setImmediate=function(){return setImmediate.apply(void 0,arguments)},E.nextTick=function(a){return setImmediate(a)};return}if(E.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 s=a,t="forge.setImmediate",e=[];E.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=E.setImmediate;E.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}E.nextTick=E.setImmediate})();E.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;E.globalScope=function(){return E.isNodejs?globalThis:typeof self>"u"?window:self}();E.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};E.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};E.isArrayBufferView=function(t){return t&&E.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Ui(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}E.ByteBuffer=Fa;function Fa(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(E.isArrayBuffer(t)||E.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 Fa||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}E.ByteStringBuffer=Fa;var Og=4096;E.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>Og&&(this.data.substr(0,1),this._constructedStringLength=0)};E.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};E.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};E.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};E.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};E.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};E.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(E.encodeUtf8(t))};E.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};E.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};E.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))};E.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};E.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};E.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))};E.ByteStringBuffer.prototype.putInt=function(t,e){Ui(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};E.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};E.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};E.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};E.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};E.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};E.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};E.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};E.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};E.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};E.ByteStringBuffer.prototype.getInt=function(t){Ui(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};E.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};E.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};E.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};E.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};E.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};E.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};E.ByteStringBuffer.prototype.copy=function(){var t=E.createBuffer(this.data);return t.read=this.read,t};E.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};E.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};E.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};E.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};E.ByteStringBuffer.prototype.toString=function(){return E.decodeUtf8(this.bytes())};function Mg(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=E.isArrayBuffer(t),n=E.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)}E.DataBuffer=Mg;E.DataBuffer.prototype.length=function(){return this.write-this.read};E.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};E.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};E.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};E.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};E.DataBuffer.prototype.putBytes=function(t,e){if(E.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(E.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 E.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&E.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 E.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+=E.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+=E.binary.base64.decode(t,o,this.write),this;if(e==="utf8"&&(t=E.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=E.binary.raw.decode(o),this;if(e==="utf16")return this.accommodate(t.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=E.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};E.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};E.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};E.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};E.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};E.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};E.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};E.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};E.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};E.DataBuffer.prototype.putInt=function(t,e){Ui(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};E.DataBuffer.prototype.putSignedInt=function(t,e){return Ui(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};E.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};E.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};E.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};E.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};E.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};E.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};E.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};E.DataBuffer.prototype.getInt=function(t){Ui(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};E.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};E.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};E.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};E.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};E.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};E.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};E.DataBuffer.prototype.copy=function(){return new E.DataBuffer(this)};E.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};E.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};E.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};E.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};E.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return E.binary.raw.encode(e);if(t==="hex")return E.binary.hex.encode(e);if(t==="base64")return E.binary.base64.encode(e);if(t==="utf8")return E.text.utf8.decode(e);if(t==="utf16")return E.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};E.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=E.encodeUtf8(t)),new E.ByteBuffer(t)};E.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};E.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};E.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};E.bytesToHex=function(t){return E.createBuffer(t).toHex()};E.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var Cr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Tr=[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],Ff="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";E.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+=Cr.charAt(i>>2),r+=Cr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Cr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Cr.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
4
|
-
`,r=r.substr(e));return n+=r,n};E.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,o,s=0;s<t.length;)r=
|
|
5
|
-
`,r=r.substr(e));return n+=r,n};E.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=Tr[t.charCodeAt(c++)-43],o=Tr[t.charCodeAt(c++)-43],s=Tr[t.charCodeAt(c++)-43],a=Tr[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)};E.binary.base58.encode=function(t,e){return E.binary.baseN.encode(t,Ff,e)};E.binary.base58.decode=function(t,e){return E.binary.baseN.decode(t,Ff,e)};E.text={utf8:{},utf16:{}};E.text.utf8.encode=function(t,e,r){t=E.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};E.text.utf8.decode=function(t){return E.decodeUtf8(String.fromCharCode.apply(null,t))};E.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};E.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};E.deflate=function(t,e,r){if(e=E.decode64(t.deflate(E.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};E.inflate=function(t,e,r){var n=t.inflate(E.encode64(e)).rval;return n===null?null:E.decode64(n)};var Ka=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=E.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}},qa=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(E.decode64(r))),r},Ug=function(t,e,r,n){var i=qa(t,e);i===null&&(i={}),i[r]=n,Ka(t,e,i)},Fg=function(t,e,r){var n=qa(t,e);return n!==null&&(n=r in n?n[r]:null),n},Kg=function(t,e,r){var n=qa(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),Ka(t,e,n)}},qg=function(t,e){Ka(t,e,null)},Mo=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};E.setItem=function(t,e,r,n,i){Mo(Ug,arguments,i)};E.getItem=function(t,e,r,n){return Mo(Fg,arguments,n)};E.removeItem=function(t,e,r,n){Mo(Kg,arguments,n)};E.clearItems=function(t,e,r){Mo(qg,arguments,r)};E.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};E.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("")};E.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)+"",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)+(o?s+Math.abs(i-u).toFixed(o).slice(2):"")};E.formatSize=function(t){return t>=1073741824?t=E.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=E.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=E.formatNumber(t/1024,0)+" KiB":t=E.formatNumber(t,0)+" bytes",t};E.bytesFromIP=function(t){return t.indexOf(".")!==-1?E.bytesFromIPv4(t):t.indexOf(":")!==-1?E.bytesFromIPv6(t):null};E.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=E.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};E.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=E.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=E.hexToBytes(t[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};E.bytesToIP=function(t){return t.length===4?E.bytesToIPv4(t):t.length===16?E.bytesToIPv6(t):null};E.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(".")};E.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=E.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(":")};E.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in E&&!t.update)return e(null,E.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return E.cores=navigator.hardwareConcurrency,e(null,E.cores);if(typeof Worker>"u")return E.cores=1,e(null,E.cores);if(typeof Blob>"u")return E.cores=2,e(null,E.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(l,f){return l+f},0)/s.length);return E.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,E.cores)}i(c,function(l,f){s.push(o(c,f)),n(s,a-1,c)})}function i(s,a){for(var c=[],u=[],l=0;l<s;++l){var f=new Worker(r);f.addEventListener("message",function(h){if(u.push(h.data),u.length===s){for(var p=0;p<s;++p)c[p].terminate();a(null,u)}}),c.push(f)}for(var l=0;l<s;++l)c[l].postMessage(l)}function o(s,a){for(var c=[],u=0;u<s;++u)for(var l=a[u],f=c[u]=[],h=0;h<s;++h)if(u!==h){var p=a[h];(l.st>p.st&&l.st<p.et||p.st>l.st&&p.st<l.et)&&f.push(h)}return c.reduce(function(d,m){return Math.max(d,m.length)},0)}}});var Uo=O((EA,qf)=>{var Fi=ye();Fi.pki=Fi.pki||{};var Va=qf.exports=Fi.pki.oids=Fi.oids=Fi.oids||{};function B(t,e){Va[t]=e,Va[e]=t}function he(t,e){Va[t]=e}B("1.2.840.113549.1.1.1","rsaEncryption");B("1.2.840.113549.1.1.4","md5WithRSAEncryption");B("1.2.840.113549.1.1.5","sha1WithRSAEncryption");B("1.2.840.113549.1.1.7","RSAES-OAEP");B("1.2.840.113549.1.1.8","mgf1");B("1.2.840.113549.1.1.9","pSpecified");B("1.2.840.113549.1.1.10","RSASSA-PSS");B("1.2.840.113549.1.1.11","sha256WithRSAEncryption");B("1.2.840.113549.1.1.12","sha384WithRSAEncryption");B("1.2.840.113549.1.1.13","sha512WithRSAEncryption");B("1.3.101.112","EdDSA25519");B("1.2.840.10040.4.3","dsa-with-sha1");B("1.3.14.3.2.7","desCBC");B("1.3.14.3.2.26","sha1");B("1.3.14.3.2.29","sha1WithRSASignature");B("2.16.840.1.101.3.4.2.1","sha256");B("2.16.840.1.101.3.4.2.2","sha384");B("2.16.840.1.101.3.4.2.3","sha512");B("2.16.840.1.101.3.4.2.4","sha224");B("2.16.840.1.101.3.4.2.5","sha512-224");B("2.16.840.1.101.3.4.2.6","sha512-256");B("1.2.840.113549.2.2","md2");B("1.2.840.113549.2.5","md5");B("1.2.840.113549.1.7.1","data");B("1.2.840.113549.1.7.2","signedData");B("1.2.840.113549.1.7.3","envelopedData");B("1.2.840.113549.1.7.4","signedAndEnvelopedData");B("1.2.840.113549.1.7.5","digestedData");B("1.2.840.113549.1.7.6","encryptedData");B("1.2.840.113549.1.9.1","emailAddress");B("1.2.840.113549.1.9.2","unstructuredName");B("1.2.840.113549.1.9.3","contentType");B("1.2.840.113549.1.9.4","messageDigest");B("1.2.840.113549.1.9.5","signingTime");B("1.2.840.113549.1.9.6","counterSignature");B("1.2.840.113549.1.9.7","challengePassword");B("1.2.840.113549.1.9.8","unstructuredAddress");B("1.2.840.113549.1.9.14","extensionRequest");B("1.2.840.113549.1.9.20","friendlyName");B("1.2.840.113549.1.9.21","localKeyId");B("1.2.840.113549.1.9.22.1","x509Certificate");B("1.2.840.113549.1.12.10.1.1","keyBag");B("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");B("1.2.840.113549.1.12.10.1.3","certBag");B("1.2.840.113549.1.12.10.1.4","crlBag");B("1.2.840.113549.1.12.10.1.5","secretBag");B("1.2.840.113549.1.12.10.1.6","safeContentsBag");B("1.2.840.113549.1.5.13","pkcs5PBES2");B("1.2.840.113549.1.5.12","pkcs5PBKDF2");B("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");B("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");B("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");B("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");B("1.2.840.113549.2.7","hmacWithSHA1");B("1.2.840.113549.2.8","hmacWithSHA224");B("1.2.840.113549.2.9","hmacWithSHA256");B("1.2.840.113549.2.10","hmacWithSHA384");B("1.2.840.113549.2.11","hmacWithSHA512");B("1.2.840.113549.3.7","des-EDE3-CBC");B("2.16.840.1.101.3.4.1.2","aes128-CBC");B("2.16.840.1.101.3.4.1.22","aes192-CBC");B("2.16.840.1.101.3.4.1.42","aes256-CBC");B("2.5.4.3","commonName");B("2.5.4.4","surname");B("2.5.4.5","serialNumber");B("2.5.4.6","countryName");B("2.5.4.7","localityName");B("2.5.4.8","stateOrProvinceName");B("2.5.4.9","streetAddress");B("2.5.4.10","organizationName");B("2.5.4.11","organizationalUnitName");B("2.5.4.12","title");B("2.5.4.13","description");B("2.5.4.15","businessCategory");B("2.5.4.17","postalCode");B("2.5.4.42","givenName");B("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");B("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");B("2.16.840.1.113730.1.1","nsCertType");B("2.16.840.1.113730.1.13","nsComment");he("2.5.29.1","authorityKeyIdentifier");he("2.5.29.2","keyAttributes");he("2.5.29.3","certificatePolicies");he("2.5.29.4","keyUsageRestriction");he("2.5.29.5","policyMapping");he("2.5.29.6","subtreesConstraint");he("2.5.29.7","subjectAltName");he("2.5.29.8","issuerAltName");he("2.5.29.9","subjectDirectoryAttributes");he("2.5.29.10","basicConstraints");he("2.5.29.11","nameConstraints");he("2.5.29.12","policyConstraints");he("2.5.29.13","basicConstraints");B("2.5.29.14","subjectKeyIdentifier");B("2.5.29.15","keyUsage");he("2.5.29.16","privateKeyUsagePeriod");B("2.5.29.17","subjectAltName");B("2.5.29.18","issuerAltName");B("2.5.29.19","basicConstraints");he("2.5.29.20","cRLNumber");he("2.5.29.21","cRLReason");he("2.5.29.22","expirationDate");he("2.5.29.23","instructionCode");he("2.5.29.24","invalidityDate");he("2.5.29.25","cRLDistributionPoints");he("2.5.29.26","issuingDistributionPoint");he("2.5.29.27","deltaCRLIndicator");he("2.5.29.28","issuingDistributionPoint");he("2.5.29.29","certificateIssuer");he("2.5.29.30","nameConstraints");B("2.5.29.31","cRLDistributionPoints");B("2.5.29.32","certificatePolicies");he("2.5.29.33","policyMappings");he("2.5.29.34","policyConstraints");B("2.5.29.35","authorityKeyIdentifier");he("2.5.29.36","policyConstraints");B("2.5.29.37","extKeyUsage");he("2.5.29.46","freshestCRL");he("2.5.29.54","inhibitAnyPolicy");B("1.3.6.1.4.1.11129.2.4.2","timestampList");B("1.3.6.1.5.5.7.1.1","authorityInfoAccess");B("1.3.6.1.5.5.7.3.1","serverAuth");B("1.3.6.1.5.5.7.3.2","clientAuth");B("1.3.6.1.5.5.7.3.3","codeSigning");B("1.3.6.1.5.5.7.3.4","emailProtection");B("1.3.6.1.5.5.7.3.8","timeStamping")});var qi=O((wA,$f)=>{var Ae=ye();Oe();Uo();var M=$f.exports=Ae.asn1=Ae.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(Ae.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||Ae.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(Ae.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(Ae.util.isArray(t)){if(!Ae.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 Ki(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 Vg=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;Ki(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=Ae.util.createBuffer(t));var r=t.length(),n=Fo(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 Fo(t,e,r,n){var i;Ki(t,e,2);var o=t.getByte();e--;var s=o&192,a=o&31;i=t.length();var c=Vg(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,h=(o&32)===32;if(h)if(l=[],c===void 0)for(;;){if(Ki(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),l.push(Fo(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(Fo(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&s===M.Class.UNIVERSAL&&a===M.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&s===M.Class.UNIVERSAL&&a===M.Type.BITSTRING&&c>1){var p=t.read,d=e,m=0;if(a===M.Type.BITSTRING&&(Ki(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},g=Fo(t,e,r+1,y),x=i-t.length();e-=x,a==M.Type.BITSTRING&&x++;var w=g.tagClass;x===c&&(w===M.Class.UNIVERSAL||w===M.Class.CONTEXT_SPECIFIC)&&(l=[g])}catch{}l===void 0&&(t.read=p,e=d)}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===M.Type.BMPSTRING)for(l="";c>0;c-=2)Ki(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c),e-=c}var C=f===void 0?null:{bitStringContents:f};return M.create(s,a,h,l,C)}M.toDer=function(t){var e=Ae.util.createBuffer(),r=t.tagClass|t.type,n=Ae.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=Ae.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=Ae.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 l=parseInt(t.substr(u+1,2),10),f=parseInt(t.substr(u+4,2),10),h=l*60+f;h*=6e4,c==="+"?e.setTime(+e-h):e.setTime(+e+h)}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,l=!1;t.charAt(t.length-1)==="Z"&&(l=!0);var f=t.length-5,h=t.charAt(f);if(h==="+"||h==="-"){var p=parseInt(t.substr(f+1,2),10),d=parseInt(t.substr(f+4,2),10);u=p*60+d,u*=6e4,h==="+"&&(u*=-1),l=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),l?(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=Ae.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=Ae.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&&Ae.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 Vf=/[^\\u0000-\\u00ff]/;M.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
|
2
|
+
"use strict";var Libp2P=(()=>{var r1=Object.create;var Vo=Object.defineProperty;var n1=Object.getOwnPropertyDescriptor;var i1=Object.getOwnPropertyNames;var o1=Object.getPrototypeOf,s1=Object.prototype.hasOwnProperty;var O=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),We=(t,e)=>{for(var r in e)Vo(t,r,{get:e[r],enumerable:!0})},Gf=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of i1(e))!s1.call(t,i)&&i!==r&&Vo(t,i,{get:()=>e[i],enumerable:!(n=n1(e,i))||n.enumerable});return t};var te=(t,e,r)=>(r=t!=null?r1(o1(t)):{},Gf(e||!t||!t.__esModule?Vo(r,"default",{value:t,enumerable:!0}):r,t)),a1=t=>Gf(Vo({},"__esModule",{value:!0}),t);var Xn=O((jA,Za)=>{"use strict";var Qn=typeof Reflect=="object"?Reflect:null,Yf=Qn&&typeof Qn.apply=="function"?Qn.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},$o;Qn&&typeof Qn.ownKeys=="function"?$o=Qn.ownKeys:Object.getOwnPropertySymbols?$o=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:$o=function(e){return Object.getOwnPropertyNames(e)};function c1(t){console&&console.warn&&console.warn(t)}var Qf=Number.isNaN||function(e){return e!==e};function xe(){xe.init.call(this)}Za.exports=xe;Za.exports.once=h1;xe.EventEmitter=xe;xe.prototype._events=void 0;xe.prototype._eventsCount=0;xe.prototype._maxListeners=void 0;var Wf=10;function Ho(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(xe,"defaultMaxListeners",{enumerable:!0,get:function(){return Wf},set:function(t){if(typeof t!="number"||t<0||Qf(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");Wf=t}});xe.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};xe.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||Qf(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function Xf(t){return t._maxListeners===void 0?xe.defaultMaxListeners:t._maxListeners}xe.prototype.getMaxListeners=function(){return Xf(this)};xe.prototype.emit=function(e){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=e==="error",o=this._events;if(o!==void 0)i=i&&o.error===void 0;else if(!i)return!1;if(i){var s;if(r.length>0&&(s=r[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=o[e];if(c===void 0)return!1;if(typeof c=="function")Yf(c,this,r);else for(var u=c.length,l=t0(c,u),n=0;n<u;++n)Yf(l[n],this,r);return!0};function Zf(t,e,r,n){var i,o,s;if(Ho(r),o=t._events,o===void 0?(o=t._events=Object.create(null),t._eventsCount=0):(o.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),s===void 0)s=o[e]=r,++t._eventsCount;else if(typeof s=="function"?s=o[e]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),i=Xf(t),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=s.length,c1(a)}return t}xe.prototype.addListener=function(e,r){return Zf(this,e,r,!1)};xe.prototype.on=xe.prototype.addListener;xe.prototype.prependListener=function(e,r){return Zf(this,e,r,!0)};function u1(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function jf(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=u1.bind(n);return i.listener=r,n.wrapFn=i,i}xe.prototype.once=function(e,r){return Ho(r),this.on(e,jf(this,e,r)),this};xe.prototype.prependOnceListener=function(e,r){return Ho(r),this.prependListener(e,jf(this,e,r)),this};xe.prototype.removeListener=function(e,r){var n,i,o,s,a;if(Ho(r),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||r));else if(typeof n!="function"){for(o=-1,s=n.length-1;s>=0;s--)if(n[s]===r||n[s].listener===r){a=n[s].listener,o=s;break}if(o<0)return this;o===0?n.shift():l1(n,o),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this};xe.prototype.off=xe.prototype.removeListener;xe.prototype.removeAllListeners=function(e){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var o=Object.keys(n),s;for(i=0;i<o.length;++i)s=o[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[e],typeof r=="function")this.removeListener(e,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(e,r[i]);return this};function Jf(t,e,r){var n=t._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?f1(i):t0(i,i.length)}xe.prototype.listeners=function(e){return Jf(this,e,!0)};xe.prototype.rawListeners=function(e){return Jf(this,e,!1)};xe.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):e0.call(t,e)};xe.prototype.listenerCount=e0;function e0(t){var e=this._events;if(e!==void 0){var r=e[t];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}xe.prototype.eventNames=function(){return this._eventsCount>0?$o(this._events):[]};function t0(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function l1(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function f1(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function h1(t,e){return new Promise(function(r,n){function i(s){t.removeListener(e,o),n(s)}function o(){typeof t.removeListener=="function"&&t.removeListener("error",i),r([].slice.call(arguments))}r0(t,e,o,{once:!0}),e!=="error"&&d1(t,i,{once:!0})})}function d1(t,e,r){typeof t.on=="function"&&r0(t,"error",e,r)}function r0(t,e,r,n){if(typeof t.on=="function")n.once?t.once(e,r):t.on(e,r);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(o){n.once&&t.removeEventListener(e,i),r(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}});var ye=O((JA,n0)=>{n0.exports={options:{usePureJavaScript:!1}}});var s0=O((eS,o0)=>{var ja={};o0.exports=ja;var i0={};ja.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=p1(t,e);else{var i=0,o=e.length,s=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%o,u=u/o|0;for(;u>0;)a.push(u%o),u=u/o|0}for(i=0;t[i]===0&&i<t.length-1;++i)n+=s;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};ja.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=i0[e];if(!r){r=i0[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 l=0;t[l]===o&&l<t.length-1;++l)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function p1(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 Me=O((tS,l0)=>{var a0=ye(),c0=s0(),E=l0.exports=a0.util=a0.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){E.nextTick=process.nextTick,typeof setImmediate=="function"?E.setImmediate=setImmediate:E.setImmediate=E.nextTick;return}if(typeof setImmediate=="function"){E.setImmediate=function(){return setImmediate.apply(void 0,arguments)},E.nextTick=function(a){return setImmediate(a)};return}if(E.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 s=a,t="forge.setImmediate",e=[];E.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=E.setImmediate;E.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}E.nextTick=E.setImmediate})();E.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;E.globalScope=function(){return E.isNodejs?globalThis:typeof self>"u"?window:self}();E.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};E.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};E.isArrayBufferView=function(t){return t&&E.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Hi(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}E.ByteBuffer=Ja;function Ja(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(E.isArrayBuffer(t)||E.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 Ja||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}E.ByteStringBuffer=Ja;var m1=4096;E.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>m1&&(this.data.substr(0,1),this._constructedStringLength=0)};E.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};E.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};E.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};E.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};E.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};E.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(E.encodeUtf8(t))};E.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};E.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};E.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))};E.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};E.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};E.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))};E.ByteStringBuffer.prototype.putInt=function(t,e){Hi(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};E.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};E.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};E.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};E.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};E.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};E.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};E.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};E.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};E.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};E.ByteStringBuffer.prototype.getInt=function(t){Hi(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};E.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};E.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};E.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};E.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};E.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};E.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};E.ByteStringBuffer.prototype.copy=function(){var t=E.createBuffer(this.data);return t.read=this.read,t};E.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};E.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};E.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};E.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};E.ByteStringBuffer.prototype.toString=function(){return E.decodeUtf8(this.bytes())};function y1(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=E.isArrayBuffer(t),n=E.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)}E.DataBuffer=y1;E.DataBuffer.prototype.length=function(){return this.write-this.read};E.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};E.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};E.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};E.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};E.DataBuffer.prototype.putBytes=function(t,e){if(E.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(E.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 E.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&E.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 E.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+=E.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+=E.binary.base64.decode(t,o,this.write),this;if(e==="utf8"&&(t=E.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=E.binary.raw.decode(o),this;if(e==="utf16")return this.accommodate(t.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=E.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};E.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};E.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};E.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};E.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};E.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};E.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};E.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};E.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};E.DataBuffer.prototype.putInt=function(t,e){Hi(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};E.DataBuffer.prototype.putSignedInt=function(t,e){return Hi(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};E.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};E.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};E.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};E.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};E.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};E.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};E.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};E.DataBuffer.prototype.getInt=function(t){Hi(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};E.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};E.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};E.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};E.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};E.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};E.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};E.DataBuffer.prototype.copy=function(){return new E.DataBuffer(this)};E.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};E.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};E.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};E.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};E.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return E.binary.raw.encode(e);if(t==="hex")return E.binary.hex.encode(e);if(t==="base64")return E.binary.base64.encode(e);if(t==="utf8")return E.text.utf8.decode(e);if(t==="utf16")return E.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};E.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=E.encodeUtf8(t)),new E.ByteBuffer(t)};E.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};E.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};E.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};E.bytesToHex=function(t){return E.createBuffer(t).toHex()};E.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var Nr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",kr=[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],u0="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";E.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+=Nr.charAt(i>>2),r+=Nr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Nr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Nr.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
4
|
+
`,r=r.substr(e));return n+=r,n};E.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,o,s=0;s<t.length;)r=kr[t.charCodeAt(s++)-43],n=kr[t.charCodeAt(s++)-43],i=kr[t.charCodeAt(s++)-43],o=kr[t.charCodeAt(s++)-43],e+=String.fromCharCode(r<<2|n>>4),i!==64&&(e+=String.fromCharCode((n&15)<<4|i>>2),o!==64&&(e+=String.fromCharCode((i&3)<<6|o)));return e};E.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};E.decodeUtf8=function(t){return decodeURIComponent(escape(t))};E.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:c0.encode,decode:c0.decode}};E.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};E.binary.raw.decode=function(t,e,r){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};E.binary.hex.encode=E.bytesToHex;E.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,o=r;for(t.length&1&&(i=1,n[o++]=parseInt(t[0],16));i<t.length;i+=2)n[o++]=parseInt(t.substr(i,2),16);return e?o-r:n};E.binary.base64.encode=function(t,e){for(var r="",n="",i,o,s,a=0;a<t.byteLength;)i=t[a++],o=t[a++],s=t[a++],r+=Nr.charAt(i>>2),r+=Nr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Nr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Nr.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
5
|
+
`,r=r.substr(e));return n+=r,n};E.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=kr[t.charCodeAt(c++)-43],o=kr[t.charCodeAt(c++)-43],s=kr[t.charCodeAt(c++)-43],a=kr[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)};E.binary.base58.encode=function(t,e){return E.binary.baseN.encode(t,u0,e)};E.binary.base58.decode=function(t,e){return E.binary.baseN.decode(t,u0,e)};E.text={utf8:{},utf16:{}};E.text.utf8.encode=function(t,e,r){t=E.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};E.text.utf8.decode=function(t){return E.decodeUtf8(String.fromCharCode.apply(null,t))};E.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};E.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};E.deflate=function(t,e,r){if(e=E.decode64(t.deflate(E.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};E.inflate=function(t,e,r){var n=t.inflate(E.encode64(e)).rval;return n===null?null:E.decode64(n)};var ec=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=E.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}},tc=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(E.decode64(r))),r},g1=function(t,e,r,n){var i=tc(t,e);i===null&&(i={}),i[r]=n,ec(t,e,i)},x1=function(t,e,r){var n=tc(t,e);return n!==null&&(n=r in n?n[r]:null),n},E1=function(t,e,r){var n=tc(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),ec(t,e,n)}},w1=function(t,e){ec(t,e,null)},zo=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};E.setItem=function(t,e,r,n,i){zo(g1,arguments,i)};E.getItem=function(t,e,r,n){return zo(x1,arguments,n)};E.removeItem=function(t,e,r,n){zo(E1,arguments,n)};E.clearItems=function(t,e,r){zo(w1,arguments,r)};E.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};E.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("")};E.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)+"",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)+(o?s+Math.abs(i-u).toFixed(o).slice(2):"")};E.formatSize=function(t){return t>=1073741824?t=E.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=E.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=E.formatNumber(t/1024,0)+" KiB":t=E.formatNumber(t,0)+" bytes",t};E.bytesFromIP=function(t){return t.indexOf(".")!==-1?E.bytesFromIPv4(t):t.indexOf(":")!==-1?E.bytesFromIPv6(t):null};E.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=E.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};E.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=E.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=E.hexToBytes(t[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};E.bytesToIP=function(t){return t.length===4?E.bytesToIPv4(t):t.length===16?E.bytesToIPv6(t):null};E.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(".")};E.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=E.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(":")};E.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in E&&!t.update)return e(null,E.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return E.cores=navigator.hardwareConcurrency,e(null,E.cores);if(typeof Worker>"u")return E.cores=1,e(null,E.cores);if(typeof Blob>"u")return E.cores=2,e(null,E.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(l,f){return l+f},0)/s.length);return E.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,E.cores)}i(c,function(l,f){s.push(o(c,f)),n(s,a-1,c)})}function i(s,a){for(var c=[],u=[],l=0;l<s;++l){var f=new Worker(r);f.addEventListener("message",function(h){if(u.push(h.data),u.length===s){for(var p=0;p<s;++p)c[p].terminate();a(null,u)}}),c.push(f)}for(var l=0;l<s;++l)c[l].postMessage(l)}function o(s,a){for(var c=[],u=0;u<s;++u)for(var l=a[u],f=c[u]=[],h=0;h<s;++h)if(u!==h){var p=a[h];(l.st>p.st&&l.st<p.et||p.st>l.st&&p.st<l.et)&&f.push(h)}return c.reduce(function(d,m){return Math.max(d,m.length)},0)}}});var Go=O((rS,f0)=>{var zi=ye();zi.pki=zi.pki||{};var rc=f0.exports=zi.pki.oids=zi.oids=zi.oids||{};function B(t,e){rc[t]=e,rc[e]=t}function he(t,e){rc[t]=e}B("1.2.840.113549.1.1.1","rsaEncryption");B("1.2.840.113549.1.1.4","md5WithRSAEncryption");B("1.2.840.113549.1.1.5","sha1WithRSAEncryption");B("1.2.840.113549.1.1.7","RSAES-OAEP");B("1.2.840.113549.1.1.8","mgf1");B("1.2.840.113549.1.1.9","pSpecified");B("1.2.840.113549.1.1.10","RSASSA-PSS");B("1.2.840.113549.1.1.11","sha256WithRSAEncryption");B("1.2.840.113549.1.1.12","sha384WithRSAEncryption");B("1.2.840.113549.1.1.13","sha512WithRSAEncryption");B("1.3.101.112","EdDSA25519");B("1.2.840.10040.4.3","dsa-with-sha1");B("1.3.14.3.2.7","desCBC");B("1.3.14.3.2.26","sha1");B("1.3.14.3.2.29","sha1WithRSASignature");B("2.16.840.1.101.3.4.2.1","sha256");B("2.16.840.1.101.3.4.2.2","sha384");B("2.16.840.1.101.3.4.2.3","sha512");B("2.16.840.1.101.3.4.2.4","sha224");B("2.16.840.1.101.3.4.2.5","sha512-224");B("2.16.840.1.101.3.4.2.6","sha512-256");B("1.2.840.113549.2.2","md2");B("1.2.840.113549.2.5","md5");B("1.2.840.113549.1.7.1","data");B("1.2.840.113549.1.7.2","signedData");B("1.2.840.113549.1.7.3","envelopedData");B("1.2.840.113549.1.7.4","signedAndEnvelopedData");B("1.2.840.113549.1.7.5","digestedData");B("1.2.840.113549.1.7.6","encryptedData");B("1.2.840.113549.1.9.1","emailAddress");B("1.2.840.113549.1.9.2","unstructuredName");B("1.2.840.113549.1.9.3","contentType");B("1.2.840.113549.1.9.4","messageDigest");B("1.2.840.113549.1.9.5","signingTime");B("1.2.840.113549.1.9.6","counterSignature");B("1.2.840.113549.1.9.7","challengePassword");B("1.2.840.113549.1.9.8","unstructuredAddress");B("1.2.840.113549.1.9.14","extensionRequest");B("1.2.840.113549.1.9.20","friendlyName");B("1.2.840.113549.1.9.21","localKeyId");B("1.2.840.113549.1.9.22.1","x509Certificate");B("1.2.840.113549.1.12.10.1.1","keyBag");B("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");B("1.2.840.113549.1.12.10.1.3","certBag");B("1.2.840.113549.1.12.10.1.4","crlBag");B("1.2.840.113549.1.12.10.1.5","secretBag");B("1.2.840.113549.1.12.10.1.6","safeContentsBag");B("1.2.840.113549.1.5.13","pkcs5PBES2");B("1.2.840.113549.1.5.12","pkcs5PBKDF2");B("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");B("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");B("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");B("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");B("1.2.840.113549.2.7","hmacWithSHA1");B("1.2.840.113549.2.8","hmacWithSHA224");B("1.2.840.113549.2.9","hmacWithSHA256");B("1.2.840.113549.2.10","hmacWithSHA384");B("1.2.840.113549.2.11","hmacWithSHA512");B("1.2.840.113549.3.7","des-EDE3-CBC");B("2.16.840.1.101.3.4.1.2","aes128-CBC");B("2.16.840.1.101.3.4.1.22","aes192-CBC");B("2.16.840.1.101.3.4.1.42","aes256-CBC");B("2.5.4.3","commonName");B("2.5.4.4","surname");B("2.5.4.5","serialNumber");B("2.5.4.6","countryName");B("2.5.4.7","localityName");B("2.5.4.8","stateOrProvinceName");B("2.5.4.9","streetAddress");B("2.5.4.10","organizationName");B("2.5.4.11","organizationalUnitName");B("2.5.4.12","title");B("2.5.4.13","description");B("2.5.4.15","businessCategory");B("2.5.4.17","postalCode");B("2.5.4.42","givenName");B("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");B("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");B("2.16.840.1.113730.1.1","nsCertType");B("2.16.840.1.113730.1.13","nsComment");he("2.5.29.1","authorityKeyIdentifier");he("2.5.29.2","keyAttributes");he("2.5.29.3","certificatePolicies");he("2.5.29.4","keyUsageRestriction");he("2.5.29.5","policyMapping");he("2.5.29.6","subtreesConstraint");he("2.5.29.7","subjectAltName");he("2.5.29.8","issuerAltName");he("2.5.29.9","subjectDirectoryAttributes");he("2.5.29.10","basicConstraints");he("2.5.29.11","nameConstraints");he("2.5.29.12","policyConstraints");he("2.5.29.13","basicConstraints");B("2.5.29.14","subjectKeyIdentifier");B("2.5.29.15","keyUsage");he("2.5.29.16","privateKeyUsagePeriod");B("2.5.29.17","subjectAltName");B("2.5.29.18","issuerAltName");B("2.5.29.19","basicConstraints");he("2.5.29.20","cRLNumber");he("2.5.29.21","cRLReason");he("2.5.29.22","expirationDate");he("2.5.29.23","instructionCode");he("2.5.29.24","invalidityDate");he("2.5.29.25","cRLDistributionPoints");he("2.5.29.26","issuingDistributionPoint");he("2.5.29.27","deltaCRLIndicator");he("2.5.29.28","issuingDistributionPoint");he("2.5.29.29","certificateIssuer");he("2.5.29.30","nameConstraints");B("2.5.29.31","cRLDistributionPoints");B("2.5.29.32","certificatePolicies");he("2.5.29.33","policyMappings");he("2.5.29.34","policyConstraints");B("2.5.29.35","authorityKeyIdentifier");he("2.5.29.36","policyConstraints");B("2.5.29.37","extKeyUsage");he("2.5.29.46","freshestCRL");he("2.5.29.54","inhibitAnyPolicy");B("1.3.6.1.4.1.11129.2.4.2","timestampList");B("1.3.6.1.5.5.7.1.1","authorityInfoAccess");B("1.3.6.1.5.5.7.3.1","serverAuth");B("1.3.6.1.5.5.7.3.2","clientAuth");B("1.3.6.1.5.5.7.3.3","codeSigning");B("1.3.6.1.5.5.7.3.4","emailProtection");B("1.3.6.1.5.5.7.3.8","timeStamping")});var Yi=O((nS,d0)=>{var Ae=ye();Me();Go();var M=d0.exports=Ae.asn1=Ae.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(Ae.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||Ae.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(Ae.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(Ae.util.isArray(t)){if(!Ae.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 Gi(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 b1=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;Gi(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=Ae.util.createBuffer(t));var r=t.length(),n=Yo(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 Yo(t,e,r,n){var i;Gi(t,e,2);var o=t.getByte();e--;var s=o&192,a=o&31;i=t.length();var c=b1(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,h=(o&32)===32;if(h)if(l=[],c===void 0)for(;;){if(Gi(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),l.push(Yo(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(Yo(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&s===M.Class.UNIVERSAL&&a===M.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&s===M.Class.UNIVERSAL&&a===M.Type.BITSTRING&&c>1){var p=t.read,d=e,m=0;if(a===M.Type.BITSTRING&&(Gi(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},g=Yo(t,e,r+1,y),x=i-t.length();e-=x,a==M.Type.BITSTRING&&x++;var w=g.tagClass;x===c&&(w===M.Class.UNIVERSAL||w===M.Class.CONTEXT_SPECIFIC)&&(l=[g])}catch{}l===void 0&&(t.read=p,e=d)}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===M.Type.BMPSTRING)for(l="";c>0;c-=2)Gi(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c),e-=c}var C=f===void 0?null:{bitStringContents:f};return M.create(s,a,h,l,C)}M.toDer=function(t){var e=Ae.util.createBuffer(),r=t.tagClass|t.type,n=Ae.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=Ae.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=Ae.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 l=parseInt(t.substr(u+1,2),10),f=parseInt(t.substr(u+4,2),10),h=l*60+f;h*=6e4,c==="+"?e.setTime(+e-h):e.setTime(+e+h)}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,l=!1;t.charAt(t.length-1)==="Z"&&(l=!0);var f=t.length-5,h=t.charAt(f);if(h==="+"||h==="-"){var p=parseInt(t.substr(f+1,2),10),d=parseInt(t.substr(f+4,2),10);u=p*60+d,u*=6e4,h==="+"&&(u*=-1),l=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),l?(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=Ae.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=Ae.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&&Ae.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 h0=/[^\\u0000-\\u00ff]/;M.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
|
6
6
|
`);for(var i="",o=0;o<e*r;++o)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case M.Class.UNIVERSAL:n+="Universal:";break;case M.Class.APPLICATION:n+="Application:";break;case M.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case M.Class.PRIVATE:n+="Private:";break}if(t.tagClass===M.Class.UNIVERSAL)switch(n+=t.type,t.type){case M.Type.NONE:n+=" (None)";break;case M.Type.BOOLEAN:n+=" (Boolean)";break;case M.Type.INTEGER:n+=" (Integer)";break;case M.Type.BITSTRING:n+=" (Bit string)";break;case M.Type.OCTETSTRING:n+=" (Octet string)";break;case M.Type.NULL:n+=" (Null)";break;case M.Type.OID:n+=" (Object Identifier)";break;case M.Type.ODESC:n+=" (Object Descriptor)";break;case M.Type.EXTERNAL:n+=" (External or Instance of)";break;case M.Type.REAL:n+=" (Real)";break;case M.Type.ENUMERATED:n+=" (Enumerated)";break;case M.Type.EMBEDDED:n+=" (Embedded PDV)";break;case M.Type.UTF8:n+=" (UTF8)";break;case M.Type.ROID:n+=" (Relative Object Identifier)";break;case M.Type.SEQUENCE:n+=" (Sequence)";break;case M.Type.SET:n+=" (Set)";break;case M.Type.PRINTABLESTRING:n+=" (Printable String)";break;case M.Type.IA5String:n+=" (IA5String (ASCII))";break;case M.Type.UTCTIME:n+=" (UTC time)";break;case M.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case M.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,Ae.pki&&Ae.pki.oids&&c in Ae.pki.oids&&(n+=" ("+Ae.pki.oids[c]+") ")}if(t.type===M.Type.INTEGER)try{n+=M.derToInteger(t.value)}catch{n+="0x"+Ae.util.bytesToHex(t.value)}else if(t.type===M.Type.BITSTRING){if(t.value.length>1?n+="0x"+Ae.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)Vf.test(t.value)||(n+="("+t.value+") "),n+="0x"+Ae.util.bytesToHex(t.value);else if(t.type===M.Type.UTF8)try{n+=Ae.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+Ae.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===M.Type.PRINTABLESTRING||t.type===M.Type.IA5String?n+=t.value:Vf.test(t.value)?n+="0x"+Ae.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var Ha=O((bA,Hf)=>{var Ye=ye();Oe();Hf.exports=Ye.cipher=Ye.cipher||{};Ye.cipher.algorithms=Ye.cipher.algorithms||{};Ye.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Ye.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Ye.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Ye.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Ye.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Ye.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Ye.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Ye.cipher.algorithms[t]=e};Ye.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Ye.cipher.algorithms?Ye.cipher.algorithms[t]:null};var $a=Ye.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)};$a.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=Ye.util.createBuffer(),this.output=t.output||Ye.util.createBuffer(),this.mode.start(e)};$a.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()};$a.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 Ga=O((vA,zf)=>{var We=ye();Oe();We.cipher=We.cipher||{};var re=zf.exports=We.cipher.modes=We.cipher.modes||{};re.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)};re.ecb.prototype.start=function(t){};re.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])};re.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])};re.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};re.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)};re.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)};re.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=Ko(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};re.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};re.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)};re.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};re.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)};re.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=We.util.createBuffer(),this._partialBytes=0};re.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Ko(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};re.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};re.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};re.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=We.util.createBuffer(),this._partialBytes=0};re.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Ko(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};re.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};re.ofb.prototype.decrypt=re.ofb.prototype.encrypt;re.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=We.util.createBuffer(),this._partialBytes=0};re.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Ko(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};re.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}qo(this._inBlock)};re.ctr.prototype.decrypt=re.ctr.prototype.encrypt;re.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=We.util.createBuffer(),this._partialBytes=0,this._R=3774873600};re.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=We.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=We.util.createBuffer(t.additionalData):r=We.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=We.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(za(n*8)))}this._inBlock=this._j0.slice(0),qo(this._inBlock),this._partialBytes=0,r=We.util.createBuffer(r),this._aDataLength=za(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()])};re.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),qo(this._inBlock)};re.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),qo(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};re.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=We.util.createBuffer();var n=this._aDataLength.concat(za(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};re.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};re.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)};re.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};re.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)};re.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};re.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 Ko(t,e){if(typeof t=="string"&&(t=We.util.createBuffer(t)),We.util.isArray(t)&&t.length>4){var r=t;t=We.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(!We.util.isArray(t)){for(var i=[],o=e/4,n=0;n<o;++n)i.push(t.getInt32());t=i}return t}function qo(t){t[t.length-1]=t[t.length-1]+1&4294967295}function za(t){return[t/4294967296|0,t&4294967295]}});var $o=O((_A,Qf)=>{var ve=ye();Ha();Ga();Oe();Qf.exports=ve.aes=ve.aes||{};ve.aes.startEncrypting=function(t,e,r,n){var i=Vo({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};ve.aes.createEncryptionCipher=function(t,e){return Vo({key:t,output:null,decrypt:!1,mode:e})};ve.aes.startDecrypting=function(t,e,r,n){var i=Vo({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};ve.aes.createDecryptionCipher=function(t,e){return Vo({key:t,output:null,decrypt:!0,mode:e})};ve.aes.Algorithm=function(t,e){Qa||Yf();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Wa(r._w,n,i,!1)},decrypt:function(n,i){return Wa(r._w,n,i,!0)}}}),r._init=!1};ve.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=ve.util.createBuffer(e);else if(ve.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=ve.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!ve.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(!ve.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=Wf(e,t.decrypt&&!s),this._init=!0}};ve.aes._expandKey=function(t,e){return Qa||Yf(),Wf(t,e)};ve.aes._updateBlock=Wa;Gn("AES-ECB",ve.cipher.modes.ecb);Gn("AES-CBC",ve.cipher.modes.cbc);Gn("AES-CFB",ve.cipher.modes.cfb);Gn("AES-OFB",ve.cipher.modes.ofb);Gn("AES-CTR",ve.cipher.modes.ctr);Gn("AES-GCM",ve.cipher.modes.gcm);function Gn(t,e){var r=function(){return new ve.aes.Algorithm(t,e)};ve.cipher.registerAlgorithm(t,r)}var Qa=!1,zn=4,ft,Ya,Gf,rn,Dt;function Yf(){Qa=!0,Gf=[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),Ya=new Array(256),rn=new Array(4),Dt=new Array(4);for(var e=0;e<4;++e)rn[e]=new Array(256),Dt[e]=new Array(256);for(var r=0,n=0,i,o,s,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,ft[r]=a,Ya[a]=r,c=t[a],i=t[r],o=t[i],s=t[o],u=c<<24^a<<16^a<<8^(a^c),l=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var f=0;f<4;++f)rn[f][r]=u,Dt[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;r===0?r=n=1:(r=i^t[t[t[i^s]]],n^=t[t[n]])}}function Wf(t,e){for(var r=t.slice(0),n,i=1,o=r.length,s=o+6+1,a=zn*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]^Gf[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,l=Dt[0],f=Dt[1],h=Dt[2],p=Dt[3],d=r.slice(0);a=r.length;for(var c=0,m=a-zn;c<a;c+=zn,m-=zn)if(c===0||c===a-zn)d[c]=r[m],d[c+1]=r[m+3],d[c+2]=r[m+2],d[c+3]=r[m+1];else for(var y=0;y<zn;++y)u=r[m+y],d[c+(3&-y)]=l[ft[u>>>24]]^f[ft[u>>>16&255]]^h[ft[u>>>8&255]]^p[ft[u&255]];r=d}return r}function Wa(t,e,r,n){var i=t.length/4-1,o,s,a,c,u;n?(o=Dt[0],s=Dt[1],a=Dt[2],c=Dt[3],u=Ya):(o=rn[0],s=rn[1],a=rn[2],c=rn[3],u=ft);var l,f,h,p,d,m,y;l=e[0]^t[0],f=e[n?3:1]^t[1],h=e[2]^t[2],p=e[n?1:3]^t[3];for(var g=3,x=1;x<i;++x)d=o[l>>>24]^s[f>>>16&255]^a[h>>>8&255]^c[p&255]^t[++g],m=o[f>>>24]^s[h>>>16&255]^a[p>>>8&255]^c[l&255]^t[++g],y=o[h>>>24]^s[p>>>16&255]^a[l>>>8&255]^c[f&255]^t[++g],p=o[p>>>24]^s[l>>>16&255]^a[f>>>8&255]^c[h&255]^t[++g],l=d,f=m,h=y;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[h>>>8&255]<<8^u[p&255]^t[++g],r[n?3:1]=u[f>>>24]<<24^u[h>>>16&255]<<16^u[p>>>8&255]<<8^u[l&255]^t[++g],r[2]=u[h>>>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[h&255]^t[++g]}function Vo(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=ve.cipher.createDecipher(r,t.key):n=ve.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof ve.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var jf=O((AA,Zf)=>{var Ie=ye();Ha();Ga();Oe();Zf.exports=Ie.des=Ie.des||{};Ie.des.startEncrypting=function(t,e,r,n){var i=Ho({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};Ie.des.createEncryptionCipher=function(t,e){return Ho({key:t,output:null,decrypt:!1,mode:e})};Ie.des.startDecrypting=function(t,e,r,n){var i=Ho({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};Ie.des.createDecryptionCipher=function(t,e){return Ho({key:t,output:null,decrypt:!0,mode:e})};Ie.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return Xf(r._keys,n,i,!1)},decrypt:function(n,i){return Xf(r._keys,n,i,!0)}}}),r._init=!1};Ie.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=Ie.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=Zg(e),this._init=!0}};Yt("DES-ECB",Ie.cipher.modes.ecb);Yt("DES-CBC",Ie.cipher.modes.cbc);Yt("DES-CFB",Ie.cipher.modes.cfb);Yt("DES-OFB",Ie.cipher.modes.ofb);Yt("DES-CTR",Ie.cipher.modes.ctr);Yt("3DES-ECB",Ie.cipher.modes.ecb);Yt("3DES-CBC",Ie.cipher.modes.cbc);Yt("3DES-CFB",Ie.cipher.modes.cfb);Yt("3DES-OFB",Ie.cipher.modes.ofb);Yt("3DES-CTR",Ie.cipher.modes.ctr);function Yt(t,e){var r=function(){return new Ie.des.Algorithm(t,e)};Ie.cipher.registerAlgorithm(t,r)}var $g=[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],Hg=[-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],zg=[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],Gg=[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],Yg=[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],Wg=[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],Qg=[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],Xg=[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 Zg(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],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],h=[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],d=[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,w,C=0;C<m;C++){var _=t.getInt32(),A=t.getInt32();w=(_>>>4^A)&252645135,A^=w,_^=w<<4,w=(A>>>-16^_)&65535,_^=w,A^=w<<-16,w=(_>>>2^A)&858993459,A^=w,_^=w<<2,w=(A>>>-16^_)&65535,_^=w,A^=w<<-16,w=(_>>>1^A)&1431655765,A^=w,_^=w<<1,w=(A>>>8^_)&16711935,_^=w,A^=w<<8,w=(_>>>1^A)&1431655765,A^=w,_^=w<<1,w=_<<8|A>>>20&240,_=A<<24|A<<8&16711680|A>>>8&65280|A>>>24&240,A=w;for(var P=0;P<g.length;++P){g[P]?(_=_<<2|_>>>26,A=A<<2|A>>>26):(_=_<<1|_>>>27,A=A<<1|A>>>27),_&=-15,A&=-15;var D=e[_>>>28]|r[_>>>24&15]|n[_>>>20&15]|i[_>>>16&15]|o[_>>>12&15]|s[_>>>8&15]|a[_>>>4&15],W=c[A>>>28]|u[A>>>24&15]|l[A>>>20&15]|f[A>>>16&15]|h[A>>>12&15]|p[A>>>8&15]|d[A>>>4&15];w=(W>>>16^D)&65535,y[x++]=D^w,y[x++]=W^w<<16}}return y}function Xf(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 l=o[u+1],f=o[u+2],h=o[u];h!=l;h+=f){var p=c^t[h],d=(c>>>4|c<<28)^t[h+1];s=a,a=c,c=s^(Hg[p>>>24&63]|Gg[p>>>16&63]|Wg[p>>>8&63]|Xg[p&63]|$g[d>>>24&63]|zg[d>>>16&63]|Yg[d>>>8&63]|Qg[d&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 Ho(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=Ie.cipher.createDecipher(r,t.key):n=Ie.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof Ie.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var nn=O((SA,Jf)=>{var zo=ye();Jf.exports=zo.md=zo.md||{};zo.md.algorithms=zo.md.algorithms||{}});var t0=O((IA,e0)=>{var cr=ye();nn();Oe();var jg=e0.exports=cr.hmac=cr.hmac||{};jg.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 cr.md.algorithms)e=cr.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=cr.util.createBuffer(s);else if(cr.util.isArray(s)){var a=s;s=cr.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=cr.util.createBuffer(),n=cr.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 Vi=O(()=>{});var Xa=O((TA,r0)=>{var ht=ye();t0();nn();Oe();var Jg=ht.pkcs5=ht.pkcs5||{},ur;ht.util.isNodejs&&!ht.options.usePureJavaScript&&(ur=Vi());r0.exports=ht.pbkdf2=Jg.pbkdf2=function(t,e,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),ht.util.isNodejs&&!ht.options.usePureJavaScript&&ur.pbkdf2&&(i===null||typeof i!="object")&&(ur.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),o?ur.pbkdf2Sync.length===4?ur.pbkdf2(t,e,r,n,function(w,C){if(w)return o(w);o(null,C.toString("binary"))}):ur.pbkdf2(t,e,r,n,i,function(w,C){if(w)return o(w);o(null,C.toString("binary"))}):ur.pbkdf2Sync.length===4?ur.pbkdf2Sync(t,e,r,n).toString("binary"):ur.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in ht.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=ht.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,l=ht.hmac.create();l.start(i,t);var f="",h,p,d;if(!o){for(var m=1;m<=c;++m){l.start(null,null),l.update(e),l.update(ht.util.int32ToBytes(m)),h=d=l.digest().getBytes();for(var y=2;y<=r;++y)l.start(null,null),l.update(d),p=l.digest().getBytes(),h=ht.util.xorBytes(h,p,s),d=p;f+=m<c?h:h.substr(0,u)}return f}var m=1,y;function g(){if(m>c)return o(null,f);l.start(null,null),l.update(e),l.update(ht.util.int32ToBytes(m)),h=d=l.digest().getBytes(),y=2,x()}function x(){if(y<=r)return l.start(null,null),l.update(d),p=l.digest().getBytes(),h=ht.util.xorBytes(h,p,s),d=p,++y,ht.util.setImmediate(x);f+=m<c?h:h.substr(0,u),++m,g()}g()}});var o0=O((BA,i0)=>{var Yo=ye();Oe();var n0=i0.exports=Yo.pem=Yo.pem||{};n0.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 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,Ae.pki&&Ae.pki.oids&&c in Ae.pki.oids&&(n+=" ("+Ae.pki.oids[c]+") ")}if(t.type===M.Type.INTEGER)try{n+=M.derToInteger(t.value)}catch{n+="0x"+Ae.util.bytesToHex(t.value)}else if(t.type===M.Type.BITSTRING){if(t.value.length>1?n+="0x"+Ae.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)h0.test(t.value)||(n+="("+t.value+") "),n+="0x"+Ae.util.bytesToHex(t.value);else if(t.type===M.Type.UTF8)try{n+=Ae.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+Ae.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===M.Type.PRINTABLESTRING||t.type===M.Type.IA5String?n+=t.value:h0.test(t.value)?n+="0x"+Ae.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var ic=O((iS,p0)=>{var Qe=ye();Me();p0.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 nc=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)};nc.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)};nc.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()};nc.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 sc=O((oS,m0)=>{var Xe=ye();Me();Xe.cipher=Xe.cipher||{};var re=m0.exports=Xe.cipher.modes=Xe.cipher.modes||{};re.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)};re.ecb.prototype.start=function(t){};re.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])};re.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])};re.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};re.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)};re.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)};re.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=Wo(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};re.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};re.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)};re.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};re.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)};re.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=Xe.util.createBuffer(),this._partialBytes=0};re.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Wo(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};re.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};re.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};re.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=Xe.util.createBuffer(),this._partialBytes=0};re.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Wo(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};re.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};re.ofb.prototype.decrypt=re.ofb.prototype.encrypt;re.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=Xe.util.createBuffer(),this._partialBytes=0};re.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Wo(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};re.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}Qo(this._inBlock)};re.ctr.prototype.decrypt=re.ctr.prototype.encrypt;re.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=Xe.util.createBuffer(),this._partialBytes=0,this._R=3774873600};re.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=Xe.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Xe.util.createBuffer(t.additionalData):r=Xe.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Xe.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(oc(n*8)))}this._inBlock=this._j0.slice(0),Qo(this._inBlock),this._partialBytes=0,r=Xe.util.createBuffer(r),this._aDataLength=oc(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()])};re.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),Qo(this._inBlock)};re.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),Qo(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};re.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=Xe.util.createBuffer();var n=this._aDataLength.concat(oc(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};re.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};re.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)};re.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};re.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)};re.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};re.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 Wo(t,e){if(typeof t=="string"&&(t=Xe.util.createBuffer(t)),Xe.util.isArray(t)&&t.length>4){var r=t;t=Xe.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(!Xe.util.isArray(t)){for(var i=[],o=e/4,n=0;n<o;++n)i.push(t.getInt32());t=i}return t}function Qo(t){t[t.length-1]=t[t.length-1]+1&4294967295}function oc(t){return[t/4294967296|0,t&4294967295]}});var Zo=O((sS,E0)=>{var ve=ye();ic();sc();Me();E0.exports=ve.aes=ve.aes||{};ve.aes.startEncrypting=function(t,e,r,n){var i=Xo({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};ve.aes.createEncryptionCipher=function(t,e){return Xo({key:t,output:null,decrypt:!1,mode:e})};ve.aes.startDecrypting=function(t,e,r,n){var i=Xo({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};ve.aes.createDecryptionCipher=function(t,e){return Xo({key:t,output:null,decrypt:!0,mode:e})};ve.aes.Algorithm=function(t,e){uc||g0();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return cc(r._w,n,i,!1)},decrypt:function(n,i){return cc(r._w,n,i,!0)}}}),r._init=!1};ve.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=ve.util.createBuffer(e);else if(ve.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=ve.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!ve.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(!ve.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=x0(e,t.decrypt&&!s),this._init=!0}};ve.aes._expandKey=function(t,e){return uc||g0(),x0(t,e)};ve.aes._updateBlock=cc;jn("AES-ECB",ve.cipher.modes.ecb);jn("AES-CBC",ve.cipher.modes.cbc);jn("AES-CFB",ve.cipher.modes.cfb);jn("AES-OFB",ve.cipher.modes.ofb);jn("AES-CTR",ve.cipher.modes.ctr);jn("AES-GCM",ve.cipher.modes.gcm);function jn(t,e){var r=function(){return new ve.aes.Algorithm(t,e)};ve.cipher.registerAlgorithm(t,r)}var uc=!1,Zn=4,pt,ac,y0,un,Ot;function g0(){uc=!0,y0=[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;pt=new Array(256),ac=new Array(256),un=new Array(4),Ot=new Array(4);for(var e=0;e<4;++e)un[e]=new Array(256),Ot[e]=new Array(256);for(var r=0,n=0,i,o,s,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,pt[r]=a,ac[a]=r,c=t[a],i=t[r],o=t[i],s=t[o],u=c<<24^a<<16^a<<8^(a^c),l=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var f=0;f<4;++f)un[f][r]=u,Ot[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;r===0?r=n=1:(r=i^t[t[t[i^s]]],n^=t[t[n]])}}function x0(t,e){for(var r=t.slice(0),n,i=1,o=r.length,s=o+6+1,a=Zn*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=pt[n>>>16&255]<<24^pt[n>>>8&255]<<16^pt[n&255]<<8^pt[n>>>24]^y0[i]<<24,i++):o>6&&c%o===4&&(n=pt[n>>>24]<<24^pt[n>>>16&255]<<16^pt[n>>>8&255]<<8^pt[n&255]),r[c]=r[c-o]^n;if(e){var u,l=Ot[0],f=Ot[1],h=Ot[2],p=Ot[3],d=r.slice(0);a=r.length;for(var c=0,m=a-Zn;c<a;c+=Zn,m-=Zn)if(c===0||c===a-Zn)d[c]=r[m],d[c+1]=r[m+3],d[c+2]=r[m+2],d[c+3]=r[m+1];else for(var y=0;y<Zn;++y)u=r[m+y],d[c+(3&-y)]=l[pt[u>>>24]]^f[pt[u>>>16&255]]^h[pt[u>>>8&255]]^p[pt[u&255]];r=d}return r}function cc(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=ac):(o=un[0],s=un[1],a=un[2],c=un[3],u=pt);var l,f,h,p,d,m,y;l=e[0]^t[0],f=e[n?3:1]^t[1],h=e[2]^t[2],p=e[n?1:3]^t[3];for(var g=3,x=1;x<i;++x)d=o[l>>>24]^s[f>>>16&255]^a[h>>>8&255]^c[p&255]^t[++g],m=o[f>>>24]^s[h>>>16&255]^a[p>>>8&255]^c[l&255]^t[++g],y=o[h>>>24]^s[p>>>16&255]^a[l>>>8&255]^c[f&255]^t[++g],p=o[p>>>24]^s[l>>>16&255]^a[f>>>8&255]^c[h&255]^t[++g],l=d,f=m,h=y;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[h>>>8&255]<<8^u[p&255]^t[++g],r[n?3:1]=u[f>>>24]<<24^u[h>>>16&255]<<16^u[p>>>8&255]<<8^u[l&255]^t[++g],r[2]=u[h>>>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[h&255]^t[++g]}function Xo(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=ve.cipher.createDecipher(r,t.key):n=ve.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof ve.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var v0=O((aS,b0)=>{var Ie=ye();ic();sc();Me();b0.exports=Ie.des=Ie.des||{};Ie.des.startEncrypting=function(t,e,r,n){var i=jo({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};Ie.des.createEncryptionCipher=function(t,e){return jo({key:t,output:null,decrypt:!1,mode:e})};Ie.des.startDecrypting=function(t,e,r,n){var i=jo({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};Ie.des.createDecryptionCipher=function(t,e){return jo({key:t,output:null,decrypt:!0,mode:e})};Ie.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return w0(r._keys,n,i,!1)},decrypt:function(n,i){return w0(r._keys,n,i,!0)}}}),r._init=!1};Ie.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=Ie.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=B1(e),this._init=!0}};Zt("DES-ECB",Ie.cipher.modes.ecb);Zt("DES-CBC",Ie.cipher.modes.cbc);Zt("DES-CFB",Ie.cipher.modes.cfb);Zt("DES-OFB",Ie.cipher.modes.ofb);Zt("DES-CTR",Ie.cipher.modes.ctr);Zt("3DES-ECB",Ie.cipher.modes.ecb);Zt("3DES-CBC",Ie.cipher.modes.cbc);Zt("3DES-CFB",Ie.cipher.modes.cfb);Zt("3DES-OFB",Ie.cipher.modes.ofb);Zt("3DES-CTR",Ie.cipher.modes.ctr);function Zt(t,e){var r=function(){return new Ie.des.Algorithm(t,e)};Ie.cipher.registerAlgorithm(t,r)}var v1=[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],_1=[-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],A1=[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],S1=[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],I1=[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],R1=[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],C1=[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],T1=[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 B1(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],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],h=[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],d=[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,w,C=0;C<m;C++){var _=t.getInt32(),A=t.getInt32();w=(_>>>4^A)&252645135,A^=w,_^=w<<4,w=(A>>>-16^_)&65535,_^=w,A^=w<<-16,w=(_>>>2^A)&858993459,A^=w,_^=w<<2,w=(A>>>-16^_)&65535,_^=w,A^=w<<-16,w=(_>>>1^A)&1431655765,A^=w,_^=w<<1,w=(A>>>8^_)&16711935,_^=w,A^=w<<8,w=(_>>>1^A)&1431655765,A^=w,_^=w<<1,w=_<<8|A>>>20&240,_=A<<24|A<<8&16711680|A>>>8&65280|A>>>24&240,A=w;for(var P=0;P<g.length;++P){g[P]?(_=_<<2|_>>>26,A=A<<2|A>>>26):(_=_<<1|_>>>27,A=A<<1|A>>>27),_&=-15,A&=-15;var D=e[_>>>28]|r[_>>>24&15]|n[_>>>20&15]|i[_>>>16&15]|o[_>>>12&15]|s[_>>>8&15]|a[_>>>4&15],W=c[A>>>28]|u[A>>>24&15]|l[A>>>20&15]|f[A>>>16&15]|h[A>>>12&15]|p[A>>>8&15]|d[A>>>4&15];w=(W>>>16^D)&65535,y[x++]=D^w,y[x++]=W^w<<16}}return y}function w0(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 l=o[u+1],f=o[u+2],h=o[u];h!=l;h+=f){var p=c^t[h],d=(c>>>4|c<<28)^t[h+1];s=a,a=c,c=s^(_1[p>>>24&63]|S1[p>>>16&63]|R1[p>>>8&63]|T1[p&63]|v1[d>>>24&63]|A1[d>>>16&63]|I1[d>>>8&63]|C1[d&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 jo(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=Ie.cipher.createDecipher(r,t.key):n=Ie.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof Ie.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var ln=O((cS,_0)=>{var Jo=ye();_0.exports=Jo.md=Jo.md||{};Jo.md.algorithms=Jo.md.algorithms||{}});var S0=O((uS,A0)=>{var pr=ye();ln();Me();var L1=A0.exports=pr.hmac=pr.hmac||{};L1.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 pr.md.algorithms)e=pr.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=pr.util.createBuffer(s);else if(pr.util.isArray(s)){var a=s;s=pr.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=pr.util.createBuffer(),n=pr.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 Wi=O(()=>{});var lc=O((hS,I0)=>{var mt=ye();S0();ln();Me();var P1=mt.pkcs5=mt.pkcs5||{},mr;mt.util.isNodejs&&!mt.options.usePureJavaScript&&(mr=Wi());I0.exports=mt.pbkdf2=P1.pbkdf2=function(t,e,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),mt.util.isNodejs&&!mt.options.usePureJavaScript&&mr.pbkdf2&&(i===null||typeof i!="object")&&(mr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),o?mr.pbkdf2Sync.length===4?mr.pbkdf2(t,e,r,n,function(w,C){if(w)return o(w);o(null,C.toString("binary"))}):mr.pbkdf2(t,e,r,n,i,function(w,C){if(w)return o(w);o(null,C.toString("binary"))}):mr.pbkdf2Sync.length===4?mr.pbkdf2Sync(t,e,r,n).toString("binary"):mr.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in mt.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=mt.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,l=mt.hmac.create();l.start(i,t);var f="",h,p,d;if(!o){for(var m=1;m<=c;++m){l.start(null,null),l.update(e),l.update(mt.util.int32ToBytes(m)),h=d=l.digest().getBytes();for(var y=2;y<=r;++y)l.start(null,null),l.update(d),p=l.digest().getBytes(),h=mt.util.xorBytes(h,p,s),d=p;f+=m<c?h:h.substr(0,u)}return f}var m=1,y;function g(){if(m>c)return o(null,f);l.start(null,null),l.update(e),l.update(mt.util.int32ToBytes(m)),h=d=l.digest().getBytes(),y=2,x()}function x(){if(y<=r)return l.start(null,null),l.update(d),p=l.digest().getBytes(),h=mt.util.xorBytes(h,p,s),d=p,++y,mt.util.setImmediate(x);f+=m<c?h:h.substr(0,u),++m,g()}g()}});var T0=O((dS,C0)=>{var ts=ye();Me();var R0=C0.exports=ts.pem=ts.pem||{};R0.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+=es(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=es(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=es(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=es(t.headers[i]);return t.procType&&(r+=`\r
|
|
10
|
+
`),r+=ts.util.encode64(t.body,e.maxline||64)+`\r
|
|
11
11
|
`,r+="-----END "+t.type+`-----\r
|
|
12
|
-
`,r};
|
|
12
|
+
`,r};R0.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/,o;o=r.exec(t),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:ts.util.decode64(o[3])};if(e.push(a),!!o[2]){for(var c=o[2].split(i),u=0;o&&u<c.length;){for(var l=c[u].replace(/\s+$/,""),f=u+1;f<c.length;++f){var h=c[f];if(!/\s/.test(h[0]))break;l+=h,u=f}if(o=l.match(n),o){for(var p={name:o[1],values:[]},d=o[2].split(","),m=0;m<d.length;++m)p.values.push(D1(d[m]));if(a.procType)if(!a.contentDomain&&p.name==="Content-Domain")a.contentDomain=d[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:d[0],parameters:d[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:d[0],type:d[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 es(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
13
|
`;for(var o=0,s=-1,i=0;i<e.length;++i,++o)if(o>65&&s!==-1){var a=e[s];a===","?(++s,e=e.substr(0,s)+`\r
|
|
14
14
|
`+e.substr(s)):e=e.substr(0,s)+`\r
|
|
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 e1(t){return t.replace(/^\s+/,"")}});var f0=O((LA,l0)=>{var Wt=ye();nn();Oe();var a0=l0.exports=Wt.sha256=Wt.sha256||{};Wt.md.sha256=Wt.md.algorithms.sha256=a0;a0.create=function(){c0||t1();var t=null,e=Wt.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=Wt.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=Wt.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),s0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Wt.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Za.substr(0,n.blockLength-s));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};s0(f,r,i);var h=Wt.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h.putInt32(f.h5),h.putInt32(f.h6),h.putInt32(f.h7),h},n};var Za=null,c0=!1,u0=null;function t1(){Za=String.fromCharCode(128),Za+=Wt.util.fillString(String.fromCharCode(0),64),u0=[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],c0=!0}function s0(t,e,r){for(var n,i,o,s,a,c,u,l,f,h,p,d,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,h=t.h2,p=t.h3,d=t.h4,m=t.h5,y=t.h6,g=t.h7,u=0;u<64;++u)s=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),a=y^d&(m^y),o=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|h&(l^f),n=g+s+a+u0[u]+e[u],i=o+c,g=y,y=m,m=d,d=p+n>>>0,p=h,h=f,f=l,l=n+i>>>0;t.h0=t.h0+l|0,t.h1=t.h1+f|0,t.h2=t.h2+h|0,t.h3=t.h3+p|0,t.h4=t.h4+d|0,t.h5=t.h5+m|0,t.h6=t.h6+y|0,t.h7=t.h7+g|0,x-=64}}});var d0=O((PA,h0)=>{var Qt=ye();Oe();var Wo=null;Qt.util.isNodejs&&!Qt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Wo=Vi());var r1=h0.exports=Qt.prng=Qt.prng||{};r1.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,h=e.plugin.increment,p=e.plugin.formatKey,d=e.plugin.formatSeed,m=Qt.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 Qt.util.nextTick(function(){o(y)});var x=f(e.key,e.seed);e.generated+=x.length,m.putBytes(x),e.key=p(f(e.key,h(e.seed))),e.seed=d(f(e.key,e.seed)),Qt.util.setImmediate(y)}},e.generateSync=function(u){var l=e.plugin.cipher,f=e.plugin.increment,h=e.plugin.formatKey,p=e.plugin.formatSeed;e.key=null;for(var d=Qt.util.createBuffer();d.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&s();var m=l(e.key,e.seed);e.generated+=m.length,d.putBytes(m),e.key=h(l(e.key,f(e.seed))),e.seed=p(l(e.key,e.seed))}return d.getBytes(u)};function o(u){if(e.pools[0].messageLength>=32)return a(),u();var l=32-e.pools[0].messageLength<<5;e.seedFile(l,function(f,h){if(f)return u(f);e.collect(h),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 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 h=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(h),e.generated=0}function c(u){var l=null,f=Qt.util.globalScope,h=f.crypto||f.msCrypto;h&&h.getRandomValues&&(l=function(_){return h.getRandomValues(_)});var p=Qt.util.createBuffer();if(l)for(;p.length()<u;){var d=Math.max(1,Math.min(u-p.length(),65536)/4),m=new Uint32Array(Math.floor(d));try{l(m);for(var y=0;y<m.length;++y)p.putInt32(m[y])}catch(_){if(!(typeof QuotaExceededError<"u"&&_ instanceof QuotaExceededError))throw _}}if(p.length()<u)for(var g,x,w,C=Math.floor(Math.random()*65536);p.length()<u;){x=16807*(C&65535),g=16807*(C>>16),x+=(g&32767)<<16,x+=g>>15,x=(x&2147483647)+(x>>31),C=x&4294967295;for(var y=0;y<3;++y)w=C>>>(y<<3),w^=Math.floor(Math.random()*256),p.putByte(w&255)}return p.getBytes(u)}return Wo?(e.seedFile=function(u,l){Wo.randomBytes(u,function(f,h){if(f)return l(f);l(null,h.toString())})},e.seedFileSync=function(u){return Wo.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="",h=0;h<l;h+=8)f+=String.fromCharCode(u>>h&255);e.collect(f)},e.registerWorker=function(u){if(u===self)e.seedFile=function(f,h){function p(d){var m=d.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",p),h(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",p),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var h=f.data;h.forge&&h.forge.prng&&e.seedFile(h.forge.prng.needed,function(p,d){u.postMessage({forge:{prng:{err:p,bytes:d}}})})};u.addEventListener("message",l)}},e}});var $i=O((DA,ja)=>{var Qe=ye();$o();f0();d0();Oe();(function(){if(Qe.random&&Qe.random.getBytes){ja.exports=Qe.random;return}(function(t){var e={},r=new Array(4),n=Qe.util.createBuffer();e.formatKey=function(f){var h=Qe.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),Qe.aes._expandKey(f,!1)},e.formatSeed=function(f){var h=Qe.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),f},e.cipher=function(f,h){return Qe.aes._updateBlock(f,h,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=Qe.md.sha256;function i(){var f=Qe.prng.create(e);return f.getBytes=function(h,p){return f.generate(h,p)},f.getBytesSync=function(h){return f.generate(h)},f}var o=i(),s=null,a=Qe.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(f){return c.getRandomValues(f)}),Qe.options.usePureJavaScript||!Qe.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch{}o.collect(u),u=null}t&&(t().mousemove(function(f){o.collectInt(f.clientX,16),o.collectInt(f.clientY,16)}),t().keypress(function(f){o.collectInt(f.charCode,8)}))}if(!Qe.random)Qe.random=o;else for(var l in o)Qe.random[l]=o[l];Qe.random.createInstance=i,ja.exports=Qe.random})(typeof jQuery<"u"?jQuery:null)})()});var g0=O((NA,y0)=>{var pt=ye();Oe();var Ja=[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],p0=[1,2,3,5],n1=function(t,e){return t<<e&65535|(t&65535)>>16-e},i1=function(t,e){return(t&65535)>>e|t<<16-e&65535};y0.exports=pt.rc2=pt.rc2||{};pt.rc2.expandKey=function(t,e){typeof t=="string"&&(t=pt.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(Ja[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,Ja[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,Ja[r.at(a+1)^r.at(a+o)]);return r};var m0=function(t,e,r){var n=!1,i=null,o=null,s=null,a,c,u,l,f=[];for(t=pt.rc2.expandKey(t,e),u=0;u<64;u++)f.push(t.getInt16Le());r?(a=function(d){for(u=0;u<4;u++)d[u]+=f[l]+(d[(u+3)%4]&d[(u+2)%4])+(~d[(u+3)%4]&d[(u+1)%4]),d[u]=n1(d[u],p0[u]),l++},c=function(d){for(u=0;u<4;u++)d[u]+=f[d[(u+3)%4]&63]}):(a=function(d){for(u=3;u>=0;u--)d[u]=i1(d[u],p0[u]),d[u]-=f[l]+(d[(u+3)%4]&d[(u+2)%4])+(~d[(u+3)%4]&d[(u+1)%4]),l--},c=function(d){for(u=3;u>=0;u--)d[u]-=f[d[(u+3)%4]&63]});var h=function(d){var m=[];for(u=0;u<4;u++){var y=i.getInt16Le();s!==null&&(r?y^=s.getInt16Le():s.putInt16Le(y)),m.push(y&65535)}l=r?0:63;for(var g=0;g<d.length;g++)for(var x=0;x<d[g][0];x++)d[g][1](m);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(m[u]):m[u]^=s.getInt16Le()),o.putInt16Le(m[u])},p=null;return p={start:function(d,m){d&&typeof d=="string"&&(d=pt.util.createBuffer(d)),n=!1,i=pt.util.createBuffer(),o=m||new pt.util.createBuffer,s=d,p.output=o},update:function(d){for(n||i.putBuffer(d);i.length()>=8;)h([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(d){var m=!0;if(r)if(d)m=d(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(d)m=d(8,o,!r);else{var g=o.length(),x=o.at(g-1);x>g?m=!1:o.truncate(x)}return m}},p};pt.rc2.startEncrypting=function(t,e,r){var n=pt.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};pt.rc2.createEncryptionCipher=function(t,e){return m0(t,e,!0)};pt.rc2.startDecrypting=function(t,e,r){var n=pt.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};pt.rc2.createDecryptionCipher=function(t,e){return m0(t,e,!1)}});var Zo=O((kA,S0)=>{var ec=ye();S0.exports=ec.jsbn=ec.jsbn||{};var lr,o1=0xdeadbeefcafe,x0=(o1&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))}ec.jsbn.BigInteger=R;function ue(){return new R(null)}function s1(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 a1(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,l=a*c+u*s;c=s*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 E0(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,l=a*c+u*s;c=s*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=E0,lr=28):x0&&navigator.appName=="Microsoft Internet Explorer"?(R.prototype.am=a1,lr=30):x0&&navigator.appName!="Netscape"?(R.prototype.am=s1,lr=26):(R.prototype.am=E0,lr=28);R.prototype.DB=lr;R.prototype.DM=(1<<lr)-1;R.prototype.DV=1<<lr;var tc=52;R.prototype.FV=Math.pow(2,tc);R.prototype.F1=tc-lr;R.prototype.F2=2*lr-tc;var c1="0123456789abcdefghijklmnopqrstuvwxyz",Qo=new Array,Yn,Rt;Yn="0".charCodeAt(0);for(Rt=0;Rt<=9;++Rt)Qo[Yn++]=Rt;Yn="a".charCodeAt(0);for(Rt=10;Rt<36;++Rt)Qo[Yn++]=Rt;Yn="A".charCodeAt(0);for(Rt=10;Rt<36;++Rt)Qo[Yn++]=Rt;function w0(t){return c1.charAt(t)}function b0(t,e){var r=Qo[t.charCodeAt(e)];return r??-1}function u1(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 l1(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 Br(t){var e=ue();return e.fromInt(t),e}function f1(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:b0(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&&R.ZERO.subTo(this,this)}function h1(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function d1(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=w0(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+=w0(n));return i?o:"0"}function p1(){var t=ue();return R.ZERO.subTo(this,t),t}function m1(){return this.s<0?this.negate():this}function y1(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 Xo(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 g1(){return this.t<=0?0:this.DB*(this.t-1)+Xo(this.data[this.t-1]^this.s&this.DM)}function x1(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 E1(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 w1(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 b1(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 v1(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 _1(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 A1(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 S1(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=ue());var o=ue(),s=this.s,a=t.s,c=this.DB-Xo(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,l=o.data[u-1];if(l!=0){var f=l*(1<<this.F1)+(u>1?o.data[u-2]>>this.F2:0),h=this.FV/f,p=(1<<this.F1)/f,d=1<<this.F2,m=r.t,y=m-u,g=e??ue();for(o.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),R.ONE.dlShiftTo(u,g),g.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--y>=0;){var x=r.data[--m]==l?this.DM:Math.floor(r.data[m]*h+(r.data[m-1]+d)*p);if((r.data[m]+=o.am(0,x,r,y,0,u))<x)for(o.dlShiftTo(y,g),r.subTo(g,r);r.data[m]<--x;)r.subTo(g,r)}e!=null&&(r.drShiftTo(u,e),s!=a&&R.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&R.ZERO.subTo(r,r)}}}function I1(t){var e=ue();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(R.ZERO)>0&&t.subTo(e,e),e}function on(t){this.m=t}function R1(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function C1(t){return t}function T1(t){t.divRemTo(this.m,null,t)}function B1(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function L1(t,e){t.squareTo(e),this.reduce(e)}on.prototype.convert=R1;on.prototype.revert=C1;on.prototype.reduce=T1;on.prototype.mulTo=B1;on.prototype.sqrTo=L1;function P1(){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 sn(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 D1(t){var e=ue();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 N1(t){var e=ue();return t.copyTo(e),this.reduce(e),e}function k1(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 O1(t,e){t.squareTo(e),this.reduce(e)}function M1(t,e,r){t.multiplyTo(e,r),this.reduce(r)}sn.prototype.convert=D1;sn.prototype.revert=N1;sn.prototype.reduce=k1;sn.prototype.mulTo=M1;sn.prototype.sqrTo=O1;function U1(){return(this.t>0?this.data[0]&1:this.s)==0}function F1(t,e){if(t>4294967295||t<1)return R.ONE;var r=ue(),n=ue(),i=e.convert(this),o=Xo(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 K1(t,e){var r;return t<256||e.isEven()?r=new on(e):r=new sn(e),this.exp(t,r)}R.prototype.copyTo=u1;R.prototype.fromInt=l1;R.prototype.fromString=f1;R.prototype.clamp=h1;R.prototype.dlShiftTo=x1;R.prototype.drShiftTo=E1;R.prototype.lShiftTo=w1;R.prototype.rShiftTo=b1;R.prototype.subTo=v1;R.prototype.multiplyTo=_1;R.prototype.squareTo=A1;R.prototype.divRemTo=S1;R.prototype.invDigit=P1;R.prototype.isEven=U1;R.prototype.exp=F1;R.prototype.toString=d1;R.prototype.negate=p1;R.prototype.abs=m1;R.prototype.compareTo=y1;R.prototype.bitLength=g1;R.prototype.mod=I1;R.prototype.modPowInt=K1;R.ZERO=Br(0);R.ONE=Br(1);function q1(){var t=ue();return this.copyTo(t),t}function V1(){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 $1(){return this.t==0?this.s:this.data[0]<<24>>24}function H1(){return this.t==0?this.s:this.data[0]<<16>>16}function z1(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function G1(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Y1(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=Br(r),i=ue(),o=ue(),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 W1(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=b0(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&&R.ZERO.subTo(this,this)}function Q1(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),rc,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 X1(){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 Z1(t){return this.compareTo(t)==0}function j1(t){return this.compareTo(t)<0?this:t}function J1(t){return this.compareTo(t)>0?this:t}function ex(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 tx(t,e){return t&e}function rx(t){var e=ue();return this.bitwiseTo(t,tx,e),e}function rc(t,e){return t|e}function nx(t){var e=ue();return this.bitwiseTo(t,rc,e),e}function v0(t,e){return t^e}function ix(t){var e=ue();return this.bitwiseTo(t,v0,e),e}function _0(t,e){return t&~e}function ox(t){var e=ue();return this.bitwiseTo(t,_0,e),e}function sx(){for(var t=ue(),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 ax(t){var e=ue();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function cx(t){var e=ue();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function ux(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 lx(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+ux(this.data[t]);return this.s<0?this.t*this.DB:-1}function fx(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function hx(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=fx(this.data[r]^e);return t}function dx(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function px(t,e){var r=R.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function mx(t){return this.changeBit(t,rc)}function yx(t){return this.changeBit(t,_0)}function gx(t){return this.changeBit(t,v0)}function xx(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 Ex(t){var e=ue();return this.addTo(t,e),e}function wx(t){var e=ue();return this.subTo(t,e),e}function bx(t){var e=ue();return this.multiplyTo(t,e),e}function vx(t){var e=ue();return this.divRemTo(t,e,null),e}function _x(t){var e=ue();return this.divRemTo(t,null,e),e}function Ax(t){var e=ue(),r=ue();return this.divRemTo(t,e,r),new Array(e,r)}function Sx(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function Ix(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 Hi(){}function A0(t){return t}function Rx(t,e,r){t.multiplyTo(e,r)}function Cx(t,e){t.squareTo(e)}Hi.prototype.convert=A0;Hi.prototype.revert=A0;Hi.prototype.mulTo=Rx;Hi.prototype.sqrTo=Cx;function Tx(t){return this.exp(t,new Hi)}function Bx(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 Lx(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 Wn(t){this.r2=ue(),this.q3=ue(),R.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function Px(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=ue();return t.copyTo(e),this.reduce(e),e}function Dx(t){return t}function Nx(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 kx(t,e){t.squareTo(e),this.reduce(e)}function Ox(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Wn.prototype.convert=Px;Wn.prototype.revert=Dx;Wn.prototype.reduce=Nx;Wn.prototype.mulTo=Ox;Wn.prototype.sqrTo=kx;function Mx(t,e){var r=t.bitLength(),n,i=Br(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 on(e):e.isEven()?o=new Wn(e):o=new sn(e);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var l=ue();for(o.sqrTo(s[1],l);a<=u;)s[a]=ue(),o.mulTo(l,s[a-2],s[a]),a+=2}var f=t.t-1,h,p=!0,d=ue(),m;for(r=Xo(t.data[f])-1;f>=0;){for(r>=c?h=t.data[f]>>r-c&u:(h=(t.data[f]&(1<<r+1)-1)<<c-r,f>0&&(h|=t.data[f-1]>>this.DB+r-c)),a=n;!(h&1);)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),p)s[h].copyTo(i),p=!1;else{for(;a>1;)o.sqrTo(i,d),o.sqrTo(d,i),a-=2;a>0?o.sqrTo(i,d):(m=i,i=d,d=m),o.mulTo(d,s[h],i)}for(;f>=0&&!(t.data[f]&1<<r);)o.sqrTo(i,d),m=i,i=d,d=m,--r<0&&(r=this.DB-1,--f)}return o.revert(i)}function Ux(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 Fx(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 Kx(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return R.ZERO;for(var r=t.clone(),n=this.clone(),i=Br(1),o=Br(0),s=Br(0),a=Br(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(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 Nt=[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],qx=(1<<26)/Nt[Nt.length-1];function Vx(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=Nt[Nt.length-1]){for(e=0;e<Nt.length;++e)if(r.data[0]==Nt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<Nt.length;){for(var n=Nt[e],i=e+1;i<Nt.length&&n<qx;)n*=Nt[i++];for(n=r.modInt(n);e<i;)if(n%Nt[e++]==0)return!1}return r.millerRabin(t)}function $x(t){var e=this.subtract(R.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=Hx(),o,s=0;s<t;++s){do o=new R(this.bitLength(),i);while(o.compareTo(R.ONE)<=0||o.compareTo(e)>=0);var a=o.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 Hx(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}R.prototype.chunkSize=z1;R.prototype.toRadix=Y1;R.prototype.fromRadix=W1;R.prototype.fromNumber=Q1;R.prototype.bitwiseTo=ex;R.prototype.changeBit=px;R.prototype.addTo=xx;R.prototype.dMultiply=Sx;R.prototype.dAddOffset=Ix;R.prototype.multiplyLowerTo=Bx;R.prototype.multiplyUpperTo=Lx;R.prototype.modInt=Fx;R.prototype.millerRabin=$x;R.prototype.clone=q1;R.prototype.intValue=V1;R.prototype.byteValue=$1;R.prototype.shortValue=H1;R.prototype.signum=G1;R.prototype.toByteArray=X1;R.prototype.equals=Z1;R.prototype.min=j1;R.prototype.max=J1;R.prototype.and=rx;R.prototype.or=nx;R.prototype.xor=ix;R.prototype.andNot=ox;R.prototype.not=sx;R.prototype.shiftLeft=ax;R.prototype.shiftRight=cx;R.prototype.getLowestSetBit=lx;R.prototype.bitCount=hx;R.prototype.testBit=dx;R.prototype.setBit=mx;R.prototype.clearBit=yx;R.prototype.flipBit=gx;R.prototype.add=Ex;R.prototype.subtract=wx;R.prototype.multiply=bx;R.prototype.divide=vx;R.prototype.remainder=_x;R.prototype.divideAndRemainder=Ax;R.prototype.modPow=Mx;R.prototype.modInverse=Kx;R.prototype.pow=Tx;R.prototype.gcd=Ux;R.prototype.isProbablePrime=Vx});var B0=O((OA,T0)=>{var Xt=ye();nn();Oe();var R0=T0.exports=Xt.sha1=Xt.sha1||{};Xt.md.sha1=Xt.md.algorithms.sha1=R0;R0.create=function(){C0||zx();var t=null,e=Xt.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=Xt.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Xt.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),I0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Xt.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(nc.substr(0,n.blockLength-s));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};I0(f,r,i);var h=Xt.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h},n};var nc=null,C0=!1;function zx(){nc=String.fromCharCode(128),nc+=Xt.util.fillString(String.fromCharCode(0),64),C0=!0}function I0(t,e,r){for(var n,i,o,s,a,c,u,l,f=r.length();f>=64;){for(i=t.h0,o=t.h1,s=t.h2,a=t.h3,c=t.h4,l=0;l<16;++l)n=r.getInt32(),e[l]=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(;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^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(;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=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(;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=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(;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=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(;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=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,f-=64}}});var D0=O((MA,P0)=>{var Zt=ye();Oe();$i();B0();var L0=P0.exports=Zt.pkcs1=Zt.pkcs1||{};L0.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=Zt.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 l=o.digest(),f="",h=c-e.length,p=0;p<h;p++)f+="\0";var d=l.getBytes()+f+""+e;if(!i)i=Zt.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 m=jo(i,a-o.digestLength-1,s),y=Zt.util.xorBytes(d,m,d.length),g=jo(y,o.digestLength,s),x=Zt.util.xorBytes(i,g,i.length);return"\0"+x+y};L0.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 y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=e.length,y.expectedLength=s,y}if(i===void 0?i=Zt.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),l=e.substring(1+i.digestLength),f=jo(l,i.digestLength,o),h=Zt.util.xorBytes(u,f,u.length),p=jo(h,s-i.digestLength-1,o),d=Zt.util.xorBytes(l,p,l.length),m=d.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==m.charAt(g);for(var x=1,w=i.digestLength,C=i.digestLength;C<d.length;C++){var _=d.charCodeAt(C),A=_&1^1,P=x?65534:0;y|=_&P,x=x&A,w+=x}if(y||d.charCodeAt(w)!==1)throw new Error("Invalid RSAES-OAEP padding.");return d.substring(w+1)};function jo(t,e,r){r||(r=Zt.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 N0=O((UA,ic)=>{var Lr=ye();Oe();Zo();$i();(function(){if(Lr.prime){ic.exports=Lr.prime;return}var t=ic.exports=Lr.prime=Lr.prime||{},e=Lr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(f,h){return f|h};t.generateProbablePrime=function(f,h,p){typeof h=="function"&&(p=h,h={}),h=h||{};var d=h.algorithm||"PRIMEINC";typeof d=="string"&&(d={name:d}),d.options=d.options||{};var m=h.prng||Lr.random,y={nextBytes:function(g){for(var x=m.getBytesSync(g.length),w=0;w<g.length;++w)g[w]=x.charCodeAt(w)}};if(d.name==="PRIMEINC")return o(f,y,d.options,p);throw new Error("Invalid prime generation algorithm: "+d.name)};function o(f,h,p,d){return"workers"in p?c(f,h,p,d):s(f,h,p,d)}function s(f,h,p,d){var m=u(f,h),y=0,g=l(m.bitLength());"millerRabinTests"in p&&(g=p.millerRabinTests);var x=10;"maxBlockTime"in p&&(x=p.maxBlockTime),a(m,f,h,y,g,x,d)}function a(f,h,p,d,m,y,g){var x=+new Date;do{if(f.bitLength()>h&&(f=u(h,p)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(r[d++%8],0)}while(y<0||+new Date-x<y);Lr.util.setImmediate(function(){a(f,h,p,d,m,y,g)})}function c(f,h,p,d){if(typeof Worker>"u")return s(f,h,p,d);var m=u(f,h),y=p.workers,g=p.workLoad||100,x=g*30/8,w=p.workerScript||"forge/prime.worker.js";if(y===-1)return Lr.util.estimateCores(function(_,A){_&&(A=2),y=A-1,C()});C();function C(){y=Math.max(1,y);for(var _=[],A=0;A<y;++A)_[A]=new Worker(w);for(var P=y,A=0;A<y;++A)_[A].addEventListener("message",W);var D=!1;function W(Q){if(!D){--P;var z=Q.data;if(z.found){for(var ne=0;ne<_.length;++ne)_[ne].terminate();return D=!0,d(null,new e(z.prime,16))}m.bitLength()>f&&(m=u(f,h));var ge=m.toString(16);Q.target.postMessage({hex:ge,workLoad:g}),m.dAddOffset(x,0)}}}}function u(f,h){var p=new e(f,h),d=f-1;return p.testBit(d)||p.bitwiseTo(e.ONE.shiftLeft(d),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 es=O((FA,q0)=>{var H=ye();qi();Zo();Uo();D0();N0();$i();Oe();typeof ae>"u"&&(ae=H.jsbn.BigInteger);var ae,oc=H.util.isNodejs?Vi():null,v=H.asn1,Ct=H.util;H.pki=H.pki||{};q0.exports=H.pki.rsa=H.rsa=H.rsa||{};var X=H.pki,Gx=[6,4,2,4,2,4,6,2],Yx={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"}]},Wx={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"}]},Qx={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"}]},Xx=H.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"}]}]},Zx={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"}]},jx=function(t){var e;if(t.algorithm in X.oids)e=X.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,[]),o=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]);o.value.push(v.create(v.Class.UNIVERSAL,v.Type.OID,!1,n)),o.value.push(v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,""));var s=v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(o),i.value.push(s),v.toDer(i).getBytes()},F0=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(ae.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(ae.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new ae(H.util.bytesToHex(H.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(ae.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};X.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=K0(t,e,r)):(i=H.util.createBuffer(),i.putBytes(t));for(var s=new ae(i.toHex(),16),a=F0(s,e,n),c=a.toString(16),u=H.util.createBuffer(),l=o-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(H.util.hexToBytes(c)),u.getBytes()};X.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 ae(H.util.createBuffer(t).toHex(),16);if(s.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=F0(s,e,r),c=a.toString(16),u=H.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(H.util.hexToBytes(c)),n!==!1?Jo(u.getBytes(),e,r):u.getBytes()};X.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||H.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 ae(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};X.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new ae(null);r.fromInt(30);for(var n=0,i=function(f,h){return f|h},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 ae(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(ae.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(e2(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(Gx[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(ae.ONE).gcd(t.e).compareTo(ae.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(ae.ONE),t.q1=t.q.subtract(ae.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(ae.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:X.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:X.rsa.setPublicKey(t.n,t.e)}}s=+new Date,a+=s-o,o=s}return t.keys!==null};X.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),!H.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(k0("generateKeyPair"))return oc.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:X.privateKeyFromPem(u),publicKey:X.publicKeyFromPem(c)})});if(O0("generateKey")&&O0("exportKey"))return Ct.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:U0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Ct.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=X.privateKeyFromAsn1(v.fromDer(H.util.createBuffer(a)));n(null,{privateKey:c,publicKey:X.setRsaPublicKey(c.n,c.e)})}});if(M0("generateKey")&&M0("exportKey")){var i=Ct.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:U0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=Ct.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,h=X.privateKeyFromAsn1(v.fromDer(H.util.createBuffer(f)));n(null,{privateKey:h,publicKey:X.setRsaPublicKey(h.n,h.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(k0("generateKeyPairSync")){var o=oc.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:X.privateKeyFromPem(o.privateKey),publicKey:X.publicKeyFromPem(o.publicKey)}}}var s=X.rsa.createKeyPairGenerationState(t,e,r);if(!n)return X.rsa.stepKeyPairGenerationState(s,0),s.keys;Jx(s,r,n)};X.setRsaPublicKey=X.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 K0(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return H.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 X.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=Jo(u,r,!0);var l=v.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),f={},h=[];if(!v.validate(l,Zx,f,h)){var p=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw p.errors=h,p}var d=v.derToOid(f.algorithmIdentifier);if(!(d===H.oids.md2||d===H.oids.md5||d===H.oids.sha1||d===H.oids.sha224||d===H.oids.sha256||d===H.oids.sha384||d===H.oids.sha512||d===H.oids["sha512-224"]||d===H.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=d,p}if((d===H.oids.md2||d===H.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}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,u){return u=Jo(u,r,!0),c===u}});var a=X.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};X.setRsaPrivateKey=X.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,l,f){typeof l=="string"?l=l.toUpperCase():l===void 0&&(l="RSAES-PKCS1-V1_5");var h=X.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:Jo};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(p,d){return H.pkcs1.decode_rsa_oaep(d,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(h,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:jx},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var h=l.encode(u,c.n.bitLength());return X.rsa.encrypt(h,c,f)},c};X.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(X.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())])};X.privateKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,Yx,e,r)&&(t=v.fromDer(H.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,Wx,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,l,f;return i=H.util.createBuffer(e.privateKeyModulus).toHex(),o=H.util.createBuffer(e.privateKeyPublicExponent).toHex(),s=H.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=H.util.createBuffer(e.privateKeyPrime1).toHex(),c=H.util.createBuffer(e.privateKeyPrime2).toHex(),u=H.util.createBuffer(e.privateKeyExponent1).toHex(),l=H.util.createBuffer(e.privateKeyExponent2).toHex(),f=H.util.createBuffer(e.privateKeyCoefficient).toHex(),X.setRsaPrivateKey(new ae(i,16),new ae(o,16),new ae(s,16),new ae(a,16),new ae(c,16),new ae(u,16),new ae(l,16),new ae(f,16))};X.privateKeyToAsn1=X.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,jt(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,jt(t.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,jt(t.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,jt(t.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,jt(t.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,jt(t.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,jt(t.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,jt(t.qInv))])};X.publicKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,Xx,e,r)){var n=v.derToOid(e.publicKeyOid);if(n!==X.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,Qx,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=H.util.createBuffer(e.publicKeyModulus).toHex(),s=H.util.createBuffer(e.publicKeyExponent).toHex();return X.setRsaPublicKey(new ae(o,16),new ae(s,16))};X.publicKeyToAsn1=X.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(X.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[X.publicKeyToRSAPublicKey(t)])])};X.publicKeyToRSAPublicKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,jt(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,jt(t.e))])};function K0(t,e,r){var n=H.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,l=H.random.getBytes(s),c=0;c<s;++c)a=l.charCodeAt(c),a===0?++u:n.putByte(a);s=u}return n.putByte(0),n.putBytes(t),n}function Jo(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),o=H.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 l=o.getByte();if(l!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function Jx(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){H.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(ae.ONE).gcd(t.e).compareTo(ae.ONE)!==0){t.p=null,i();return}if(t.q.subtract(ae.ONE).gcd(t.e).compareTo(ae.ONE)!==0){t.q=null,o(t.qBits,s);return}if(t.p1=t.p.subtract(ae.ONE),t.q1=t.q.subtract(ae.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(ae.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 l=t.e.modInverse(t.phi);t.keys={privateKey:X.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:X.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function jt(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=H.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 e2(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 k0(t){return H.util.isNodejs&&typeof oc[t]=="function"}function O0(t){return typeof Ct.globalScope<"u"&&typeof Ct.globalScope.crypto=="object"&&typeof Ct.globalScope.crypto.subtle=="object"&&typeof Ct.globalScope.crypto.subtle[t]=="function"}function M0(t){return typeof Ct.globalScope<"u"&&typeof Ct.globalScope.msCrypto=="object"&&typeof Ct.globalScope.msCrypto.subtle=="object"&&typeof Ct.globalScope.msCrypto.subtle[t]=="function"}function U0(t){for(var e=H.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var Y0=O((KA,G0)=>{var U=ye();$o();qi();jf();nn();Uo();Xa();o0();$i();g0();es();Oe();typeof V0>"u"&&(V0=U.jsbn.BigInteger);var V0,S=U.asn1,j=U.pki=U.pki||{};G0.exports=j.pbe=U.pbe=U.pbe||{};var an=j.oids,t2={name:"EncryptedPrivateKeyInfo",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},r2={name:"PBES2Algorithms",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},n2={name:"pkcs-12PbeParams",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"iterations"}]};j.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=U.random.getBytesSync(r.saltSize),i=r.count,o=S.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,l,f;switch(r.algorithm){case"aes128":s=16,u=16,l=an["aes128-CBC"],f=U.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,l=an["aes192-CBC"],f=U.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,l=an["aes256-CBC"],f=U.aes.createEncryptionCipher;break;case"des":s=8,u=8,l=an.desCBC,f=U.des.createEncryptionCipher;break;default:var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var p="hmacWith"+r.prfAlgorithm.toUpperCase(),d=z0(p),m=U.pkcs5.pbkdf2(e,n,i,s,d),y=U.random.getBytesSync(u),g=f(m);g.start(y),g.update(S.toDer(t)),g.finish(),c=g.output.getBytes();var x=i2(n,o,s,p);a=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(an.pkcs5PBES2).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(an.pkcs5PBKDF2).getBytes()),x]),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(l).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){s=24;var w=new U.util.ByteBuffer(n),m=j.pbe.generatePkcs12Key(e,w,1,i,s),y=j.pbe.generatePkcs12Key(e,w,2,i,s),g=U.des.createEncryptionCipher(m);g.start(y),g.update(S.toDer(t)),g.finish(),c=g.output.getBytes(),a=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(an["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,n),S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,o.getBytes())])])}else{var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var C=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[a,S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,c)]);return C};j.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!S.validate(t,t2,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=S.derToOid(n.encryptionOid),a=j.pbe.getCipher(s,n.encryptionParams,e),c=U.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=S.fromDer(a.output)),r};j.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:S.toDer(t).getBytes()};return U.pem.encode(r,{maxline:e})};j.encryptedPrivateKeyFromPem=function(t){var e=U.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 S.fromDer(e.body)};j.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=j.wrapRsaPrivateKey(j.privateKeyToAsn1(t));return n=j.encryptPrivateKeyInfo(n,e,r),j.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=U.random.getBytesSync(8),a=U.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=U.random.getBytesSync(8),a=U.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=U.pbe.opensslDeriveBytes(e,o.substr(0,8),s),l=a(u);l.start(o),l.update(S.toDer(j.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:U.util.bytesToHex(o).toUpperCase()},body:l.output.getBytes()};return U.pem.encode(f)};j.decryptRsaPrivateKey=function(t,e){var r=null,n=U.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=U.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=U.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=U.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=U.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=U.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(f){return U.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":o=8,s=function(f){return U.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":o=16,s=function(f){return U.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=U.util.hexToBytes(n.dekInfo.parameters),c=U.pbe.opensslDeriveBytes(e,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(U.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=j.decryptPrivateKeyInfo(S.fromDer(r),e):r=S.fromDer(r),r!==null&&(r=j.privateKeyFromAsn1(r)),r};j.pbe.generatePkcs12Key=function(t,e,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in U.md))throw new Error('"sha1" hash algorithm unavailable.');o=U.md.sha1.create()}var c=o.digestLength,u=o.blockLength,l=new U.util.ByteBuffer,f=new U.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)f.putInt16(t.charCodeAt(a));f.putInt16(0)}var h=f.length(),p=e.length(),d=new U.util.ByteBuffer;d.fillWithByte(r,u);var m=u*Math.ceil(p/u),y=new U.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(e.at(a%p));var g=u*Math.ceil(h/u),x=new U.util.ByteBuffer;for(a=0;a<g;a++)x.putByte(f.at(a%h));var w=y;w.putBuffer(x);for(var C=Math.ceil(i/c),_=1;_<=C;_++){var A=new U.util.ByteBuffer;A.putBytes(d.bytes()),A.putBytes(w.bytes());for(var P=0;P<n;P++)o.start(),o.update(A.getBytes()),A=o.digest();var D=new U.util.ByteBuffer;for(a=0;a<u;a++)D.putByte(A.at(a%c));var W=Math.ceil(p/u)+Math.ceil(h/u),Q=new U.util.ByteBuffer;for(s=0;s<W;s++){var z=new U.util.ByteBuffer(w.getBytes(u)),ne=511;for(a=D.length()-1;a>=0;a--)ne=ne>>8,ne+=D.at(a)+z.at(a),z.setAt(a,ne&255);Q.putBuffer(z)}w=Q,l.putBuffer(A)}return l.truncate(l.length()-i),l};j.pbe.getCipher=function(t,e,r){switch(t){case j.oids.pkcs5PBES2:return j.pbe.getCipherForPBES2(t,e,r);case j.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case j.oids["pbewithSHAAnd40BitRC2-CBC"]:return j.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}};j.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!S.validate(e,r2,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=S.derToOid(n.kdfOid),t!==j.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=S.derToOid(n.encOid),t!==j.oids["aes128-CBC"]&&t!==j.oids["aes192-CBC"]&&t!==j.oids["aes256-CBC"]&&t!==j.oids["des-EDE3-CBC"]&&t!==j.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=U.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(j.oids[t]){case"aes128-CBC":c=16,u=U.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=U.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=U.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=U.des.createDecryptionCipher;break;case"desCBC":c=8,u=U.des.createDecryptionCipher;break}var l=H0(n.prfOid),f=U.pkcs5.pbkdf2(r,s,a,c,l),h=n.encIv,p=u(f);return p.start(h),p};j.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!S.validate(e,n2,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=U.util.createBuffer(n.salt),a=U.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case j.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=U.des.startDecrypting;break;case j.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,y){var g=U.rc2.createDecryptionCipher(m,40);return g.start(y,null),g};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=t,o}var f=H0(n.prfOid),h=j.pbe.generatePkcs12Key(r,s,1,a,c,f);f.start();var p=j.pbe.generatePkcs12Key(r,s,2,a,u,f);return l(h,p)};j.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in U.md))throw new Error('"md5" hash algorithm unavailable.');n=U.md.md5.create()}e===null&&(e="");for(var i=[$0(n,t+e)],o=16,s=1;o<r;++s,o+=16)i.push($0(n,i[s-1]+t+e));return i.join("").substr(0,r)};function $0(t,e){return t.start().update(e).digest().getBytes()}function H0(t){var e;if(!t)e="hmacWithSHA1";else if(e=j.oids[S.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return z0(e)}function z0(t){var e=U.md;switch(t){case"hmacWithSHA224":e=U.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 i2(t,e,r,n){var i=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,t),S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,U.util.hexToBytes(r.toString(16))),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(j.oids[n]).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.NULL,!1,"")])),i}});var Fh=O((CI,Uh)=>{"use strict";Uh.exports=pw;function pw(t,e){for(var r=new Array(arguments.length-1),n=0,i=2,o=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,c){r[n]=function(l){if(o)if(o=!1,l)c(l);else{for(var f=new Array(arguments.length-1),h=0;h<f.length;)f[h++]=arguments[h];a.apply(null,f)}};try{t.apply(e||null,r)}catch(u){o&&(o=!1,c(u))}})}});var $h=O(Vh=>{"use strict";var xs=Vh;xs.length=function(e){var r=e.length;if(!r)return 0;for(var n=0;--r%4>1&&e.charAt(r)==="=";)++n;return Math.ceil(e.length*3)/4-n};var ai=new Array(64),qh=new Array(123);for(Ft=0;Ft<64;)qh[ai[Ft]=Ft<26?Ft+65:Ft<52?Ft+71:Ft<62?Ft-4:Ft-59|43]=Ft++;var Ft;xs.encode=function(e,r,n){for(var i=null,o=[],s=0,a=0,c;r<n;){var u=e[r++];switch(a){case 0:o[s++]=ai[u>>2],c=(u&3)<<4,a=1;break;case 1:o[s++]=ai[c|u>>4],c=(u&15)<<2,a=2;break;case 2:o[s++]=ai[c|u>>6],o[s++]=ai[u&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=ai[c],o[s++]=61,a===1&&(o[s++]=61)),i?(s&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))};var Kh="invalid encoding";xs.decode=function(e,r,n){for(var i=n,o=0,s,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&o>1)break;if((c=qh[c])===void 0)throw Error(Kh);switch(o){case 0:s=c,o=1;break;case 1:r[n++]=s<<2|(c&48)>>4,s=c,o=2;break;case 2:r[n++]=(s&15)<<4|(c&60)>>2,s=c,o=3;break;case 3:r[n++]=(s&3)<<6|c,o=0;break}}if(o===1)throw Error(Kh);return n-i};xs.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var zh=O((BI,Hh)=>{"use strict";Hh.exports=Es;function Es(){this._listeners={}}Es.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};Es.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};Es.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}});var jh=O((LI,Zh)=>{"use strict";Zh.exports=Gh(Gh);function Gh(t){return typeof Float32Array<"u"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3]}function o(c,u,l){e[0]=c,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}t.writeFloatLE=n?i:o,t.writeFloatBE=n?o:i;function s(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],e[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],e[0]}t.readFloatLE=n?s:a,t.readFloatBE=n?a:s}():function(){function e(n,i,o,s){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,o,s);else if(isNaN(i))n(2143289344,o,s);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,o,s);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,o,s);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,o,s)}}t.writeFloatLE=e.bind(null,Yh),t.writeFloatBE=e.bind(null,Wh);function r(n,i,o){var s=n(i,o),a=(s>>31)*2+1,c=s>>>23&255,u=s&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}t.readFloatLE=r.bind(null,Qh),t.readFloatBE=r.bind(null,Xh)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function o(c,u,l){e[0]=c,u[l]=r[7],u[l+1]=r[6],u[l+2]=r[5],u[l+3]=r[4],u[l+4]=r[3],u[l+5]=r[2],u[l+6]=r[1],u[l+7]=r[0]}t.writeDoubleLE=n?i:o,t.writeDoubleBE=n?o:i;function s(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],e[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],e[0]}t.readDoubleLE=n?s:a,t.readDoubleBE=n?a:s}():function(){function e(n,i,o,s,a,c){var u=s<0?1:0;if(u&&(s=-s),s===0)n(0,a,c+i),n(1/s>0?0:2147483648,a,c+o);else if(isNaN(s))n(0,a,c+i),n(2146959360,a,c+o);else if(s>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+o);else{var l;if(s<22250738585072014e-324)l=s/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+o);else{var f=Math.floor(Math.log(s)/Math.LN2);f===1024&&(f=1023),l=s*Math.pow(2,-f),n(l*4503599627370496>>>0,a,c+i),n((u<<31|f+1023<<20|l*1048576&1048575)>>>0,a,c+o)}}}t.writeDoubleLE=e.bind(null,Yh,0,4),t.writeDoubleBE=e.bind(null,Wh,4,0);function r(n,i,o,s,a){var c=n(s,a+i),u=n(s,a+o),l=(u>>31)*2+1,f=u>>>20&2047,h=4294967296*(u&1048575)+c;return f===2047?h?NaN:l*(1/0):f===0?l*5e-324*h:l*Math.pow(2,f-1075)*(h+4503599627370496)}t.readDoubleLE=r.bind(null,Qh,0,4),t.readDoubleBE=r.bind(null,Xh,4,0)}(),t}function Yh(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 Wh(t,e,r){e[r]=t>>>24,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=t&255}function Qh(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function Xh(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var Jh=O((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}});var td=O(ed=>{"use strict";var Hc=ed;Hc.length=function(e){for(var r=0,n=0,i=0;i<e.length;++i)n=e.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(e.charCodeAt(i+1)&64512)===56320?(++i,r+=4):r+=3;return r};Hc.read=function(e,r,n){var i=n-r;if(i<1)return"";for(var o=null,s=[],a=0,c;r<n;)c=e[r++],c<128?s[a++]=c:c>191&&c<224?s[a++]=(c&31)<<6|e[r++]&63:c>239&&c<365?(c=((c&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,s[a++]=55296+(c>>10),s[a++]=56320+(c&1023)):s[a++]=(c&15)<<12|(e[r++]&63)<<6|e[r++]&63,a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0);return o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};Hc.write=function(e,r,n){for(var i=n,o,s,a=0;a<e.length;++a)o=e.charCodeAt(a),o<128?r[n++]=o:o<2048?(r[n++]=o>>6|192,r[n++]=o&63|128):(o&64512)===55296&&((s=e.charCodeAt(a+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++a,r[n++]=o>>18|240,r[n++]=o>>12&63|128,r[n++]=o>>6&63|128,r[n++]=o&63|128):(r[n++]=o>>12|224,r[n++]=o>>6&63|128,r[n++]=o&63|128);return n-i}});var nd=O((DI,rd)=>{"use strict";rd.exports=mw;function mw(t,e,r){var n=r||8192,i=n>>>1,o=null,s=n;return function(c){if(c<1||c>i)return t(c);s+c>n&&(o=t(n),s=0);var u=e.call(o,s,s+=c);return s&7&&(s=(s|7)+1),u}}});var od=O((NI,id)=>{"use strict";id.exports=Xe;var Zi=yn();function Xe(t,e){this.lo=t>>>0,this.hi=e>>>0}var mn=Xe.zero=new Xe(0,0);mn.toNumber=function(){return 0};mn.zzEncode=mn.zzDecode=function(){return this};mn.length=function(){return 1};var yw=Xe.zeroHash="\0\0\0\0\0\0\0\0";Xe.fromNumber=function(e){if(e===0)return mn;var r=e<0;r&&(e=-e);var 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 Xe(n,i)};Xe.from=function(e){if(typeof e=="number")return Xe.fromNumber(e);if(Zi.isString(e))if(Zi.Long)e=Zi.Long.fromString(e);else return Xe.fromNumber(parseInt(e,10));return e.low||e.high?new Xe(e.low>>>0,e.high>>>0):mn};Xe.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};Xe.prototype.toLong=function(e){return Zi.Long?new Zi.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var Fr=String.prototype.charCodeAt;Xe.fromHash=function(e){return e===yw?mn:new Xe((Fr.call(e,0)|Fr.call(e,1)<<8|Fr.call(e,2)<<16|Fr.call(e,3)<<24)>>>0,(Fr.call(e,4)|Fr.call(e,5)<<8|Fr.call(e,6)<<16|Fr.call(e,7)<<24)>>>0)};Xe.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};Xe.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};Xe.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};Xe.prototype.length=function(){var 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}});var yn=O(zc=>{"use strict";var $=zc;$.asPromise=Fh();$.base64=$h();$.EventEmitter=zh();$.float=jh();$.inquire=Jh();$.utf8=td();$.pool=nd();$.LongBits=od();$.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);$.global=$.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||zc;$.emptyArray=Object.freeze?Object.freeze([]):[];$.emptyObject=Object.freeze?Object.freeze({}):{};$.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};$.isString=function(e){return typeof e=="string"||e instanceof String};$.isObject=function(e){return e&&typeof e=="object"};$.isset=$.isSet=function(e,r){var n=e[r];return n!=null&&e.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};$.Buffer=function(){try{var t=$.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch{return null}}();$._Buffer_from=null;$._Buffer_allocUnsafe=null;$.newBuffer=function(e){return typeof e=="number"?$.Buffer?$._Buffer_allocUnsafe(e):new $.Array(e):$.Buffer?$._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};$.Array=typeof Uint8Array<"u"?Uint8Array:Array;$.Long=$.global.dcodeIO&&$.global.dcodeIO.Long||$.global.Long||$.inquire("long");$.key2Re=/^true|false|0|1$/;$.key32Re=/^-?(?:0|[1-9][0-9]*)$/;$.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;$.longToHash=function(e){return e?$.LongBits.from(e).toHash():$.LongBits.zeroHash};$.longFromHash=function(e,r){var n=$.LongBits.fromHash(e);return $.Long?$.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function sd(t,e,r){for(var n=Object.keys(e),i=0;i<n.length;++i)(t[n[i]]===void 0||!r)&&(t[n[i]]=e[n[i]]);return t}$.merge=sd;$.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function ad(t){function e(r,n){if(!(this instanceof e))return new e(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&sd(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}$.newError=ad;$.ProtocolError=ad("ProtocolError");$.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var i=Object.keys(this),o=i.length-1;o>-1;--o)if(r[i[o]]===1&&this[i[o]]!==void 0&&this[i[o]]!==null)return i[o]}};$.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};$.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};$._configure=function(){var t=$.Buffer;if(!t){$._Buffer_from=$._Buffer_allocUnsafe=null;return}$._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},$._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var Wc=O((OI,hd)=>{"use strict";hd.exports=Fe;var Kt=yn(),Yc,ld=Kt.LongBits,gw=Kt.utf8;function qt(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function Fe(t){this.buf=t,this.pos=0,this.len=t.length}var cd=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new Fe(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new Fe(e);throw Error("illegal buffer")},fd=function(){return Kt.Buffer?function(r){return(Fe.create=function(i){return Kt.Buffer.isBuffer(i)?new Yc(i):cd(i)})(r)}:cd};Fe.create=fd();Fe.prototype._slice=Kt.Array.prototype.subarray||Kt.Array.prototype.slice;Fe.prototype.uint32=function(){var e=4294967295;return function(){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,qt(this,10);return e}}();Fe.prototype.int32=function(){return this.uint32()|0};Fe.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function Gc(){var t=new ld(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw qt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw qt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}Fe.prototype.bool=function(){return this.uint32()!==0};function ws(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}Fe.prototype.fixed32=function(){if(this.pos+4>this.len)throw qt(this,4);return ws(this.buf,this.pos+=4)};Fe.prototype.sfixed32=function(){if(this.pos+4>this.len)throw qt(this,4);return ws(this.buf,this.pos+=4)|0};function ud(){if(this.pos+8>this.len)throw qt(this,8);return new ld(ws(this.buf,this.pos+=4),ws(this.buf,this.pos+=4))}Fe.prototype.float=function(){if(this.pos+4>this.len)throw qt(this,4);var e=Kt.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};Fe.prototype.double=function(){if(this.pos+8>this.len)throw qt(this,4);var e=Kt.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};Fe.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw qt(this,e);if(this.pos+=e,Array.isArray(this.buf))return this.buf.slice(r,n);if(r===n){var i=Kt.Buffer;return i?i.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,r,n)};Fe.prototype.string=function(){var e=this.bytes();return gw.read(e,0,e.length)};Fe.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw qt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw qt(this);while(this.buf[this.pos++]&128);return this};Fe.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this};Fe._configure=function(t){Yc=t,Fe.create=fd(),Yc._configure();var e=Kt.Long?"toLong":"toNumber";Kt.merge(Fe.prototype,{int64:function(){return Gc.call(this)[e](!1)},uint64:function(){return Gc.call(this)[e](!0)},sint64:function(){return Gc.call(this).zzDecode()[e](!1)},fixed64:function(){return ud.call(this)[e](!0)},sfixed64:function(){return ud.call(this)[e](!1)}})}});var yd=O((MI,md)=>{"use strict";md.exports=gn;var pd=Wc();(gn.prototype=Object.create(pd.prototype)).constructor=gn;var dd=yn();function gn(t){pd.call(this,t)}gn._configure=function(){dd.Buffer&&(gn.prototype._slice=dd.Buffer.prototype.slice)};gn.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};gn._configure()});var tu=O((UI,wd)=>{"use strict";wd.exports=le;var Tt=yn(),Qc,bs=Tt.LongBits,gd=Tt.base64,xd=Tt.utf8;function ji(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function Zc(){}function xw(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function le(){this.len=0,this.head=new ji(Zc,0,0),this.tail=this.head,this.states=null}var Ed=function(){return Tt.Buffer?function(){return(le.create=function(){return new Qc})()}:function(){return new le}};le.create=Ed();le.alloc=function(e){return new Tt.Array(e)};Tt.Array!==Array&&(le.alloc=Tt.pool(le.alloc,Tt.Array.prototype.subarray));le.prototype._push=function(e,r,n){return this.tail=this.tail.next=new ji(e,r,n),this.len+=r,this};function jc(t,e,r){e[r]=t&255}function Ew(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function Jc(t,e){this.len=t,this.next=void 0,this.val=e}Jc.prototype=Object.create(ji.prototype);Jc.prototype.fn=Ew;le.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new Jc((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};le.prototype.int32=function(e){return e<0?this._push(eu,10,bs.fromNumber(e)):this.uint32(e)};le.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function eu(t,e,r){for(;t.hi;)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}le.prototype.uint64=function(e){var r=bs.from(e);return this._push(eu,r.length(),r)};le.prototype.int64=le.prototype.uint64;le.prototype.sint64=function(e){var r=bs.from(e).zzEncode();return this._push(eu,r.length(),r)};le.prototype.bool=function(e){return this._push(jc,1,e?1:0)};function Xc(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}le.prototype.fixed32=function(e){return this._push(Xc,4,e>>>0)};le.prototype.sfixed32=le.prototype.fixed32;le.prototype.fixed64=function(e){var r=bs.from(e);return this._push(Xc,4,r.lo)._push(Xc,4,r.hi)};le.prototype.sfixed64=le.prototype.fixed64;le.prototype.float=function(e){return this._push(Tt.float.writeFloatLE,4,e)};le.prototype.double=function(e){return this._push(Tt.float.writeDoubleLE,8,e)};var ww=Tt.Array.prototype.set?function(e,r,n){r.set(e,n)}:function(e,r,n){for(var i=0;i<e.length;++i)r[n+i]=e[i]};le.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(jc,1,0);if(Tt.isString(e)){var n=le.alloc(r=gd.length(e));gd.decode(e,n,0),e=n}return this.uint32(r)._push(ww,r,e)};le.prototype.string=function(e){var r=xd.length(e);return r?this.uint32(r)._push(xd.write,r,e):this._push(jc,1,0)};le.prototype.fork=function(){return this.states=new xw(this),this.head=this.tail=new ji(Zc,0,0),this.len=0,this};le.prototype.reset=function(){return this.states?(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 ji(Zc,0,0),this.len=0),this};le.prototype.ldelim=function(){var e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=r,this.len+=n),this};le.prototype.finish=function(){for(var e=this.head.next,r=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r};le._configure=function(t){Qc=t,le.create=Ed(),Qc._configure()}});var _d=O((FI,vd)=>{"use strict";vd.exports=tr;var bd=tu();(tr.prototype=Object.create(bd.prototype)).constructor=tr;var Kr=yn();function tr(){bd.call(this)}tr._configure=function(){tr.alloc=Kr._Buffer_allocUnsafe,tr.writeBytesBuffer=Kr.Buffer&&Kr.Buffer.prototype instanceof Uint8Array&&Kr.Buffer.prototype.set.name==="set"?function(e,r,n){r.set(e,n)}:function(e,r,n){if(e.copy)e.copy(r,n,0,e.length);else for(var i=0;i<e.length;)r[n++]=e[i++]}};tr.prototype.bytes=function(e){Kr.isString(e)&&(e=Kr._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(tr.writeBytesBuffer,r,e),this};function bw(t,e,r){t.length<40?Kr.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}tr.prototype.string=function(e){var r=Kr.Buffer.byteLength(e);return this.uint32(r),r&&this._push(bw,r,e),this};tr._configure()});var Md=O((FR,Od)=>{var Se=ye();nn();Oe();var eo=Od.exports=Se.sha512=Se.sha512||{};Se.md.sha512=Se.md.algorithms.sha512=eo;var Nd=Se.sha384=Se.sha512.sha384=Se.sha512.sha384||{};Nd.create=function(){return eo.create("SHA-384")};Se.md.sha384=Se.md.algorithms.sha384=Nd;Se.sha512.sha256=Se.sha512.sha256||{create:function(){return eo.create("SHA-512/256")}};Se.md["sha512/256"]=Se.md.algorithms["sha512/256"]=Se.sha512.sha256;Se.sha512.sha224=Se.sha512.sha224||{create:function(){return eo.create("SHA-512/224")}};Se.md["sha512/224"]=Se.md.algorithms["sha512/224"]=Se.sha512.sha224;eo.create=function(t){if(kd||Bw(),typeof t>"u"&&(t="SHA-512"),!(t in En))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=En[t],r=null,n=Se.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=Se.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=Se.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),Dd(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=Se.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(uu.substr(0,a.blockLength-l));for(var f,h,p=a.fullMessageLength[0]*8,d=0;d<a.fullMessageLength.length-1;++d)f=a.fullMessageLength[d+1]*8,h=f/4294967296>>>0,p+=h,c.putInt32(p>>>0),p=f>>>0;c.putInt32(p);for(var m=new Array(r.length),d=0;d<r.length;++d)m[d]=r[d].slice(0);Dd(m,i,c);var y=Se.util.createBuffer(),g;t==="SHA-512"?g=m.length:t==="SHA-384"?g=m.length-2:g=m.length-4;for(var d=0;d<g;++d)y.putInt32(m[d][0]),(d!==g-1||t!=="SHA-512/224")&&y.putInt32(m[d][1]);return y},a};var uu=null,kd=!1,lu=null,En=null;function Bw(){uu=String.fromCharCode(128),uu+=Se.util.fillString(String.fromCharCode(0),128),lu=[[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]],En={},En["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],En["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],En["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],En["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],kd=!0}function Dd(t,e,r){for(var n,i,o,s,a,c,u,l,f,h,p,d,m,y,g,x,w,C,_,A,P,D,W,Q,z,ne,ge,Je,T,k,L,N,I,K,V,Y=r.length();Y>=128;){for(T=0;T<16;++T)e[T][0]=r.getInt32()>>>0,e[T][1]=r.getInt32()>>>0;for(;T<80;++T)N=e[T-2],k=N[0],L=N[1],n=((k>>>19|L<<13)^(L>>>29|k<<3)^k>>>6)>>>0,i=((k<<13|L>>>19)^(L<<3|k>>>29)^(k<<26|L>>>6))>>>0,K=e[T-15],k=K[0],L=K[1],o=((k>>>1|L<<31)^(k>>>8|L<<24)^k>>>7)>>>0,s=((k<<31|L>>>1)^(k<<24|L>>>8)^(k<<25|L>>>7))>>>0,I=e[T-7],V=e[T-16],L=i+I[1]+s+V[1],e[T][0]=n+I[0]+o+V[0]+(L/4294967296>>>0)>>>0,e[T][1]=L>>>0;for(m=t[0][0],y=t[0][1],g=t[1][0],x=t[1][1],w=t[2][0],C=t[2][1],_=t[3][0],A=t[3][1],P=t[4][0],D=t[4][1],W=t[5][0],Q=t[5][1],z=t[6][0],ne=t[6][1],ge=t[7][0],Je=t[7][1],T=0;T<80;++T)u=((P>>>14|D<<18)^(P>>>18|D<<14)^(D>>>9|P<<23))>>>0,l=((P<<18|D>>>14)^(P<<14|D>>>18)^(D<<23|P>>>9))>>>0,f=(z^P&(W^z))>>>0,h=(ne^D&(Q^ne))>>>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|w&(m^g))>>>0,d=(y&x|C&(y^x))>>>0,L=Je+l+h+lu[T][1]+e[T][1],n=ge+u+f+lu[T][0]+e[T][0]+(L/4294967296>>>0)>>>0,i=L>>>0,L=c+d,o=a+p+(L/4294967296>>>0)>>>0,s=L>>>0,ge=z,Je=ne,z=W,ne=Q,W=P,Q=D,L=A+i,P=_+n+(L/4294967296>>>0)>>>0,D=L>>>0,_=w,A=C,w=g,C=x,g=m,x=y,L=i+s,m=n+o+(L/4294967296>>>0)>>>0,y=L>>>0;L=t[0][1]+y,t[0][0]=t[0][0]+m+(L/4294967296>>>0)>>>0,t[0][1]=L>>>0,L=t[1][1]+x,t[1][0]=t[1][0]+g+(L/4294967296>>>0)>>>0,t[1][1]=L>>>0,L=t[2][1]+C,t[2][0]=t[2][0]+w+(L/4294967296>>>0)>>>0,t[2][1]=L>>>0,L=t[3][1]+A,t[3][0]=t[3][0]+_+(L/4294967296>>>0)>>>0,t[3][1]=L>>>0,L=t[4][1]+D,t[4][0]=t[4][0]+P+(L/4294967296>>>0)>>>0,t[4][1]=L>>>0,L=t[5][1]+Q,t[5][0]=t[5][0]+W+(L/4294967296>>>0)>>>0,t[5][1]=L>>>0,L=t[6][1]+ne,t[6][0]=t[6][0]+z+(L/4294967296>>>0)>>>0,t[6][1]=L>>>0,L=t[7][1]+Je,t[7][0]=t[7][0]+ge+(L/4294967296>>>0)>>>0,t[7][1]=L>>>0,Y-=128}}});var Ru=O((d8,hp)=>{var hi=1e3,di=hi*60,pi=di*60,_n=pi*24,sb=_n*7,ab=_n*365.25;hp.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return cb(t);if(r==="number"&&isFinite(t))return e.long?lb(t):ub(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function cb(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*ab;case"weeks":case"week":case"w":return r*sb;case"days":case"day":case"d":return r*_n;case"hours":case"hour":case"hrs":case"hr":case"h":return r*pi;case"minutes":case"minute":case"mins":case"min":case"m":return r*di;case"seconds":case"second":case"secs":case"sec":case"s":return r*hi;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function ub(t){var e=Math.abs(t);return e>=_n?Math.round(t/_n)+"d":e>=pi?Math.round(t/pi)+"h":e>=di?Math.round(t/di)+"m":e>=hi?Math.round(t/hi)+"s":t+"ms"}function lb(t){var e=Math.abs(t);return e>=_n?Cs(t,e,_n,"day"):e>=pi?Cs(t,e,pi,"hour"):e>=di?Cs(t,e,di,"minute"):e>=hi?Cs(t,e,hi,"second"):t+" ms"}function Cs(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var pp=O((p8,dp)=>{function fb(t){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=Ru(),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 h=0;h<l.length;h++)f=(f<<5)-f+l.charCodeAt(h),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=e;function r(l){let f,h=null,p,d;function m(...y){if(!m.enabled)return;let g=m,x=Number(new Date),w=x-(f||x);g.diff=w,g.prev=f,g.curr=x,f=x,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let C=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(A,P)=>{if(A==="%%")return"%";C++;let D=r.formatters[P];if(typeof D=="function"){let W=y[C];A=D.call(g,W),y.splice(C,1),C--}return A}),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:()=>h!==null?h:(p!==r.namespaces&&(p=r.namespaces,d=r.enabled(l)),d),set:y=>{h=y}}),typeof r.init=="function"&&r.init(m),m}function n(l,f){let h=r(this.namespace+(typeof f>"u"?":":f)+l);return h.log=this.log,h}function i(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let f,h=(typeof l=="string"?l:"").split(/[\s,]+/),p=h.length;for(f=0;f<p;f++)h[f]&&(l=h[f].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.slice(1)+"$")):r.names.push(new RegExp("^"+l+"$")))}function o(){let l=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let f,h;for(f=0,h=r.skips.length;f<h;f++)if(r.skips[f].test(l))return!1;for(f=0,h=r.names.length;f<h;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}dp.exports=fb});var Cu=O((bt,Ts)=>{bt.formatArgs=db;bt.save=pb;bt.load=mb;bt.useColors=hb;bt.storage=yb();bt.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`."))}})();bt.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 hb(){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 db(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Ts.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)}bt.log=console.debug||console.log||(()=>{});function pb(t){try{t?bt.storage.setItem("debug",t):bt.storage.removeItem("debug")}catch{}}function mb(){let t;try{t=bt.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function yb(){try{return localStorage}catch{}}Ts.exports=pp()(bt);var{formatters:gb}=Ts.exports;gb.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var wp=O((N8,Ep)=>{"use strict";Ep.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var Ip=O((Ap,Sp)=>{"use strict";var Ds=wp(),{hasOwnProperty:vp}=Object.prototype,{propertyIsEnumerable:Ab}=Object,gi=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),Sb=Ap,bp={concatArrays:!1,ignoreUndefined:!1},Ns=t=>{let e=[];for(let r in t)vp.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)Ab.call(t,n)&&e.push(n)}return e};function xi(t){return Array.isArray(t)?Ib(t):Ds(t)?Rb(t):t}function Ib(t){let e=t.slice(0,0);return Ns(t).forEach(r=>{gi(e,r,xi(t[r]))}),e}function Rb(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return Ns(t).forEach(r=>{gi(e,r,xi(t[r]))}),e}var _p=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?gi(t,i,Pu(t[i],e[i],n)):gi(t,i,xi(e[i])))}),t),Cb=(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++)vp.call(o,a)&&(s.push(String(a)),o===t?gi(n,i++,o[a]):gi(n,i++,xi(o[a])));n=_p(n,o,Ns(o).filter(a=>!s.includes(a)),r)}),n};function Pu(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?Cb(t,e,r):!Ds(e)||!Ds(t)?xi(e):_p(t,e,Ns(e),r)}Sp.exports=function(...t){let e=Pu(xi(bp),this!==Sb&&this||{},bp),r={_:{}};for(let n of t)if(n!==void 0){if(!Ds(n))throw new TypeError("`"+n+"` is not an Option Object");r=Pu(r,{_:n},e)}return r._}});var Tp=O((O8,Cp)=>{"use strict";function Tb(t){return t>=55296&&t<=56319}function Bb(t){return t>=56320&&t<=57343}Cp.exports=function(e,r,n){if(typeof r!="string")throw new Error("Input must be string");for(var i=r.length,o=0,s,a,c=0;c<i;c+=1){if(s=r.charCodeAt(c),a=r[c],Tb(s)&&Bb(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),o+=e(a),o===n)return r.slice(0,c+1);if(o>n)return r.slice(0,c-a.length+1)}return r}});var Lp=O((M8,Bp)=>{"use strict";function Lb(t){return t>=55296&&t<=56319}function Pb(t){return t>=56320&&t<=57343}Bp.exports=function(e){if(typeof e!="string")throw new Error("Input must be string");for(var r=e.length,n=0,i=null,o=null,s=0;s<r;s++)i=e.charCodeAt(s),Pb(i)?o!=null&&Lb(o)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),o=i;return n}});var Dp=O((U8,Pp)=>{"use strict";var Db=Tp(),Nb=Lp();Pp.exports=Db.bind(null,Nb)});var Op=O((F8,kp)=>{"use strict";var kb=Dp(),Ob=/[\/\?<>\\:\*\|"]/g,Mb=/[\x00-\x1f\x80-\x9f]/g,Ub=/^\.+$/,Fb=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,Kb=/[\. ]+$/;function Np(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(Ob,e).replace(Mb,e).replace(Ub,e).replace(Fb,e).replace(Kb,e);return kb(r,255)}kp.exports=function(t,e){var r=e&&e.replacement||"",n=Np(t,r);return r===""?n:Np(n,"")}});var lm=O((h3,Ju)=>{"use strict";var xv=Object.prototype.hasOwnProperty,dt="~";function yo(){}Object.create&&(yo.prototype=Object.create(null),new yo().__proto__||(dt=!1));function Ev(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function um(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new Ev(r,n||t,i),s=dt?dt+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 Fs(t,e){--t._eventsCount===0?t._events=new yo:delete t._events[e]}function lt(){this._events=new yo,this._eventsCount=0}lt.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)xv.call(r,n)&&e.push(dt?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};lt.prototype.listeners=function(e){var r=dt?dt+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};lt.prototype.listenerCount=function(e){var r=dt?dt+e:e,n=this._events[r];return n?n.fn?1:n.length:0};lt.prototype.emit=function(e,r,n,i,o,s){var a=dt?dt+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,o),!0;case 6:return c.fn.call(c.context,r,n,i,o,s),!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 h=c.length,p;for(f=0;f<h;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};lt.prototype.on=function(e,r,n){return um(this,e,r,n,!1)};lt.prototype.once=function(e,r,n){return um(this,e,r,n,!0)};lt.prototype.removeListener=function(e,r,n,i){var o=dt?dt+e:e;if(!this._events[o])return this;if(!r)return Fs(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&Fs(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:Fs(this,o)}return this};lt.prototype.removeAllListeners=function(e){var r;return e?(r=dt?dt+e:e,this._events[r]&&Fs(this,r)):(this._events=new yo,this._eventsCount=0),this};lt.prototype.off=lt.prototype.removeListener;lt.prototype.addListener=lt.prototype.on;lt.prefixed=dt;lt.EventEmitter=lt;typeof Ju<"u"&&(Ju.exports=lt)});var Al=O((TB,Bm)=>{"use strict";function Tm(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function Dv(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 Tm(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),Tm(new i,r)}}Bm.exports=Dv});var Om=O(_o=>{(function(){var t,e,r,n,i,o,s,a;a=function(c){var u,l,f,h;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&65280)>>>8,h=c&255,[u,l,f,h].join(".")},s=function(c){var u,l,f,h,p,d;for(u=[],f=h=0;h<=3&&c.length!==0;f=++h){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}d=e(c),p=d[0],l=d[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"),o=r("a"),i=r("A"),e=function(c){var u,l,f,h,p;for(h=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)h=h*u+(r(c[f])-n)>>>0;else if(u===16)if("a"<=c[f]&&c[f]<="f")h=h*u+(10+r(c[f])-o)>>>0;else if("A"<=c[f]&&c[f]<="F")h=h*u+(10+r(c[f])-i)>>>0;else break;else break;if(h>4294967295)throw new Error("too large");f++}if(f===p)throw new Error("empty octet");return[h,f]},t=function(){function c(u,l){var f,h,p,d;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(d=u.split("/",2),u=d[0],l=d[1]),l||(l=32),typeof l=="string"&&l.indexOf(".")>-1){try{this.maskLong=s(l)}catch(m){throw f=m,new Error("Invalid mask: "+l)}for(h=p=32;p>=0;h=--p)if(this.maskLong===4294967295<<32-h>>>0){this.bitmask=h;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=(s(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):(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 l,f,h;for(h=s(this.first),f=s(this.last),l=0;h<=f;)u(a(h),h,l),l++,h++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),_o.ip2long=s,_o.long2ip=a,_o.Netmask=t}).call(_o)});var Km=O((Fm,sa)=>{(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(p,d){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let m=0,y=-1,g=(p.match(a.zoneIndex)||[])[0],x,w;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>d)return null;for(w=d-m,x=":";w--;)x+="0:";return p=p.replace("::",x),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),d=function(){let C=p.split(":"),_=[];for(let A=0;A<C.length;A++)_.push(parseInt(C[A],16));return _}(),{parts:d,zoneId:g}}function u(p,d,m,y){if(p.length!==d.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!==d[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,d){for(;p.length<d;)p=`0${p}`;return p}let h={};h.IPv4=function(){function p(d){if(d.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let m,y;for(m=0;m<d.length;m++)if(y=d[m],!(0<=y&&y<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=d}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(d,m){let y;if(m===void 0&&(y=d,d=y[0],m=y[1]),d.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,d.octets,8,m)},p.prototype.prefixLengthFromSubnetMask=function(){let d=0,m=!1,y={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},g,x,w;for(g=3;g>=0;g-=1)if(x=this.octets[g],x in y){if(w=y[x],m&&w!==0)return null;w!==8&&(m=!0),d+=w}else return null;return 32-d},p.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){return this.octets.slice(0)},p.prototype.toIPv4MappedAddress=function(){return h.IPv6.parse(`::ffff:${this.toString()}`)},p.prototype.toNormalizedString=function(){return this.toString()},p.prototype.toString=function(){return this.octets.join(".")},p}(),h.IPv4.broadcastAddressFromCIDR=function(p){try{let d=this.parseCIDR(p),m=d[0].toByteArray(),y=this.subnetMaskFromPrefixLength(d[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")}},h.IPv4.isIPv4=function(p){return this.parser(p)!==null},h.IPv4.isValid=function(p){try{return new this(this.parser(p)),!0}catch{return!1}},h.IPv4.isValidFourPartDecimal=function(p){return!!(h.IPv4.isValid(p)&&p.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},h.IPv4.networkAddressFromCIDR=function(p){let d,m,y,g,x;try{for(d=this.parseCIDR(p),y=d[0].toByteArray(),x=this.subnetMaskFromPrefixLength(d[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")}},h.IPv4.parse=function(p){let d=this.parser(p);if(d===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(d)},h.IPv4.parseCIDR=function(p){let d;if(d=p.match(/^(.+)\/(\d+)$/)){let m=parseInt(d[2]);if(m>=0&&m<=32){let y=[this.parse(d[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")},h.IPv4.parser=function(p){let d,m,y;if(d=p.match(r.fourOctet))return function(){let g=d.slice(1,6),x=[];for(let w=0;w<g.length;w++)m=g[w],x.push(l(m));return x}();if(d=p.match(r.longValue)){if(y=l(d[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(d=p.match(r.twoOctet))?function(){let g=d.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}():(d=p.match(r.threeOctet))?function(){let g=d.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},h.IPv4.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");let d=[0,0,0,0],m=0,y=Math.floor(p/8);for(;m<y;)d[m]=255,m++;return y<4&&(d[y]=Math.pow(2,p%8)-1<<8-p%8),new this(d)},h.IPv6=function(){function p(d,m){let y,g;if(d.length===16)for(this.parts=[],y=0;y<=14;y+=2)this.parts.push(d[y]<<8|d[y+1]);else if(d.length===8)this.parts=d;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(d,m){let y;if(m===void 0&&(y=d,d=y[0],m=y[1]),d.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,d.parts,16,m)},p.prototype.prefixLengthFromSubnetMask=function(){let d=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 w=7;w>=0;w-=1)if(g=this.parts[w],g in y){if(x=y[g],m&&x!==0)return null;x!==16&&(m=!0),d+=x}else return null;return 128-d},p.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let d,m=[],y=this.parts;for(let g=0;g<y.length;g++)d=y[g],m.push(d>>8),m.push(d&255);return m},p.prototype.toFixedLengthString=function(){let d=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}`),d+m},p.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let d=this.parts.slice(-2),m=d[0],y=d[1];return new h.IPv4([m>>8,m&255,y>>8,y&255])},p.prototype.toNormalizedString=function(){let d=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}`),d+m},p.prototype.toRFC5952String=function(){let d=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),y=0,g=-1,x;for(;x=d.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}(),h.IPv6.broadcastAddressFromCIDR=function(p){try{let d=this.parseCIDR(p),m=d[0].toByteArray(),y=this.subnetMaskFromPrefixLength(d[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(d){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${d})`)}},h.IPv6.isIPv6=function(p){return this.parser(p)!==null},h.IPv6.isValid=function(p){if(typeof p=="string"&&p.indexOf(":")===-1)return!1;try{let d=this.parser(p);return new this(d.parts,d.zoneId),!0}catch{return!1}},h.IPv6.networkAddressFromCIDR=function(p){let d,m,y,g,x;try{for(d=this.parseCIDR(p),y=d[0].toByteArray(),x=this.subnetMaskFromPrefixLength(d[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}catch(w){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${w})`)}},h.IPv6.parse=function(p){let d=this.parser(p);if(d.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(d.parts,d.zoneId)},h.IPv6.parseCIDR=function(p){let d,m,y;if((m=p.match(/^(.+)\/(\d+)$/))&&(d=parseInt(m[2]),d>=0&&d<=128))return y=[this.parse(m[1]),d],Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},h.IPv6.parser=function(p){let d,m,y,g,x,w;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))&&(w=y[6]||"",d=c(y[1].slice(0,-1)+w,6),d.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 d.parts.push(x[0]<<8|x[1]),d.parts.push(x[2]<<8|x[3]),{parts:d.parts,zoneId:d.zoneId}}return null},h.IPv6.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>128)throw new Error("ipaddr: invalid IPv6 prefix length");let d=[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;)d[m]=255,m++;return y<16&&(d[y]=Math.pow(2,p%8)-1<<8-p%8),new this(d)},h.fromByteArray=function(p){let d=p.length;if(d===4)return new h.IPv4(p);if(d===16)return new h.IPv6(p);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},h.isValid=function(p){return h.IPv6.isValid(p)||h.IPv4.isValid(p)},h.parse=function(p){if(h.IPv6.isValid(p))return h.IPv6.parse(p);if(h.IPv4.isValid(p))return h.IPv4.parse(p);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},h.parseCIDR=function(p){try{return h.IPv6.parseCIDR(p)}catch{try{return h.IPv4.parseCIDR(p)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},h.process=function(p){let d=this.parse(p);return d.kind()==="ipv6"&&d.isIPv4MappedAddress()?d.toIPv4Address():d},h.subnetMatch=function(p,d,m){let y,g,x,w;m==null&&(m="unicast");for(g in d)if(Object.prototype.hasOwnProperty.call(d,g)){for(x=d[g],x[0]&&!(x[0]instanceof Array)&&(x=[x]),y=0;y<x.length;y++)if(w=x[y],p.kind()===w[0].kind()&&p.match.apply(p,w))return g}return m},typeof sa<"u"&&sa.exports?sa.exports=h:t.ipaddr=h})(Fm)});var Wm=O((iL,Ym)=>{"use strict";Ym.exports=Gm;var Yv=Ru(),jr=Gm.prototype,Wv=new Date%1e9;function Qv(){return(Math.random()*1e9>>>0)+Wv++}function Gm(t){t=t||{},this.id=t.id||Qv(),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)}jr.has=function(t){return t in this._lookup};jr.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};jr.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};jr.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};jr.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};jr.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=Yv(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};jr.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};jr.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 Ao=O((SL,ry)=>{ry.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 iy=O((RL,ny)=>{ny.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 sy=O((CL,oy)=>{var Jv=iy();oy.exports=Jv});var St=O((BL,ay)=>{ay.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=O((PL,uy)=>{var Dl=Ao(),e_=sy(),cy=St();uy.exports=class extends Dl{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new e_}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 Dl?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 Dl))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 cy(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 cy(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 fy=O((DL,ly)=>{var t_=Ti(),r_=St(),Nl="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} ",kl=class extends t_{constructor(e){super(e),this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,this.useRedisPackage=e.useRedisPackage,this.useRedis3AndLowerPackage=e.useRedis3AndLowerPackage,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:Nl})}_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 r_;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(l,f){return l?c(l):a(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,o,u):this.client.eval(Nl,1,e,r,o,u)}):this.client.eval(Nl,{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)}};ly.exports=kl});var py=O((NL,dy)=>{var n_=Ti(),i_=St();function hy(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 Ol=class t extends n_{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=hy(this.client)}):(this._initCollection(),this._driverVersion=hy(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 i_,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((l,f)=>{this._collection.findOneAndUpdate(a,c,u).then(h=>{l(h)}).catch(h=>{if(h&&h.code===11e3){let p=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},s),d={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},s)};this._collection.findOneAndUpdate(p,d,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(h)})})}_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)}};dy.exports=Ol});var yy=O((kL,my)=>{var o_=Ti(),s_=St(),Ml=class extends o_{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 s_,[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(),l=i>0?u+i:null,f,h;o?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
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 D1(t){return t.replace(/^\s+/,"")}});var k0=O((pS,N0)=>{var jt=ye();ln();Me();var L0=N0.exports=jt.sha256=jt.sha256||{};jt.md.sha256=jt.md.algorithms.sha256=L0;L0.create=function(){P0||N1();var t=null,e=jt.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=jt.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=jt.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),B0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=jt.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(fc.substr(0,n.blockLength-s));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};B0(f,r,i);var h=jt.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h.putInt32(f.h5),h.putInt32(f.h6),h.putInt32(f.h7),h},n};var fc=null,P0=!1,D0=null;function N1(){fc=String.fromCharCode(128),fc+=jt.util.fillString(String.fromCharCode(0),64),D0=[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],P0=!0}function B0(t,e,r){for(var n,i,o,s,a,c,u,l,f,h,p,d,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,h=t.h2,p=t.h3,d=t.h4,m=t.h5,y=t.h6,g=t.h7,u=0;u<64;++u)s=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),a=y^d&(m^y),o=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|h&(l^f),n=g+s+a+D0[u]+e[u],i=o+c,g=y,y=m,m=d,d=p+n>>>0,p=h,h=f,f=l,l=n+i>>>0;t.h0=t.h0+l|0,t.h1=t.h1+f|0,t.h2=t.h2+h|0,t.h3=t.h3+p|0,t.h4=t.h4+d|0,t.h5=t.h5+m|0,t.h6=t.h6+y|0,t.h7=t.h7+g|0,x-=64}}});var M0=O((mS,O0)=>{var Jt=ye();Me();var rs=null;Jt.util.isNodejs&&!Jt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(rs=Wi());var k1=O0.exports=Jt.prng=Jt.prng||{};k1.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,h=e.plugin.increment,p=e.plugin.formatKey,d=e.plugin.formatSeed,m=Jt.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 Jt.util.nextTick(function(){o(y)});var x=f(e.key,e.seed);e.generated+=x.length,m.putBytes(x),e.key=p(f(e.key,h(e.seed))),e.seed=d(f(e.key,e.seed)),Jt.util.setImmediate(y)}},e.generateSync=function(u){var l=e.plugin.cipher,f=e.plugin.increment,h=e.plugin.formatKey,p=e.plugin.formatSeed;e.key=null;for(var d=Jt.util.createBuffer();d.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&s();var m=l(e.key,e.seed);e.generated+=m.length,d.putBytes(m),e.key=h(l(e.key,f(e.seed))),e.seed=p(l(e.key,e.seed))}return d.getBytes(u)};function o(u){if(e.pools[0].messageLength>=32)return a(),u();var l=32-e.pools[0].messageLength<<5;e.seedFile(l,function(f,h){if(f)return u(f);e.collect(h),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 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 h=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(h),e.generated=0}function c(u){var l=null,f=Jt.util.globalScope,h=f.crypto||f.msCrypto;h&&h.getRandomValues&&(l=function(_){return h.getRandomValues(_)});var p=Jt.util.createBuffer();if(l)for(;p.length()<u;){var d=Math.max(1,Math.min(u-p.length(),65536)/4),m=new Uint32Array(Math.floor(d));try{l(m);for(var y=0;y<m.length;++y)p.putInt32(m[y])}catch(_){if(!(typeof QuotaExceededError<"u"&&_ instanceof QuotaExceededError))throw _}}if(p.length()<u)for(var g,x,w,C=Math.floor(Math.random()*65536);p.length()<u;){x=16807*(C&65535),g=16807*(C>>16),x+=(g&32767)<<16,x+=g>>15,x=(x&2147483647)+(x>>31),C=x&4294967295;for(var y=0;y<3;++y)w=C>>>(y<<3),w^=Math.floor(Math.random()*256),p.putByte(w&255)}return p.getBytes(u)}return rs?(e.seedFile=function(u,l){rs.randomBytes(u,function(f,h){if(f)return l(f);l(null,h.toString())})},e.seedFileSync=function(u){return rs.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="",h=0;h<l;h+=8)f+=String.fromCharCode(u>>h&255);e.collect(f)},e.registerWorker=function(u){if(u===self)e.seedFile=function(f,h){function p(d){var m=d.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",p),h(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",p),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var h=f.data;h.forge&&h.forge.prng&&e.seedFile(h.forge.prng.needed,function(p,d){u.postMessage({forge:{prng:{err:p,bytes:d}}})})};u.addEventListener("message",l)}},e}});var Qi=O((yS,hc)=>{var Ze=ye();Zo();k0();M0();Me();(function(){if(Ze.random&&Ze.random.getBytes){hc.exports=Ze.random;return}(function(t){var e={},r=new Array(4),n=Ze.util.createBuffer();e.formatKey=function(f){var h=Ze.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),Ze.aes._expandKey(f,!1)},e.formatSeed=function(f){var h=Ze.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),f},e.cipher=function(f,h){return Ze.aes._updateBlock(f,h,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=Ze.md.sha256;function i(){var f=Ze.prng.create(e);return f.getBytes=function(h,p){return f.generate(h,p)},f.getBytesSync=function(h){return f.generate(h)},f}var o=i(),s=null,a=Ze.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(f){return c.getRandomValues(f)}),Ze.options.usePureJavaScript||!Ze.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch{}o.collect(u),u=null}t&&(t().mousemove(function(f){o.collectInt(f.clientX,16),o.collectInt(f.clientY,16)}),t().keypress(function(f){o.collectInt(f.charCode,8)}))}if(!Ze.random)Ze.random=o;else for(var l in o)Ze.random[l]=o[l];Ze.random.createInstance=i,hc.exports=Ze.random})(typeof jQuery<"u"?jQuery:null)})()});var q0=O((gS,K0)=>{var gt=ye();Me();var dc=[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],U0=[1,2,3,5],O1=function(t,e){return t<<e&65535|(t&65535)>>16-e},M1=function(t,e){return(t&65535)>>e|t<<16-e&65535};K0.exports=gt.rc2=gt.rc2||{};gt.rc2.expandKey=function(t,e){typeof t=="string"&&(t=gt.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(dc[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,dc[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,dc[r.at(a+1)^r.at(a+o)]);return r};var F0=function(t,e,r){var n=!1,i=null,o=null,s=null,a,c,u,l,f=[];for(t=gt.rc2.expandKey(t,e),u=0;u<64;u++)f.push(t.getInt16Le());r?(a=function(d){for(u=0;u<4;u++)d[u]+=f[l]+(d[(u+3)%4]&d[(u+2)%4])+(~d[(u+3)%4]&d[(u+1)%4]),d[u]=O1(d[u],U0[u]),l++},c=function(d){for(u=0;u<4;u++)d[u]+=f[d[(u+3)%4]&63]}):(a=function(d){for(u=3;u>=0;u--)d[u]=M1(d[u],U0[u]),d[u]-=f[l]+(d[(u+3)%4]&d[(u+2)%4])+(~d[(u+3)%4]&d[(u+1)%4]),l--},c=function(d){for(u=3;u>=0;u--)d[u]-=f[d[(u+3)%4]&63]});var h=function(d){var m=[];for(u=0;u<4;u++){var y=i.getInt16Le();s!==null&&(r?y^=s.getInt16Le():s.putInt16Le(y)),m.push(y&65535)}l=r?0:63;for(var g=0;g<d.length;g++)for(var x=0;x<d[g][0];x++)d[g][1](m);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(m[u]):m[u]^=s.getInt16Le()),o.putInt16Le(m[u])},p=null;return p={start:function(d,m){d&&typeof d=="string"&&(d=gt.util.createBuffer(d)),n=!1,i=gt.util.createBuffer(),o=m||new gt.util.createBuffer,s=d,p.output=o},update:function(d){for(n||i.putBuffer(d);i.length()>=8;)h([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(d){var m=!0;if(r)if(d)m=d(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(d)m=d(8,o,!r);else{var g=o.length(),x=o.at(g-1);x>g?m=!1:o.truncate(x)}return m}},p};gt.rc2.startEncrypting=function(t,e,r){var n=gt.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};gt.rc2.createEncryptionCipher=function(t,e){return F0(t,e,!0)};gt.rc2.startDecrypting=function(t,e,r){var n=gt.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};gt.rc2.createDecryptionCipher=function(t,e){return F0(t,e,!1)}});var os=O((xS,Q0)=>{var pc=ye();Q0.exports=pc.jsbn=pc.jsbn||{};var yr,U1=0xdeadbeefcafe,V0=(U1&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))}pc.jsbn.BigInteger=R;function ue(){return new R(null)}function F1(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 K1(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,l=a*c+u*s;c=s*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 $0(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,l=a*c+u*s;c=s*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=$0,yr=28):V0&&navigator.appName=="Microsoft Internet Explorer"?(R.prototype.am=K1,yr=30):V0&&navigator.appName!="Netscape"?(R.prototype.am=F1,yr=26):(R.prototype.am=$0,yr=28);R.prototype.DB=yr;R.prototype.DM=(1<<yr)-1;R.prototype.DV=1<<yr;var mc=52;R.prototype.FV=Math.pow(2,mc);R.prototype.F1=mc-yr;R.prototype.F2=2*yr-mc;var q1="0123456789abcdefghijklmnopqrstuvwxyz",ns=new Array,Jn,Bt;Jn="0".charCodeAt(0);for(Bt=0;Bt<=9;++Bt)ns[Jn++]=Bt;Jn="a".charCodeAt(0);for(Bt=10;Bt<36;++Bt)ns[Jn++]=Bt;Jn="A".charCodeAt(0);for(Bt=10;Bt<36;++Bt)ns[Jn++]=Bt;function H0(t){return q1.charAt(t)}function z0(t,e){var r=ns[t.charCodeAt(e)];return r??-1}function V1(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 $1(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 Or(t){var e=ue();return e.fromInt(t),e}function H1(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:z0(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&&R.ZERO.subTo(this,this)}function z1(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function G1(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=H0(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+=H0(n));return i?o:"0"}function Y1(){var t=ue();return R.ZERO.subTo(this,t),t}function W1(){return this.s<0?this.negate():this}function Q1(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 is(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 X1(){return this.t<=0?0:this.DB*(this.t-1)+is(this.data[this.t-1]^this.s&this.DM)}function Z1(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 j1(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 J1(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 ex(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 tx(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 rx(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 nx(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 ix(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=ue());var o=ue(),s=this.s,a=t.s,c=this.DB-is(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,l=o.data[u-1];if(l!=0){var f=l*(1<<this.F1)+(u>1?o.data[u-2]>>this.F2:0),h=this.FV/f,p=(1<<this.F1)/f,d=1<<this.F2,m=r.t,y=m-u,g=e??ue();for(o.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),R.ONE.dlShiftTo(u,g),g.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--y>=0;){var x=r.data[--m]==l?this.DM:Math.floor(r.data[m]*h+(r.data[m-1]+d)*p);if((r.data[m]+=o.am(0,x,r,y,0,u))<x)for(o.dlShiftTo(y,g),r.subTo(g,r);r.data[m]<--x;)r.subTo(g,r)}e!=null&&(r.drShiftTo(u,e),s!=a&&R.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&R.ZERO.subTo(r,r)}}}function ox(t){var e=ue();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(R.ZERO)>0&&t.subTo(e,e),e}function fn(t){this.m=t}function sx(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function ax(t){return t}function cx(t){t.divRemTo(this.m,null,t)}function ux(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function lx(t,e){t.squareTo(e),this.reduce(e)}fn.prototype.convert=sx;fn.prototype.revert=ax;fn.prototype.reduce=cx;fn.prototype.mulTo=ux;fn.prototype.sqrTo=lx;function fx(){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 hn(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 hx(t){var e=ue();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 dx(t){var e=ue();return t.copyTo(e),this.reduce(e),e}function px(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 mx(t,e){t.squareTo(e),this.reduce(e)}function yx(t,e,r){t.multiplyTo(e,r),this.reduce(r)}hn.prototype.convert=hx;hn.prototype.revert=dx;hn.prototype.reduce=px;hn.prototype.mulTo=yx;hn.prototype.sqrTo=mx;function gx(){return(this.t>0?this.data[0]&1:this.s)==0}function xx(t,e){if(t>4294967295||t<1)return R.ONE;var r=ue(),n=ue(),i=e.convert(this),o=is(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 Ex(t,e){var r;return t<256||e.isEven()?r=new fn(e):r=new hn(e),this.exp(t,r)}R.prototype.copyTo=V1;R.prototype.fromInt=$1;R.prototype.fromString=H1;R.prototype.clamp=z1;R.prototype.dlShiftTo=Z1;R.prototype.drShiftTo=j1;R.prototype.lShiftTo=J1;R.prototype.rShiftTo=ex;R.prototype.subTo=tx;R.prototype.multiplyTo=rx;R.prototype.squareTo=nx;R.prototype.divRemTo=ix;R.prototype.invDigit=fx;R.prototype.isEven=gx;R.prototype.exp=xx;R.prototype.toString=G1;R.prototype.negate=Y1;R.prototype.abs=W1;R.prototype.compareTo=Q1;R.prototype.bitLength=X1;R.prototype.mod=ox;R.prototype.modPowInt=Ex;R.ZERO=Or(0);R.ONE=Or(1);function wx(){var t=ue();return this.copyTo(t),t}function bx(){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 vx(){return this.t==0?this.s:this.data[0]<<24>>24}function _x(){return this.t==0?this.s:this.data[0]<<16>>16}function Ax(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function Sx(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Ix(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=Or(r),i=ue(),o=ue(),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 Rx(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=z0(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&&R.ZERO.subTo(this,this)}function Cx(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),yc,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 Tx(){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 Bx(t){return this.compareTo(t)==0}function Lx(t){return this.compareTo(t)<0?this:t}function Px(t){return this.compareTo(t)>0?this:t}function Dx(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 Nx(t,e){return t&e}function kx(t){var e=ue();return this.bitwiseTo(t,Nx,e),e}function yc(t,e){return t|e}function Ox(t){var e=ue();return this.bitwiseTo(t,yc,e),e}function G0(t,e){return t^e}function Mx(t){var e=ue();return this.bitwiseTo(t,G0,e),e}function Y0(t,e){return t&~e}function Ux(t){var e=ue();return this.bitwiseTo(t,Y0,e),e}function Fx(){for(var t=ue(),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 Kx(t){var e=ue();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function qx(t){var e=ue();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function Vx(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 $x(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+Vx(this.data[t]);return this.s<0?this.t*this.DB:-1}function Hx(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function zx(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=Hx(this.data[r]^e);return t}function Gx(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function Yx(t,e){var r=R.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function Wx(t){return this.changeBit(t,yc)}function Qx(t){return this.changeBit(t,Y0)}function Xx(t){return this.changeBit(t,G0)}function Zx(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 jx(t){var e=ue();return this.addTo(t,e),e}function Jx(t){var e=ue();return this.subTo(t,e),e}function e2(t){var e=ue();return this.multiplyTo(t,e),e}function t2(t){var e=ue();return this.divRemTo(t,e,null),e}function r2(t){var e=ue();return this.divRemTo(t,null,e),e}function n2(t){var e=ue(),r=ue();return this.divRemTo(t,e,r),new Array(e,r)}function i2(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function o2(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 Xi(){}function W0(t){return t}function s2(t,e,r){t.multiplyTo(e,r)}function a2(t,e){t.squareTo(e)}Xi.prototype.convert=W0;Xi.prototype.revert=W0;Xi.prototype.mulTo=s2;Xi.prototype.sqrTo=a2;function c2(t){return this.exp(t,new Xi)}function u2(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 l2(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 ei(t){this.r2=ue(),this.q3=ue(),R.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function f2(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=ue();return t.copyTo(e),this.reduce(e),e}function h2(t){return t}function d2(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 p2(t,e){t.squareTo(e),this.reduce(e)}function m2(t,e,r){t.multiplyTo(e,r),this.reduce(r)}ei.prototype.convert=f2;ei.prototype.revert=h2;ei.prototype.reduce=d2;ei.prototype.mulTo=m2;ei.prototype.sqrTo=p2;function y2(t,e){var r=t.bitLength(),n,i=Or(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 fn(e):e.isEven()?o=new ei(e):o=new hn(e);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var l=ue();for(o.sqrTo(s[1],l);a<=u;)s[a]=ue(),o.mulTo(l,s[a-2],s[a]),a+=2}var f=t.t-1,h,p=!0,d=ue(),m;for(r=is(t.data[f])-1;f>=0;){for(r>=c?h=t.data[f]>>r-c&u:(h=(t.data[f]&(1<<r+1)-1)<<c-r,f>0&&(h|=t.data[f-1]>>this.DB+r-c)),a=n;!(h&1);)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),p)s[h].copyTo(i),p=!1;else{for(;a>1;)o.sqrTo(i,d),o.sqrTo(d,i),a-=2;a>0?o.sqrTo(i,d):(m=i,i=d,d=m),o.mulTo(d,s[h],i)}for(;f>=0&&!(t.data[f]&1<<r);)o.sqrTo(i,d),m=i,i=d,d=m,--r<0&&(r=this.DB-1,--f)}return o.revert(i)}function g2(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 x2(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 E2(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return R.ZERO;for(var r=t.clone(),n=this.clone(),i=Or(1),o=Or(0),s=Or(0),a=Or(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(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 Mt=[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],w2=(1<<26)/Mt[Mt.length-1];function b2(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=Mt[Mt.length-1]){for(e=0;e<Mt.length;++e)if(r.data[0]==Mt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<Mt.length;){for(var n=Mt[e],i=e+1;i<Mt.length&&n<w2;)n*=Mt[i++];for(n=r.modInt(n);e<i;)if(n%Mt[e++]==0)return!1}return r.millerRabin(t)}function v2(t){var e=this.subtract(R.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=_2(),o,s=0;s<t;++s){do o=new R(this.bitLength(),i);while(o.compareTo(R.ONE)<=0||o.compareTo(e)>=0);var a=o.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 _2(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}R.prototype.chunkSize=Ax;R.prototype.toRadix=Ix;R.prototype.fromRadix=Rx;R.prototype.fromNumber=Cx;R.prototype.bitwiseTo=Dx;R.prototype.changeBit=Yx;R.prototype.addTo=Zx;R.prototype.dMultiply=i2;R.prototype.dAddOffset=o2;R.prototype.multiplyLowerTo=u2;R.prototype.multiplyUpperTo=l2;R.prototype.modInt=x2;R.prototype.millerRabin=v2;R.prototype.clone=wx;R.prototype.intValue=bx;R.prototype.byteValue=vx;R.prototype.shortValue=_x;R.prototype.signum=Sx;R.prototype.toByteArray=Tx;R.prototype.equals=Bx;R.prototype.min=Lx;R.prototype.max=Px;R.prototype.and=kx;R.prototype.or=Ox;R.prototype.xor=Mx;R.prototype.andNot=Ux;R.prototype.not=Fx;R.prototype.shiftLeft=Kx;R.prototype.shiftRight=qx;R.prototype.getLowestSetBit=$x;R.prototype.bitCount=zx;R.prototype.testBit=Gx;R.prototype.setBit=Wx;R.prototype.clearBit=Qx;R.prototype.flipBit=Xx;R.prototype.add=jx;R.prototype.subtract=Jx;R.prototype.multiply=e2;R.prototype.divide=t2;R.prototype.remainder=r2;R.prototype.divideAndRemainder=n2;R.prototype.modPow=y2;R.prototype.modInverse=E2;R.prototype.pow=c2;R.prototype.gcd=g2;R.prototype.isProbablePrime=b2});var eh=O((ES,J0)=>{var er=ye();ln();Me();var Z0=J0.exports=er.sha1=er.sha1||{};er.md.sha1=er.md.algorithms.sha1=Z0;Z0.create=function(){j0||A2();var t=null,e=er.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=er.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=er.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),X0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=er.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(gc.substr(0,n.blockLength-s));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};X0(f,r,i);var h=er.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h},n};var gc=null,j0=!1;function A2(){gc=String.fromCharCode(128),gc+=er.util.fillString(String.fromCharCode(0),64),j0=!0}function X0(t,e,r){for(var n,i,o,s,a,c,u,l,f=r.length();f>=64;){for(i=t.h0,o=t.h1,s=t.h2,a=t.h3,c=t.h4,l=0;l<16;++l)n=r.getInt32(),e[l]=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(;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^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(;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=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(;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=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(;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=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(;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=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,f-=64}}});var nh=O((wS,rh)=>{var tr=ye();Me();Qi();eh();var th=rh.exports=tr.pkcs1=tr.pkcs1||{};th.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=tr.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 l=o.digest(),f="",h=c-e.length,p=0;p<h;p++)f+="\0";var d=l.getBytes()+f+""+e;if(!i)i=tr.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 m=ss(i,a-o.digestLength-1,s),y=tr.util.xorBytes(d,m,d.length),g=ss(y,o.digestLength,s),x=tr.util.xorBytes(i,g,i.length);return"\0"+x+y};th.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 y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=e.length,y.expectedLength=s,y}if(i===void 0?i=tr.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),l=e.substring(1+i.digestLength),f=ss(l,i.digestLength,o),h=tr.util.xorBytes(u,f,u.length),p=ss(h,s-i.digestLength-1,o),d=tr.util.xorBytes(l,p,l.length),m=d.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==m.charAt(g);for(var x=1,w=i.digestLength,C=i.digestLength;C<d.length;C++){var _=d.charCodeAt(C),A=_&1^1,P=x?65534:0;y|=_&P,x=x&A,w+=x}if(y||d.charCodeAt(w)!==1)throw new Error("Invalid RSAES-OAEP padding.");return d.substring(w+1)};function ss(t,e,r){r||(r=tr.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 ih=O((bS,xc)=>{var Mr=ye();Me();os();Qi();(function(){if(Mr.prime){xc.exports=Mr.prime;return}var t=xc.exports=Mr.prime=Mr.prime||{},e=Mr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(f,h){return f|h};t.generateProbablePrime=function(f,h,p){typeof h=="function"&&(p=h,h={}),h=h||{};var d=h.algorithm||"PRIMEINC";typeof d=="string"&&(d={name:d}),d.options=d.options||{};var m=h.prng||Mr.random,y={nextBytes:function(g){for(var x=m.getBytesSync(g.length),w=0;w<g.length;++w)g[w]=x.charCodeAt(w)}};if(d.name==="PRIMEINC")return o(f,y,d.options,p);throw new Error("Invalid prime generation algorithm: "+d.name)};function o(f,h,p,d){return"workers"in p?c(f,h,p,d):s(f,h,p,d)}function s(f,h,p,d){var m=u(f,h),y=0,g=l(m.bitLength());"millerRabinTests"in p&&(g=p.millerRabinTests);var x=10;"maxBlockTime"in p&&(x=p.maxBlockTime),a(m,f,h,y,g,x,d)}function a(f,h,p,d,m,y,g){var x=+new Date;do{if(f.bitLength()>h&&(f=u(h,p)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(r[d++%8],0)}while(y<0||+new Date-x<y);Mr.util.setImmediate(function(){a(f,h,p,d,m,y,g)})}function c(f,h,p,d){if(typeof Worker>"u")return s(f,h,p,d);var m=u(f,h),y=p.workers,g=p.workLoad||100,x=g*30/8,w=p.workerScript||"forge/prime.worker.js";if(y===-1)return Mr.util.estimateCores(function(_,A){_&&(A=2),y=A-1,C()});C();function C(){y=Math.max(1,y);for(var _=[],A=0;A<y;++A)_[A]=new Worker(w);for(var P=y,A=0;A<y;++A)_[A].addEventListener("message",W);var D=!1;function W(Q){if(!D){--P;var z=Q.data;if(z.found){for(var ne=0;ne<_.length;++ne)_[ne].terminate();return D=!0,d(null,new e(z.prime,16))}m.bitLength()>f&&(m=u(f,h));var ge=m.toString(16);Q.target.postMessage({hex:ge,workLoad:g}),m.dAddOffset(x,0)}}}}function u(f,h){var p=new e(f,h),d=f-1;return p.testBit(d)||p.bitwiseTo(e.ONE.shiftLeft(d),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 cs=O((vS,fh)=>{var H=ye();Yi();os();Go();nh();ih();Qi();Me();typeof ae>"u"&&(ae=H.jsbn.BigInteger);var ae,Ec=H.util.isNodejs?Wi():null,v=H.asn1,Lt=H.util;H.pki=H.pki||{};fh.exports=H.pki.rsa=H.rsa=H.rsa||{};var X=H.pki,S2=[6,4,2,4,2,4,6,2],I2={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"}]},R2={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"}]},C2={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"}]},T2=H.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"}]}]},B2={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"}]},L2=function(t){var e;if(t.algorithm in X.oids)e=X.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,[]),o=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]);o.value.push(v.create(v.Class.UNIVERSAL,v.Type.OID,!1,n)),o.value.push(v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,""));var s=v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(o),i.value.push(s),v.toDer(i).getBytes()},uh=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(ae.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(ae.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new ae(H.util.bytesToHex(H.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(ae.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};X.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=lh(t,e,r)):(i=H.util.createBuffer(),i.putBytes(t));for(var s=new ae(i.toHex(),16),a=uh(s,e,n),c=a.toString(16),u=H.util.createBuffer(),l=o-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(H.util.hexToBytes(c)),u.getBytes()};X.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 ae(H.util.createBuffer(t).toHex(),16);if(s.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=uh(s,e,r),c=a.toString(16),u=H.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(H.util.hexToBytes(c)),n!==!1?as(u.getBytes(),e,r):u.getBytes()};X.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||H.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 ae(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};X.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new ae(null);r.fromInt(30);for(var n=0,i=function(f,h){return f|h},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 ae(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(ae.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(D2(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(S2[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(ae.ONE).gcd(t.e).compareTo(ae.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(ae.ONE),t.q1=t.q.subtract(ae.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(ae.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:X.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:X.rsa.setPublicKey(t.n,t.e)}}s=+new Date,a+=s-o,o=s}return t.keys!==null};X.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),!H.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(oh("generateKeyPair"))return Ec.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:X.privateKeyFromPem(u),publicKey:X.publicKeyFromPem(c)})});if(sh("generateKey")&&sh("exportKey"))return Lt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:ch(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Lt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=X.privateKeyFromAsn1(v.fromDer(H.util.createBuffer(a)));n(null,{privateKey:c,publicKey:X.setRsaPublicKey(c.n,c.e)})}});if(ah("generateKey")&&ah("exportKey")){var i=Lt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:ch(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=Lt.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,h=X.privateKeyFromAsn1(v.fromDer(H.util.createBuffer(f)));n(null,{privateKey:h,publicKey:X.setRsaPublicKey(h.n,h.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(oh("generateKeyPairSync")){var o=Ec.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:X.privateKeyFromPem(o.privateKey),publicKey:X.publicKeyFromPem(o.publicKey)}}}var s=X.rsa.createKeyPairGenerationState(t,e,r);if(!n)return X.rsa.stepKeyPairGenerationState(s,0),s.keys;P2(s,r,n)};X.setRsaPublicKey=X.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 lh(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return H.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 X.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=as(u,r,!0);var l=v.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),f={},h=[];if(!v.validate(l,B2,f,h)){var p=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw p.errors=h,p}var d=v.derToOid(f.algorithmIdentifier);if(!(d===H.oids.md2||d===H.oids.md5||d===H.oids.sha1||d===H.oids.sha224||d===H.oids.sha256||d===H.oids.sha384||d===H.oids.sha512||d===H.oids["sha512-224"]||d===H.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=d,p}if((d===H.oids.md2||d===H.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}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,u){return u=as(u,r,!0),c===u}});var a=X.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};X.setRsaPrivateKey=X.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,l,f){typeof l=="string"?l=l.toUpperCase():l===void 0&&(l="RSAES-PKCS1-V1_5");var h=X.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:as};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(p,d){return H.pkcs1.decode_rsa_oaep(d,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(h,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:L2},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var h=l.encode(u,c.n.bitLength());return X.rsa.encrypt(h,c,f)},c};X.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(X.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())])};X.privateKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,I2,e,r)&&(t=v.fromDer(H.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,R2,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,l,f;return i=H.util.createBuffer(e.privateKeyModulus).toHex(),o=H.util.createBuffer(e.privateKeyPublicExponent).toHex(),s=H.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=H.util.createBuffer(e.privateKeyPrime1).toHex(),c=H.util.createBuffer(e.privateKeyPrime2).toHex(),u=H.util.createBuffer(e.privateKeyExponent1).toHex(),l=H.util.createBuffer(e.privateKeyExponent2).toHex(),f=H.util.createBuffer(e.privateKeyCoefficient).toHex(),X.setRsaPrivateKey(new ae(i,16),new ae(o,16),new ae(s,16),new ae(a,16),new ae(c,16),new ae(u,16),new ae(l,16),new ae(f,16))};X.privateKeyToAsn1=X.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,rr(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,rr(t.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,rr(t.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,rr(t.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,rr(t.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,rr(t.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,rr(t.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,rr(t.qInv))])};X.publicKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,T2,e,r)){var n=v.derToOid(e.publicKeyOid);if(n!==X.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,C2,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=H.util.createBuffer(e.publicKeyModulus).toHex(),s=H.util.createBuffer(e.publicKeyExponent).toHex();return X.setRsaPublicKey(new ae(o,16),new ae(s,16))};X.publicKeyToAsn1=X.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(X.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[X.publicKeyToRSAPublicKey(t)])])};X.publicKeyToRSAPublicKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,rr(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,rr(t.e))])};function lh(t,e,r){var n=H.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,l=H.random.getBytes(s),c=0;c<s;++c)a=l.charCodeAt(c),a===0?++u:n.putByte(a);s=u}return n.putByte(0),n.putBytes(t),n}function as(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),o=H.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 l=o.getByte();if(l!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function P2(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){H.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(ae.ONE).gcd(t.e).compareTo(ae.ONE)!==0){t.p=null,i();return}if(t.q.subtract(ae.ONE).gcd(t.e).compareTo(ae.ONE)!==0){t.q=null,o(t.qBits,s);return}if(t.p1=t.p.subtract(ae.ONE),t.q1=t.q.subtract(ae.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(ae.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 l=t.e.modInverse(t.phi);t.keys={privateKey:X.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:X.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function rr(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=H.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 D2(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 oh(t){return H.util.isNodejs&&typeof Ec[t]=="function"}function sh(t){return typeof Lt.globalScope<"u"&&typeof Lt.globalScope.crypto=="object"&&typeof Lt.globalScope.crypto.subtle=="object"&&typeof Lt.globalScope.crypto.subtle[t]=="function"}function ah(t){return typeof Lt.globalScope<"u"&&typeof Lt.globalScope.msCrypto=="object"&&typeof Lt.globalScope.msCrypto.subtle=="object"&&typeof Lt.globalScope.msCrypto.subtle[t]=="function"}function ch(t){for(var e=H.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var gh=O((_S,yh)=>{var U=ye();Zo();Yi();v0();ln();Go();lc();T0();Qi();q0();cs();Me();typeof hh>"u"&&(hh=U.jsbn.BigInteger);var hh,S=U.asn1,j=U.pki=U.pki||{};yh.exports=j.pbe=U.pbe=U.pbe||{};var dn=j.oids,N2={name:"EncryptedPrivateKeyInfo",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},k2={name:"PBES2Algorithms",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},O2={name:"pkcs-12PbeParams",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"iterations"}]};j.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=U.random.getBytesSync(r.saltSize),i=r.count,o=S.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,l,f;switch(r.algorithm){case"aes128":s=16,u=16,l=dn["aes128-CBC"],f=U.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,l=dn["aes192-CBC"],f=U.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,l=dn["aes256-CBC"],f=U.aes.createEncryptionCipher;break;case"des":s=8,u=8,l=dn.desCBC,f=U.des.createEncryptionCipher;break;default:var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var p="hmacWith"+r.prfAlgorithm.toUpperCase(),d=mh(p),m=U.pkcs5.pbkdf2(e,n,i,s,d),y=U.random.getBytesSync(u),g=f(m);g.start(y),g.update(S.toDer(t)),g.finish(),c=g.output.getBytes();var x=M2(n,o,s,p);a=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(dn.pkcs5PBES2).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(dn.pkcs5PBKDF2).getBytes()),x]),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(l).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){s=24;var w=new U.util.ByteBuffer(n),m=j.pbe.generatePkcs12Key(e,w,1,i,s),y=j.pbe.generatePkcs12Key(e,w,2,i,s),g=U.des.createEncryptionCipher(m);g.start(y),g.update(S.toDer(t)),g.finish(),c=g.output.getBytes(),a=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(dn["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,n),S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,o.getBytes())])])}else{var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var C=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[a,S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,c)]);return C};j.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!S.validate(t,N2,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=S.derToOid(n.encryptionOid),a=j.pbe.getCipher(s,n.encryptionParams,e),c=U.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=S.fromDer(a.output)),r};j.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:S.toDer(t).getBytes()};return U.pem.encode(r,{maxline:e})};j.encryptedPrivateKeyFromPem=function(t){var e=U.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 S.fromDer(e.body)};j.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=j.wrapRsaPrivateKey(j.privateKeyToAsn1(t));return n=j.encryptPrivateKeyInfo(n,e,r),j.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=U.random.getBytesSync(8),a=U.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=U.random.getBytesSync(8),a=U.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=U.pbe.opensslDeriveBytes(e,o.substr(0,8),s),l=a(u);l.start(o),l.update(S.toDer(j.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:U.util.bytesToHex(o).toUpperCase()},body:l.output.getBytes()};return U.pem.encode(f)};j.decryptRsaPrivateKey=function(t,e){var r=null,n=U.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=U.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=U.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=U.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=U.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=U.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(f){return U.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":o=8,s=function(f){return U.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":o=16,s=function(f){return U.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=U.util.hexToBytes(n.dekInfo.parameters),c=U.pbe.opensslDeriveBytes(e,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(U.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=j.decryptPrivateKeyInfo(S.fromDer(r),e):r=S.fromDer(r),r!==null&&(r=j.privateKeyFromAsn1(r)),r};j.pbe.generatePkcs12Key=function(t,e,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in U.md))throw new Error('"sha1" hash algorithm unavailable.');o=U.md.sha1.create()}var c=o.digestLength,u=o.blockLength,l=new U.util.ByteBuffer,f=new U.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)f.putInt16(t.charCodeAt(a));f.putInt16(0)}var h=f.length(),p=e.length(),d=new U.util.ByteBuffer;d.fillWithByte(r,u);var m=u*Math.ceil(p/u),y=new U.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(e.at(a%p));var g=u*Math.ceil(h/u),x=new U.util.ByteBuffer;for(a=0;a<g;a++)x.putByte(f.at(a%h));var w=y;w.putBuffer(x);for(var C=Math.ceil(i/c),_=1;_<=C;_++){var A=new U.util.ByteBuffer;A.putBytes(d.bytes()),A.putBytes(w.bytes());for(var P=0;P<n;P++)o.start(),o.update(A.getBytes()),A=o.digest();var D=new U.util.ByteBuffer;for(a=0;a<u;a++)D.putByte(A.at(a%c));var W=Math.ceil(p/u)+Math.ceil(h/u),Q=new U.util.ByteBuffer;for(s=0;s<W;s++){var z=new U.util.ByteBuffer(w.getBytes(u)),ne=511;for(a=D.length()-1;a>=0;a--)ne=ne>>8,ne+=D.at(a)+z.at(a),z.setAt(a,ne&255);Q.putBuffer(z)}w=Q,l.putBuffer(A)}return l.truncate(l.length()-i),l};j.pbe.getCipher=function(t,e,r){switch(t){case j.oids.pkcs5PBES2:return j.pbe.getCipherForPBES2(t,e,r);case j.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case j.oids["pbewithSHAAnd40BitRC2-CBC"]:return j.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}};j.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!S.validate(e,k2,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=S.derToOid(n.kdfOid),t!==j.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=S.derToOid(n.encOid),t!==j.oids["aes128-CBC"]&&t!==j.oids["aes192-CBC"]&&t!==j.oids["aes256-CBC"]&&t!==j.oids["des-EDE3-CBC"]&&t!==j.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=U.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(j.oids[t]){case"aes128-CBC":c=16,u=U.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=U.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=U.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=U.des.createDecryptionCipher;break;case"desCBC":c=8,u=U.des.createDecryptionCipher;break}var l=ph(n.prfOid),f=U.pkcs5.pbkdf2(r,s,a,c,l),h=n.encIv,p=u(f);return p.start(h),p};j.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!S.validate(e,O2,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=U.util.createBuffer(n.salt),a=U.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case j.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=U.des.startDecrypting;break;case j.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,y){var g=U.rc2.createDecryptionCipher(m,40);return g.start(y,null),g};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=t,o}var f=ph(n.prfOid),h=j.pbe.generatePkcs12Key(r,s,1,a,c,f);f.start();var p=j.pbe.generatePkcs12Key(r,s,2,a,u,f);return l(h,p)};j.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in U.md))throw new Error('"md5" hash algorithm unavailable.');n=U.md.md5.create()}e===null&&(e="");for(var i=[dh(n,t+e)],o=16,s=1;o<r;++s,o+=16)i.push(dh(n,i[s-1]+t+e));return i.join("").substr(0,r)};function dh(t,e){return t.start().update(e).digest().getBytes()}function ph(t){var e;if(!t)e="hmacWithSHA1";else if(e=j.oids[S.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return mh(e)}function mh(t){var e=U.md;switch(t){case"hmacWithSHA224":e=U.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 M2(t,e,r,n){var i=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,t),S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,U.util.hexToBytes(r.toString(16))),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(j.oids[n]).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.NULL,!1,"")])),i}});var ud=O((fR,cd)=>{"use strict";cd.exports=Gw;function Gw(t,e){for(var r=new Array(arguments.length-1),n=0,i=2,o=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,c){r[n]=function(l){if(o)if(o=!1,l)c(l);else{for(var f=new Array(arguments.length-1),h=0;h<f.length;)f[h++]=arguments[h];a.apply(null,f)}};try{t.apply(e||null,r)}catch(u){o&&(o=!1,c(u))}})}});var dd=O(hd=>{"use strict";var Is=hd;Is.length=function(e){var r=e.length;if(!r)return 0;for(var n=0;--r%4>1&&e.charAt(r)==="=";)++n;return Math.ceil(e.length*3)/4-n};var di=new Array(64),fd=new Array(123);for(Vt=0;Vt<64;)fd[di[Vt]=Vt<26?Vt+65:Vt<52?Vt+71:Vt<62?Vt-4:Vt-59|43]=Vt++;var Vt;Is.encode=function(e,r,n){for(var i=null,o=[],s=0,a=0,c;r<n;){var u=e[r++];switch(a){case 0:o[s++]=di[u>>2],c=(u&3)<<4,a=1;break;case 1:o[s++]=di[c|u>>4],c=(u&15)<<2,a=2;break;case 2:o[s++]=di[c|u>>6],o[s++]=di[u&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=di[c],o[s++]=61,a===1&&(o[s++]=61)),i?(s&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))};var ld="invalid encoding";Is.decode=function(e,r,n){for(var i=n,o=0,s,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&o>1)break;if((c=fd[c])===void 0)throw Error(ld);switch(o){case 0:s=c,o=1;break;case 1:r[n++]=s<<2|(c&48)>>4,s=c,o=2;break;case 2:r[n++]=(s&15)<<4|(c&60)>>2,s=c,o=3;break;case 3:r[n++]=(s&3)<<6|c,o=0;break}}if(o===1)throw Error(ld);return n-i};Is.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var md=O((dR,pd)=>{"use strict";pd.exports=Rs;function Rs(){this._listeners={}}Rs.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};Rs.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};Rs.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}});var vd=O((pR,bd)=>{"use strict";bd.exports=yd(yd);function yd(t){return typeof Float32Array<"u"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3]}function o(c,u,l){e[0]=c,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}t.writeFloatLE=n?i:o,t.writeFloatBE=n?o:i;function s(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],e[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],e[0]}t.readFloatLE=n?s:a,t.readFloatBE=n?a:s}():function(){function e(n,i,o,s){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,o,s);else if(isNaN(i))n(2143289344,o,s);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,o,s);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,o,s);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,o,s)}}t.writeFloatLE=e.bind(null,gd),t.writeFloatBE=e.bind(null,xd);function r(n,i,o){var s=n(i,o),a=(s>>31)*2+1,c=s>>>23&255,u=s&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}t.readFloatLE=r.bind(null,Ed),t.readFloatBE=r.bind(null,wd)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function o(c,u,l){e[0]=c,u[l]=r[7],u[l+1]=r[6],u[l+2]=r[5],u[l+3]=r[4],u[l+4]=r[3],u[l+5]=r[2],u[l+6]=r[1],u[l+7]=r[0]}t.writeDoubleLE=n?i:o,t.writeDoubleBE=n?o:i;function s(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],e[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],e[0]}t.readDoubleLE=n?s:a,t.readDoubleBE=n?a:s}():function(){function e(n,i,o,s,a,c){var u=s<0?1:0;if(u&&(s=-s),s===0)n(0,a,c+i),n(1/s>0?0:2147483648,a,c+o);else if(isNaN(s))n(0,a,c+i),n(2146959360,a,c+o);else if(s>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+o);else{var l;if(s<22250738585072014e-324)l=s/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+o);else{var f=Math.floor(Math.log(s)/Math.LN2);f===1024&&(f=1023),l=s*Math.pow(2,-f),n(l*4503599627370496>>>0,a,c+i),n((u<<31|f+1023<<20|l*1048576&1048575)>>>0,a,c+o)}}}t.writeDoubleLE=e.bind(null,gd,0,4),t.writeDoubleBE=e.bind(null,xd,4,0);function r(n,i,o,s,a){var c=n(s,a+i),u=n(s,a+o),l=(u>>31)*2+1,f=u>>>20&2047,h=4294967296*(u&1048575)+c;return f===2047?h?NaN:l*(1/0):f===0?l*5e-324*h:l*Math.pow(2,f-1075)*(h+4503599627370496)}t.readDoubleLE=r.bind(null,Ed,0,4),t.readDoubleBE=r.bind(null,wd,4,0)}(),t}function gd(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 xd(t,e,r){e[r]=t>>>24,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=t&255}function Ed(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function wd(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var _d=O((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}});var Sd=O(Ad=>{"use strict";var ou=Ad;ou.length=function(e){for(var r=0,n=0,i=0;i<e.length;++i)n=e.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(e.charCodeAt(i+1)&64512)===56320?(++i,r+=4):r+=3;return r};ou.read=function(e,r,n){var i=n-r;if(i<1)return"";for(var o=null,s=[],a=0,c;r<n;)c=e[r++],c<128?s[a++]=c:c>191&&c<224?s[a++]=(c&31)<<6|e[r++]&63:c>239&&c<365?(c=((c&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,s[a++]=55296+(c>>10),s[a++]=56320+(c&1023)):s[a++]=(c&15)<<12|(e[r++]&63)<<6|e[r++]&63,a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0);return o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};ou.write=function(e,r,n){for(var i=n,o,s,a=0;a<e.length;++a)o=e.charCodeAt(a),o<128?r[n++]=o:o<2048?(r[n++]=o>>6|192,r[n++]=o&63|128):(o&64512)===55296&&((s=e.charCodeAt(a+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++a,r[n++]=o>>18|240,r[n++]=o>>12&63|128,r[n++]=o>>6&63|128,r[n++]=o&63|128):(r[n++]=o>>12|224,r[n++]=o>>6&63|128,r[n++]=o&63|128);return n-i}});var Rd=O((yR,Id)=>{"use strict";Id.exports=Yw;function Yw(t,e,r){var n=r||8192,i=n>>>1,o=null,s=n;return function(c){if(c<1||c>i)return t(c);s+c>n&&(o=t(n),s=0);var u=e.call(o,s,s+=c);return s&7&&(s=(s|7)+1),u}}});var Td=O((gR,Cd)=>{"use strict";Cd.exports=je;var no=vn();function je(t,e){this.lo=t>>>0,this.hi=e>>>0}var bn=je.zero=new je(0,0);bn.toNumber=function(){return 0};bn.zzEncode=bn.zzDecode=function(){return this};bn.length=function(){return 1};var Ww=je.zeroHash="\0\0\0\0\0\0\0\0";je.fromNumber=function(e){if(e===0)return bn;var r=e<0;r&&(e=-e);var 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 je(n,i)};je.from=function(e){if(typeof e=="number")return je.fromNumber(e);if(no.isString(e))if(no.Long)e=no.Long.fromString(e);else return je.fromNumber(parseInt(e,10));return e.low||e.high?new je(e.low>>>0,e.high>>>0):bn};je.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};je.prototype.toLong=function(e){return no.Long?new no.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var zr=String.prototype.charCodeAt;je.fromHash=function(e){return e===Ww?bn:new je((zr.call(e,0)|zr.call(e,1)<<8|zr.call(e,2)<<16|zr.call(e,3)<<24)>>>0,(zr.call(e,4)|zr.call(e,5)<<8|zr.call(e,6)<<16|zr.call(e,7)<<24)>>>0)};je.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};je.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};je.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};je.prototype.length=function(){var 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}});var vn=O(su=>{"use strict";var $=su;$.asPromise=ud();$.base64=dd();$.EventEmitter=md();$.float=vd();$.inquire=_d();$.utf8=Sd();$.pool=Rd();$.LongBits=Td();$.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);$.global=$.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||su;$.emptyArray=Object.freeze?Object.freeze([]):[];$.emptyObject=Object.freeze?Object.freeze({}):{};$.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};$.isString=function(e){return typeof e=="string"||e instanceof String};$.isObject=function(e){return e&&typeof e=="object"};$.isset=$.isSet=function(e,r){var n=e[r];return n!=null&&e.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};$.Buffer=function(){try{var t=$.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch{return null}}();$._Buffer_from=null;$._Buffer_allocUnsafe=null;$.newBuffer=function(e){return typeof e=="number"?$.Buffer?$._Buffer_allocUnsafe(e):new $.Array(e):$.Buffer?$._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};$.Array=typeof Uint8Array<"u"?Uint8Array:Array;$.Long=$.global.dcodeIO&&$.global.dcodeIO.Long||$.global.Long||$.inquire("long");$.key2Re=/^true|false|0|1$/;$.key32Re=/^-?(?:0|[1-9][0-9]*)$/;$.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;$.longToHash=function(e){return e?$.LongBits.from(e).toHash():$.LongBits.zeroHash};$.longFromHash=function(e,r){var n=$.LongBits.fromHash(e);return $.Long?$.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function Bd(t,e,r){for(var n=Object.keys(e),i=0;i<n.length;++i)(t[n[i]]===void 0||!r)&&(t[n[i]]=e[n[i]]);return t}$.merge=Bd;$.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function Ld(t){function e(r,n){if(!(this instanceof e))return new e(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&Bd(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}$.newError=Ld;$.ProtocolError=Ld("ProtocolError");$.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var i=Object.keys(this),o=i.length-1;o>-1;--o)if(r[i[o]]===1&&this[i[o]]!==void 0&&this[i[o]]!==null)return i[o]}};$.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};$.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};$._configure=function(){var t=$.Buffer;if(!t){$._Buffer_from=$._Buffer_allocUnsafe=null;return}$._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},$._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var uu=O((ER,Od)=>{"use strict";Od.exports=Fe;var $t=vn(),cu,Nd=$t.LongBits,Qw=$t.utf8;function Ht(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function Fe(t){this.buf=t,this.pos=0,this.len=t.length}var Pd=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new Fe(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new Fe(e);throw Error("illegal buffer")},kd=function(){return $t.Buffer?function(r){return(Fe.create=function(i){return $t.Buffer.isBuffer(i)?new cu(i):Pd(i)})(r)}:Pd};Fe.create=kd();Fe.prototype._slice=$t.Array.prototype.subarray||$t.Array.prototype.slice;Fe.prototype.uint32=function(){var e=4294967295;return function(){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,Ht(this,10);return e}}();Fe.prototype.int32=function(){return this.uint32()|0};Fe.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function au(){var t=new Nd(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Ht(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Ht(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}Fe.prototype.bool=function(){return this.uint32()!==0};function Cs(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}Fe.prototype.fixed32=function(){if(this.pos+4>this.len)throw Ht(this,4);return Cs(this.buf,this.pos+=4)};Fe.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Ht(this,4);return Cs(this.buf,this.pos+=4)|0};function Dd(){if(this.pos+8>this.len)throw Ht(this,8);return new Nd(Cs(this.buf,this.pos+=4),Cs(this.buf,this.pos+=4))}Fe.prototype.float=function(){if(this.pos+4>this.len)throw Ht(this,4);var e=$t.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};Fe.prototype.double=function(){if(this.pos+8>this.len)throw Ht(this,4);var e=$t.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};Fe.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw Ht(this,e);if(this.pos+=e,Array.isArray(this.buf))return this.buf.slice(r,n);if(r===n){var i=$t.Buffer;return i?i.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,r,n)};Fe.prototype.string=function(){var e=this.bytes();return Qw.read(e,0,e.length)};Fe.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Ht(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Ht(this);while(this.buf[this.pos++]&128);return this};Fe.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this};Fe._configure=function(t){cu=t,Fe.create=kd(),cu._configure();var e=$t.Long?"toLong":"toNumber";$t.merge(Fe.prototype,{int64:function(){return au.call(this)[e](!1)},uint64:function(){return au.call(this)[e](!0)},sint64:function(){return au.call(this).zzDecode()[e](!1)},fixed64:function(){return Dd.call(this)[e](!0)},sfixed64:function(){return Dd.call(this)[e](!1)}})}});var Kd=O((wR,Fd)=>{"use strict";Fd.exports=_n;var Ud=uu();(_n.prototype=Object.create(Ud.prototype)).constructor=_n;var Md=vn();function _n(t){Ud.call(this,t)}_n._configure=function(){Md.Buffer&&(_n.prototype._slice=Md.Buffer.prototype.slice)};_n.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};_n._configure()});var yu=O((bR,Hd)=>{"use strict";Hd.exports=le;var Pt=vn(),lu,Ts=Pt.LongBits,qd=Pt.base64,Vd=Pt.utf8;function io(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function hu(){}function Xw(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function le(){this.len=0,this.head=new io(hu,0,0),this.tail=this.head,this.states=null}var $d=function(){return Pt.Buffer?function(){return(le.create=function(){return new lu})()}:function(){return new le}};le.create=$d();le.alloc=function(e){return new Pt.Array(e)};Pt.Array!==Array&&(le.alloc=Pt.pool(le.alloc,Pt.Array.prototype.subarray));le.prototype._push=function(e,r,n){return this.tail=this.tail.next=new io(e,r,n),this.len+=r,this};function du(t,e,r){e[r]=t&255}function Zw(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function pu(t,e){this.len=t,this.next=void 0,this.val=e}pu.prototype=Object.create(io.prototype);pu.prototype.fn=Zw;le.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new pu((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};le.prototype.int32=function(e){return e<0?this._push(mu,10,Ts.fromNumber(e)):this.uint32(e)};le.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function mu(t,e,r){for(;t.hi;)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}le.prototype.uint64=function(e){var r=Ts.from(e);return this._push(mu,r.length(),r)};le.prototype.int64=le.prototype.uint64;le.prototype.sint64=function(e){var r=Ts.from(e).zzEncode();return this._push(mu,r.length(),r)};le.prototype.bool=function(e){return this._push(du,1,e?1:0)};function fu(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}le.prototype.fixed32=function(e){return this._push(fu,4,e>>>0)};le.prototype.sfixed32=le.prototype.fixed32;le.prototype.fixed64=function(e){var r=Ts.from(e);return this._push(fu,4,r.lo)._push(fu,4,r.hi)};le.prototype.sfixed64=le.prototype.fixed64;le.prototype.float=function(e){return this._push(Pt.float.writeFloatLE,4,e)};le.prototype.double=function(e){return this._push(Pt.float.writeDoubleLE,8,e)};var jw=Pt.Array.prototype.set?function(e,r,n){r.set(e,n)}:function(e,r,n){for(var i=0;i<e.length;++i)r[n+i]=e[i]};le.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(du,1,0);if(Pt.isString(e)){var n=le.alloc(r=qd.length(e));qd.decode(e,n,0),e=n}return this.uint32(r)._push(jw,r,e)};le.prototype.string=function(e){var r=Vd.length(e);return r?this.uint32(r)._push(Vd.write,r,e):this._push(du,1,0)};le.prototype.fork=function(){return this.states=new Xw(this),this.head=this.tail=new io(hu,0,0),this.len=0,this};le.prototype.reset=function(){return this.states?(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 io(hu,0,0),this.len=0),this};le.prototype.ldelim=function(){var e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=r,this.len+=n),this};le.prototype.finish=function(){for(var e=this.head.next,r=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r};le._configure=function(t){lu=t,le.create=$d(),lu._configure()}});var Yd=O((vR,Gd)=>{"use strict";Gd.exports=or;var zd=yu();(or.prototype=Object.create(zd.prototype)).constructor=or;var Gr=vn();function or(){zd.call(this)}or._configure=function(){or.alloc=Gr._Buffer_allocUnsafe,or.writeBytesBuffer=Gr.Buffer&&Gr.Buffer.prototype instanceof Uint8Array&&Gr.Buffer.prototype.set.name==="set"?function(e,r,n){r.set(e,n)}:function(e,r,n){if(e.copy)e.copy(r,n,0,e.length);else for(var i=0;i<e.length;)r[n++]=e[i++]}};or.prototype.bytes=function(e){Gr.isString(e)&&(e=Gr._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(or.writeBytesBuffer,r,e),this};function Jw(t,e,r){t.length<40?Gr.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}or.prototype.string=function(e){var r=Gr.Buffer.byteLength(e);return this.uint32(r),r&&this._push(Jw,r,e),this};or._configure()});var ap=O((v4,sp)=>{var Se=ye();ln();Me();var so=sp.exports=Se.sha512=Se.sha512||{};Se.md.sha512=Se.md.algorithms.sha512=so;var ip=Se.sha384=Se.sha512.sha384=Se.sha512.sha384||{};ip.create=function(){return so.create("SHA-384")};Se.md.sha384=Se.md.algorithms.sha384=ip;Se.sha512.sha256=Se.sha512.sha256||{create:function(){return so.create("SHA-512/256")}};Se.md["sha512/256"]=Se.md.algorithms["sha512/256"]=Se.sha512.sha256;Se.sha512.sha224=Se.sha512.sha224||{create:function(){return so.create("SHA-512/224")}};Se.md["sha512/224"]=Se.md.algorithms["sha512/224"]=Se.sha512.sha224;so.create=function(t){if(op||cb(),typeof t>"u"&&(t="SHA-512"),!(t in Sn))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=Sn[t],r=null,n=Se.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=Se.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=Se.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),np(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=Se.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(Au.substr(0,a.blockLength-l));for(var f,h,p=a.fullMessageLength[0]*8,d=0;d<a.fullMessageLength.length-1;++d)f=a.fullMessageLength[d+1]*8,h=f/4294967296>>>0,p+=h,c.putInt32(p>>>0),p=f>>>0;c.putInt32(p);for(var m=new Array(r.length),d=0;d<r.length;++d)m[d]=r[d].slice(0);np(m,i,c);var y=Se.util.createBuffer(),g;t==="SHA-512"?g=m.length:t==="SHA-384"?g=m.length-2:g=m.length-4;for(var d=0;d<g;++d)y.putInt32(m[d][0]),(d!==g-1||t!=="SHA-512/224")&&y.putInt32(m[d][1]);return y},a};var Au=null,op=!1,Su=null,Sn=null;function cb(){Au=String.fromCharCode(128),Au+=Se.util.fillString(String.fromCharCode(0),128),Su=[[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]],Sn={},Sn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Sn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Sn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Sn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],op=!0}function np(t,e,r){for(var n,i,o,s,a,c,u,l,f,h,p,d,m,y,g,x,w,C,_,A,P,D,W,Q,z,ne,ge,rt,T,k,L,N,I,K,V,Y=r.length();Y>=128;){for(T=0;T<16;++T)e[T][0]=r.getInt32()>>>0,e[T][1]=r.getInt32()>>>0;for(;T<80;++T)N=e[T-2],k=N[0],L=N[1],n=((k>>>19|L<<13)^(L>>>29|k<<3)^k>>>6)>>>0,i=((k<<13|L>>>19)^(L<<3|k>>>29)^(k<<26|L>>>6))>>>0,K=e[T-15],k=K[0],L=K[1],o=((k>>>1|L<<31)^(k>>>8|L<<24)^k>>>7)>>>0,s=((k<<31|L>>>1)^(k<<24|L>>>8)^(k<<25|L>>>7))>>>0,I=e[T-7],V=e[T-16],L=i+I[1]+s+V[1],e[T][0]=n+I[0]+o+V[0]+(L/4294967296>>>0)>>>0,e[T][1]=L>>>0;for(m=t[0][0],y=t[0][1],g=t[1][0],x=t[1][1],w=t[2][0],C=t[2][1],_=t[3][0],A=t[3][1],P=t[4][0],D=t[4][1],W=t[5][0],Q=t[5][1],z=t[6][0],ne=t[6][1],ge=t[7][0],rt=t[7][1],T=0;T<80;++T)u=((P>>>14|D<<18)^(P>>>18|D<<14)^(D>>>9|P<<23))>>>0,l=((P<<18|D>>>14)^(P<<14|D>>>18)^(D<<23|P>>>9))>>>0,f=(z^P&(W^z))>>>0,h=(ne^D&(Q^ne))>>>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|w&(m^g))>>>0,d=(y&x|C&(y^x))>>>0,L=rt+l+h+Su[T][1]+e[T][1],n=ge+u+f+Su[T][0]+e[T][0]+(L/4294967296>>>0)>>>0,i=L>>>0,L=c+d,o=a+p+(L/4294967296>>>0)>>>0,s=L>>>0,ge=z,rt=ne,z=W,ne=Q,W=P,Q=D,L=A+i,P=_+n+(L/4294967296>>>0)>>>0,D=L>>>0,_=w,A=C,w=g,C=x,g=m,x=y,L=i+s,m=n+o+(L/4294967296>>>0)>>>0,y=L>>>0;L=t[0][1]+y,t[0][0]=t[0][0]+m+(L/4294967296>>>0)>>>0,t[0][1]=L>>>0,L=t[1][1]+x,t[1][0]=t[1][0]+g+(L/4294967296>>>0)>>>0,t[1][1]=L>>>0,L=t[2][1]+C,t[2][0]=t[2][0]+w+(L/4294967296>>>0)>>>0,t[2][1]=L>>>0,L=t[3][1]+A,t[3][0]=t[3][0]+_+(L/4294967296>>>0)>>>0,t[3][1]=L>>>0,L=t[4][1]+D,t[4][0]=t[4][0]+P+(L/4294967296>>>0)>>>0,t[4][1]=L>>>0,L=t[5][1]+Q,t[5][0]=t[5][0]+W+(L/4294967296>>>0)>>>0,t[5][1]=L>>>0,L=t[6][1]+ne,t[6][0]=t[6][0]+z+(L/4294967296>>>0)>>>0,t[6][1]=L>>>0,L=t[7][1]+rt,t[7][0]=t[7][0]+ge+(L/4294967296>>>0)>>>0,t[7][1]=L>>>0,Y-=128}}});var Vu=O((X8,Op)=>{var xi=1e3,Ei=xi*60,wi=Ei*60,Tn=wi*24,Ub=Tn*7,Fb=Tn*365.25;Op.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return Kb(t);if(r==="number"&&isFinite(t))return e.long?Vb(t):qb(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function Kb(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*Fb;case"weeks":case"week":case"w":return r*Ub;case"days":case"day":case"d":return r*Tn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*wi;case"minutes":case"minute":case"mins":case"min":case"m":return r*Ei;case"seconds":case"second":case"secs":case"sec":case"s":return r*xi;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function qb(t){var e=Math.abs(t);return e>=Tn?Math.round(t/Tn)+"d":e>=wi?Math.round(t/wi)+"h":e>=Ei?Math.round(t/Ei)+"m":e>=xi?Math.round(t/xi)+"s":t+"ms"}function Vb(t){var e=Math.abs(t);return e>=Tn?Os(t,e,Tn,"day"):e>=wi?Os(t,e,wi,"hour"):e>=Ei?Os(t,e,Ei,"minute"):e>=xi?Os(t,e,xi,"second"):t+" ms"}function Os(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var Up=O((Z8,Mp)=>{function $b(t){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=Vu(),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 h=0;h<l.length;h++)f=(f<<5)-f+l.charCodeAt(h),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=e;function r(l){let f,h=null,p,d;function m(...y){if(!m.enabled)return;let g=m,x=Number(new Date),w=x-(f||x);g.diff=w,g.prev=f,g.curr=x,f=x,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let C=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(A,P)=>{if(A==="%%")return"%";C++;let D=r.formatters[P];if(typeof D=="function"){let W=y[C];A=D.call(g,W),y.splice(C,1),C--}return A}),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:()=>h!==null?h:(p!==r.namespaces&&(p=r.namespaces,d=r.enabled(l)),d),set:y=>{h=y}}),typeof r.init=="function"&&r.init(m),m}function n(l,f){let h=r(this.namespace+(typeof f>"u"?":":f)+l);return h.log=this.log,h}function i(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let f,h=(typeof l=="string"?l:"").split(/[\s,]+/),p=h.length;for(f=0;f<p;f++)h[f]&&(l=h[f].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.slice(1)+"$")):r.names.push(new RegExp("^"+l+"$")))}function o(){let l=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let f,h;for(f=0,h=r.skips.length;f<h;f++)if(r.skips[f].test(l))return!1;for(f=0,h=r.names.length;f<h;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}Mp.exports=$b});var $u=O((At,Ms)=>{At.formatArgs=zb;At.save=Gb;At.load=Yb;At.useColors=Hb;At.storage=Wb();At.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`."))}})();At.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 Hb(){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 zb(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Ms.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)}At.log=console.debug||console.log||(()=>{});function Gb(t){try{t?At.storage.setItem("debug",t):At.storage.removeItem("debug")}catch{}}function Yb(){let t;try{t=At.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function Wb(){try{return localStorage}catch{}}Ms.exports=Up()(At);var{formatters:Qb}=Ms.exports;Qb.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Hp=O((gC,$p)=>{"use strict";$p.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var Xp=O((Wp,Qp)=>{"use strict";var qs=Hp(),{hasOwnProperty:Gp}=Object.prototype,{propertyIsEnumerable:rv}=Object,_i=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),nv=Wp,zp={concatArrays:!1,ignoreUndefined:!1},Vs=t=>{let e=[];for(let r in t)Gp.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)rv.call(t,n)&&e.push(n)}return e};function Ai(t){return Array.isArray(t)?iv(t):qs(t)?ov(t):t}function iv(t){let e=t.slice(0,0);return Vs(t).forEach(r=>{_i(e,r,Ai(t[r]))}),e}function ov(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return Vs(t).forEach(r=>{_i(e,r,Ai(t[r]))}),e}var Yp=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?_i(t,i,Yu(t[i],e[i],n)):_i(t,i,Ai(e[i])))}),t),sv=(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++)Gp.call(o,a)&&(s.push(String(a)),o===t?_i(n,i++,o[a]):_i(n,i++,Ai(o[a])));n=Yp(n,o,Vs(o).filter(a=>!s.includes(a)),r)}),n};function Yu(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?sv(t,e,r):!qs(e)||!qs(t)?Ai(e):Yp(t,e,Vs(e),r)}Qp.exports=function(...t){let e=Yu(Ai(zp),this!==nv&&this||{},zp),r={_:{}};for(let n of t)if(n!==void 0){if(!qs(n))throw new TypeError("`"+n+"` is not an Option Object");r=Yu(r,{_:n},e)}return r._}});var Jp=O((EC,jp)=>{"use strict";function av(t){return t>=55296&&t<=56319}function cv(t){return t>=56320&&t<=57343}jp.exports=function(e,r,n){if(typeof r!="string")throw new Error("Input must be string");for(var i=r.length,o=0,s,a,c=0;c<i;c+=1){if(s=r.charCodeAt(c),a=r[c],av(s)&&cv(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),o+=e(a),o===n)return r.slice(0,c+1);if(o>n)return r.slice(0,c-a.length+1)}return r}});var tm=O((wC,em)=>{"use strict";function uv(t){return t>=55296&&t<=56319}function lv(t){return t>=56320&&t<=57343}em.exports=function(e){if(typeof e!="string")throw new Error("Input must be string");for(var r=e.length,n=0,i=null,o=null,s=0;s<r;s++)i=e.charCodeAt(s),lv(i)?o!=null&&uv(o)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),o=i;return n}});var nm=O((bC,rm)=>{"use strict";var fv=Jp(),hv=tm();rm.exports=fv.bind(null,hv)});var sm=O((vC,om)=>{"use strict";var dv=nm(),pv=/[\/\?<>\\:\*\|"]/g,mv=/[\x00-\x1f\x80-\x9f]/g,yv=/^\.+$/,gv=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,xv=/[\. ]+$/;function im(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(pv,e).replace(mv,e).replace(yv,e).replace(gv,e).replace(xv,e);return dv(r,255)}om.exports=function(t,e){var r=e&&e.replacement||"",n=im(t,r);return r===""?n:im(n,"")}});var Pm=O((Q3,pl)=>{"use strict";var Xv=Object.prototype.hasOwnProperty,yt="~";function vo(){}Object.create&&(vo.prototype=Object.create(null),new vo().__proto__||(yt=!1));function Zv(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function Lm(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new Zv(r,n||t,i),s=yt?yt+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 Qs(t,e){--t._eventsCount===0?t._events=new vo:delete t._events[e]}function dt(){this._events=new vo,this._eventsCount=0}dt.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)Xv.call(r,n)&&e.push(yt?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};dt.prototype.listeners=function(e){var r=yt?yt+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};dt.prototype.listenerCount=function(e){var r=yt?yt+e:e,n=this._events[r];return n?n.fn?1:n.length:0};dt.prototype.emit=function(e,r,n,i,o,s){var a=yt?yt+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,o),!0;case 6:return c.fn.call(c.context,r,n,i,o,s),!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 h=c.length,p;for(f=0;f<h;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};dt.prototype.on=function(e,r,n){return Lm(this,e,r,n,!1)};dt.prototype.once=function(e,r,n){return Lm(this,e,r,n,!0)};dt.prototype.removeListener=function(e,r,n,i){var o=yt?yt+e:e;if(!this._events[o])return this;if(!r)return Qs(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&Qs(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:Qs(this,o)}return this};dt.prototype.removeAllListeners=function(e){var r;return e?(r=yt?yt+e:e,this._events[r]&&Qs(this,r)):(this._events=new vo,this._eventsCount=0),this};dt.prototype.off=dt.prototype.removeListener;dt.prototype.addListener=dt.prototype.on;dt.prefixed=yt;dt.EventEmitter=dt;typeof pl<"u"&&(pl.exports=dt)});var Fl=O((hL,jm)=>{"use strict";function Zm(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function f_(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 Zm(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),Zm(new i,r)}}jm.exports=f_});var iy=O(To=>{(function(){var t,e,r,n,i,o,s,a;a=function(c){var u,l,f,h;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&65280)>>>8,h=c&255,[u,l,f,h].join(".")},s=function(c){var u,l,f,h,p,d;for(u=[],f=h=0;h<=3&&c.length!==0;f=++h){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}d=e(c),p=d[0],l=d[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"),o=r("a"),i=r("A"),e=function(c){var u,l,f,h,p;for(h=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)h=h*u+(r(c[f])-n)>>>0;else if(u===16)if("a"<=c[f]&&c[f]<="f")h=h*u+(10+r(c[f])-o)>>>0;else if("A"<=c[f]&&c[f]<="F")h=h*u+(10+r(c[f])-i)>>>0;else break;else break;if(h>4294967295)throw new Error("too large");f++}if(f===p)throw new Error("empty octet");return[h,f]},t=function(){function c(u,l){var f,h,p,d;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(d=u.split("/",2),u=d[0],l=d[1]),l||(l=32),typeof l=="string"&&l.indexOf(".")>-1){try{this.maskLong=s(l)}catch(m){throw f=m,new Error("Invalid mask: "+l)}for(h=p=32;p>=0;h=--p)if(this.maskLong===4294967295<<32-h>>>0){this.bitmask=h;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=(s(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):(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 l,f,h;for(h=s(this.first),f=s(this.last),l=0;h<=f;)u(a(h),h,l),l++,h++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),To.ip2long=s,To.long2ip=a,To.Netmask=t}).call(To)});var cy=O((ay,ya)=>{(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(p,d){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let m=0,y=-1,g=(p.match(a.zoneIndex)||[])[0],x,w;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>d)return null;for(w=d-m,x=":";w--;)x+="0:";return p=p.replace("::",x),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),d=function(){let C=p.split(":"),_=[];for(let A=0;A<C.length;A++)_.push(parseInt(C[A],16));return _}(),{parts:d,zoneId:g}}function u(p,d,m,y){if(p.length!==d.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!==d[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,d){for(;p.length<d;)p=`0${p}`;return p}let h={};h.IPv4=function(){function p(d){if(d.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let m,y;for(m=0;m<d.length;m++)if(y=d[m],!(0<=y&&y<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=d}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(d,m){let y;if(m===void 0&&(y=d,d=y[0],m=y[1]),d.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,d.octets,8,m)},p.prototype.prefixLengthFromSubnetMask=function(){let d=0,m=!1,y={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},g,x,w;for(g=3;g>=0;g-=1)if(x=this.octets[g],x in y){if(w=y[x],m&&w!==0)return null;w!==8&&(m=!0),d+=w}else return null;return 32-d},p.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){return this.octets.slice(0)},p.prototype.toIPv4MappedAddress=function(){return h.IPv6.parse(`::ffff:${this.toString()}`)},p.prototype.toNormalizedString=function(){return this.toString()},p.prototype.toString=function(){return this.octets.join(".")},p}(),h.IPv4.broadcastAddressFromCIDR=function(p){try{let d=this.parseCIDR(p),m=d[0].toByteArray(),y=this.subnetMaskFromPrefixLength(d[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")}},h.IPv4.isIPv4=function(p){return this.parser(p)!==null},h.IPv4.isValid=function(p){try{return new this(this.parser(p)),!0}catch{return!1}},h.IPv4.isValidFourPartDecimal=function(p){return!!(h.IPv4.isValid(p)&&p.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},h.IPv4.networkAddressFromCIDR=function(p){let d,m,y,g,x;try{for(d=this.parseCIDR(p),y=d[0].toByteArray(),x=this.subnetMaskFromPrefixLength(d[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")}},h.IPv4.parse=function(p){let d=this.parser(p);if(d===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(d)},h.IPv4.parseCIDR=function(p){let d;if(d=p.match(/^(.+)\/(\d+)$/)){let m=parseInt(d[2]);if(m>=0&&m<=32){let y=[this.parse(d[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")},h.IPv4.parser=function(p){let d,m,y;if(d=p.match(r.fourOctet))return function(){let g=d.slice(1,6),x=[];for(let w=0;w<g.length;w++)m=g[w],x.push(l(m));return x}();if(d=p.match(r.longValue)){if(y=l(d[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(d=p.match(r.twoOctet))?function(){let g=d.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}():(d=p.match(r.threeOctet))?function(){let g=d.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},h.IPv4.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");let d=[0,0,0,0],m=0,y=Math.floor(p/8);for(;m<y;)d[m]=255,m++;return y<4&&(d[y]=Math.pow(2,p%8)-1<<8-p%8),new this(d)},h.IPv6=function(){function p(d,m){let y,g;if(d.length===16)for(this.parts=[],y=0;y<=14;y+=2)this.parts.push(d[y]<<8|d[y+1]);else if(d.length===8)this.parts=d;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(d,m){let y;if(m===void 0&&(y=d,d=y[0],m=y[1]),d.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,d.parts,16,m)},p.prototype.prefixLengthFromSubnetMask=function(){let d=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 w=7;w>=0;w-=1)if(g=this.parts[w],g in y){if(x=y[g],m&&x!==0)return null;x!==16&&(m=!0),d+=x}else return null;return 128-d},p.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let d,m=[],y=this.parts;for(let g=0;g<y.length;g++)d=y[g],m.push(d>>8),m.push(d&255);return m},p.prototype.toFixedLengthString=function(){let d=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}`),d+m},p.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let d=this.parts.slice(-2),m=d[0],y=d[1];return new h.IPv4([m>>8,m&255,y>>8,y&255])},p.prototype.toNormalizedString=function(){let d=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}`),d+m},p.prototype.toRFC5952String=function(){let d=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),y=0,g=-1,x;for(;x=d.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}(),h.IPv6.broadcastAddressFromCIDR=function(p){try{let d=this.parseCIDR(p),m=d[0].toByteArray(),y=this.subnetMaskFromPrefixLength(d[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(d){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${d})`)}},h.IPv6.isIPv6=function(p){return this.parser(p)!==null},h.IPv6.isValid=function(p){if(typeof p=="string"&&p.indexOf(":")===-1)return!1;try{let d=this.parser(p);return new this(d.parts,d.zoneId),!0}catch{return!1}},h.IPv6.networkAddressFromCIDR=function(p){let d,m,y,g,x;try{for(d=this.parseCIDR(p),y=d[0].toByteArray(),x=this.subnetMaskFromPrefixLength(d[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}catch(w){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${w})`)}},h.IPv6.parse=function(p){let d=this.parser(p);if(d.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(d.parts,d.zoneId)},h.IPv6.parseCIDR=function(p){let d,m,y;if((m=p.match(/^(.+)\/(\d+)$/))&&(d=parseInt(m[2]),d>=0&&d<=128))return y=[this.parse(m[1]),d],Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},h.IPv6.parser=function(p){let d,m,y,g,x,w;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))&&(w=y[6]||"",d=c(y[1].slice(0,-1)+w,6),d.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 d.parts.push(x[0]<<8|x[1]),d.parts.push(x[2]<<8|x[3]),{parts:d.parts,zoneId:d.zoneId}}return null},h.IPv6.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>128)throw new Error("ipaddr: invalid IPv6 prefix length");let d=[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;)d[m]=255,m++;return y<16&&(d[y]=Math.pow(2,p%8)-1<<8-p%8),new this(d)},h.fromByteArray=function(p){let d=p.length;if(d===4)return new h.IPv4(p);if(d===16)return new h.IPv6(p);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},h.isValid=function(p){return h.IPv6.isValid(p)||h.IPv4.isValid(p)},h.parse=function(p){if(h.IPv6.isValid(p))return h.IPv6.parse(p);if(h.IPv4.isValid(p))return h.IPv4.parse(p);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},h.parseCIDR=function(p){try{return h.IPv6.parseCIDR(p)}catch{try{return h.IPv4.parseCIDR(p)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},h.process=function(p){let d=this.parse(p);return d.kind()==="ipv6"&&d.isIPv4MappedAddress()?d.toIPv4Address():d},h.subnetMatch=function(p,d,m){let y,g,x,w;m==null&&(m="unicast");for(g in d)if(Object.prototype.hasOwnProperty.call(d,g)){for(x=d[g],x[0]&&!(x[0]instanceof Array)&&(x=[x]),y=0;y<x.length;y++)if(w=x[y],p.kind()===w[0].kind()&&p.match.apply(p,w))return g}return m},typeof ya<"u"&&ya.exports?ya.exports=h:t.ipaddr=h})(ay)});var Iy=O((l6,Sy)=>{"use strict";Sy.exports=Ay;var P_=Vu(),on=Ay.prototype,D_=new Date%1e9;function N_(){return(Math.random()*1e9>>>0)+D_++}function Ay(t){t=t||{},this.id=t.id||N_(),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)}on.has=function(t){return t in this._lookup};on.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};on.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};on.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};on.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};on.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=P_(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};on.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};on.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 Po=O((L6,Ny)=>{Ny.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 Oy=O((D6,ky)=>{ky.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 Uy=O((N6,My)=>{var U_=Oy();My.exports=U_});var Ct=O((O6,Fy)=>{Fy.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 ki=O((U6,qy)=>{var tf=Po(),F_=Uy(),Ky=Ct();qy.exports=class extends tf{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new F_}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 tf?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 tf))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 Ky(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 Ky(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 $y=O((F6,Vy)=>{var K_=ki(),q_=Ct(),rf="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} ",nf=class extends K_{constructor(e){super(e),this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,this.useRedisPackage=e.useRedisPackage,this.useRedis3AndLowerPackage=e.useRedis3AndLowerPackage,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:rf})}_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 q_;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(l,f){return l?c(l):a(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,o,u):this.client.eval(rf,1,e,r,o,u)}):this.client.eval(rf,{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)}};Vy.exports=nf});var Gy=O((K6,zy)=>{var V_=ki(),$_=Ct();function Hy(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 of=class t extends V_{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=Hy(this.client)}):(this._initCollection(),this._driverVersion=Hy(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 $_,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((l,f)=>{this._collection.findOneAndUpdate(a,c,u).then(h=>{l(h)}).catch(h=>{if(h&&h.code===11e3){let p=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},s),d={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},s)};this._collection.findOneAndUpdate(p,d,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(h)})})}_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)}};zy.exports=of});var Wy=O((q6,Yy)=>{var H_=ki(),z_=Ct(),sf=class extends H_{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 z_,[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(),l=i>0?u+i:null,f,h;o?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
16
16
|
ON DUPLICATE KEY UPDATE
|
|
17
17
|
points = ?,
|
|
18
18
|
expire = ?;`,h=[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);`,h=[this.dbName,this.tableName,r,n,l,u,n,n,u,l]),e.query(f,h,p=>{if(p)return e.rollback(),a(p);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(d,m)=>{if(d)return e.rollback(),a(d);e.query("COMMIT",y=>{if(y)return e.rollback(),a(y);s(m)})})})})})}_upsert(e,r,n,i=!1){return this.tableCreated?new Promise((o,s)=>{this._getConnection().then(a=>{this._upsertTransaction(a,e,r,n,i).then(c=>{o(c),this._releaseConnection(a)}).catch(c=>{s(c),this._releaseConnection(a)})}).catch(a=>{s(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()],(o,s)=>{o?n(o):s.length===0?r(null):r(s),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],(o,s)=>{o?n(o):r(s.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};
|
|
21
|
+
expire = IF(expire <= ?, ?, expire);`,h=[this.dbName,this.tableName,r,n,l,u,n,n,u,l]),e.query(f,h,p=>{if(p)return e.rollback(),a(p);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(d,m)=>{if(d)return e.rollback(),a(d);e.query("COMMIT",y=>{if(y)return e.rollback(),a(y);s(m)})})})})})}_upsert(e,r,n,i=!1){return this.tableCreated?new Promise((o,s)=>{this._getConnection().then(a=>{this._upsertTransaction(a,e,r,n,i).then(c=>{o(c),this._releaseConnection(a)}).catch(c=>{s(c),this._releaseConnection(a)})}).catch(a=>{s(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()],(o,s)=>{o?n(o):s.length===0?r(null):r(s),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],(o,s)=>{o?n(o):r(s.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};Yy.exports=sf});var Xy=O((V6,Qy)=>{var G_=ki(),Y_=Ct(),af=class extends G_{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?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})}clearExpired(e){return new Promise(r=>{let n={name:"rlflx-clear-expired",text:`DELETE FROM ${this.tableName} 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.tableName} (
|
|
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 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 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 Y_,o=n.rows[0];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}_query(e){let n={name:`${this.tableName.toLowerCase()}:${e.name}`,text:e.text,values:e.values};return new Promise((i,o)=>{this._getConnection().then(s=>{s.query(n).then(a=>{i(a),this._releaseConnection(s)}).catch(a=>{o(a),this._releaseConnection(s)})}).catch(s=>{o(s)})})}_upsert(e,r,n,i=!1){if(!this.tableCreated)return Promise.reject(Error("Table is not created yet"));let o=n>0?Date.now()+n:null,s=i?" $3 ":` CASE
|
|
26
26
|
WHEN ${this.tableName}.expire <= $4 THEN $3
|
|
27
27
|
ELSE ${this.tableName}.expire
|
|
28
28
|
END `;return this._query({name:i?"rlflx-upsert-force":"rlflx-upsert",text:`
|
|
@@ -34,19 +34,19 @@
|
|
|
34
34
|
END,
|
|
35
35
|
expire = ${s}
|
|
36
36
|
RETURNING points, expire;`,values:[e,r,o,Date.now()]})}_get(e){return this.tableCreated?new Promise((r,n)=>{this._query({name:"rlflx-get",text:`
|
|
37
|
-
SELECT points, expire FROM ${this.tableName} 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.tableName} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};gy.exports=Ul});var Ey=O(()=>{});var by=O((KL,wy)=>{wy.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 _y=O((VL,vy)=>{var u_=by(),Fl=St();vy.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 i!==0?(this._storage[e].value=this._storage[e].value+r,new Fl(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 u_(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 Fl(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 Fl(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 ql=O(($L,Sy)=>{var l_=Ao(),f_=_y(),Ay=St(),Kl=class extends l_{constructor(e={}){super(e),this._memoryStorage=new f_}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 Ay(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 Ay(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)))}};Sy.exports=Kl});var Py=O((HL,Ly)=>{var Iy=Ey(),h_=Vi(),d_=Ao(),Cy=ql(),p_=St(),Pt="rate_limiter_flexible",Pi=null,Ry=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})},Ty=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&Ty.call(this,t)},30)},Bi=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):Ty.call(this,o)},By=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=>{Ry(t,e,"resolve",n)}).catch(n=>{Ry(t,e,"reject",n)})},m_=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 p_(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]}},y_=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Li=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=h_.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},Vl=class{constructor(){if(Pi)return Pi;this._rateLimiters={},Iy.setMaxListeners(0),Iy.on("message",(e,r)=>{r&&r.channel===Pt&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new Cy(r.opts)),e.send({channel:Pt,type:"init",keyPrefix:r.opts.keyPrefix})):By.call(this,e,r)}),Pi=this}},$l=class{constructor(e){if(Pi)return Pi;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 Cy(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,l)=>{u&&console.log(u,l)})}};By.call(this,s,o)}})}),Pi=this}},Hl=class extends d_{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:m_.call(this,r)}),process.send({channel:Pt,type:"init",opts:y_.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=Li.call(this,i,o);Bi.call(this,"consume",s,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,o)=>{let s=Li.call(this,i,o);Bi.call(this,"penalty",s,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,o)=>{let s=Li.call(this,i,o);Bi.call(this,"reward",s,e,r,n)})}block(e,r,n={}){return new Promise((i,o)=>{let s=Li.call(this,i,o);Bi.call(this,"block",s,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let o=Li.call(this,n,i);Bi.call(this,"get",o,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let o=Li.call(this,n,i);Bi.call(this,"delete",o,e,r)})}};Ly.exports={RateLimiterClusterMaster:Vl,RateLimiterClusterMasterPM2:$l,RateLimiterCluster:Hl}});var Ny=O((zL,Dy)=>{var g_=Ti(),x_=St(),zl=class extends g_{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new x_;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,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};s(f)})}):this.client.incr(e,r,(l,f)=>{l||f===!1?this.client.add(e,r,u,(h,p)=>{if(h||!p)if(typeof o.attemptNumber>"u"||o.attemptNumber<3){let d=Object.assign({},o);d.attemptNumber=d.attemptNumber?d.attemptNumber+1:1,this._upsert(e,r,n,i,d).then(m=>s(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 d={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(d)})}):this.client.get(`${e}_expire`,(h,p)=>{if(h)a(h);else{let d=p===!1?0:p,m={consumedPoints:f,msBeforeNext:d>=0?Math.max(d-c,0):-1};s(m)}})})})}_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,l={consumedPoints:s,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,o)=>{i?n(i):o===!1?r(o):this.client.del(`${e}_expire`,s=>{s?n(s):r(o)})})})}};Dy.exports=zl});var My=O((YL,Oy)=>{var ky=St();Oy.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 ky(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new ky(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 Fy=O((QL,Uy)=>{var E_=Ao();Uy.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 E_))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 qy=O((ZL,Ky)=>{Ky.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 zy=O((JL,Hy)=>{var Vy=qy(),$y=4294967295,Gl="limiter";Hy.exports=class{constructor(e,r={maxQueueSize:$y}){this._queueLimiters={KEY_DEFAULT:new ua(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=Gl){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=Gl){return this._queueLimiters[r]||(this._queueLimiters[r]=new ua(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var ua=class{constructor(e,r={maxQueueSize:$y,key:Gl}){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 Vy(`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 Vy(`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 Yy=O((t6,Gy)=>{var Yl=St();Gy.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return e?new Yl(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 Yl?this._burstLimiter.consume(e,r,n).then(o=>Promise.resolve(this._combineRes(i,o))).catch(o=>o instanceof Yl?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 Qy=O((r6,Wy)=>{var w_=fy(),b_=py(),v_=yy(),__=xy(),{RateLimiterClusterMaster:A_,RateLimiterClusterMasterPM2:S_,RateLimiterCluster:I_}=Py(),R_=ql(),C_=Ny(),T_=My(),B_=Fy(),L_=zy(),P_=Yy(),D_=St();Wy.exports={RateLimiterRedis:w_,RateLimiterMongo:b_,RateLimiterMySQL:v_,RateLimiterPostgres:__,RateLimiterMemory:R_,RateLimiterMemcache:C_,RateLimiterClusterMaster:A_,RateLimiterClusterMasterPM2:S_,RateLimiterCluster:I_,RLWrapperBlackAndWhite:T_,RateLimiterUnion:B_,RateLimiterQueue:L_,BurstyRateLimiter:P_,RateLimiterRes:D_}});var dA={};Ge(dA,{createLibp2p:()=>hA});var dg=te(Hn(),1);var V4=te(qi(),1),$4=te(Y0(),1);var Qn=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"},b=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Is=te(ye(),1);function cn(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var lc={};Ge(lc,{base10:()=>l2});function o2(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),l=Math.log(256)/Math.log(a);function f(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var m=0,y=0,g=0,x=d.length;g!==x&&d[g]===0;)g++,m++;for(var w=(x-g)*l+1>>>0,C=new Uint8Array(w);g!==x;){for(var _=d[g],A=0,P=w-1;(_!==0||A<y)&&P!==-1;P--,A++)_+=256*C[P]>>>0,C[P]=_%a>>>0,_=_/a>>>0;if(_!==0)throw new Error("Non-zero carry");y=A,g++}for(var D=w-y;D!==w&&C[D]===0;)D++;for(var W=c.repeat(m);D<w;++D)W+=t.charAt(C[D]);return W}function h(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var m=0;if(d[m]!==" "){for(var y=0,g=0;d[m]===c;)y++,m++;for(var x=(d.length-m)*u+1>>>0,w=new Uint8Array(x);d[m];){var C=r[d.charCodeAt(m)];if(C===255)return;for(var _=0,A=x-1;(C!==0||_<g)&&A!==-1;A--,_++)C+=a*w[A]>>>0,w[A]=C%256>>>0,C=C/256>>>0;if(C!==0)throw new Error("Non-zero carry");g=_,m++}if(d[m]!==" "){for(var P=x-g;P!==x&&w[P]===0;)P++;for(var D=new Uint8Array(y+(x-P)),W=y;P!==x;)D[W++]=w[P++];return D}}}function p(d){var m=h(d);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:h,decode:p}}var s2=o2,a2=s2,W0=a2;var HA=new Uint8Array(0);var Q0=(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 X0=t=>new TextEncoder().encode(t),Z0=t=>new TextDecoder().decode(t);var sc=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")}},ac=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 J0(this,e)}},cc=class{constructor(e){this.decoders=e}or(e){return J0(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`)}},J0=(t,e)=>new cc({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),uc=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new sc(e,r,n),this.decoder=new ac(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Xn=({name:t,prefix:e,encode:r,decode:n})=>new uc(t,e,r,n),Pr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=W0(r,e);return Xn({prefix:t,name:e,encode:n,decode:o=>fr(i(o))})},c2=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;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 l=0;l<o;++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,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},u2=(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},Ne=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Xn({prefix:e,name:t,encode(i){return u2(i,n,r)},decode(i){return c2(i,n,r,t)}});var l2=Pr({prefix:"9",name:"base10",alphabet:"0123456789"});var fc={};Ge(fc,{base16:()=>f2,base16upper:()=>h2});var f2=Ne({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),h2=Ne({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var hc={};Ge(hc,{base2:()=>d2});var d2=Ne({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var dc={};Ge(dc,{base256emoji:()=>x2});var eh=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}"),p2=eh.reduce((t,e,r)=>(t[r]=e,t),[]),m2=eh.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function y2(t){return t.reduce((e,r)=>(e+=p2[r],e),"")}function g2(t){let e=[];for(let r of t){let n=m2[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var x2=Xn({prefix:"\u{1F680}",name:"base256emoji",encode:y2,decode:g2});var pc={};Ge(pc,{base32:()=>xt,base32hex:()=>v2,base32hexpad:()=>A2,base32hexpadupper:()=>S2,base32hexupper:()=>_2,base32pad:()=>w2,base32padupper:()=>b2,base32upper:()=>E2,base32z:()=>I2});var xt=Ne({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),E2=Ne({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),w2=Ne({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),b2=Ne({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),v2=Ne({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),_2=Ne({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),A2=Ne({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),S2=Ne({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),I2=Ne({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var mc={};Ge(mc,{base36:()=>R2,base36upper:()=>C2});var R2=Pr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),C2=Pr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var yc={};Ge(yc,{base58btc:()=>Me,base58flickr:()=>T2});var Me=Pr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),T2=Pr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var gc={};Ge(gc,{base64:()=>un,base64pad:()=>B2,base64url:()=>L2,base64urlpad:()=>P2});var un=Ne({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),B2=Ne({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),L2=Ne({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),P2=Ne({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var xc={};Ge(xc,{base8:()=>D2});var D2=Ne({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ec={};Ge(Ec,{identity:()=>N2});var N2=Xn({prefix:"\0",name:"identity",encode:t=>Z0(t),decode:t=>X0(t)});var oS=new TextEncoder,sS=new TextDecoder;var bc={};Ge(bc,{identity:()=>Dr});var M2=nh,th=128,U2=127,F2=~U2,K2=Math.pow(2,31);function nh(t,e,r){e=e||[],r=r||0;for(var n=r;t>=K2;)e[r++]=t&255|th,t/=128;for(;t&F2;)e[r++]=t&255|th,t>>>=7;return e[r]=t|0,nh.bytes=r-n+1,e}var q2=wc,V2=128,rh=127;function wc(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw wc.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&rh)<<i:(s&rh)*Math.pow(2,i),i+=7}while(s>=V2);return wc.bytes=o-n,r}var $2=Math.pow(2,7),H2=Math.pow(2,14),z2=Math.pow(2,21),G2=Math.pow(2,28),Y2=Math.pow(2,35),W2=Math.pow(2,42),Q2=Math.pow(2,49),X2=Math.pow(2,56),Z2=Math.pow(2,63),j2=function(t){return t<$2?1:t<H2?2:t<z2?3:t<G2?4:t<Y2?5:t<W2?6:t<Q2?7:t<X2?8:t<Z2?9:10},J2={encode:M2,decode:q2,encodingLength:j2},eE=J2,zi=eE;var Gi=(t,e=0)=>[zi.decode(t,e),zi.decode.bytes],Zn=(t,e,r=0)=>(zi.encode(t,e,r),e),jn=t=>zi.encodingLength(t);var Jt=(t,e)=>{let r=e.byteLength,n=jn(t),i=n+jn(r),o=new Uint8Array(i+r);return Zn(t,o,0),Zn(r,o,n),o.set(e,i),new Jn(t,r,e,o)},ln=t=>{let e=fr(t),[r,n]=Gi(e),[i,o]=Gi(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Jn(r,i,s,e)},ih=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Q0(t.bytes,r.bytes)}},Jn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var oh=0,tE="identity",sh=fr,rE=t=>Jt(oh,sh(t)),Dr={code:oh,name:tE,encode:sh,digest:rE};var Ac={};Ge(Ac,{sha256:()=>rt,sha512:()=>nE});var _c=({name:t,code:e,encode:r})=>new vc(t,e,r),vc=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?Jt(this.code,r):r.then(n=>Jt(this.code,n))}else throw Error("Unknown type, must be binary type")}};var ch=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),rt=_c({name:"sha2-256",code:18,encode:ch("SHA-256")}),nE=_c({name:"sha2-512",code:19,encode:ch("SHA-512")});var uh=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return oE(r,Sc(t),e||Me.encoder);default:return sE(r,Sc(t),e||xt.encoder)}};var lh=new WeakMap,Sc=t=>{let e=lh.get(t);if(e==null){let r=new Map;return lh.set(t,r),r}return e},kt=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!==Yi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==aE)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&&e.code===n.code&&e.version===n.version&&ih(e.multihash,n.multihash)}toString(e){return uh(this,e)}toJSON(){return{"/":uh(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||fh(n,i,o.bytes))}else if(r[cE]===!0){let{version:n,multihash:i,code:o}=r,s=ln(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!==Yi)throw new Error(`Version 0 CID must use dag-pb (code: ${Yi}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=fh(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Yi,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 Jn(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[f,h]=Gi(e.subarray(r));return r+=h,f},i=n(),o=Yi;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,l=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=iE(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 Sc(o).set(n,e),o}},iE=(t,e)=>{switch(t[0]){case"Q":{let r=e||Me;return[Me.prefix,r.decode(`${Me.prefix}${t}`)]}case Me.prefix:{let r=e||Me;return[Me.prefix,r.decode(t)]}case xt.prefix:{let r=e||xt;return[xt.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)]}}},oE=(t,e,r)=>{let{prefix:n}=r;if(n!==Me.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},sE=(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},Yi=112,aE=18,fh=(t,e,r)=>{let n=jn(t),i=n+jn(e),o=new Uint8Array(i+r.byteLength);return Zn(t,o,0),Zn(e,o,n),o.set(r,i),o},cE=Symbol.for("@ipld/js-cid/CID");var Nr={...Ec,...hc,...xc,...lc,...fc,...pc,...mc,...yc,...gc,...dc},vS={...Ac,...bc};function hr(t=0){return globalThis.Buffer?.alloc!=null?cn(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function Ot(t=0){return globalThis.Buffer?.allocUnsafe!=null?cn(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function dh(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var hh=dh("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Ic=dh("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=Ot(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),uE={utf8:hh,"utf-8":hh,hex:Nr.base16,latin1:Ic,ascii:Ic,binary:Ic,...Nr},rs=uE;function G(t,e="utf8"){let r=rs[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?cn(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var cu={};Ge(cu,{Ed25519PrivateKey:()=>xn,Ed25519PublicKey:()=>Ji,generateKeyPair:()=>Rw,generateKeyPairFromSeed:()=>Cd,unmarshalEd25519PrivateKey:()=>Sw,unmarshalEd25519PublicKey:()=>Iw});function Le(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 ph(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function Rc(t,...e){if(!(t instanceof Uint8Array))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 mh(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");ph(t.outputLen),ph(t.blockLen)}function ei(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 yh(t,e){Rc(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var ns=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var gh=t=>t instanceof Uint8Array;var is=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Mt=(t,e)=>t<<32-e|t>>>e,lE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!lE)throw new Error("Non little-endian hardware is not supported");function Cc(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Wi(t){if(typeof t=="string"&&(t=Cc(t)),!gh(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function os(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!gh(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}var ti=class{clone(){return this._cloneInto()}},OS={}.toString;function ss(t){let e=n=>t().update(Wi(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function ri(t=32){if(ns&&typeof ns.getRandomValues=="function")return ns.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function fE(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 ni=class extends ti{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=is(this.buffer)}update(e){ei(this);let{view:r,buffer:n,blockLen:i}=this;e=Wi(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=is(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){ei(this),yh(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 f=s;f<i;f++)r[f]=0;fE(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=is(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],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 as=BigInt(4294967295),Tc=BigInt(32);function xh(t,e=!1){return e?{h:Number(t&as),l:Number(t>>Tc&as)}:{h:Number(t>>Tc&as)|0,l:Number(t&as)|0}}function hE(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}=xh(t[i],e);[r[i],n[i]]=[o,s]}return[r,n]}var dE=(t,e)=>BigInt(t>>>0)<<Tc|BigInt(e>>>0),pE=(t,e,r)=>t>>>r,mE=(t,e,r)=>t<<32-r|e>>>r,yE=(t,e,r)=>t>>>r|e<<32-r,gE=(t,e,r)=>t<<32-r|e>>>r,xE=(t,e,r)=>t<<64-r|e>>>r-32,EE=(t,e,r)=>t>>>r-32|e<<64-r,wE=(t,e)=>e,bE=(t,e)=>t,vE=(t,e,r)=>t<<r|e>>>32-r,_E=(t,e,r)=>e<<r|t>>>32-r,AE=(t,e,r)=>e<<r-32|t>>>64-r,SE=(t,e,r)=>t<<r-32|e>>>64-r;function IE(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var RE=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),CE=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,TE=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),BE=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,LE=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),PE=(t,e,r,n,i,o)=>e+r+n+i+o+(t/2**32|0)|0;var DE={fromBig:xh,split:hE,toBig:dE,shrSH:pE,shrSL:mE,rotrSH:yE,rotrSL:gE,rotrBH:xE,rotrBL:EE,rotr32H:wE,rotr32L:bE,rotlSH:vE,rotlSL:_E,rotlBH:AE,rotlBL:SE,add:IE,add3L:RE,add3H:CE,add4L:TE,add4H:BE,add5H:PE,add5L:LE},J=DE;var[NE,kE]=(()=>J.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))))(),kr=new Uint32Array(80),Or=new Uint32Array(80),Bc=class extends ni{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:l,Fh:f,Fl:h,Gh:p,Gl:d,Hh:m,Hl:y}=this;return[e,r,n,i,o,s,a,c,u,l,f,h,p,d,m,y]}set(e,r,n,i,o,s,a,c,u,l,f,h,p,d,m,y){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=l|0,this.Fh=f|0,this.Fl=h|0,this.Gh=p|0,this.Gl=d|0,this.Hh=m|0,this.Hl=y|0}process(e,r){for(let w=0;w<16;w++,r+=4)kr[w]=e.getUint32(r),Or[w]=e.getUint32(r+=4);for(let w=16;w<80;w++){let C=kr[w-15]|0,_=Or[w-15]|0,A=J.rotrSH(C,_,1)^J.rotrSH(C,_,8)^J.shrSH(C,_,7),P=J.rotrSL(C,_,1)^J.rotrSL(C,_,8)^J.shrSL(C,_,7),D=kr[w-2]|0,W=Or[w-2]|0,Q=J.rotrSH(D,W,19)^J.rotrBH(D,W,61)^J.shrSH(D,W,6),z=J.rotrSL(D,W,19)^J.rotrBL(D,W,61)^J.shrSL(D,W,6),ne=J.add4L(P,z,Or[w-7],Or[w-16]),ge=J.add4H(ne,A,Q,kr[w-7],kr[w-16]);kr[w]=ge|0,Or[w]=ne|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:u,Dl:l,Eh:f,El:h,Fh:p,Fl:d,Gh:m,Gl:y,Hh:g,Hl:x}=this;for(let w=0;w<80;w++){let C=J.rotrSH(f,h,14)^J.rotrSH(f,h,18)^J.rotrBH(f,h,41),_=J.rotrSL(f,h,14)^J.rotrSL(f,h,18)^J.rotrBL(f,h,41),A=f&p^~f&m,P=h&d^~h&y,D=J.add5L(x,_,P,kE[w],Or[w]),W=J.add5H(D,g,C,A,NE[w],kr[w]),Q=D|0,z=J.rotrSH(n,i,28)^J.rotrBH(n,i,34)^J.rotrBH(n,i,39),ne=J.rotrSL(n,i,28)^J.rotrBL(n,i,34)^J.rotrBL(n,i,39),ge=n&o^n&a^o&a,Je=i&s^i&c^s&c;g=m|0,x=y|0,m=p|0,y=d|0,p=f|0,d=h|0,{h:f,l:h}=J.add(u|0,l|0,W|0,Q|0),u=a|0,l=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let T=J.add3L(Q,ne,Je);n=J.add3H(T,W,z,ge),i=T|0}({h:n,l:i}=J.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=J.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=J.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l}=J.add(this.Dh|0,this.Dl|0,u|0,l|0),{h:f,l:h}=J.add(this.Eh|0,this.El|0,f|0,h|0),{h:p,l:d}=J.add(this.Fh|0,this.Fl|0,p|0,d|0),{h:m,l:y}=J.add(this.Gh|0,this.Gl|0,m|0,y|0),{h:g,l:x}=J.add(this.Hh|0,this.Hl|0,g|0,x|0),this.set(n,i,o,s,a,c,u,l,f,h,p,d,m,y,g,x)}roundClean(){kr.fill(0),Or.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 Lc=ss(()=>new Bc);var ls={};Ge(ls,{bitGet:()=>VE,bitLen:()=>qE,bitMask:()=>Qi,bitSet:()=>$E,bytesToHex:()=>dr,bytesToNumberBE:()=>pr,bytesToNumberLE:()=>Mr,concatBytes:()=>mr,createHmacDrbg:()=>Nc,ensureBytes:()=>ke,equalBytes:()=>FE,hexToBytes:()=>hn,hexToNumber:()=>Dc,numberToBytesBE:()=>Ur,numberToBytesLE:()=>dn,numberToHexUnpadded:()=>bh,numberToVarBytesBE:()=>UE,utf8ToBytes:()=>KE,validateObject:()=>er});var wh=BigInt(0),cs=BigInt(1),OE=BigInt(2),us=t=>t instanceof Uint8Array,ME=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function dr(t){if(!us(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=ME[t[r]];return e}function bh(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Dc(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}function hn(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(e/2);for(let n=0;n<r.length;n++){let i=n*2,o=t.slice(i,i+2),s=Number.parseInt(o,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");r[n]=s}return r}function pr(t){return Dc(dr(t))}function Mr(t){if(!us(t))throw new Error("Uint8Array expected");return Dc(dr(Uint8Array.from(t).reverse()))}function Ur(t,e){return hn(t.toString(16).padStart(e*2,"0"))}function dn(t,e){return Ur(t,e).reverse()}function UE(t){return hn(bh(t))}function ke(t,e,r){let n;if(typeof e=="string")try{n=hn(e)}catch(o){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${o}`)}else if(us(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 mr(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!us(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}function FE(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function KE(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function qE(t){let e;for(e=0;t>wh;t>>=cs,e+=1);return e}function VE(t,e){return t>>BigInt(e)&cs}var $E=(t,e,r)=>t|(r?cs:wh)<<BigInt(e),Qi=t=>(OE<<BigInt(t-1))-cs,Pc=t=>new Uint8Array(t),Eh=t=>Uint8Array.from(t);function Nc(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=Pc(t),i=Pc(t),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...f)=>r(i,n,...f),c=(f=Pc())=>{i=a(Eh([0]),f),n=a(),f.length!==0&&(i=a(Eh([1]),f),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let f=0,h=[];for(;f<e;){n=a();let p=n.slice();h.push(p),f+=n.length}return mr(...h)};return(f,h)=>{s(),c(f);let p;for(;!(p=h(u()));)c();return s(),p}}var HE={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"||t instanceof Uint8Array,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=HE[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 He=BigInt(0),Re=BigInt(1),pn=BigInt(2),zE=BigInt(3),kc=BigInt(4),vh=BigInt(5),_h=BigInt(8),GE=BigInt(9),YE=BigInt(16);function Ee(t,e){let r=t%e;return r>=He?r:e+r}function WE(t,e,r){if(r<=He||e<He)throw new Error("Expected power/modulo > 0");if(r===Re)return He;let n=Re;for(;e>He;)e&Re&&(n=n*t%r),t=t*t%r,e>>=Re;return n}function Ce(t,e,r){let n=t;for(;e-- >He;)n*=n,n%=r;return n}function fs(t,e){if(t===He||e<=He)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=Ee(t,e),n=e,i=He,o=Re,s=Re,a=He;for(;r!==He;){let u=n/r,l=n%r,f=i-s*u,h=o-a*u;n=r,r=l,i=s,o=a,s=f,a=h}if(n!==Re)throw new Error("invert: does not exist");return Ee(i,e)}function QE(t){let e=(t-Re)/pn,r,n,i;for(r=t-Re,n=0;r%pn===He;r/=pn,n++);for(i=pn;i<t&&WE(i,e,t)!==t-Re;i++);if(n===1){let s=(t+Re)/kc;return function(c,u){let l=c.pow(u,s);if(!c.eql(c.sqr(l),u))throw new Error("Cannot find square root");return l}}let o=(r+Re)/pn;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,o),h=a.pow(c,r);for(;!a.eql(h,a.ONE);){if(a.eql(h,a.ZERO))return a.ZERO;let p=1;for(let m=a.sqr(h);p<u&&!a.eql(m,a.ONE);p++)m=a.sqr(m);let d=a.pow(l,Re<<BigInt(u-p-1));l=a.sqr(d),f=a.mul(f,d),h=a.mul(h,l),u=p}return f}}function XE(t){if(t%kc===zE){let e=(t+Re)/kc;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%_h===vh){let e=(t-vh)/_h;return function(n,i){let o=n.mul(i,pn),s=n.pow(o,e),a=n.mul(i,s),c=n.mul(n.mul(a,pn),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%YE,QE(t)}var Ah=(t,e)=>(Ee(t,e)&Re)===Re,ZE=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Oc(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=ZE.reduce((n,i)=>(n[i]="function",n),e);return er(t,r)}function jE(t,e,r){if(r<He)throw new Error("Expected power > 0");if(r===He)return t.ONE;if(r===Re)return e;let n=t.ONE,i=e;for(;r>He;)r&Re&&(n=t.mul(n,i)),i=t.sqr(i),r>>=Re;return n}function JE(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 Mc(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function hs(t,e,r=!1,n={}){if(t<=He)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:o}=Mc(t,e);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=XE(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:o,MASK:Qi(i),ZERO:He,ONE:Re,create:c=>Ee(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return He<=c&&c<t},is0:c=>c===He,isOdd:c=>(c&Re)===Re,neg:c=>Ee(-c,t),eql:(c,u)=>c===u,sqr:c=>Ee(c*c,t),add:(c,u)=>Ee(c+u,t),sub:(c,u)=>Ee(c-u,t),mul:(c,u)=>Ee(c*u,t),pow:(c,u)=>jE(a,c,u),div:(c,u)=>Ee(c*fs(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>fs(c,t),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>JE(a,c),cmov:(c,u,l)=>l?u:c,toBytes:c=>r?dn(c,o):Ur(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?Mr(c):pr(c)}});return Object.freeze(a)}function Sh(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 Ih(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 Uc(t){let e=Ih(t);return e+Math.ceil(e/2)}function Rh(t,e,r=!1){let n=t.length,i=Ih(e),o=Uc(e);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?pr(t):Mr(t),a=Ee(s,e-Re)+Re;return r?dn(a,i):Ur(a,i)}var tw=BigInt(0),Fc=BigInt(1);function ds(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>tw;)o&Fc&&(s=s.add(a)),a=a.double(),o>>=Fc;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],u=i,l=u;for(let f=0;f<s;f++){l=u,c.push(l);for(let h=1;h<a;h++)l=l.add(u),c.push(l);u=l.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),u=t.ZERO,l=t.BASE,f=BigInt(2**i-1),h=2**i,p=BigInt(i);for(let d=0;d<a;d++){let m=d*c,y=Number(s&f);s>>=p,y>c&&(y-=h,s+=Fc);let g=m,x=m+Math.abs(y)-1,w=d%2!==0,C=y<0;y===0?l=l.add(r(w,o[g])):u=u.add(r(C,o[x]))}return{p:u,f:l}},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 Xi(t){return Oc(t.Fp),er(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Mc(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var Ut=BigInt(0),Et=BigInt(1),ps=BigInt(2),rw=BigInt(8),nw={zip215:!0};function iw(t){let e=Xi(t);return er(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function ms(t){let e=iw(t),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=e,u=ps<<BigInt(a*8)-Et,l=r.create,f=e.uvRatio||((N,I)=>{try{return{isValid:!0,value:r.sqrt(N*r.inv(I))}}catch{return{isValid:!1,value:Ut}}}),h=e.adjustScalarBytes||(N=>N),p=e.domain||((N,I,K)=>{if(I.length||K)throw new Error("Contexts/pre-hash are not supported");return N}),d=N=>typeof N=="bigint"&&Ut<N,m=(N,I)=>d(N)&&d(I)&&N<I,y=N=>N===Ut||m(N,u);function g(N,I){if(m(N,I))return N;throw new Error(`Expected valid scalar < ${I}, got ${typeof N} ${N}`)}function x(N){return N===Ut?N:g(N,n)}let w=new Map;function C(N){if(!(N instanceof _))throw new Error("ExtendedPoint expected")}class _{constructor(I,K,V,Y){if(this.ex=I,this.ey=K,this.ez=V,this.et=Y,!y(I))throw new Error("x required");if(!y(K))throw new Error("y required");if(!y(V))throw new Error("z required");if(!y(Y))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(I){if(I instanceof _)throw new Error("extended point not allowed");let{x:K,y:V}=I||{};if(!y(K)||!y(V))throw new Error("invalid affine point");return new _(K,V,Et,l(K*V))}static normalizeZ(I){let K=r.invertBatch(I.map(V=>V.ez));return I.map((V,Y)=>V.toAffine(K[Y])).map(_.fromAffine)}_setWindowSize(I){this._WINDOW_SIZE=I,w.delete(this)}assertValidity(){let{a:I,d:K}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:V,ey:Y,ez:ee,et:oe}=this,me=l(V*V),se=l(Y*Y),fe=l(ee*ee),qe=l(fe*fe),De=l(me*I),et=l(fe*l(De+se)),tt=l(qe+l(K*l(me*se)));if(et!==tt)throw new Error("bad point: equation left != right (1)");let $e=l(V*Y),ct=l(ee*oe);if($e!==ct)throw new Error("bad point: equation left != right (2)")}equals(I){C(I);let{ex:K,ey:V,ez:Y}=this,{ex:ee,ey:oe,ez:me}=I,se=l(K*me),fe=l(ee*Y),qe=l(V*me),De=l(oe*Y);return se===fe&&qe===De}is0(){return this.equals(_.ZERO)}negate(){return new _(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){let{a:I}=e,{ex:K,ey:V,ez:Y}=this,ee=l(K*K),oe=l(V*V),me=l(ps*l(Y*Y)),se=l(I*ee),fe=K+V,qe=l(l(fe*fe)-ee-oe),De=se+oe,et=De-me,tt=se-oe,$e=l(qe*et),ct=l(De*tt),ar=l(qe*tt),tn=l(et*De);return new _($e,ct,tn,ar)}add(I){C(I);let{a:K,d:V}=e,{ex:Y,ey:ee,ez:oe,et:me}=this,{ex:se,ey:fe,ez:qe,et:De}=I;if(K===BigInt(-1)){let mf=l((ee-Y)*(fe+se)),yf=l((ee+Y)*(fe-se)),Oa=l(yf-mf);if(Oa===Ut)return this.double();let gf=l(oe*ps*De),xf=l(me*ps*qe),Ef=xf+gf,wf=yf+mf,bf=xf-gf,Eg=l(Ef*Oa),wg=l(wf*bf),bg=l(Ef*bf),vg=l(Oa*wf);return new _(Eg,wg,vg,bg)}let et=l(Y*se),tt=l(ee*fe),$e=l(me*V*De),ct=l(oe*qe),ar=l((Y+ee)*(se+fe)-et-tt),tn=ct-$e,Mi=ct+$e,pf=l(tt-K*et),mg=l(ar*tn),yg=l(Mi*pf),gg=l(ar*pf),xg=l(tn*Mi);return new _(mg,yg,xg,gg)}subtract(I){return this.add(I.negate())}wNAF(I){return D.wNAFCached(this,w,I,_.normalizeZ)}multiply(I){let{p:K,f:V}=this.wNAF(g(I,n));return _.normalizeZ([K,V])[0]}multiplyUnsafe(I){let K=x(I);return K===Ut?P:this.equals(P)||K===Et?this:this.equals(A)?this.wNAF(K).p:D.unsafeLadder(this,K)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return D.unsafeLadder(this,n).is0()}toAffine(I){let{ex:K,ey:V,ez:Y}=this,ee=this.is0();I==null&&(I=ee?rw:r.inv(Y));let oe=l(K*I),me=l(V*I),se=l(Y*I);if(ee)return{x:Ut,y:Et};if(se!==Et)throw new Error("invZ was invalid");return{x:oe,y:me}}clearCofactor(){let{h:I}=e;return I===Et?this:this.multiplyUnsafe(I)}static fromHex(I,K=!1){let{d:V,a:Y}=e,ee=r.BYTES;I=ke("pointHex",I,ee);let oe=I.slice(),me=I[ee-1];oe[ee-1]=me&-129;let se=Mr(oe);se===Ut||(K?g(se,u):g(se,r.ORDER));let fe=l(se*se),qe=l(fe-Et),De=l(V*fe-Y),{isValid:et,value:tt}=f(qe,De);if(!et)throw new Error("Point.fromHex: invalid y coordinate");let $e=(tt&Et)===Et,ct=(me&128)!==0;if(!K&&tt===Ut&&ct)throw new Error("Point.fromHex: x=0 and x_0=1");return ct!==$e&&(tt=l(-tt)),_.fromAffine({x:tt,y:se})}static fromPrivateKey(I){return z(I).point}toRawBytes(){let{x:I,y:K}=this.toAffine(),V=dn(K,r.BYTES);return V[V.length-1]|=I&Et?128:0,V}toHex(){return dr(this.toRawBytes())}}_.BASE=new _(e.Gx,e.Gy,Et,l(e.Gx*e.Gy)),_.ZERO=new _(Ut,Et,Et,Ut);let{BASE:A,ZERO:P}=_,D=ds(_,a*8);function W(N){return Ee(N,n)}function Q(N){return W(Mr(N))}function z(N){let I=a;N=ke("private key",N,I);let K=ke("hashed private key",o(N),2*I),V=h(K.slice(0,I)),Y=K.slice(I,2*I),ee=Q(V),oe=A.multiply(ee),me=oe.toRawBytes();return{head:V,prefix:Y,scalar:ee,point:oe,pointBytes:me}}function ne(N){return z(N).pointBytes}function ge(N=new Uint8Array,...I){let K=mr(...I);return Q(o(p(K,ke("context",N),!!i)))}function Je(N,I,K={}){N=ke("message",N),i&&(N=i(N));let{prefix:V,scalar:Y,pointBytes:ee}=z(I),oe=ge(K.context,V,N),me=A.multiply(oe).toRawBytes(),se=ge(K.context,me,ee,N),fe=W(oe+se*Y);x(fe);let qe=mr(me,dn(fe,r.BYTES));return ke("result",qe,a*2)}let T=nw;function k(N,I,K,V=T){let{context:Y,zip215:ee}=V,oe=r.BYTES;N=ke("signature",N,2*oe),I=ke("message",I),i&&(I=i(I));let me=Mr(N.slice(oe,2*oe)),se,fe,qe;try{se=_.fromHex(K,ee),fe=_.fromHex(N.slice(0,oe),ee),qe=A.multiplyUnsafe(me)}catch{return!1}if(!ee&&se.isSmallOrder())return!1;let De=ge(Y,fe.toRawBytes(),se.toRawBytes(),I);return fe.add(se.multiplyUnsafe(De)).subtract(qe).clearCofactor().equals(_.ZERO)}return A._setWindowSize(8),{CURVE:e,getPublicKey:ne,sign:Je,verify:k,ExtendedPoint:_,utils:{getExtendedPublicKey:z,randomPrivateKey:()=>s(r.BYTES),precompute(N=8,I=_.BASE){return I._setWindowSize(N),I.multiply(BigInt(3)),I}}}}var qc=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Ch=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),iI=BigInt(0),ow=BigInt(1),Kc=BigInt(2),sw=BigInt(5),Th=BigInt(10),aw=BigInt(20),cw=BigInt(40),Bh=BigInt(80);function uw(t){let e=qc,n=t*t%e*t%e,i=Ce(n,Kc,e)*n%e,o=Ce(i,ow,e)*t%e,s=Ce(o,sw,e)*o%e,a=Ce(s,Th,e)*s%e,c=Ce(a,aw,e)*a%e,u=Ce(c,cw,e)*c%e,l=Ce(u,Bh,e)*u%e,f=Ce(l,Bh,e)*u%e,h=Ce(f,Th,e)*s%e;return{pow_p_5_8:Ce(h,Kc,e)*t%e,b2:n}}function lw(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function fw(t,e){let r=qc,n=Ee(e*e*e,r),i=Ee(n*n*e,r),o=uw(t*i).pow_p_5_8,s=Ee(t*n*o,r),a=Ee(e*s*s,r),c=s,u=Ee(s*Ch,r),l=a===t,f=a===Ee(-t,r),h=a===Ee(-t*Ch,r);return l&&(s=c),(f||h)&&(s=u),Ah(s,r)&&(s=Ee(-s,r)),{isValid:l||f,value:s}}var yr=hs(qc,void 0,!0),Vc={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:yr,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Lc,randomBytes:ri,adjustScalarBytes:lw,uvRatio:fw},ii=ms(Vc);function Lh(t,e,r){if(e.length>255)throw new Error("Context is too big");return os(Cc("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var oI=ms({...Vc,domain:Lh}),sI=ms({...Vc,domain:Lh,prehash:Lc});var hw=(yr.ORDER+BigInt(3))/BigInt(8),aI=yr.pow(Kc,hw),cI=yr.sqrt(yr.neg(yr.ONE)),uI=(yr.ORDER-BigInt(5))/BigInt(8),lI=BigInt(486662);var fI=Sh(yr,yr.neg(BigInt(486664)));var hI=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),dI=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),pI=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),mI=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var yI=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var oi=32,gr=64,ys=32;async function Ph(){let t=ii.utils.randomPrivateKey(),e=ii.getPublicKey(t);return{privateKey:Oh(t,e),publicKey:e}}async function Dh(t){if(t.length!==ys)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=ii.getPublicKey(e);return{privateKey:Oh(e,r),publicKey:r}}async function Nh(t,e){let r=t.subarray(0,ys);return ii.sign(e,r)}async function kh(t,e,r){return ii.verify(e,r,t)}function Oh(t,e){let r=new Uint8Array(gr);for(let n=0;n<ys;n++)r[n]=t[n],r[ys+n]=e[n];return r}function Ue(t,e){e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=Ot(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return cn(r)}var mt={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-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var $c={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function gs(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=mt.get();r*=8;async function c(f,h){let p=a.getRandomValues(new Uint8Array(o)),d=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:d};typeof h=="string"&&(h=G(h));let y;if(h.length===0){y=await a.subtle.importKey("jwk",$c,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},w=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,w,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",$c,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},w=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,w,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,f);return Ue([p,m.iv,new Uint8Array(g)])}async function u(f,h){let p=f.subarray(0,o),d=f.subarray(o,o+n),m=f.subarray(o+n),y={name:e,iv:d};typeof h=="string"&&(h=G(h));let g;if(h.length===0)try{let w={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},C=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(w,C,{name:e,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",$c,{name:"AES-GCM"},!0,["decrypt"])}else{let w={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},C=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(w,C,{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 si(t,e){let n=await gs().encrypt(t,e);return un.encode(n)}var ru=te(Wc(),1),Ad=te(yd(),1),Sd=te(yn(),1),nu=te(tu(),1),Id=te(_d(),1);function vw(){Sd.default._configure(),ru.default._configure(Ad.default),nu.default._configure(Id.default)}vw();var Rd=["uint64","int64","sint64","fixed64","sfixed64"];function _w(t){for(let e of Rd){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function iu(t){return _w(new ru.default(t))}function Aw(t){for(let e of Rd){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function ou(){return Aw(nu.default.create())}function nt(t,e){let r=iu(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function it(t,e){let r=ou();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var ci;(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"})(ci||(ci={}));function vs(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function su(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 vs("enum",ci.VARINT,r,n)}function ot(t,e){return vs("message",ci.LENGTH_DELIMITED,t,e)}var Te;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(Te||(Te={}));var au;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(au||(au={}));(function(t){t.codec=()=>su(au)})(Te||(Te={}));var rr;(function(t){let e;t.codec=()=>(e==null&&(e=ot((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Te.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=Te.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>it(r,t.codec()),t.decode=r=>nt(r,t.codec())})(rr||(rr={}));var nr;(function(t){let e;t.codec=()=>(e==null&&(e=ot((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Te.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=Te.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>it(r,t.codec()),t.decode=r=>nt(r,t.codec())})(nr||(nr={}));var Ji=class{_key;constructor(e){this._key=ui(e,oi)}async verify(e,r){return kh(this._key,r,e)}marshal(){return this._key}get bytes(){return rr.encode({Type:Te.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Le(this.bytes,e.bytes)}async hash(){let{bytes:e}=await rt.digest(this.bytes);return e}},xn=class{_key;_publicKey;constructor(e,r){this._key=ui(e,gr),this._publicKey=ui(r,oi)}async sign(e){return Nh(this._key,e)}get public(){return new Ji(this._publicKey)}marshal(){return this._key}get bytes(){return nr.encode({Type:Te.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Le(this.bytes,e.bytes)}async hash(){let{bytes:e}=await rt.digest(this.bytes);return e}async id(){let e=Dr.digest(this.public.bytes);return Me.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return si(this.bytes,e);throw new b(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Sw(t){if(t.length>gr){t=ui(t,gr+oi);let n=t.subarray(0,gr),i=t.subarray(gr,t.length);return new xn(n,i)}t=ui(t,gr);let e=t.subarray(0,gr),r=t.subarray(oi);return new xn(e,r)}function Iw(t){return t=ui(t,oi),new Ji(t)}async function Rw(){let{privateKey:t,publicKey:e}=await Ph();return new xn(t,e)}async function Cd(t){let{privateKey:e,publicKey:r}=await Dh(t);return new xn(e,r)}function ui(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new b(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}function Z(t,e="utf8"){let r=rs[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 fR=te(Oe(),1),hR=te(Zo(),1),Td=te(ye(),1);function Vt(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=Ue([new Uint8Array(e-r.length),r])}return Z(r,"base64url")}function wt(t){let e=Bd(t);return new Td.default.jsbn.BigInteger(Z(e,"base16"),16)}function Bd(t,e){let r=G(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ue([new Uint8Array(e-r.length),r])}return r}var Cw={"P-256":256,"P-384":384,"P-521":521},Tw=Object.keys(Cw),_R=Tw.join(" / ");async function Ld(t,e){let r=un.decode(t);return gs().decrypt(r,e)}var du={};Ge(du,{MAX_KEY_SIZE:()=>no,RsaPrivateKey:()=>li,RsaPublicKey:()=>ro,fromJwk:()=>Fw,generateKeyPair:()=>Kw,unmarshalRsaPrivateKey:()=>Mw,unmarshalRsaPublicKey:()=>Uw});var to=te(ye(),1);var a4=te(Md(),1);function wn(t){if(isNaN(t)||t<=0)throw new b("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return ri(t)}var $R=te(es(),1),fu=te(ye(),1);function Ud(t,e){return e.map(r=>wt(t[r]))}function Fd(t){return fu.default.pki.setRsaPrivateKey(...Ud(t,["n","e","d","p","q","dp","dq","qi"]))}function Kd(t){return fu.default.pki.setRsaPublicKey(...Ud(t,["n","e"]))}var bn={};Ge(bn,{jwkToPkcs1:()=>Pw,jwkToPkix:()=>Nw,pkcs1ToJwk:()=>Lw,pkixToJwk:()=>Dw});var GR=te(qi(),1),YR=te(es(),1);var xr=te(ye(),1);function Lw(t){let e=xr.default.asn1.fromDer(Z(t,"ascii")),r=xr.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Vt(r.n),e:Vt(r.e),d:Vt(r.d),p:Vt(r.p),q:Vt(r.q),dp:Vt(r.dP),dq:Vt(r.dQ),qi:Vt(r.qInv),alg:"RS256"}}function Pw(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 b("JWK was missing components","ERR_INVALID_PARAMETERS");let e=xr.default.pki.privateKeyToAsn1({n:wt(t.n),e:wt(t.e),d:wt(t.d),p:wt(t.p),q:wt(t.q),dP:wt(t.dp),dQ:wt(t.dq),qInv:wt(t.qi)});return G(xr.default.asn1.toDer(e).getBytes(),"ascii")}function Dw(t){let e=xr.default.asn1.fromDer(Z(t,"ascii")),r=xr.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Vt(r.n),e:Vt(r.e)}}function Nw(t){if(t.n==null||t.e==null)throw new b("JWK was missing components","ERR_INVALID_PARAMETERS");let e=xr.default.pki.publicKeyToAsn1({n:wt(t.n),e:wt(t.e)});return G(xr.default.asn1.toDer(e).getBytes(),"ascii")}async function qd(t){let e=await mt.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 Hd(e);return{privateKey:r[0],publicKey:r[1]}}async function hu(t){let r=[await mt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await kw(t)],n=await Hd({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Vd(t,e){let r=await mt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await mt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function $d(t,e,r){let n=await mt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return mt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function Hd(t){if(t.privateKey==null||t.publicKey==null)throw new b("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([mt.get().subtle.exportKey("jwk",t.privateKey),mt.get().subtle.exportKey("jwk",t.publicKey)])}async function kw(t){return mt.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 zd(t,e,r,n){let i=e?Kd(t):Fd(t),o=Z(Uint8Array.from(r),"ascii"),s=n(o,i);return G(s,"ascii")}function Gd(t,e){return zd(t,!0,e,(r,n)=>n.encrypt(r))}function Yd(t,e){return zd(t,!1,e,(r,n)=>n.decrypt(r))}function As(t){if(t.kty!=="RSA")throw new b("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new b("invalid key modulus","ERR_INVALID_KEY_MODULUS");return G(t.n,"base64url").length*8}var no=8192,ro=class{_key;constructor(e){this._key=e}async verify(e,r){return $d(this._key,r,e)}marshal(){return bn.jwkToPkix(this._key)}get bytes(){return rr.encode({Type:Te.RSA,Data:this.marshal()}).subarray()}encrypt(e){return Gd(this._key,e)}equals(e){return Le(this.bytes,e.bytes)}async hash(){let{bytes:e}=await rt.digest(this.bytes);return e}},li=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return wn(16)}async sign(e){return Vd(this._key,e)}get public(){if(this._publicKey==null)throw new b("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new ro(this._publicKey)}decrypt(e){return Yd(this._key,e)}marshal(){return bn.jwkToPkcs1(this._key)}get bytes(){return nr.encode({Type:Te.RSA,Data:this.marshal()}).subarray()}equals(e){return Le(this.bytes,e.bytes)}async hash(){let{bytes:e}=await rt.digest(this.bytes);return e}async id(){let e=await this.public.hash();return Z(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new to.default.util.ByteBuffer(this.marshal()),i=to.default.asn1.fromDer(n),o=to.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return to.default.pki.encryptRsaPrivateKey(o,e,s)}else{if(r==="libp2p-key")return si(this.bytes,e);throw new b(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Mw(t){let e=bn.pkcs1ToJwk(t);if(As(e)>no)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await hu(e);return new li(r.privateKey,r.publicKey)}function Uw(t){let e=bn.pkixToJwk(t);if(As(e)>no)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new ro(e)}async function Fw(t){if(As(t)>no)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await hu(t);return new li(e.privateKey,e.publicKey)}async function Kw(t){if(t>no)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await qd(t);return new li(e.privateKey,e.publicKey)}var Eu={};Ge(Eu,{Secp256k1PrivateKey:()=>oo,Secp256k1PublicKey:()=>io,generateKeyPair:()=>tb,unmarshalSecp256k1PrivateKey:()=>Jw,unmarshalSecp256k1PublicKey:()=>eb});var qw=(t,e,r)=>t&e^~t&r,Vw=(t,e,r)=>t&e^t&r^e&r,$w=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]),qr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Vr=new Uint32Array(64),pu=class extends ni{constructor(){super(64,32,8,!1),this.A=qr[0]|0,this.B=qr[1]|0,this.C=qr[2]|0,this.D=qr[3]|0,this.E=qr[4]|0,this.F=qr[5]|0,this.G=qr[6]|0,this.H=qr[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 f=0;f<16;f++,r+=4)Vr[f]=e.getUint32(r,!1);for(let f=16;f<64;f++){let h=Vr[f-15],p=Vr[f-2],d=Mt(h,7)^Mt(h,18)^h>>>3,m=Mt(p,17)^Mt(p,19)^p>>>10;Vr[f]=m+Vr[f-7]+d+Vr[f-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:u,H:l}=this;for(let f=0;f<64;f++){let h=Mt(a,6)^Mt(a,11)^Mt(a,25),p=l+h+qw(a,c,u)+$w[f]+Vr[f]|0,m=(Mt(n,2)^Mt(n,13)^Mt(n,22))+Vw(n,i,o)|0;l=u,u=c,c=a,a=s+p|0,s=o,o=i,i=n,n=p+m|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,l=l+this.H|0,this.set(n,i,o,s,a,c,u,l)}roundClean(){Vr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Wd=ss(()=>new pu);function Hw(t){let e=Xi(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:zw,hexToBytes:Gw}=ls,vn={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=vn;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:zw(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=vn,r=typeof t=="string"?Gw(t):t;if(!(r instanceof Uint8Array))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}=vn._parseInt(r.subarray(2)),{d:s,l:a}=vn._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 l=u.toString(16);return l.length&1?`0${l}`:l},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}`}},Er=BigInt(0),Bt=BigInt(1),y4=BigInt(2),Qd=BigInt(3),g4=BigInt(4);function Yw(t){let e=Hw(t),{Fp:r}=e,n=e.toBytes||((d,m,y)=>{let g=m.toAffine();return mr(Uint8Array.from([4]),r.toBytes(g.x),r.toBytes(g.y))}),i=e.fromBytes||(d=>{let m=d.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 o(d){let{a:m,b:y}=e,g=r.sqr(d),x=r.mul(g,d);return r.add(r.add(x,r.mul(d,m)),y)}if(!r.eql(r.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function s(d){return typeof d=="bigint"&&Er<d&&d<e.n}function a(d){if(!s(d))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(d){let{allowedPrivateKeyLengths:m,nByteLength:y,wrapPrivateKey:g,n:x}=e;if(m&&typeof d!="bigint"){if(d instanceof Uint8Array&&(d=dr(d)),typeof d!="string"||!m.includes(d.length))throw new Error("Invalid key");d=d.padStart(y*2,"0")}let w;try{w=typeof d=="bigint"?d:pr(ke("private key",d,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof d}`)}return g&&(w=Ee(w,x)),a(w),w}let u=new Map;function l(d){if(!(d 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=w=>r.eql(w,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(ke("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=o(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:w,py:C,pz:_}=m,A=r.eql(r.mul(y,_),r.mul(w,x)),P=r.eql(r.mul(g,_),r.mul(C,x));return A&&P}negate(){return new f(this.px,r.neg(this.py),this.pz)}double(){let{a:m,b:y}=e,g=r.mul(y,Qd),{px:x,py:w,pz:C}=this,_=r.ZERO,A=r.ZERO,P=r.ZERO,D=r.mul(x,x),W=r.mul(w,w),Q=r.mul(C,C),z=r.mul(x,w);return z=r.add(z,z),P=r.mul(x,C),P=r.add(P,P),_=r.mul(m,P),A=r.mul(g,Q),A=r.add(_,A),_=r.sub(W,A),A=r.add(W,A),A=r.mul(_,A),_=r.mul(z,_),P=r.mul(g,P),Q=r.mul(m,Q),z=r.sub(D,Q),z=r.mul(m,z),z=r.add(z,P),P=r.add(D,D),D=r.add(P,D),D=r.add(D,Q),D=r.mul(D,z),A=r.add(A,D),Q=r.mul(w,C),Q=r.add(Q,Q),D=r.mul(Q,z),_=r.sub(_,D),P=r.mul(Q,W),P=r.add(P,P),P=r.add(P,P),new f(_,A,P)}add(m){l(m);let{px:y,py:g,pz:x}=this,{px:w,py:C,pz:_}=m,A=r.ZERO,P=r.ZERO,D=r.ZERO,W=e.a,Q=r.mul(e.b,Qd),z=r.mul(y,w),ne=r.mul(g,C),ge=r.mul(x,_),Je=r.add(y,g),T=r.add(w,C);Je=r.mul(Je,T),T=r.add(z,ne),Je=r.sub(Je,T),T=r.add(y,x);let k=r.add(w,_);return T=r.mul(T,k),k=r.add(z,ge),T=r.sub(T,k),k=r.add(g,x),A=r.add(C,_),k=r.mul(k,A),A=r.add(ne,ge),k=r.sub(k,A),D=r.mul(W,T),A=r.mul(Q,ge),D=r.add(A,D),A=r.sub(ne,D),D=r.add(ne,D),P=r.mul(A,D),ne=r.add(z,z),ne=r.add(ne,z),ge=r.mul(W,ge),T=r.mul(Q,T),ne=r.add(ne,ge),ge=r.sub(z,ge),ge=r.mul(W,ge),T=r.add(T,ge),z=r.mul(ne,T),P=r.add(P,z),z=r.mul(k,T),A=r.mul(Je,A),A=r.sub(A,z),z=r.mul(Je,ne),D=r.mul(k,D),D=r.add(D,z),new f(A,P,D)}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,w)=>x.toAffine(g[w])).map(f.fromAffine)})}multiplyUnsafe(m){let y=f.ZERO;if(m===Er)return y;if(a(m),m===Bt)return this;let{endo:g}=e;if(!g)return p.unsafeLadder(this,m);let{k1neg:x,k1:w,k2neg:C,k2:_}=g.splitScalar(m),A=y,P=y,D=this;for(;w>Er||_>Er;)w&Bt&&(A=A.add(D)),_&Bt&&(P=P.add(D)),D=D.double(),w>>=Bt,_>>=Bt;return x&&(A=A.negate()),C&&(P=P.negate()),P=new f(r.mul(P.px,g.beta),P.py,P.pz),A.add(P)}multiply(m){a(m);let y=m,g,x,{endo:w}=e;if(w){let{k1neg:C,k1:_,k2neg:A,k2:P}=w.splitScalar(y),{p:D,f:W}=this.wNAF(_),{p:Q,f:z}=this.wNAF(P);D=p.constTimeNegate(C,D),Q=p.constTimeNegate(A,Q),Q=new f(r.mul(Q.px,w.beta),Q.py,Q.pz),g=D.add(Q),x=W.add(z)}else{let{p:C,f:_}=this.wNAF(y);g=C,x=_}return f.normalizeZ([g,x])[0]}multiplyAndAddUnsafe(m,y,g){let x=f.BASE,w=(_,A)=>A===Er||A===Bt||!_.equals(x)?_.multiplyUnsafe(A):_.multiply(A),C=w(this,y).add(w(m,g));return C.is0()?void 0:C}toAffine(m){let{px:y,py:g,pz:x}=this,w=this.is0();m==null&&(m=w?r.ONE:r.inv(x));let C=r.mul(y,m),_=r.mul(g,m),A=r.mul(x,m);if(w)return{x:r.ZERO,y:r.ZERO};if(!r.eql(A,r.ONE))throw new Error("invZ was invalid");return{x:C,y:_}}isTorsionFree(){let{h:m,isTorsionFree:y}=e;if(m===Bt)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===Bt?this:y?y(f,this):this.multiplyUnsafe(e.h)}toRawBytes(m=!0){return this.assertValidity(),n(f,this,m)}toHex(m=!0){return dr(this.toRawBytes(m))}}f.BASE=new f(e.Gx,e.Gy,r.ONE),f.ZERO=new f(r.ZERO,r.ONE,r.ZERO);let h=e.nBitLength,p=ds(f,e.endo?Math.ceil(h/2):h);return{CURVE:e,ProjectivePoint:f,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function Ww(t){let e=Xi(t);return er(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Xd(t){let e=Ww(t),{Fp:r,n}=e,i=r.BYTES+1,o=2*r.BYTES+1;function s(T){return Er<T&&T<r.ORDER}function a(T){return Ee(T,n)}function c(T){return fs(T,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:l,weierstrassEquation:f,isWithinCurveOrder:h}=Yw({...e,toBytes(T,k,L){let N=k.toAffine(),I=r.toBytes(N.x),K=mr;return L?K(Uint8Array.from([k.hasEvenY()?2:3]),I):K(Uint8Array.from([4]),I,r.toBytes(N.y))},fromBytes(T){let k=T.length,L=T[0],N=T.subarray(1);if(k===i&&(L===2||L===3)){let I=pr(N);if(!s(I))throw new Error("Point is not on curve");let K=f(I),V=r.sqrt(K),Y=(V&Bt)===Bt;return(L&1)===1!==Y&&(V=r.neg(V)),{x:I,y:V}}else if(k===o&&L===4){let I=r.fromBytes(N.subarray(0,r.BYTES)),K=r.fromBytes(N.subarray(r.BYTES,2*r.BYTES));return{x:I,y:K}}else throw new Error(`Point of length ${k} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),p=T=>dr(Ur(T,e.nByteLength));function d(T){let k=n>>Bt;return T>k}function m(T){return d(T)?a(-T):T}let y=(T,k,L)=>pr(T.slice(k,L));class g{constructor(k,L,N){this.r=k,this.s=L,this.recovery=N,this.assertValidity()}static fromCompact(k){let L=e.nByteLength;return k=ke("compactSignature",k,L*2),new g(y(k,0,L),y(k,L,2*L))}static fromDER(k){let{r:L,s:N}=vn.toSig(ke("DER",k));return new g(L,N)}assertValidity(){if(!h(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!h(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:L,s:N,recovery:I}=this,K=P(ke("msgHash",k));if(I==null||![0,1,2,3].includes(I))throw new Error("recovery id invalid");let V=I===2||I===3?L+e.n:L;if(V>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let Y=I&1?"03":"02",ee=u.fromHex(Y+p(V)),oe=c(V),me=a(-K*oe),se=a(N*oe),fe=u.BASE.multiplyAndAddUnsafe(ee,me,se);if(!fe)throw new Error("point at infinify");return fe.assertValidity(),fe}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return hn(this.toDERHex())}toDERHex(){return vn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return hn(this.toCompactHex())}toCompactHex(){return p(this.r)+p(this.s)}}let x={isValidPrivateKey(T){try{return l(T),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let T=Uc(e.n);return Rh(e.randomBytes(T),e.n)},precompute(T=8,k=u.BASE){return k._setWindowSize(T),k.multiply(BigInt(3)),k}};function w(T,k=!0){return u.fromPrivateKey(T).toRawBytes(k)}function C(T){let k=T instanceof Uint8Array,L=typeof T=="string",N=(k||L)&&T.length;return k?N===i||N===o:L?N===2*i||N===2*o:T instanceof u}function _(T,k,L=!0){if(C(T))throw new Error("first arg must be private key");if(!C(k))throw new Error("second arg must be public key");return u.fromHex(k).multiply(l(T)).toRawBytes(L)}let A=e.bits2int||function(T){let k=pr(T),L=T.length*8-e.nBitLength;return L>0?k>>BigInt(L):k},P=e.bits2int_modN||function(T){return a(A(T))},D=Qi(e.nBitLength);function W(T){if(typeof T!="bigint")throw new Error("bigint expected");if(!(Er<=T&&T<D))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Ur(T,e.nByteLength)}function Q(T,k,L=z){if(["recovered","canonical"].some(De=>De in L))throw new Error("sign() legacy options not supported");let{hash:N,randomBytes:I}=e,{lowS:K,prehash:V,extraEntropy:Y}=L;K==null&&(K=!0),T=ke("msgHash",T),V&&(T=ke("prehashed msgHash",N(T)));let ee=P(T),oe=l(k),me=[W(oe),W(ee)];if(Y!=null){let De=Y===!0?I(r.BYTES):Y;me.push(ke("extraEntropy",De))}let se=mr(...me),fe=ee;function qe(De){let et=A(De);if(!h(et))return;let tt=c(et),$e=u.BASE.multiply(et).toAffine(),ct=a($e.x);if(ct===Er)return;let ar=a(tt*a(fe+ct*oe));if(ar===Er)return;let tn=($e.x===ct?0:2)|Number($e.y&Bt),Mi=ar;return K&&d(ar)&&(Mi=m(ar),tn^=1),new g(ct,Mi,tn)}return{seed:se,k2sig:qe}}let z={lowS:e.lowS,prehash:!1},ne={lowS:e.lowS,prehash:!1};function ge(T,k,L=z){let{seed:N,k2sig:I}=Q(T,k,L),K=e;return Nc(K.hash.outputLen,K.nByteLength,K.hmac)(N,I)}u.BASE._setWindowSize(8);function Je(T,k,L,N=ne){let I=T;if(k=ke("msgHash",k),L=ke("publicKey",L),"strict"in N)throw new Error("options.strict was renamed to lowS");let{lowS:K,prehash:V}=N,Y,ee;try{if(typeof I=="string"||I instanceof Uint8Array)try{Y=g.fromDER(I)}catch($e){if(!($e instanceof vn.Err))throw $e;Y=g.fromCompact(I)}else if(typeof I=="object"&&typeof I.r=="bigint"&&typeof I.s=="bigint"){let{r:$e,s:ct}=I;Y=new g($e,ct)}else throw new Error("PARSE");ee=u.fromHex(L)}catch($e){if($e.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(K&&Y.hasHighS())return!1;V&&(k=e.hash(k));let{r:oe,s:me}=Y,se=P(k),fe=c(me),qe=a(se*fe),De=a(oe*fe),et=u.BASE.multiplyAndAddUnsafe(ee,qe,De)?.toAffine();return et?a(et.x)===oe:!1}return{CURVE:e,getPublicKey:w,getSharedSecret:_,sign:ge,verify:Je,ProjectivePoint:u,Signature:g,utils:x}}var Ss=class extends ti{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,mh(e);let n=Wi(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 ei(this),this.iHash.update(e),this}digestInto(e){ei(this),Rc(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()}},mu=(t,e,r)=>new Ss(t,e).update(r).digest();mu.create=(t,e)=>new Ss(t,e);function Qw(t){return{hash:t,hmac:(e,...r)=>mu(t,e,os(...r)),randomBytes:ri}}function Zd(t,e){let r=n=>Xd({...t,...Qw(n)});return Object.freeze({...r(e),create:r})}var ep=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),jd=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Xw=BigInt(1),yu=BigInt(2),Jd=(t,e)=>(t+e/yu)/e;function Zw(t){let e=ep,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,l=u*u*t%e,f=Ce(l,r,e)*l%e,h=Ce(f,r,e)*l%e,p=Ce(h,yu,e)*u%e,d=Ce(p,i,e)*p%e,m=Ce(d,o,e)*d%e,y=Ce(m,a,e)*m%e,g=Ce(y,c,e)*y%e,x=Ce(g,a,e)*m%e,w=Ce(x,r,e)*l%e,C=Ce(w,s,e)*d%e,_=Ce(C,n,e)*u%e,A=Ce(_,yu,e);if(!gu.eql(gu.sqr(A),t))throw new Error("Cannot find square root");return A}var gu=hs(ep,void 0,void 0,{sqrt:Zw}),wr=Zd({a:BigInt(0),b:BigInt(7),Fp:gu,n:jd,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=jd,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Xw*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=Jd(o*t,e),c=Jd(-n*t,e),u=Ee(t-a*r-c*i,e),l=Ee(-a*n-c*o,e),f=u>s,h=l>s;if(f&&(u=e-u),h&&(l=e-l),u>s||l>s)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:h,k2:l}}}},Wd),T4=BigInt(0);var B4=wr.ProjectivePoint;function tp(){return wr.utils.randomPrivateKey()}async function rp(t,e){let{digest:r}=await rt.digest(e);try{return wr.sign(r,t).toDERRawBytes()}catch(n){throw new b(String(n),"ERR_INVALID_INPUT")}}async function np(t,e,r){try{let{digest:n}=await rt.digest(r);return wr.verify(e,n,t)}catch(n){throw new b(String(n),"ERR_INVALID_INPUT")}}function ip(t){return wr.ProjectivePoint.fromHex(t).toRawBytes(!0)}function op(t){try{wr.getPublicKey(t,!0)}catch(e){throw new b(String(e),"ERR_INVALID_PRIVATE_KEY")}}function xu(t){try{wr.ProjectivePoint.fromHex(t)}catch(e){throw new b(String(e),"ERR_INVALID_PUBLIC_KEY")}}function sp(t){try{return wr.getPublicKey(t,!0)}catch(e){throw new b(String(e),"ERR_INVALID_PRIVATE_KEY")}}var io=class{_key;constructor(e){xu(e),this._key=e}async verify(e,r){return np(this._key,r,e)}marshal(){return ip(this._key)}get bytes(){return rr.encode({Type:Te.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Le(this.bytes,e.bytes)}async hash(){let{bytes:e}=await rt.digest(this.bytes);return e}},oo=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??sp(e),op(this._key),xu(this._publicKey)}async sign(e){return rp(this._key,e)}get public(){return new io(this._publicKey)}marshal(){return this._key}get bytes(){return nr.encode({Type:Te.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Le(this.bytes,e.bytes)}async hash(){let{bytes:e}=await rt.digest(this.bytes);return e}async id(){let e=await this.public.hash();return Z(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return si(this.bytes,e);throw new b(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Jw(t){return new oo(t)}function eb(t){return new io(t)}async function tb(){let t=tp();return new oo(t)}var br={rsa:du,ed25519:cu,secp256k1:Eu};function wu(t){let e=Object.keys(br).join(" / ");return new b(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function bu(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return br[t];throw wu(t)}async function Rs(t,e){return bu(t).generateKeyPair(e??2048)}function so(t){let e=rr.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Te.RSA:return br.rsa.unmarshalRsaPublicKey(r);case Te.Ed25519:return br.ed25519.unmarshalEd25519PublicKey(r);case Te.Secp256k1:return br.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw wu(e.Type??"RSA")}}function ap(t,e){return e=(e??"rsa").toLowerCase(),bu(e),t.bytes}async function fi(t){let e=nr.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Te.RSA:return br.rsa.unmarshalRsaPrivateKey(r);case Te.Ed25519:return br.ed25519.unmarshalEd25519PrivateKey(r);case Te.Secp256k1:return br.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw wu(e.Type??"RSA")}}function cp(t,e){return e=(e??"rsa").toLowerCase(),bu(e),t.bytes}async function ao(t,e){try{let i=await Ld(t,e);return await fi(i)}catch{}let r=Is.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new b("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=Is.default.asn1.toDer(Is.default.pki.privateKeyToAsn1(r));return n=G(n.getBytes(),"ascii"),br.rsa.unmarshalRsaPrivateKey(n)}var vu=Symbol.for("@libp2p/content-routing");var co=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 Au(e,r))}},_u=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},Au=globalThis.CustomEvent??_u;var Su=Symbol.for("@libp2p/peer-discovery");var Iu=Symbol.for("@libp2p/peer-routing");var t8=te($o(),1),nb=te(ye(),1);var lp=te(Xa(),1),fp=te(Oe(),1),up={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function uo(t,e,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(up).join(" / ");throw new b(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let o=up[i],s=(0,lp.default)(t,e,r,n,o);return fp.default.encode64(s,null)}var vt=te(Cu(),1);vt.default.formatters.b=t=>t==null?"undefined":Me.baseEncode(t);vt.default.formatters.t=t=>t==null?"undefined":xt.baseEncode(t);vt.default.formatters.m=t=>t==null?"undefined":un.baseEncode(t);vt.default.formatters.p=t=>t==null?"undefined":t.toString();vt.default.formatters.c=t=>t==null?"undefined":t.toString();vt.default.formatters.k=t=>t==null?"undefined":t.toString();vt.default.formatters.a=t=>t==null?"undefined":t.toString();function xb(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 ie(t){let e=xb(`${t}:trace`);return vt.default.enabled(`${t}:trace`)&&vt.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,vt.default)(`${t}:trace`)),Object.assign((0,vt.default)(t),{error:(0,vt.default)(`${t}:error`),trace:e})}var Tu=Symbol.for("@libp2p/peer-id");function Bs(t){return t!=null&&!!t[Tu]}var Eb=Symbol.for("nodejs.util.inspect.custom"),mp=Object.values(Nr).map(t=>t.decoder).reduce((t,e)=>t.or(e),Nr.identity.decoder),yp=114,Bu=36,Lu=37,lo=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()})`}[Tu]=!0;toString(){return this.string==null&&(this.string=Me.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return kt.createV1(yp,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return Le(this.multihash.bytes,e);if(typeof e=="string")return de(e).equals(this);if(e?.multihash?.bytes!=null)return Le(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[Eb](){return`PeerId(${this.toString()})`}},An=class extends lo{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Sn=class extends lo{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},In=class extends lo{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function gp(t){if(t.type==="RSA")return new An(t);if(t.type==="Ed25519")return new Sn(t);if(t.type==="secp256k1")return new In(t);throw new b("Not a PeerId","ERR_INVALID_PARAMETERS")}function de(t,e){if(e=e??mp,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=ln(Me.decode(`z${t}`));return t.startsWith("12D")?new Sn({multihash:r}):t.startsWith("16U")?new In({multihash:r}):new An({multihash:r})}return mi(mp.decode(t))}function mi(t){try{let e=ln(t);if(e.code===Dr.code){if(e.digest.length===Bu)return new Sn({multihash:e});if(e.digest.length===Lu)return new In({multihash:e})}if(e.code===rt.code)return new An({multihash:e})}catch{return wb(kt.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function wb(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==yp)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===rt.code)return new An({multihash:t.multihash});if(e.code===Dr.code){if(e.digest.length===Bu)return new Sn({multihash:t.multihash});if(e.digest.length===Lu)return new In({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function yi(t,e){return t.length===Bu?new Sn({multihash:Jt(Dr.code,t),privateKey:e}):t.length===Lu?new In({multihash:Jt(Dr.code,t),privateKey:e}):new An({multihash:await rt.digest(t),publicKey:t,privateKey:e})}var Ls=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((e,r)=>(r&=63,r<36?e+=r.toString(36):r<62?e+=(r-26).toString(36).toUpperCase():r>62?e+="-":e+="_",e),"");var vr="/",xp=new TextEncoder().encode(vr),Ps=xp[0],ir=class t{_buf;constructor(e,r){if(typeof e=="string")this._buf=G(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]!==Ps)throw new Error("Invalid key")}toString(e="utf8"){return Z(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new t(e.join(vr))}static random(){return new t(Ls().replace(/-/g,""))}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=xp),this._buf[0]!==Ps){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Ps,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Ps;)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(vr).slice(1)}type(){return bb(this.baseNamespace())}name(){return vb(this.baseNamespace())}instance(e){return new t(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(vr)||(e+=vr),e+=this.type(),new t(e)}parent(){let e=this.list();return e.length===1?new t(vr):new t(e.slice(0,-1).join(vr))}child(e){return this.toString()===vr?e:e.toString()===vr?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(),..._b(e.map(r=>r.namespaces()))])}};function bb(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function vb(t){let e=t.split(":");return e[e.length-1]}function _b(t){return[].concat(...t)}var Rp=te(Ip(),1),$r=Rp.default;var Mp=te(Op(),1);var ce;(function(t){t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",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_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"})(ce||(ce={}));var ks=ie("libp2p:keychain"),qb="/pkcs8/",Up="/info/",Rn=new WeakMap,Cn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Du={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function _r(t){return t==null||typeof t!="string"?!1:t===(0,Mp.default)(t.trim())&&t.length>0}async function we(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function or(t){return new ir(qb+t)}function Hr(t){return new ir(Up+t)}var Tn=class{components;init;constructor(e,r){if(this.components=e,this.init=$r(Du,r),this.init.pass!=null&&this.init.pass?.length<20)throw new Error("pass must be least 20 characters");if(this.init.dek?.keyLength!=null&&this.init.dek.keyLength<Cn.minKeyLength)throw new Error(`dek.keyLength must be least ${Cn.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<Cn.minSaltLength)throw new Error(`dek.saltLength must be least ${Cn.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<Cn.minIterationCount)throw new Error(`dek.iterationCount must be least ${Cn.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?uo(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";Rn.set(this,{dek:n})}static generateOptions(){let e=Object.assign({},Du),r=Math.ceil(Cn.minSaltLength/3)*3;return e.dek.salt=Z(wn(r),"base64"),e}static get options(){return Du}async createKey(e,r,n=2048){if(!_r(e)||e==="self")throw await we(),new b("Invalid key name",ce.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await we(),new b("Invalid key type",ce.ERR_INVALID_KEY_TYPE);let i=or(e);if(await this.components.datastore.has(i))throw await we(),new b("Key name already exists",ce.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await we(),new b("Invalid RSA key size",ce.ERR_INVALID_KEY_SIZE);break;default:break}let s;try{let a=await Rs(r,n),c=await a.id(),u=Rn.get(this);if(u==null)throw new b("dek missing",ce.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);s={name:e,id:c};let h=this.components.datastore.batch();h.put(i,G(f)),h.put(Hr(e),G(JSON.stringify(s))),await h.commit()}catch(a){throw await we(),a}return s}async listKeys(){let e={prefix:Up},r=[];for await(let n of this.components.datastore.query(e))r.push(JSON.parse(Z(n.value)));return r}async findKeyById(e){try{let n=(await this.listKeys()).find(i=>i.id===e);if(n==null)throw new b(`Key with id '${e}' does not exist.`,ce.ERR_KEY_NOT_FOUND);return n}catch(r){throw await we(),r}}async findKeyByName(e){if(!_r(e))throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);let r=Hr(e);try{let n=await this.components.datastore.get(r);return JSON.parse(Z(n))}catch(n){throw await we(),ks.error(n),new b(`Key '${e}' does not exist.`,ce.ERR_KEY_NOT_FOUND)}}async removeKey(e){if(!_r(e)||e==="self")throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);let r=or(e),n=await this.findKeyByName(e),i=this.components.datastore.batch();return i.delete(r),i.delete(Hr(e)),await i.commit(),n}async renameKey(e,r){if(!_r(e)||e==="self")throw await we(),new b(`Invalid old key name '${e}'`,ce.ERR_OLD_KEY_NAME_INVALID);if(!_r(r)||r==="self")throw await we(),new b(`Invalid new key name '${r}'`,ce.ERR_NEW_KEY_NAME_INVALID);let n=or(e),i=or(r),o=Hr(e),s=Hr(r);if(await this.components.datastore.has(i))throw await we(),new b(`Key '${r}' already exists`,ce.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(o),l=JSON.parse(Z(u));l.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(s,G(JSON.stringify(l))),f.delete(n),f.delete(o),await f.commit(),l}catch(c){throw await we(),c}}async exportKey(e,r){if(!_r(e))throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);if(r==null)throw await we(),new b("Password is required",ce.ERR_PASSWORD_REQUIRED);let n=or(e);try{let i=await this.components.datastore.get(n),o=Z(i),s=Rn.get(this);if(s==null)throw new b("dek missing",ce.ERR_INVALID_PARAMETERS);let a=s.dek;return await(await ao(o,a)).export(r)}catch(i){throw await we(),i}}async exportPeerId(e){let r="temporary-password",n=await this.exportKey(e,r),i=await ao(n,r);return yi(i.public.bytes,i.bytes)}async importKey(e,r,n){if(!_r(e)||e==="self")throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);if(r==null)throw await we(),new b("PEM encoded key is required",ce.ERR_PEM_REQUIRED);let i=or(e);if(await this.components.datastore.has(i))throw await we(),new b(`Key '${e}' already exists`,ce.ERR_KEY_ALREADY_EXISTS);let s;try{s=await ao(r,n)}catch{throw await we(),new b("Cannot read the key, most likely the password is wrong",ce.ERR_CANNOT_READ_KEY)}let a;try{a=await s.id();let l=Rn.get(this);if(l==null)throw new b("dek missing",ce.ERR_INVALID_PARAMETERS);let f=l.dek;r=await s.export(f)}catch(l){throw await we(),l}let c={name:e,id:a},u=this.components.datastore.batch();return u.put(i,G(r)),u.put(Hr(e),G(JSON.stringify(c))),await u.commit(),c}async importPeer(e,r){try{if(!_r(e))throw new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);if(r==null)throw new b("PeerId is required",ce.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new b("PeerId.privKey is required",ce.ERR_MISSING_PRIVATE_KEY);let n=await fi(r.privateKey),i=or(e);if(await this.components.datastore.has(i))throw await we(),new b(`Key '${e}' already exists`,ce.ERR_KEY_ALREADY_EXISTS);let s=Rn.get(this);if(s==null)throw new b("dek missing",ce.ERR_INVALID_PARAMETERS);let a=s.dek,c=await n.export(a),u={name:e,id:r.toString()},l=this.components.datastore.batch();return l.put(i,G(c)),l.put(Hr(e),G(JSON.stringify(u))),await l.commit(),u}catch(n){throw await we(),n}}async getPrivateKey(e){if(!_r(e))throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);try{let r=or(e),n=await this.components.datastore.get(r);return Z(n)}catch(r){throw await we(),ks.error(r),new b(`Key '${e}' does not exist.`,ce.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(e,r){if(typeof e!="string")throw await we(),new b(`Invalid old pass type '${typeof e}'`,ce.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await we(),new b(`Invalid new pass type '${typeof r}'`,ce.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await we(),new b(`Invalid pass length ${r.length}`,ce.ERR_INVALID_PASS_LENGTH);ks("recreating keychain");let n=Rn.get(this);if(n==null)throw new b("dek missing",ce.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let o=r!=null&&this.init.dek?.salt!=null?uo(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";Rn.set(this,{dek:o});let s=await this.listKeys();for(let a of s){let c=await this.components.datastore.get(or(a.name)),u=Z(c),l=await ao(u,i),f=o.toString(),h=await l.export(f),p=this.components.datastore.batch(),d={name:a.name,id:a.id};p.put(or(a.name),G(h)),p.put(Hr(a.name),G(JSON.stringify(d))),await p.commit()}ks("keychain reconstructed")}};function Ar(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 $t=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){this.map.delete(e.toString())}entries(){return Ar(this.map.entries(),e=>[de(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,de(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 Ar(this.map.keys(),e=>de(e))}values(){return this.map.values()}get size(){return this.map.size}};var Bn=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 Ar(this.set.entries(),e=>{let r=de(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=de(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return Ar(this.set.values(),e=>de(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 Nu=class t{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return Ar(this.list.entries(),e=>de(e[1]))}concat(e){let r=new t(this);for(let n of e)r.push(n);return r}entries(){return Ar(this.list.entries(),e=>[e[0],de(e[1])])}every(e){return this.list.every((r,n)=>e(de(r),n,this))}filter(e){let r=new t;return this.list.forEach((n,i)=>{let o=de(n);e(o,i,this)&&r.push(o)}),r}find(e){let r=this.list.find((n,i)=>e(de(n),i,this));if(r!=null)return de(r)}findIndex(e){return this.list.findIndex((r,n)=>e(de(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(de(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 de(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return de(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}get length(){return this.list.length}};var ku;(function(t){let e;t.codec=()=>(e==null&&(e=ot((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=>it(r,t.codec()),t.decode=r=>nt(r,t.codec())})(ku||(ku={}));var Fp=async()=>{let t=await Rs("Ed25519"),e=await Vb(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function Vb(t){return yi(ap(t.public),cp(t))}var $b=Math.pow(2,7),Hb=Math.pow(2,14),zb=Math.pow(2,21),Ou=Math.pow(2,28),Mu=Math.pow(2,35),Uu=Math.pow(2,42),Fu=Math.pow(2,49),pe=128,ut=127;function yt(t){if(t<$b)return 1;if(t<Hb)return 2;if(t<zb)return 3;if(t<Ou)return 4;if(t<Mu)return 5;if(t<Uu)return 6;if(t<Fu)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Gb(t,e,r=0){switch(yt(t)){case 8:e[r++]=t&255|pe,t/=128;case 7:e[r++]=t&255|pe,t/=128;case 6:e[r++]=t&255|pe,t/=128;case 5:e[r++]=t&255|pe,t/=128;case 4:e[r++]=t&255|pe,t>>>=7;case 3:e[r++]=t&255|pe,t>>>=7;case 2:e[r++]=t&255|pe,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Yb(t,e,r=0){switch(yt(t)){case 8:e.set(r++,t&255|pe),t/=128;case 7:e.set(r++,t&255|pe),t/=128;case 6:e.set(r++,t&255|pe),t/=128;case 5:e.set(r++,t&255|pe),t/=128;case 4:e.set(r++,t&255|pe),t>>>=7;case 3:e.set(r++,t&255|pe),t>>>=7;case 2:e.set(r++,t&255|pe),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function Wb(t,e){let r=t[e],n=0;if(n+=r&ut,r<pe||(r=t[e+1],n+=(r&ut)<<7,r<pe)||(r=t[e+2],n+=(r&ut)<<14,r<pe)||(r=t[e+3],n+=(r&ut)<<21,r<pe)||(r=t[e+4],n+=(r&ut)*Ou,r<pe)||(r=t[e+5],n+=(r&ut)*Mu,r<pe)||(r=t[e+6],n+=(r&ut)*Uu,r<pe)||(r=t[e+7],n+=(r&ut)*Fu,r<pe))return n;throw new RangeError("Could not decode varint")}function Qb(t,e){let r=t.get(e),n=0;if(n+=r&ut,r<pe||(r=t.get(e+1),n+=(r&ut)<<7,r<pe)||(r=t.get(e+2),n+=(r&ut)<<14,r<pe)||(r=t.get(e+3),n+=(r&ut)<<21,r<pe)||(r=t.get(e+4),n+=(r&ut)*Ou,r<pe)||(r=t.get(e+5),n+=(r&ut)*Mu,r<pe)||(r=t.get(e+6),n+=(r&ut)*Uu,r<pe)||(r=t.get(e+7),n+=(r&ut)*Fu,r<pe))return n;throw new RangeError("Could not decode varint")}function Lt(t,e,r=0){return e==null&&(e=Ot(yt(t))),e instanceof Uint8Array?Gb(t,e,r):Yb(t,e,r)}function Sr(t,e=0){return t instanceof Uint8Array?Wb(t,e):Qb(t,e)}var qp=Symbol.for("@achingbrain/uint8arraylist");function Kp(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 Os(t){return!!t?.[qp]}var Ze=class t{constructor(...e){Object.defineProperty(this,qp,{value:!0}),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(Os(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(Os(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=Kp(this.bufs,e);return r.buf[r.index]}set(e,r){let n=Kp(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(Os(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 Ue(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Ue(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,l=r>a&&r<=c;if(u&&l){if(e===a&&r===c){n.push(s);break}let f=e-a;n.push(s.subarray(f,f+(r-e)));break}if(u){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(l){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(!Os(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 f=0;f<o;f++)s[f]=-1;for(let f=0;f<i;f++)s[n[f]]=f;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=r;f<=c;f+=l){l=0;for(let h=u;h>=0;h--){let p=this.get(f+h);if(n[h]!==p){l=Math.max(1,h-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=Ot(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=hr(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=hr(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=hr(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=Ot(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=hr(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=hr(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=hr(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=hr(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=hr(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(!Le(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}};var Vp={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var ho;(function(t){let e;t.codec=()=>(e==null&&(e=ot((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=>it(r,t.codec()),t.decode=r=>nt(r,t.codec())})(ho||(ho={}));var Ei=class t{static createFromProtobuf=async e=>{let r=ho.decode(e),n=await yi(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=$p(n,i,o),c=await(await fi(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 b("envelope signature is not valid for the given domain",Vp.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=ho.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return Le(this.marshal(),e.marshal())}async validate(e){let r=$p(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return so(this.peerId.publicKey).verify(r.subarray(),this.signature)}},$p=(t,e,r)=>{let n=G(t),i=Lt(n.byteLength),o=Lt(e.length),s=Lt(r.length);return new Ze(i,n,o,e,s,r)};function Hp(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 Ms=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 l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let h=Number.parseInt(f,e);if(!Number.isNaN(h))return h});if(l===void 0)break;if(o*=e,o+=l,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 zp=45,Xb=15,wi=new Ms;function Ku(t){if(!(t.length>Xb))return wi.new(t).parseWith(()=>wi.readIPv4Addr())}function qu(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>zp))return wi.new(t).parseWith(()=>wi.readIPv6Addr())}function Us(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>zp))return wi.new(t).parseWith(()=>wi.readIPAddr())}var GC=parseInt("0xFFFF",16),YC=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Wp(t){return!!Ku(t)}function Qp(t){return!!qu(t)}function bi(t){return!!Us(t)}var Xp=Wp,tv=Qp,Vu=function(t){let e=0;if(t=t.toString().trim(),Xp(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(tv(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=Xp(r[n]),s;o&&(s=Vu(r[n]),r[n]=Z(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,Z(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")},Zp=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 vi={},$u={},nv=[[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"]];nv.forEach(t=>{let e=iv(...t);$u[e.code]=e,vi[e.name]=e});function iv(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function be(t){if(typeof t=="number"){if($u[t]!=null)return $u[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(vi[t]!=null)return vi[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var BT=be("ip4"),LT=be("ip6"),PT=be("ipcidr");function zu(t,e){switch(be(t).code){case 4:case 41:return sv(e);case 42:return em(e);case 6:case 273:case 33:case 132:return rm(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return em(e);case 421:return lv(e);case 444:return tm(e);case 445:return tm(e);case 466:return uv(e);default:return Z(e,"base16")}}function Gu(t,e){switch(be(t).code){case 4:return jp(e);case 41:return jp(e);case 42:return Jp(e);case 6:case 273:case 33:case 132:return Yu(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Jp(e);case 421:return av(e);case 444:return fv(e);case 445:return hv(e);case 466:return cv(e);default:return G(e,"base16")}}var Hu=Object.values(Nr).map(t=>t.decoder),ov=function(){let t=Hu[0].or(Hu[1]);return Hu.slice(2).forEach(e=>t=t.or(e)),t}();function jp(t){if(!bi(t))throw new Error("invalid ip address");return Vu(t)}function sv(t){let e=Zp(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!bi(e))throw new Error("invalid ip address");return e}function Yu(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function rm(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Jp(t){let e=G(t),r=Uint8Array.from(Lt(e.length));return Ue([r,e],r.length+e.length)}function em(t){let e=Sr(t);if(t=t.slice(yt(e)),t.length!==e)throw new Error("inconsistent lengths");return Z(t)}function av(t){let e;t[0]==="Q"||t[0]==="1"?e=ln(Me.decode(`z${t}`)).bytes:e=kt.parse(t).multihash.bytes;let r=Uint8Array.from(Lt(e.length));return Ue([r,e],r.length+e.length)}function cv(t){let e=ov.decode(t),r=Uint8Array.from(Lt(e.length));return Ue([r,e],r.length+e.length)}function uv(t){let e=Sr(t),r=t.slice(yt(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+Z(r,"base64url")}function lv(t){let e=Sr(t),r=t.slice(yt(e));if(r.length!==e)throw new Error("inconsistent lengths");return Z(r,"base58btc")}function fv(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=xt.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=Yu(n);return Ue([r,i],r.length+i.length)}function hv(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=xt.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=Yu(n);return Ue([r,i],r.length+i.length)}function tm(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=Z(e,"base32"),i=rm(r);return`${n}:${i}`}function nm(t){t=Wu(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=be(s);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw om("invalid address: "+t);if(a.path===!0){n=Wu(i.slice(o).join("/")),e.push([a.code,Gu(a.code,n)]),r.push([a.code,n]);break}let c=Gu(a.code,i[o]);e.push([a.code,c]),r.push([a.code,zu(a.code,c)])}return{string:im(r),bytes:Xu(e),tuples:e,stringTuples:r,path:n}}function Qu(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let o=Sr(t,i),s=yt(o),a=be(o),c=dv(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 om("Invalid address Uint8Array: "+Z(t,"base16"));e.push([o,u]);let l=zu(o,u);if(r.push([o,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(t),string:im(r),tuples:e,stringTuples:r,path:n}}function im(t){let e=[];return t.map(r=>{let n=be(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),Wu(e.join("/"))}function Xu(t){return Ue(t.map(e=>{let r=be(e[0]),n=Uint8Array.from(Lt(r.code));return e.length>1&&e[1]!=null&&(n=Ue([n,e[1]])),n}))}function dv(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=Sr(e instanceof Uint8Array?e:Uint8Array.from(e));return r+yt(r)}}function Wu(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function om(t){return new Error("Error parsing address: "+t)}var pv=Symbol.for("nodejs.util.inspect.custom"),mv=[be("dns").code,be("dns4").code,be("dns6").code,be("dnsaddr").code],ju=new Map,sm=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Ln(t){return!!t?.[sm]}var Zu=class t{bytes;#e;#t;#r;#n;[sm]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=Qu(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=nm(e)}else if(Ln(e))r=Qu(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#t=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,o="",s=be("tcp"),a=be("udp"),c=be("ip4"),u=be("ip6"),l=be("dns6"),f=be("ip6zone");for(let[p,d]of this.stringTuples())p===f.code&&(o=`%${d??""}`),mv.includes(p)&&(r=s.name,i=443,n=`${d??""}${o}`,e=p===l.code?6:4),(p===s.code||p===a.code)&&(r=be(p).name,i=parseInt(d??"")),(p===c.code||p===u.code)&&(r=be(p).name,n=`${d??""}${o}`,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.#t.map(([e])=>Object.assign({},be(e)))}protoCodes(){return this.#t.map(([e])=>e)}protoNames(){return this.#t.map(([e])=>be(e).name)}tuples(){return this.#t}stringTuples(){return this.#r}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(Xu(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===vi.p2p.code&&e.push([n,i]),n===vi["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?Z(Me.decode(`z${n}`),"base58btc"):Z(kt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(e){return Le(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=ju.get(r.name);if(n==null)throw new b(`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)}[pv](){return`Multiaddr(${this.#e})`}};function ze(t){return new Zu(t)}var am="libp2p-peer-record",cm=Uint8Array.from([3,1]);var po;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=ot((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=>it(o,n.codec()),n.decode=o=>nt(o,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=ot((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=>it(n,t.codec()),t.decode=n=>nt(n,t.codec())})(po||(po={}));var Pn=class t{static createFromProtobuf=e=>{let r=po.decode(e),n=mi(r.peerId),i=(r.addresses??[]).map(s=>ze(s.multiaddr)),o=r.seq;return new t({peerId:n,multiaddrs:i,seqNumber:o})};static DOMAIN=am;static CODEC=cm;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=po.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||!Hp(this.multiaddrs,e.multiaddrs))}};function yv(t){return t[Symbol.asyncIterator]!=null}function gv(t){if(yv(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 mo=gv;var el=te(lm(),1);var go=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},tl=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},fm=t=>globalThis.DOMException===void 0?new tl(t):new DOMException(t),hm=t=>{let e=t.reason===void 0?fm("This operation was aborted."):t.reason;return e instanceof Error?e:fm(e)};function rl(t,e,r,n){let i,o=new Promise((s,a)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){s(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(hm(c)),c.addEventListener("abort",()=>{a(hm(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{s(r())}catch(l){a(l)}return}let c=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new go(c);typeof t.cancel=="function"&&t.cancel(),a(u)},e),(async()=>{try{s(await t)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function nl(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 Dn=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Ir,il=class{constructor(){Ir.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&Dn(this,Ir,"f")[this.size-1].priority>=r.priority){Dn(this,Ir,"f").push(n);return}let i=nl(Dn(this,Ir,"f"),n,(o,s)=>s.priority-o.priority);Dn(this,Ir,"f").splice(i,0,n)}dequeue(){let e=Dn(this,Ir,"f").shift();return e?.run}filter(e){return Dn(this,Ir,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return Dn(this,Ir,"f").length}};Ir=new WeakMap;var dm=il;var Pe=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},q=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Ke,Eo,wo,Gr,zs,bo,Ks,Ht,xo,_t,qs,At,vo,zr,Vs,pm,mm,xm,ym,gm,$s,ol,sl,Gs,Em,Hs,Ys=class extends Error{},al=class extends el.default{constructor(e){var r,n,i,o;if(super(),Ke.add(this),Eo.set(this,void 0),wo.set(this,void 0),Gr.set(this,0),zs.set(this,void 0),bo.set(this,void 0),Ks.set(this,0),Ht.set(this,void 0),xo.set(this,void 0),_t.set(this,void 0),qs.set(this,void 0),At.set(this,0),vo.set(this,void 0),zr.set(this,void 0),Vs.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:dm,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${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 \`${(o=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof e.interval})`);Pe(this,Eo,e.carryoverConcurrencyCount,"f"),Pe(this,wo,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),Pe(this,zs,e.intervalCap,"f"),Pe(this,bo,e.interval,"f"),Pe(this,_t,new e.queueClass,"f"),Pe(this,qs,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,Pe(this,Vs,e.throwOnTimeout===!0,"f"),Pe(this,zr,e.autoStart===!1,"f")}get concurrency(){return q(this,vo,"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})`);Pe(this,vo,e,"f"),q(this,Ke,"m",Gs).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:q(this,Vs,"f"),...r},new Promise((n,i)=>{q(this,_t,"f").enqueue(async()=>{var o,s,a;Pe(this,At,(s=q(this,At,"f"),s++,s),"f"),Pe(this,Gr,(a=q(this,Gr,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new Ys("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=rl(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,q(this,Ke,"m",Em).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof go&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{q(this,Ke,"m",xm).call(this)}},r),this.emit("add"),q(this,Ke,"m",$s).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return q(this,zr,"f")?(Pe(this,zr,!1,"f"),q(this,Ke,"m",Gs).call(this),this):this}pause(){Pe(this,zr,!0,"f")}clear(){Pe(this,_t,new(q(this,qs,"f")),"f")}async onEmpty(){q(this,_t,"f").size!==0&&await q(this,Ke,"m",Hs).call(this,"empty")}async onSizeLessThan(e){q(this,_t,"f").size<e||await q(this,Ke,"m",Hs).call(this,"next",()=>q(this,_t,"f").size<e)}async onIdle(){q(this,At,"f")===0&&q(this,_t,"f").size===0||await q(this,Ke,"m",Hs).call(this,"idle")}get size(){return q(this,_t,"f").size}sizeBy(e){return q(this,_t,"f").filter(e).length}get pending(){return q(this,At,"f")}get isPaused(){return q(this,zr,"f")}};Eo=new WeakMap,wo=new WeakMap,Gr=new WeakMap,zs=new WeakMap,bo=new WeakMap,Ks=new WeakMap,Ht=new WeakMap,xo=new WeakMap,_t=new WeakMap,qs=new WeakMap,At=new WeakMap,vo=new WeakMap,zr=new WeakMap,Vs=new WeakMap,Ke=new WeakSet,pm=function(){return q(this,wo,"f")||q(this,Gr,"f")<q(this,zs,"f")},mm=function(){return q(this,At,"f")<q(this,vo,"f")},xm=function(){var e;Pe(this,At,(e=q(this,At,"f"),e--,e),"f"),q(this,Ke,"m",$s).call(this),this.emit("next")},ym=function(){q(this,Ke,"m",sl).call(this),q(this,Ke,"m",ol).call(this),Pe(this,xo,void 0,"f")},gm=function(){let e=Date.now();if(q(this,Ht,"f")===void 0){let r=q(this,Ks,"f")-e;if(r<0)Pe(this,Gr,q(this,Eo,"f")?q(this,At,"f"):0,"f");else return q(this,xo,"f")===void 0&&Pe(this,xo,setTimeout(()=>{q(this,Ke,"m",ym).call(this)},r),"f"),!0}return!1},$s=function(){if(q(this,_t,"f").size===0)return q(this,Ht,"f")&&clearInterval(q(this,Ht,"f")),Pe(this,Ht,void 0,"f"),this.emit("empty"),q(this,At,"f")===0&&this.emit("idle"),!1;if(!q(this,zr,"f")){let e=!q(this,Ke,"a",gm);if(q(this,Ke,"a",pm)&&q(this,Ke,"a",mm)){let r=q(this,_t,"f").dequeue();return r?(this.emit("active"),r(),e&&q(this,Ke,"m",ol).call(this),!0):!1}}return!1},ol=function(){q(this,wo,"f")||q(this,Ht,"f")!==void 0||(Pe(this,Ht,setInterval(()=>{q(this,Ke,"m",sl).call(this)},q(this,bo,"f")),"f"),Pe(this,Ks,Date.now()+q(this,bo,"f"),"f"))},sl=function(){q(this,Gr,"f")===0&&q(this,At,"f")===0&&q(this,Ht,"f")&&(clearInterval(q(this,Ht,"f")),Pe(this,Ht,void 0,"f")),Pe(this,Gr,q(this,Eo,"f")?q(this,At,"f"):0,"f"),q(this,Ke,"m",Gs).call(this)},Gs=function(){for(;q(this,Ke,"m",$s).call(this););},Em=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new Ys("The task was aborted."))},{once:!0})})},Hs=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var Yr=al;var cl=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},ul=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},wm=t=>globalThis.DOMException===void 0?new ul(t):new DOMException(t),bm=t=>{let e=t.reason===void 0?wm("This operation was aborted."):t.reason;return e instanceof Error?e:wm(e)};function ll(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=e,s,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:h}=e;h.aborted&&l(bm(h)),h.addEventListener("abort",()=>{l(bm(h))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new cl;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(h){l(h)}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(h){l(h)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}var fl="lock:worker:request-read",hl="lock:worker:release-read",dl="lock:master:grant-read",pl="lock:worker:request-write",ml="lock:worker:release-write",yl="lock:master:grant-write";var Wr={},_i=t=>{t.addEventListener("message",e=>{_i.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{_i.dispatchEvent("message",t,e)})};_i.addEventListener=(t,e)=>{Wr[t]==null&&(Wr[t]=[]),Wr[t].push(e)};_i.removeEventListener=(t,e)=>{Wr[t]!=null&&(Wr[t]=Wr[t].filter(r=>r===e))};_i.dispatchEvent=function(t,e,r){Wr[t]!=null&&Wr[t].forEach(n=>n(e,r))};var gl=_i;var vm=(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=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&&(o.removeEventListener("message",u),c())};o.addEventListener("message",u)}))}}))},_m=(t,e,r,n)=>async()=>{let i=Ls();return globalThis.postMessage({type:e,identifier:i,name:t}),await 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)})},wv={singleProcess:!1},Am=t=>{if(t=Object.assign({},wv,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return gl.addEventListener("message",vm(r,"requestReadLock",fl,hl,dl)),gl.addEventListener("message",vm(r,"requestWriteLock",pl,ml,yl)),r}return{isWorker:!0,readLock:r=>_m(r,fl,dl,hl),writeLock:r=>_m(r,pl,yl,ml)}};var Nn={},Qr;async function xl(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>await ll((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var bv=(t,e)=>{if(Qr.isWorker===!0)return{readLock:Qr.readLock(t,e),writeLock:Qr.writeLock(t,e)};let r=new Yr({concurrency:1}),n;return{async readLock(){if(n!=null)return await xl(n,e);n=new Yr({concurrency:e.concurrency,autoStart:!1});let i=n,o=xl(n,e);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await o},async writeLock(){return n=null,await xl(r,e)}}},vv={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function El(t){let e=Object.assign({},vv,t);return Qr==null&&(Qr=Am(e),Qr.isWorker!==!0&&(Qr.addEventListener("requestReadLock",r=>{Nn[r.data.name]!=null&&Nn[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),Qr.addEventListener("requestWriteLock",async r=>{Nn[r.data.name]!=null&&Nn[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),Nn[e.name]==null&&(Nn[e.name]=bv(e.name,e)),Nn[e.name]}var st={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var Ai;(function(t){let e;(function(i){let o;i.codec=()=>(o==null&&(o=ot((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 l=s.uint32();switch(l>>>3){case 1:c.key=s.string();break;case 2:c.value=s.bytes();break;default:s.skipType(l&7);break}}return c})),o),i.encode=s=>it(s,i.codec()),i.decode=s=>nt(s,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let o;i.codec=()=>(o==null&&(o=ot((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),Qs.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 l=s.uint32();switch(l>>>3){case 1:c.key=s.string();break;case 2:c.value=Qs.codec().decode(s,s.uint32());break;default:s.skipType(l&7);break}}return c})),o),i.encode=s=>it(s,i.codec()),i.decode=s=>nt(s,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=ot((i,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),i.addresses!=null)for(let a of i.addresses)o.uint32(10),Ws.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(Ws.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=>it(i,t.codec()),t.decode=i=>nt(i,t.codec())})(Ai||(Ai={}));var Ws;(function(t){let e;t.codec=()=>(e==null&&(e=ot((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=>it(r,t.codec()),t.decode=r=>nt(r,t.codec())})(Ws||(Ws={}));var Qs;(function(t){let e;t.codec=()=>(e==null&&(e=ot((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=>it(r,t.codec()),t.decode=r=>nt(r,t.codec())})(Qs||(Qs={}));function Si(t,e){let r=Ai.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=gp({...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:ze(o),isCertified:s??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}var wl="/peers/";function Ii(t){if(!Bs(t)||t.type==null)throw new b("Invalid PeerId",st.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new ir(`${wl}${e}`)}async function Sm(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=ze(i.multiaddr)),!Ln(i.multiaddr))throw new b("Multiaddr was invalid",st.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 Zs(t,e,r,n){if(e==null)throw new b("Invalid PeerData",st.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!Le(e.publicKey,t.publicKey))throw new b("publicKey bytes do not match peer id publicKey bytes",st.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new b("peer id did not match existing peer id",st.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(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&o.push(...e.addresses)),e.protocols!=null&&(s=new Set(e.protocols)),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=Xs(f,{validate:Im})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=Xs(f,{validate:Rm,map:Cm})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&o.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&o.push(...e.addresses),e.protocols!=null&&(s=new Set([...s,...e.protocols])),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[h,p]of f)p==null?a.delete(h):a.set(h,p);a=Xs([...a.entries()],{validate:Im})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),h=new Map(c);for(let[p,d]of f)d==null?h.delete(p):h.set(p,d);c=Xs([...h.entries()],{validate:Rm,map:Cm})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await Sm(t,n.addressFilter??(async()=>!0),o),protocols:[...s.values()].sort((f,h)=>f.localeCompare(h)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete l.publicKey,l}function Xs(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 Im(t,e){if(typeof t!="string")throw new b("Metadata key must be a string",st.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new b("Metadata value must be a Uint8Array",st.ERR_INVALID_PARAMETERS)}function Rm(t,e){if(typeof t!="string")throw new b("Tag name must be a string",st.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new b("Tag value must be an integer",st.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new b("Tag value must be between 0-100",st.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new b("Tag ttl must be an integer",st.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new b("Tag ttl must be between greater than 0",st.ERR_INVALID_PARAMETERS)}}function Cm(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 js(t,e,r){let n=t.toString().split("/")[2],i=xt.decode(n),o=mi(i),s=r.get(o);if(s!=null)return s;let a=Si(o,e);return r.set(o,a),a}function _v(t,e){return t==null?{}:{prefix:wl,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(js(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(js(n.key,n.value,e),js(i.key,i.value,e)))}}var Js=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=El({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(Ii(e))}async delete(e){if(this.peerId.equals(e))throw new b("Cannot delete self peer",st.ERR_INVALID_PARAMETERS);await this.datastore.delete(Ii(e))}async load(e){let r=await this.datastore.get(Ii(e));return Si(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await Zs(e,r,"patch",{addressFilter:this.addressFilter});return this.#t(e,o,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await Zs(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,o,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await Zs(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,o,n,i)}async*all(e){let r=new $t;for await(let{key:n,value:i}of this.datastore.query(_v(e??{},r))){let o=js(n,i,r);o.id.equals(this.peerId)||(yield o)}}async#e(e){try{let r=await this.datastore.get(Ii(e)),n=Si(e,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}}async#t(e,r,n,i){let o=Ai.encode(r);return n!=null&&Le(o,n)?{peer:Si(e,o),previous:i,updated:!1}:(await this.datastore.put(Ii(e),o),{peer:Si(e,o),previous:i,updated:!0})}};var _e=ie("libp2p:peer-store"),ea=class{store;events;peerId;constructor(e,r={}){this.events=e.events,this.peerId=e.peerId,this.store=new Js(e,r)}async forEach(e,r){_e.trace("forEach await read lock");let n=await this.store.lock.readLock();_e.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{_e.trace("forEach release read lock"),n()}}async all(e){_e.trace("all await read lock");let r=await this.store.lock.readLock();_e.trace("all got read lock");try{return await mo(this.store.all(e))}finally{_e.trace("all release read lock"),r()}}async delete(e){_e.trace("delete await write lock");let r=await this.store.lock.writeLock();_e.trace("delete got write lock");try{await this.store.delete(e)}finally{_e.trace("delete release write lock"),r()}}async has(e){_e.trace("has await read lock");let r=await this.store.lock.readLock();_e.trace("has got read lock");try{return await this.store.has(e)}finally{_e.trace("has release read lock"),r()}}async get(e){_e.trace("get await read lock");let r=await this.store.lock.readLock();_e.trace("get got read lock");try{return await this.store.load(e)}finally{_e.trace("get release read lock"),r()}}async save(e,r){_e.trace("save await write lock");let n=await this.store.lock.writeLock();_e.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{_e.trace("save release write lock"),n()}}async patch(e,r){_e.trace("patch await write lock");let n=await this.store.lock.writeLock();_e.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{_e.trace("patch release write lock"),n()}}async merge(e,r){_e.trace("merge await write lock");let n=await this.store.lock.writeLock();_e.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{_e.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await Ei.openAndCertify(e,Pn.DOMAIN);if(r?.equals(n.peerId)===!1)return _e("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=Pn.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 Ei.createFromProtobuf(o.peerRecordEnvelope),a=Pn.createFromProtobuf(s.payload);if(a.seqNumber>=i.seqNumber)return _e("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 Av(t){return t[Symbol.asyncIterator]!=null}function Sv(t){if(Av(t))return(async()=>{for await(let e of t);})();for(let e of t);}var bl=Sv;function Iv(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 ta=Iv;function Rv(t){return t[Symbol.asyncIterator]!=null}function Cv(t,e){if(Rv(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=ta(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 zt=Cv;function Tv(t){return t[Symbol.asyncIterator]!=null}function Bv(t,e){return Tv(t)?async function*(){yield*(await mo(t)).sort(e)}():function*(){yield*mo(t).sort(e)}()}var vl=Bv;function Lv(t){return t[Symbol.asyncIterator]!=null}function Pv(t,e){return Lv(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 _l=Pv;var ra=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 bl(this.putMany(e,n)),e=[],await bl(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=zt(n,o=>o.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>zt(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>vl(i,o),n)),e.offset!=null){let i=0,o=e.offset;n=zt(n,()=>i++>=o)}return e.limit!=null&&(n=_l(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=zt(n,o=>o.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>zt(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>vl(i,o),n)),e.offset!=null){let i=e.offset,o=0;n=zt(n,()=>o++>=i)}return e.limit!=null&&(n=_l(n,e.limit)),n}};var Lm=te(Al(),1);function Pm(t){return t=t??new Error("Not Found"),(0,Lm.default)(t,"ERR_NOT_FOUND")}var na=class extends ra{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 Pm();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 ir(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new ir(e)}};function Dm(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var kv=ie("libp2p:address-manager"),Ov=t=>t;function Sl(t,e){let r=t.getPeerId();return r!=null&&de(r).equals(e)&&(t=t.decapsulate(ze(`/p2p/${e.toString()}`))),t}var ia=class{components;listen;announce;observed;announceFilter;constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.listen=n.map(o=>o.toString()),this.announce=new Set(i.map(o=>o.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??Ov,this._updatePeerStoreAddresses=Dm(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])=>ze(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=>{kv.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>ze(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>ze(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>ze(e))}addObservedAddr(e){e=Sl(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=Sl(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=Sl(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=>ze(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};function Nm(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var Il=class{components={};_started=!1;constructor(e={}){this.components={};for(let[r,n]of Object.entries(e))this.components[r]=n}isStarted(){return this._started}async _invokeStartableMethod(e){await Promise.all(Object.values(this.components).filter(r=>Nm(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")}},Mv=["metrics","connectionProtector"],Uv=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function km(t={}){let e=new Il(t);return new Proxy(e,{get(n,i,o){if(typeof i=="string"&&!Uv.includes(i)){let s=e.components[i];if(s==null&&!Mv.includes(i))throw new b(`${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 Vm=te(Om(),1);var Mm="[a-fA-F\\d:]",Xr=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${Mm})|(?<=${Mm})(?=\\s|$))`:"",Gt="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Ve="[a-fA-F\\d]{1,4}",oa=`
|
|
37
|
+
SELECT points, expire FROM ${this.tableName} 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.tableName} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};Qy.exports=af});var Zy=O(()=>{});var Jy=O((G6,jy)=>{jy.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 tg=O((W6,eg)=>{var W_=Jy(),cf=Ct();eg.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 i!==0?(this._storage[e].value=this._storage[e].value+r,new cf(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 W_(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 cf(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 cf(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 lf=O((Q6,ng)=>{var Q_=Po(),X_=tg(),rg=Ct(),uf=class extends Q_{constructor(e={}){super(e),this._memoryStorage=new X_}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 rg(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 rg(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)))}};ng.exports=uf});var lg=O((X6,ug)=>{var ig=Zy(),Z_=Wi(),j_=Po(),sg=lf(),J_=Ct(),kt="rate_limiter_flexible",Ui=null,og=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:kt,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},ag=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&ag.call(this,t)},30)},Oi=function(t,e,r,n,i){let o={channel:kt,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(o):ag.call(this,o)},cg=function(t,e){if(!e||e.channel!==kt||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=>{og(t,e,"resolve",n)}).catch(n=>{og(t,e,"reject",n)})},eA=function(t){if(!t||t.channel!==kt||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 J_(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]}},tA=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Mi=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=Z_.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},ff=class{constructor(){if(Ui)return Ui;this._rateLimiters={},ig.setMaxListeners(0),ig.on("message",(e,r)=>{r&&r.channel===kt&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new sg(r.opts)),e.send({channel:kt,type:"init",keyPrefix:r.opts.keyPrefix})):cg.call(this,e,r)}),Ui=this}},hf=class{constructor(e){if(Ui)return Ui;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let o=i.raw;if(o&&o.channel===kt&&o.type==="init")typeof this._rateLimiters[o.opts.keyPrefix]>"u"&&(this._rateLimiters[o.opts.keyPrefix]=new sg(o.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:kt,channel:kt,type:"init",keyPrefix:o.opts.keyPrefix},(s,a)=>{s&&console.log(s,a)});else{let s={send:a=>{let c=a;c.topic=kt,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};cg.call(this,s,o)}})}),Ui=this}},df=class extends j_{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===kt&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:eA.call(this,r)}),process.send({channel:kt,type:"init",opts:tA.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"consume",s,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"penalty",s,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"reward",s,e,r,n)})}block(e,r,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"block",s,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let o=Mi.call(this,n,i);Oi.call(this,"get",o,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let o=Mi.call(this,n,i);Oi.call(this,"delete",o,e,r)})}};ug.exports={RateLimiterClusterMaster:ff,RateLimiterClusterMasterPM2:hf,RateLimiterCluster:df}});var hg=O((Z6,fg)=>{var rA=ki(),nA=Ct(),pf=class extends rA{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new nA;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,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};s(f)})}):this.client.incr(e,r,(l,f)=>{l||f===!1?this.client.add(e,r,u,(h,p)=>{if(h||!p)if(typeof o.attemptNumber>"u"||o.attemptNumber<3){let d=Object.assign({},o);d.attemptNumber=d.attemptNumber?d.attemptNumber+1:1,this._upsert(e,r,n,i,d).then(m=>s(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 d={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(d)})}):this.client.get(`${e}_expire`,(h,p)=>{if(h)a(h);else{let d=p===!1?0:p,m={consumedPoints:f,msBeforeNext:d>=0?Math.max(d-c,0):-1};s(m)}})})})}_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,l={consumedPoints:s,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,o)=>{i?n(i):o===!1?r(o):this.client.del(`${e}_expire`,s=>{s?n(s):r(o)})})})}};fg.exports=pf});var mg=O((J6,pg)=>{var dg=Ct();pg.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 dg(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new dg(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 gg=O((tP,yg)=>{var iA=Po();yg.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 iA))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 Eg=O((nP,xg)=>{xg.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 _g=O((oP,vg)=>{var wg=Eg(),bg=4294967295,mf="limiter";vg.exports=class{constructor(e,r={maxQueueSize:bg}){this._queueLimiters={KEY_DEFAULT:new Aa(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=mf){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=mf){return this._queueLimiters[r]||(this._queueLimiters[r]=new Aa(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var Aa=class{constructor(e,r={maxQueueSize:bg,key:mf}){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 wg(`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 wg(`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 Sg=O((aP,Ag)=>{var yf=Ct();Ag.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return e?new yf(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 yf?this._burstLimiter.consume(e,r,n).then(o=>Promise.resolve(this._combineRes(i,o))).catch(o=>o instanceof yf?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 Rg=O((cP,Ig)=>{var oA=$y(),sA=Gy(),aA=Wy(),cA=Xy(),{RateLimiterClusterMaster:uA,RateLimiterClusterMasterPM2:lA,RateLimiterCluster:fA}=lg(),hA=lf(),dA=hg(),pA=mg(),mA=gg(),yA=_g(),gA=Sg(),xA=Ct();Ig.exports={RateLimiterRedis:oA,RateLimiterMongo:sA,RateLimiterMySQL:aA,RateLimiterPostgres:cA,RateLimiterMemory:hA,RateLimiterMemcache:dA,RateLimiterClusterMaster:uA,RateLimiterClusterMasterPM2:lA,RateLimiterCluster:fA,RLWrapperBlackAndWhite:pA,RateLimiterUnion:mA,RateLimiterQueue:yA,BurstyRateLimiter:gA,RateLimiterRes:xA}});var XA={};We(XA,{createLibp2p:()=>QA});var Gg=te(Xn(),1);var S8=te(Yi(),1),I8=te(gh(),1);var ti=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"},b=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Ns=te(ye(),1);function pn(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var Ac={};We(Ac,{base10:()=>$2});function U2(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),l=Math.log(256)/Math.log(a);function f(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var m=0,y=0,g=0,x=d.length;g!==x&&d[g]===0;)g++,m++;for(var w=(x-g)*l+1>>>0,C=new Uint8Array(w);g!==x;){for(var _=d[g],A=0,P=w-1;(_!==0||A<y)&&P!==-1;P--,A++)_+=256*C[P]>>>0,C[P]=_%a>>>0,_=_/a>>>0;if(_!==0)throw new Error("Non-zero carry");y=A,g++}for(var D=w-y;D!==w&&C[D]===0;)D++;for(var W=c.repeat(m);D<w;++D)W+=t.charAt(C[D]);return W}function h(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var m=0;if(d[m]!==" "){for(var y=0,g=0;d[m]===c;)y++,m++;for(var x=(d.length-m)*u+1>>>0,w=new Uint8Array(x);d[m];){var C=r[d.charCodeAt(m)];if(C===255)return;for(var _=0,A=x-1;(C!==0||_<g)&&A!==-1;A--,_++)C+=a*w[A]>>>0,w[A]=C%256>>>0,C=C/256>>>0;if(C!==0)throw new Error("Non-zero carry");g=_,m++}if(d[m]!==" "){for(var P=x-g;P!==x&&w[P]===0;)P++;for(var D=new Uint8Array(y+(x-P)),W=y;P!==x;)D[W++]=w[P++];return D}}}function p(d){var m=h(d);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:h,decode:p}}var F2=U2,K2=F2,xh=K2;var RS=new Uint8Array(0);var Eh=(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},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")};var wh=t=>new TextEncoder().encode(t),bh=t=>new TextDecoder().decode(t);var wc=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")}},bc=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 _h(this,e)}},vc=class{constructor(e){this.decoders=e}or(e){return _h(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`)}},_h=(t,e)=>new vc({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),_c=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new wc(e,r,n),this.decoder=new bc(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},ri=({name:t,prefix:e,encode:r,decode:n})=>new _c(t,e,r,n),Ur=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=xh(r,e);return ri({prefix:t,name:e,encode:n,decode:o=>gr(i(o))})},q2=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;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 l=0;l<o;++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,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},V2=(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},ke=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>ri({prefix:e,name:t,encode(i){return V2(i,n,r)},decode(i){return q2(i,n,r,t)}});var $2=Ur({prefix:"9",name:"base10",alphabet:"0123456789"});var Sc={};We(Sc,{base16:()=>H2,base16upper:()=>z2});var H2=ke({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),z2=ke({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Ic={};We(Ic,{base2:()=>G2});var G2=ke({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Rc={};We(Rc,{base256emoji:()=>Z2});var Ah=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}"),Y2=Ah.reduce((t,e,r)=>(t[r]=e,t),[]),W2=Ah.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function Q2(t){return t.reduce((e,r)=>(e+=Y2[r],e),"")}function X2(t){let e=[];for(let r of t){let n=W2[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var Z2=ri({prefix:"\u{1F680}",name:"base256emoji",encode:Q2,decode:X2});var Cc={};We(Cc,{base32:()=>bt,base32hex:()=>tE,base32hexpad:()=>nE,base32hexpadupper:()=>iE,base32hexupper:()=>rE,base32pad:()=>J2,base32padupper:()=>eE,base32upper:()=>j2,base32z:()=>oE});var bt=ke({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),j2=ke({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),J2=ke({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),eE=ke({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),tE=ke({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),rE=ke({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),nE=ke({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),iE=ke({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),oE=ke({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Tc={};We(Tc,{base36:()=>sE,base36upper:()=>aE});var sE=Ur({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),aE=Ur({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Bc={};We(Bc,{base58btc:()=>Le,base58flickr:()=>cE});var Le=Ur({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),cE=Ur({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Pc={};We(Pc,{base64:()=>mn,base64pad:()=>uE,base64url:()=>Lc,base64urlpad:()=>lE});var mn=ke({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),uE=ke({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Lc=ke({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),lE=ke({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Dc={};We(Dc,{base8:()=>fE});var fE=ke({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Nc={};We(Nc,{identity:()=>hE});var hE=ri({prefix:"\0",name:"identity",encode:t=>bh(t),decode:t=>wh(t)});var VS=new TextEncoder,$S=new TextDecoder;var Oc={};We(Oc,{identity:()=>Fr});var mE=Rh,Sh=128,yE=127,gE=~yE,xE=Math.pow(2,31);function Rh(t,e,r){e=e||[],r=r||0;for(var n=r;t>=xE;)e[r++]=t&255|Sh,t/=128;for(;t≧)e[r++]=t&255|Sh,t>>>=7;return e[r]=t|0,Rh.bytes=r-n+1,e}var EE=kc,wE=128,Ih=127;function kc(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw kc.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&Ih)<<i:(s&Ih)*Math.pow(2,i),i+=7}while(s>=wE);return kc.bytes=o-n,r}var bE=Math.pow(2,7),vE=Math.pow(2,14),_E=Math.pow(2,21),AE=Math.pow(2,28),SE=Math.pow(2,35),IE=Math.pow(2,42),RE=Math.pow(2,49),CE=Math.pow(2,56),TE=Math.pow(2,63),BE=function(t){return t<bE?1:t<vE?2:t<_E?3:t<AE?4:t<SE?5:t<IE?6:t<RE?7:t<CE?8:t<TE?9:10},LE={encode:mE,decode:EE,encodingLength:BE},PE=LE,Zi=PE;var ji=(t,e=0)=>[Zi.decode(t,e),Zi.decode.bytes],ni=(t,e,r=0)=>(Zi.encode(t,e,r),e),ii=t=>Zi.encodingLength(t);var nr=(t,e)=>{let r=e.byteLength,n=ii(t),i=n+ii(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)},yn=t=>{let e=gr(t),[r,n]=ji(e),[i,o]=ji(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new oi(r,i,s,e)},Ch=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Eh(t.bytes,r.bytes)}},oi=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Th=0,DE="identity",Bh=gr,NE=t=>nr(Th,Bh(t)),Fr={code:Th,name:DE,encode:Bh,digest:NE};var Fc={};We(Fc,{sha256:()=>ot,sha512:()=>kE});var Uc=({name:t,code:e,encode:r})=>new Mc(t,e,r),Mc=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?nr(this.code,r):r.then(n=>nr(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Ph=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),ot=Uc({name:"sha2-256",code:18,encode:Ph("SHA-256")}),kE=Uc({name:"sha2-512",code:19,encode:Ph("SHA-512")});var Dh=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return ME(r,Kc(t),e||Le.encoder);default:return UE(r,Kc(t),e||bt.encoder)}};var Nh=new WeakMap,Kc=t=>{let e=Nh.get(t);if(e==null){let r=new Map;return Nh.set(t,r),r}return e},Ut=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!==Ji)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==FE)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=nr(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&&Ch(e.multihash,n.multihash)}toString(e){return Dh(this,e)}toJSON(){return{"/":Dh(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||kh(n,i,o.bytes))}else if(r[KE]===!0){let{version:n,multihash:i,code:o}=r,s=yn(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!==Ji)throw new Error(`Version 0 CID must use dag-pb (code: ${Ji}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=kh(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Ji,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=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 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[f,h]=ji(e.subarray(r));return r+=h,f},i=n(),o=Ji;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,l=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=OE(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 Kc(o).set(n,e),o}},OE=(t,e)=>{switch(t[0]){case"Q":{let r=e||Le;return[Le.prefix,r.decode(`${Le.prefix}${t}`)]}case Le.prefix:{let r=e||Le;return[Le.prefix,r.decode(t)]}case bt.prefix:{let r=e||bt;return[bt.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)]}}},ME=(t,e,r)=>{let{prefix:n}=r;if(n!==Le.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},UE=(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},Ji=112,FE=18,kh=(t,e,r)=>{let n=ii(t),i=n+ii(e),o=new Uint8Array(i+r.byteLength);return ni(t,o,0),ni(e,o,n),o.set(r,i),o},KE=Symbol.for("@ipld/js-cid/CID");var Kr={...Nc,...Ic,...Dc,...Ac,...Sc,...Cc,...Tc,...Bc,...Pc,...Rc},oI={...Fc,...Oc};function xr(t=0){return globalThis.Buffer?.alloc!=null?pn(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function Ft(t=0){return globalThis.Buffer?.allocUnsafe!=null?pn(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Mh(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Oh=Mh("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),qc=Mh("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=Ft(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),qE={utf8:Oh,"utf-8":Oh,hex:Kr.base16,latin1:qc,ascii:qc,binary:qc,...Kr},ls=qE;function G(t,e="utf8"){let r=ls[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?pn(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var _u={};We(_u,{Ed25519PrivateKey:()=>An,Ed25519PublicKey:()=>oo,generateKeyPair:()=>ob,generateKeyPairFromSeed:()=>jd,unmarshalEd25519PrivateKey:()=>nb,unmarshalEd25519PublicKey:()=>ib});function Pe(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 Uh(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function Vc(t,...e){if(!(t instanceof Uint8Array))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 Fh(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Uh(t.outputLen),Uh(t.blockLen)}function si(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 Kh(t,e){Vc(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var fs=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var qh=t=>t instanceof Uint8Array;var hs=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Kt=(t,e)=>t<<32-e|t>>>e,VE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!VE)throw new Error("Non little-endian hardware is not supported");function $c(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function eo(t){if(typeof t=="string"&&(t=$c(t)),!qh(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function ds(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!qh(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}var ai=class{clone(){return this._cloneInto()}},EI={}.toString;function ps(t){let e=n=>t().update(eo(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function ci(t=32){if(fs&&typeof fs.getRandomValues=="function")return fs.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function $E(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 ui=class extends ai{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=hs(this.buffer)}update(e){si(this);let{view:r,buffer:n,blockLen:i}=this;e=eo(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=hs(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){si(this),Kh(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 f=s;f<i;f++)r[f]=0;$E(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=hs(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],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 ms=BigInt(4294967295),Hc=BigInt(32);function Vh(t,e=!1){return e?{h:Number(t&ms),l:Number(t>>Hc&ms)}:{h:Number(t>>Hc&ms)|0,l:Number(t&ms)|0}}function HE(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}=Vh(t[i],e);[r[i],n[i]]=[o,s]}return[r,n]}var zE=(t,e)=>BigInt(t>>>0)<<Hc|BigInt(e>>>0),GE=(t,e,r)=>t>>>r,YE=(t,e,r)=>t<<32-r|e>>>r,WE=(t,e,r)=>t>>>r|e<<32-r,QE=(t,e,r)=>t<<32-r|e>>>r,XE=(t,e,r)=>t<<64-r|e>>>r-32,ZE=(t,e,r)=>t>>>r-32|e<<64-r,jE=(t,e)=>e,JE=(t,e)=>t,ew=(t,e,r)=>t<<r|e>>>32-r,tw=(t,e,r)=>e<<r|t>>>32-r,rw=(t,e,r)=>e<<r-32|t>>>64-r,nw=(t,e,r)=>t<<r-32|e>>>64-r;function iw(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var ow=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),sw=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,aw=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),cw=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,uw=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),lw=(t,e,r,n,i,o)=>e+r+n+i+o+(t/2**32|0)|0;var fw={fromBig:Vh,split:HE,toBig:zE,shrSH:GE,shrSL:YE,rotrSH:WE,rotrSL:QE,rotrBH:XE,rotrBL:ZE,rotr32H:jE,rotr32L:JE,rotlSH:ew,rotlSL:tw,rotlBH:rw,rotlBL:nw,add:iw,add3L:ow,add3H:sw,add4L:aw,add4H:cw,add5H:lw,add5L:uw},J=fw;var[hw,dw]=(()=>J.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))))(),qr=new Uint32Array(80),Vr=new Uint32Array(80),zc=class extends ui{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:l,Fh:f,Fl:h,Gh:p,Gl:d,Hh:m,Hl:y}=this;return[e,r,n,i,o,s,a,c,u,l,f,h,p,d,m,y]}set(e,r,n,i,o,s,a,c,u,l,f,h,p,d,m,y){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=l|0,this.Fh=f|0,this.Fl=h|0,this.Gh=p|0,this.Gl=d|0,this.Hh=m|0,this.Hl=y|0}process(e,r){for(let w=0;w<16;w++,r+=4)qr[w]=e.getUint32(r),Vr[w]=e.getUint32(r+=4);for(let w=16;w<80;w++){let C=qr[w-15]|0,_=Vr[w-15]|0,A=J.rotrSH(C,_,1)^J.rotrSH(C,_,8)^J.shrSH(C,_,7),P=J.rotrSL(C,_,1)^J.rotrSL(C,_,8)^J.shrSL(C,_,7),D=qr[w-2]|0,W=Vr[w-2]|0,Q=J.rotrSH(D,W,19)^J.rotrBH(D,W,61)^J.shrSH(D,W,6),z=J.rotrSL(D,W,19)^J.rotrBL(D,W,61)^J.shrSL(D,W,6),ne=J.add4L(P,z,Vr[w-7],Vr[w-16]),ge=J.add4H(ne,A,Q,qr[w-7],qr[w-16]);qr[w]=ge|0,Vr[w]=ne|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:u,Dl:l,Eh:f,El:h,Fh:p,Fl:d,Gh:m,Gl:y,Hh:g,Hl:x}=this;for(let w=0;w<80;w++){let C=J.rotrSH(f,h,14)^J.rotrSH(f,h,18)^J.rotrBH(f,h,41),_=J.rotrSL(f,h,14)^J.rotrSL(f,h,18)^J.rotrBL(f,h,41),A=f&p^~f&m,P=h&d^~h&y,D=J.add5L(x,_,P,dw[w],Vr[w]),W=J.add5H(D,g,C,A,hw[w],qr[w]),Q=D|0,z=J.rotrSH(n,i,28)^J.rotrBH(n,i,34)^J.rotrBH(n,i,39),ne=J.rotrSL(n,i,28)^J.rotrBL(n,i,34)^J.rotrBL(n,i,39),ge=n&o^n&a^o&a,rt=i&s^i&c^s&c;g=m|0,x=y|0,m=p|0,y=d|0,p=f|0,d=h|0,{h:f,l:h}=J.add(u|0,l|0,W|0,Q|0),u=a|0,l=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let T=J.add3L(Q,ne,rt);n=J.add3H(T,W,z,ge),i=T|0}({h:n,l:i}=J.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=J.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=J.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l}=J.add(this.Dh|0,this.Dl|0,u|0,l|0),{h:f,l:h}=J.add(this.Eh|0,this.El|0,f|0,h|0),{h:p,l:d}=J.add(this.Fh|0,this.Fl|0,p|0,d|0),{h:m,l:y}=J.add(this.Gh|0,this.Gl|0,m|0,y|0),{h:g,l:x}=J.add(this.Hh|0,this.Hl|0,g|0,x|0),this.set(n,i,o,s,a,c,u,l,f,h,p,d,m,y,g,x)}roundClean(){qr.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 Gc=ps(()=>new zc);var xs={};We(xs,{bitGet:()=>ww,bitLen:()=>Ew,bitMask:()=>to,bitSet:()=>bw,bytesToHex:()=>Er,bytesToNumberBE:()=>wr,bytesToNumberLE:()=>$r,concatBytes:()=>br,createHmacDrbg:()=>Qc,ensureBytes:()=>Oe,equalBytes:()=>gw,hexToBytes:()=>xn,hexToNumber:()=>Wc,numberToBytesBE:()=>Hr,numberToBytesLE:()=>En,numberToHexUnpadded:()=>zh,numberToVarBytesBE:()=>yw,utf8ToBytes:()=>xw,validateObject:()=>ir});var Hh=BigInt(0),ys=BigInt(1),pw=BigInt(2),gs=t=>t instanceof Uint8Array,mw=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Er(t){if(!gs(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=mw[t[r]];return e}function zh(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Wc(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}function xn(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(e/2);for(let n=0;n<r.length;n++){let i=n*2,o=t.slice(i,i+2),s=Number.parseInt(o,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");r[n]=s}return r}function wr(t){return Wc(Er(t))}function $r(t){if(!gs(t))throw new Error("Uint8Array expected");return Wc(Er(Uint8Array.from(t).reverse()))}function Hr(t,e){return xn(t.toString(16).padStart(e*2,"0"))}function En(t,e){return Hr(t,e).reverse()}function yw(t){return xn(zh(t))}function Oe(t,e,r){let n;if(typeof e=="string")try{n=xn(e)}catch(o){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${o}`)}else if(gs(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 br(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!gs(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}function gw(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function xw(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Ew(t){let e;for(e=0;t>Hh;t>>=ys,e+=1);return e}function ww(t,e){return t>>BigInt(e)&ys}var bw=(t,e,r)=>t|(r?ys:Hh)<<BigInt(e),to=t=>(pw<<BigInt(t-1))-ys,Yc=t=>new Uint8Array(t),$h=t=>Uint8Array.from(t);function Qc(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=Yc(t),i=Yc(t),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...f)=>r(i,n,...f),c=(f=Yc())=>{i=a($h([0]),f),n=a(),f.length!==0&&(i=a($h([1]),f),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let f=0,h=[];for(;f<e;){n=a();let p=n.slice();h.push(p),f+=n.length}return br(...h)};return(f,h)=>{s(),c(f);let p;for(;!(p=h(u()));)c();return s(),p}}var vw={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"||t instanceof Uint8Array,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 ir(t,e,r={}){let n=(i,o,s)=>{let a=vw[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 Ge=BigInt(0),Re=BigInt(1),wn=BigInt(2),_w=BigInt(3),Xc=BigInt(4),Gh=BigInt(5),Yh=BigInt(8),Aw=BigInt(9),Sw=BigInt(16);function Ee(t,e){let r=t%e;return r>=Ge?r:e+r}function Iw(t,e,r){if(r<=Ge||e<Ge)throw new Error("Expected power/modulo > 0");if(r===Re)return Ge;let n=Re;for(;e>Ge;)e&Re&&(n=n*t%r),t=t*t%r,e>>=Re;return n}function Ce(t,e,r){let n=t;for(;e-- >Ge;)n*=n,n%=r;return n}function Es(t,e){if(t===Ge||e<=Ge)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=Ee(t,e),n=e,i=Ge,o=Re,s=Re,a=Ge;for(;r!==Ge;){let u=n/r,l=n%r,f=i-s*u,h=o-a*u;n=r,r=l,i=s,o=a,s=f,a=h}if(n!==Re)throw new Error("invert: does not exist");return Ee(i,e)}function Rw(t){let e=(t-Re)/wn,r,n,i;for(r=t-Re,n=0;r%wn===Ge;r/=wn,n++);for(i=wn;i<t&&Iw(i,e,t)!==t-Re;i++);if(n===1){let s=(t+Re)/Xc;return function(c,u){let l=c.pow(u,s);if(!c.eql(c.sqr(l),u))throw new Error("Cannot find square root");return l}}let o=(r+Re)/wn;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,o),h=a.pow(c,r);for(;!a.eql(h,a.ONE);){if(a.eql(h,a.ZERO))return a.ZERO;let p=1;for(let m=a.sqr(h);p<u&&!a.eql(m,a.ONE);p++)m=a.sqr(m);let d=a.pow(l,Re<<BigInt(u-p-1));l=a.sqr(d),f=a.mul(f,d),h=a.mul(h,l),u=p}return f}}function Cw(t){if(t%Xc===_w){let e=(t+Re)/Xc;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%Yh===Gh){let e=(t-Gh)/Yh;return function(n,i){let o=n.mul(i,wn),s=n.pow(o,e),a=n.mul(i,s),c=n.mul(n.mul(a,wn),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%Sw,Rw(t)}var Wh=(t,e)=>(Ee(t,e)&Re)===Re,Tw=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Zc(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=Tw.reduce((n,i)=>(n[i]="function",n),e);return ir(t,r)}function Bw(t,e,r){if(r<Ge)throw new Error("Expected power > 0");if(r===Ge)return t.ONE;if(r===Re)return e;let n=t.ONE,i=e;for(;r>Ge;)r&Re&&(n=t.mul(n,i)),i=t.sqr(i),r>>=Re;return n}function Lw(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 jc(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function ws(t,e,r=!1,n={}){if(t<=Ge)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:o}=jc(t,e);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=Cw(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:o,MASK:to(i),ZERO:Ge,ONE:Re,create:c=>Ee(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Ge<=c&&c<t},is0:c=>c===Ge,isOdd:c=>(c&Re)===Re,neg:c=>Ee(-c,t),eql:(c,u)=>c===u,sqr:c=>Ee(c*c,t),add:(c,u)=>Ee(c+u,t),sub:(c,u)=>Ee(c-u,t),mul:(c,u)=>Ee(c*u,t),pow:(c,u)=>Bw(a,c,u),div:(c,u)=>Ee(c*Es(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Es(c,t),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>Lw(a,c),cmov:(c,u,l)=>l?u:c,toBytes:c=>r?En(c,o):Hr(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?$r(c):wr(c)}});return Object.freeze(a)}function Qh(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 Xh(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 Jc(t){let e=Xh(t);return e+Math.ceil(e/2)}function Zh(t,e,r=!1){let n=t.length,i=Xh(e),o=Jc(e);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?wr(t):$r(t),a=Ee(s,e-Re)+Re;return r?En(a,i):Hr(a,i)}var Dw=BigInt(0),eu=BigInt(1);function bs(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>Dw;)o&eu&&(s=s.add(a)),a=a.double(),o>>=eu;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],u=i,l=u;for(let f=0;f<s;f++){l=u,c.push(l);for(let h=1;h<a;h++)l=l.add(u),c.push(l);u=l.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),u=t.ZERO,l=t.BASE,f=BigInt(2**i-1),h=2**i,p=BigInt(i);for(let d=0;d<a;d++){let m=d*c,y=Number(s&f);s>>=p,y>c&&(y-=h,s+=eu);let g=m,x=m+Math.abs(y)-1,w=d%2!==0,C=y<0;y===0?l=l.add(r(w,o[g])):u=u.add(r(C,o[x]))}return{p:u,f:l}},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 ro(t){return Zc(t.Fp),ir(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...jc(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var qt=BigInt(0),vt=BigInt(1),vs=BigInt(2),Nw=BigInt(8),kw={zip215:!0};function Ow(t){let e=ro(t);return ir(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function _s(t){let e=Ow(t),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=e,u=vs<<BigInt(a*8)-vt,l=r.create,f=e.uvRatio||((N,I)=>{try{return{isValid:!0,value:r.sqrt(N*r.inv(I))}}catch{return{isValid:!1,value:qt}}}),h=e.adjustScalarBytes||(N=>N),p=e.domain||((N,I,K)=>{if(I.length||K)throw new Error("Contexts/pre-hash are not supported");return N}),d=N=>typeof N=="bigint"&&qt<N,m=(N,I)=>d(N)&&d(I)&&N<I,y=N=>N===qt||m(N,u);function g(N,I){if(m(N,I))return N;throw new Error(`Expected valid scalar < ${I}, got ${typeof N} ${N}`)}function x(N){return N===qt?N:g(N,n)}let w=new Map;function C(N){if(!(N instanceof _))throw new Error("ExtendedPoint expected")}class _{constructor(I,K,V,Y){if(this.ex=I,this.ey=K,this.ez=V,this.et=Y,!y(I))throw new Error("x required");if(!y(K))throw new Error("y required");if(!y(V))throw new Error("z required");if(!y(Y))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(I){if(I instanceof _)throw new Error("extended point not allowed");let{x:K,y:V}=I||{};if(!y(K)||!y(V))throw new Error("invalid affine point");return new _(K,V,vt,l(K*V))}static normalizeZ(I){let K=r.invertBatch(I.map(V=>V.ez));return I.map((V,Y)=>V.toAffine(K[Y])).map(_.fromAffine)}_setWindowSize(I){this._WINDOW_SIZE=I,w.delete(this)}assertValidity(){let{a:I,d:K}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:V,ey:Y,ez:ee,et:oe}=this,me=l(V*V),se=l(Y*Y),fe=l(ee*ee),Ve=l(fe*fe),Ne=l(me*I),nt=l(fe*l(Ne+se)),it=l(Ve+l(K*l(me*se)));if(nt!==it)throw new Error("bad point: equation left != right (1)");let ze=l(V*Y),ft=l(ee*oe);if(ze!==ft)throw new Error("bad point: equation left != right (2)")}equals(I){C(I);let{ex:K,ey:V,ez:Y}=this,{ex:ee,ey:oe,ez:me}=I,se=l(K*me),fe=l(ee*Y),Ve=l(V*me),Ne=l(oe*Y);return se===fe&&Ve===Ne}is0(){return this.equals(_.ZERO)}negate(){return new _(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){let{a:I}=e,{ex:K,ey:V,ez:Y}=this,ee=l(K*K),oe=l(V*V),me=l(vs*l(Y*Y)),se=l(I*ee),fe=K+V,Ve=l(l(fe*fe)-ee-oe),Ne=se+oe,nt=Ne-me,it=se-oe,ze=l(Ve*nt),ft=l(Ne*it),dr=l(Ve*it),cn=l(nt*Ne);return new _(ze,ft,cn,dr)}add(I){C(I);let{a:K,d:V}=e,{ex:Y,ey:ee,ez:oe,et:me}=this,{ex:se,ey:fe,ez:Ve,et:Ne}=I;if(K===BigInt(-1)){let Ff=l((ee-Y)*(fe+se)),Kf=l((ee+Y)*(fe-se)),Xa=l(Kf-Ff);if(Xa===qt)return this.double();let qf=l(oe*vs*Ne),Vf=l(me*vs*Ve),$f=Vf+qf,Hf=Kf+Ff,zf=Vf-qf,jg=l($f*Xa),Jg=l(Hf*zf),e1=l($f*zf),t1=l(Xa*Hf);return new _(jg,Jg,t1,e1)}let nt=l(Y*se),it=l(ee*fe),ze=l(me*V*Ne),ft=l(oe*Ve),dr=l((Y+ee)*(se+fe)-nt-it),cn=ft-ze,$i=ft+ze,Uf=l(it-K*nt),Wg=l(dr*cn),Qg=l($i*Uf),Xg=l(dr*Uf),Zg=l(cn*$i);return new _(Wg,Qg,Zg,Xg)}subtract(I){return this.add(I.negate())}wNAF(I){return D.wNAFCached(this,w,I,_.normalizeZ)}multiply(I){let{p:K,f:V}=this.wNAF(g(I,n));return _.normalizeZ([K,V])[0]}multiplyUnsafe(I){let K=x(I);return K===qt?P:this.equals(P)||K===vt?this:this.equals(A)?this.wNAF(K).p:D.unsafeLadder(this,K)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return D.unsafeLadder(this,n).is0()}toAffine(I){let{ex:K,ey:V,ez:Y}=this,ee=this.is0();I==null&&(I=ee?Nw:r.inv(Y));let oe=l(K*I),me=l(V*I),se=l(Y*I);if(ee)return{x:qt,y:vt};if(se!==vt)throw new Error("invZ was invalid");return{x:oe,y:me}}clearCofactor(){let{h:I}=e;return I===vt?this:this.multiplyUnsafe(I)}static fromHex(I,K=!1){let{d:V,a:Y}=e,ee=r.BYTES;I=Oe("pointHex",I,ee);let oe=I.slice(),me=I[ee-1];oe[ee-1]=me&-129;let se=$r(oe);se===qt||(K?g(se,u):g(se,r.ORDER));let fe=l(se*se),Ve=l(fe-vt),Ne=l(V*fe-Y),{isValid:nt,value:it}=f(Ve,Ne);if(!nt)throw new Error("Point.fromHex: invalid y coordinate");let ze=(it&vt)===vt,ft=(me&128)!==0;if(!K&&it===qt&&ft)throw new Error("Point.fromHex: x=0 and x_0=1");return ft!==ze&&(it=l(-it)),_.fromAffine({x:it,y:se})}static fromPrivateKey(I){return z(I).point}toRawBytes(){let{x:I,y:K}=this.toAffine(),V=En(K,r.BYTES);return V[V.length-1]|=I&vt?128:0,V}toHex(){return Er(this.toRawBytes())}}_.BASE=new _(e.Gx,e.Gy,vt,l(e.Gx*e.Gy)),_.ZERO=new _(qt,vt,vt,qt);let{BASE:A,ZERO:P}=_,D=bs(_,a*8);function W(N){return Ee(N,n)}function Q(N){return W($r(N))}function z(N){let I=a;N=Oe("private key",N,I);let K=Oe("hashed private key",o(N),2*I),V=h(K.slice(0,I)),Y=K.slice(I,2*I),ee=Q(V),oe=A.multiply(ee),me=oe.toRawBytes();return{head:V,prefix:Y,scalar:ee,point:oe,pointBytes:me}}function ne(N){return z(N).pointBytes}function ge(N=new Uint8Array,...I){let K=br(...I);return Q(o(p(K,Oe("context",N),!!i)))}function rt(N,I,K={}){N=Oe("message",N),i&&(N=i(N));let{prefix:V,scalar:Y,pointBytes:ee}=z(I),oe=ge(K.context,V,N),me=A.multiply(oe).toRawBytes(),se=ge(K.context,me,ee,N),fe=W(oe+se*Y);x(fe);let Ve=br(me,En(fe,r.BYTES));return Oe("result",Ve,a*2)}let T=kw;function k(N,I,K,V=T){let{context:Y,zip215:ee}=V,oe=r.BYTES;N=Oe("signature",N,2*oe),I=Oe("message",I),i&&(I=i(I));let me=$r(N.slice(oe,2*oe)),se,fe,Ve;try{se=_.fromHex(K,ee),fe=_.fromHex(N.slice(0,oe),ee),Ve=A.multiplyUnsafe(me)}catch{return!1}if(!ee&&se.isSmallOrder())return!1;let Ne=ge(Y,fe.toRawBytes(),se.toRawBytes(),I);return fe.add(se.multiplyUnsafe(Ne)).subtract(Ve).clearCofactor().equals(_.ZERO)}return A._setWindowSize(8),{CURVE:e,getPublicKey:ne,sign:rt,verify:k,ExtendedPoint:_,utils:{getExtendedPublicKey:z,randomPrivateKey:()=>s(r.BYTES),precompute(N=8,I=_.BASE){return I._setWindowSize(N),I.multiply(BigInt(3)),I}}}}var ru=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),jh=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),qI=BigInt(0),Mw=BigInt(1),tu=BigInt(2),Uw=BigInt(5),Jh=BigInt(10),Fw=BigInt(20),Kw=BigInt(40),ed=BigInt(80);function qw(t){let e=ru,n=t*t%e*t%e,i=Ce(n,tu,e)*n%e,o=Ce(i,Mw,e)*t%e,s=Ce(o,Uw,e)*o%e,a=Ce(s,Jh,e)*s%e,c=Ce(a,Fw,e)*a%e,u=Ce(c,Kw,e)*c%e,l=Ce(u,ed,e)*u%e,f=Ce(l,ed,e)*u%e,h=Ce(f,Jh,e)*s%e;return{pow_p_5_8:Ce(h,tu,e)*t%e,b2:n}}function Vw(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function $w(t,e){let r=ru,n=Ee(e*e*e,r),i=Ee(n*n*e,r),o=qw(t*i).pow_p_5_8,s=Ee(t*n*o,r),a=Ee(e*s*s,r),c=s,u=Ee(s*jh,r),l=a===t,f=a===Ee(-t,r),h=a===Ee(-t*jh,r);return l&&(s=c),(f||h)&&(s=u),Wh(s,r)&&(s=Ee(-s,r)),{isValid:l||f,value:s}}var vr=ws(ru,void 0,!0),nu={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:vr,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Gc,randomBytes:ci,adjustScalarBytes:Vw,uvRatio:$w},li=_s(nu);function td(t,e,r){if(e.length>255)throw new Error("Context is too big");return ds($c("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var VI=_s({...nu,domain:td}),$I=_s({...nu,domain:td,prehash:Gc});var Hw=(vr.ORDER+BigInt(3))/BigInt(8),HI=vr.pow(tu,Hw),zI=vr.sqrt(vr.neg(vr.ONE)),GI=(vr.ORDER-BigInt(5))/BigInt(8),YI=BigInt(486662);var WI=Qh(vr,vr.neg(BigInt(486664)));var QI=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),XI=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),ZI=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),jI=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var JI=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var fi=32,_r=64,As=32;async function rd(){let t=li.utils.randomPrivateKey(),e=li.getPublicKey(t);return{privateKey:sd(t,e),publicKey:e}}async function nd(t){if(t.length!==As)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=li.getPublicKey(e);return{privateKey:sd(e,r),publicKey:r}}async function id(t,e){let r=t.subarray(0,As);return li.sign(e,r)}async function od(t,e,r){return li.verify(e,r,t)}function sd(t,e){let r=new Uint8Array(_r);for(let n=0;n<As;n++)r[n]=t[n],r[As+n]=e[n];return r}function Ue(t,e){e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=Ft(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return pn(r)}var xt={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-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var iu={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Ss(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=xt.get();r*=8;async function c(f,h){let p=a.getRandomValues(new Uint8Array(o)),d=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:d};typeof h=="string"&&(h=G(h));let y;if(h.length===0){y=await a.subtle.importKey("jwk",iu,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},w=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,w,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",iu,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},w=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,w,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,f);return Ue([p,m.iv,new Uint8Array(g)])}async function u(f,h){let p=f.subarray(0,o),d=f.subarray(o,o+n),m=f.subarray(o+n),y={name:e,iv:d};typeof h=="string"&&(h=G(h));let g;if(h.length===0)try{let w={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},C=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(w,C,{name:e,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",iu,{name:"AES-GCM"},!0,["decrypt"])}else{let w={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},C=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(w,C,{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 hi(t,e){let n=await Ss().encrypt(t,e);return mn.encode(n)}var gu=te(uu(),1),Wd=te(Kd(),1),Qd=te(vn(),1),xu=te(yu(),1),Xd=te(Yd(),1);function eb(){Qd.default._configure(),gu.default._configure(Wd.default),xu.default._configure(Xd.default)}eb();var Zd=["uint64","int64","sint64","fixed64","sfixed64"];function tb(t){for(let e of Zd){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function Eu(t){return tb(new gu.default(t))}function rb(t){for(let e of Zd){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function wu(){return rb(xu.default.create())}function st(t,e){let r=Eu(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function at(t,e){let r=wu();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var pi;(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"})(pi||(pi={}));function Bs(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function bu(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 Bs("enum",pi.VARINT,r,n)}function ct(t,e){return Bs("message",pi.LENGTH_DELIMITED,t,e)}var Te;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(Te||(Te={}));var vu;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(vu||(vu={}));(function(t){t.codec=()=>bu(vu)})(Te||(Te={}));var sr;(function(t){let e;t.codec=()=>(e==null&&(e=ct((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Te.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=Te.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>at(r,t.codec()),t.decode=r=>st(r,t.codec())})(sr||(sr={}));var ar;(function(t){let e;t.codec=()=>(e==null&&(e=ct((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Te.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=Te.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>at(r,t.codec()),t.decode=r=>st(r,t.codec())})(ar||(ar={}));var oo=class{_key;constructor(e){this._key=mi(e,fi)}async verify(e,r){return od(this._key,r,e)}marshal(){return this._key}get bytes(){return sr.encode({Type:Te.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Pe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await ot.digest(this.bytes);return e}},An=class{_key;_publicKey;constructor(e,r){this._key=mi(e,_r),this._publicKey=mi(r,fi)}async sign(e){return id(this._key,e)}get public(){return new oo(this._publicKey)}marshal(){return this._key}get bytes(){return ar.encode({Type:Te.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Pe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await ot.digest(this.bytes);return e}async id(){let e=Fr.digest(this.public.bytes);return Le.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return hi(this.bytes,e);throw new b(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function nb(t){if(t.length>_r){t=mi(t,_r+fi);let n=t.subarray(0,_r),i=t.subarray(_r,t.length);return new An(n,i)}t=mi(t,_r);let e=t.subarray(0,_r),r=t.subarray(fi);return new An(e,r)}function ib(t){return t=mi(t,fi),new oo(t)}async function ob(){let{privateKey:t,publicKey:e}=await rd();return new An(t,e)}async function jd(t){let{privateKey:e,publicKey:r}=await nd(t);return new An(e,r)}function mi(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new b(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}function Z(t,e="utf8"){let r=ls[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 WR=te(Me(),1),QR=te(os(),1),Jd=te(ye(),1);function zt(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=Ue([new Uint8Array(e-r.length),r])}return Z(r,"base64url")}function _t(t){let e=ep(t);return new Jd.default.jsbn.BigInteger(Z(e,"base16"),16)}function ep(t,e){let r=G(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ue([new Uint8Array(e-r.length),r])}return r}var sb={"P-256":256,"P-384":384,"P-521":521},ab=Object.keys(sb),s4=ab.join(" / ");async function tp(t,e){let r=mn.decode(t);return Ss().decrypt(r,e)}var Cu={};We(Cu,{MAX_KEY_SIZE:()=>uo,RsaPrivateKey:()=>yi,RsaPublicKey:()=>co,fromJwk:()=>gb,generateKeyPair:()=>xb,unmarshalRsaPrivateKey:()=>mb,unmarshalRsaPublicKey:()=>yb});var ao=te(ye(),1);var H4=te(ap(),1);function In(t){if(isNaN(t)||t<=0)throw new b("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return ci(t)}var I4=te(cs(),1),Iu=te(ye(),1);function cp(t,e){return e.map(r=>_t(t[r]))}function up(t){return Iu.default.pki.setRsaPrivateKey(...cp(t,["n","e","d","p","q","dp","dq","qi"]))}function lp(t){return Iu.default.pki.setRsaPublicKey(...cp(t,["n","e"]))}var Rn={};We(Rn,{jwkToPkcs1:()=>lb,jwkToPkix:()=>hb,pkcs1ToJwk:()=>ub,pkixToJwk:()=>fb});var T4=te(Yi(),1),B4=te(cs(),1);var Ar=te(ye(),1);function ub(t){let e=Ar.default.asn1.fromDer(Z(t,"ascii")),r=Ar.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:zt(r.n),e:zt(r.e),d:zt(r.d),p:zt(r.p),q:zt(r.q),dp:zt(r.dP),dq:zt(r.dQ),qi:zt(r.qInv),alg:"RS256"}}function lb(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 b("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Ar.default.pki.privateKeyToAsn1({n:_t(t.n),e:_t(t.e),d:_t(t.d),p:_t(t.p),q:_t(t.q),dP:_t(t.dp),dQ:_t(t.dq),qInv:_t(t.qi)});return G(Ar.default.asn1.toDer(e).getBytes(),"ascii")}function fb(t){let e=Ar.default.asn1.fromDer(Z(t,"ascii")),r=Ar.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:zt(r.n),e:zt(r.e)}}function hb(t){if(t.n==null||t.e==null)throw new b("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Ar.default.pki.publicKeyToAsn1({n:_t(t.n),e:_t(t.e)});return G(Ar.default.asn1.toDer(e).getBytes(),"ascii")}async function fp(t){let e=await xt.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 pp(e);return{privateKey:r[0],publicKey:r[1]}}async function Ru(t){let r=[await xt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await db(t)],n=await pp({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function hp(t,e){let r=await xt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await xt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function dp(t,e,r){let n=await xt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return xt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function pp(t){if(t.privateKey==null||t.publicKey==null)throw new b("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([xt.get().subtle.exportKey("jwk",t.privateKey),xt.get().subtle.exportKey("jwk",t.publicKey)])}async function db(t){return xt.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 mp(t,e,r,n){let i=e?lp(t):up(t),o=Z(Uint8Array.from(r),"ascii"),s=n(o,i);return G(s,"ascii")}function yp(t,e){return mp(t,!0,e,(r,n)=>n.encrypt(r))}function gp(t,e){return mp(t,!1,e,(r,n)=>n.decrypt(r))}function Ps(t){if(t.kty!=="RSA")throw new b("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new b("invalid key modulus","ERR_INVALID_KEY_MODULUS");return G(t.n,"base64url").length*8}var uo=8192,co=class{_key;constructor(e){this._key=e}async verify(e,r){return dp(this._key,r,e)}marshal(){return Rn.jwkToPkix(this._key)}get bytes(){return sr.encode({Type:Te.RSA,Data:this.marshal()}).subarray()}encrypt(e){return yp(this._key,e)}equals(e){return Pe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await ot.digest(this.bytes);return e}},yi=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return In(16)}async sign(e){return hp(this._key,e)}get public(){if(this._publicKey==null)throw new b("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new co(this._publicKey)}decrypt(e){return gp(this._key,e)}marshal(){return Rn.jwkToPkcs1(this._key)}get bytes(){return ar.encode({Type:Te.RSA,Data:this.marshal()}).subarray()}equals(e){return Pe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await ot.digest(this.bytes);return e}async id(){let e=await this.public.hash();return Z(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new ao.default.util.ByteBuffer(this.marshal()),i=ao.default.asn1.fromDer(n),o=ao.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return ao.default.pki.encryptRsaPrivateKey(o,e,s)}else{if(r==="libp2p-key")return hi(this.bytes,e);throw new b(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function mb(t){let e=Rn.pkcs1ToJwk(t);if(Ps(e)>uo)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await Ru(e);return new yi(r.privateKey,r.publicKey)}function yb(t){let e=Rn.pkixToJwk(t);if(Ps(e)>uo)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new co(e)}async function gb(t){if(Ps(t)>uo)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Ru(t);return new yi(e.privateKey,e.publicKey)}async function xb(t){if(t>uo)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await fp(t);return new yi(e.privateKey,e.publicKey)}var Nu={};We(Nu,{Secp256k1PrivateKey:()=>fo,Secp256k1PublicKey:()=>lo,generateKeyPair:()=>Db,unmarshalSecp256k1PrivateKey:()=>Lb,unmarshalSecp256k1PublicKey:()=>Pb});var Eb=(t,e,r)=>t&e^~t&r,wb=(t,e,r)=>t&e^t&r^e&r,bb=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]),Yr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Wr=new Uint32Array(64),Tu=class extends ui{constructor(){super(64,32,8,!1),this.A=Yr[0]|0,this.B=Yr[1]|0,this.C=Yr[2]|0,this.D=Yr[3]|0,this.E=Yr[4]|0,this.F=Yr[5]|0,this.G=Yr[6]|0,this.H=Yr[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 f=0;f<16;f++,r+=4)Wr[f]=e.getUint32(r,!1);for(let f=16;f<64;f++){let h=Wr[f-15],p=Wr[f-2],d=Kt(h,7)^Kt(h,18)^h>>>3,m=Kt(p,17)^Kt(p,19)^p>>>10;Wr[f]=m+Wr[f-7]+d+Wr[f-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:u,H:l}=this;for(let f=0;f<64;f++){let h=Kt(a,6)^Kt(a,11)^Kt(a,25),p=l+h+Eb(a,c,u)+bb[f]+Wr[f]|0,m=(Kt(n,2)^Kt(n,13)^Kt(n,22))+wb(n,i,o)|0;l=u,u=c,c=a,a=s+p|0,s=o,o=i,i=n,n=p+m|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,l=l+this.H|0,this.set(n,i,o,s,a,c,u,l)}roundClean(){Wr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var xp=ps(()=>new Tu);function vb(t){let e=ro(t);ir(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:_b,hexToBytes:Ab}=xs,Cn={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=Cn;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:_b(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=Cn,r=typeof t=="string"?Ab(t):t;if(!(r instanceof Uint8Array))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}=Cn._parseInt(r.subarray(2)),{d:s,l:a}=Cn._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 l=u.toString(16);return l.length&1?`0${l}`:l},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}`}},Sr=BigInt(0),Dt=BigInt(1),J4=BigInt(2),Ep=BigInt(3),e8=BigInt(4);function Sb(t){let e=vb(t),{Fp:r}=e,n=e.toBytes||((d,m,y)=>{let g=m.toAffine();return br(Uint8Array.from([4]),r.toBytes(g.x),r.toBytes(g.y))}),i=e.fromBytes||(d=>{let m=d.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 o(d){let{a:m,b:y}=e,g=r.sqr(d),x=r.mul(g,d);return r.add(r.add(x,r.mul(d,m)),y)}if(!r.eql(r.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function s(d){return typeof d=="bigint"&&Sr<d&&d<e.n}function a(d){if(!s(d))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(d){let{allowedPrivateKeyLengths:m,nByteLength:y,wrapPrivateKey:g,n:x}=e;if(m&&typeof d!="bigint"){if(d instanceof Uint8Array&&(d=Er(d)),typeof d!="string"||!m.includes(d.length))throw new Error("Invalid key");d=d.padStart(y*2,"0")}let w;try{w=typeof d=="bigint"?d:wr(Oe("private key",d,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof d}`)}return g&&(w=Ee(w,x)),a(w),w}let u=new Map;function l(d){if(!(d 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=w=>r.eql(w,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(Oe("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=o(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:w,py:C,pz:_}=m,A=r.eql(r.mul(y,_),r.mul(w,x)),P=r.eql(r.mul(g,_),r.mul(C,x));return A&&P}negate(){return new f(this.px,r.neg(this.py),this.pz)}double(){let{a:m,b:y}=e,g=r.mul(y,Ep),{px:x,py:w,pz:C}=this,_=r.ZERO,A=r.ZERO,P=r.ZERO,D=r.mul(x,x),W=r.mul(w,w),Q=r.mul(C,C),z=r.mul(x,w);return z=r.add(z,z),P=r.mul(x,C),P=r.add(P,P),_=r.mul(m,P),A=r.mul(g,Q),A=r.add(_,A),_=r.sub(W,A),A=r.add(W,A),A=r.mul(_,A),_=r.mul(z,_),P=r.mul(g,P),Q=r.mul(m,Q),z=r.sub(D,Q),z=r.mul(m,z),z=r.add(z,P),P=r.add(D,D),D=r.add(P,D),D=r.add(D,Q),D=r.mul(D,z),A=r.add(A,D),Q=r.mul(w,C),Q=r.add(Q,Q),D=r.mul(Q,z),_=r.sub(_,D),P=r.mul(Q,W),P=r.add(P,P),P=r.add(P,P),new f(_,A,P)}add(m){l(m);let{px:y,py:g,pz:x}=this,{px:w,py:C,pz:_}=m,A=r.ZERO,P=r.ZERO,D=r.ZERO,W=e.a,Q=r.mul(e.b,Ep),z=r.mul(y,w),ne=r.mul(g,C),ge=r.mul(x,_),rt=r.add(y,g),T=r.add(w,C);rt=r.mul(rt,T),T=r.add(z,ne),rt=r.sub(rt,T),T=r.add(y,x);let k=r.add(w,_);return T=r.mul(T,k),k=r.add(z,ge),T=r.sub(T,k),k=r.add(g,x),A=r.add(C,_),k=r.mul(k,A),A=r.add(ne,ge),k=r.sub(k,A),D=r.mul(W,T),A=r.mul(Q,ge),D=r.add(A,D),A=r.sub(ne,D),D=r.add(ne,D),P=r.mul(A,D),ne=r.add(z,z),ne=r.add(ne,z),ge=r.mul(W,ge),T=r.mul(Q,T),ne=r.add(ne,ge),ge=r.sub(z,ge),ge=r.mul(W,ge),T=r.add(T,ge),z=r.mul(ne,T),P=r.add(P,z),z=r.mul(k,T),A=r.mul(rt,A),A=r.sub(A,z),z=r.mul(rt,ne),D=r.mul(k,D),D=r.add(D,z),new f(A,P,D)}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,w)=>x.toAffine(g[w])).map(f.fromAffine)})}multiplyUnsafe(m){let y=f.ZERO;if(m===Sr)return y;if(a(m),m===Dt)return this;let{endo:g}=e;if(!g)return p.unsafeLadder(this,m);let{k1neg:x,k1:w,k2neg:C,k2:_}=g.splitScalar(m),A=y,P=y,D=this;for(;w>Sr||_>Sr;)w&Dt&&(A=A.add(D)),_&Dt&&(P=P.add(D)),D=D.double(),w>>=Dt,_>>=Dt;return x&&(A=A.negate()),C&&(P=P.negate()),P=new f(r.mul(P.px,g.beta),P.py,P.pz),A.add(P)}multiply(m){a(m);let y=m,g,x,{endo:w}=e;if(w){let{k1neg:C,k1:_,k2neg:A,k2:P}=w.splitScalar(y),{p:D,f:W}=this.wNAF(_),{p:Q,f:z}=this.wNAF(P);D=p.constTimeNegate(C,D),Q=p.constTimeNegate(A,Q),Q=new f(r.mul(Q.px,w.beta),Q.py,Q.pz),g=D.add(Q),x=W.add(z)}else{let{p:C,f:_}=this.wNAF(y);g=C,x=_}return f.normalizeZ([g,x])[0]}multiplyAndAddUnsafe(m,y,g){let x=f.BASE,w=(_,A)=>A===Sr||A===Dt||!_.equals(x)?_.multiplyUnsafe(A):_.multiply(A),C=w(this,y).add(w(m,g));return C.is0()?void 0:C}toAffine(m){let{px:y,py:g,pz:x}=this,w=this.is0();m==null&&(m=w?r.ONE:r.inv(x));let C=r.mul(y,m),_=r.mul(g,m),A=r.mul(x,m);if(w)return{x:r.ZERO,y:r.ZERO};if(!r.eql(A,r.ONE))throw new Error("invZ was invalid");return{x:C,y:_}}isTorsionFree(){let{h:m,isTorsionFree:y}=e;if(m===Dt)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===Dt?this:y?y(f,this):this.multiplyUnsafe(e.h)}toRawBytes(m=!0){return this.assertValidity(),n(f,this,m)}toHex(m=!0){return Er(this.toRawBytes(m))}}f.BASE=new f(e.Gx,e.Gy,r.ONE),f.ZERO=new f(r.ZERO,r.ONE,r.ZERO);let h=e.nBitLength,p=bs(f,e.endo?Math.ceil(h/2):h);return{CURVE:e,ProjectivePoint:f,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function Ib(t){let e=ro(t);return ir(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function wp(t){let e=Ib(t),{Fp:r,n}=e,i=r.BYTES+1,o=2*r.BYTES+1;function s(T){return Sr<T&&T<r.ORDER}function a(T){return Ee(T,n)}function c(T){return Es(T,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:l,weierstrassEquation:f,isWithinCurveOrder:h}=Sb({...e,toBytes(T,k,L){let N=k.toAffine(),I=r.toBytes(N.x),K=br;return L?K(Uint8Array.from([k.hasEvenY()?2:3]),I):K(Uint8Array.from([4]),I,r.toBytes(N.y))},fromBytes(T){let k=T.length,L=T[0],N=T.subarray(1);if(k===i&&(L===2||L===3)){let I=wr(N);if(!s(I))throw new Error("Point is not on curve");let K=f(I),V=r.sqrt(K),Y=(V&Dt)===Dt;return(L&1)===1!==Y&&(V=r.neg(V)),{x:I,y:V}}else if(k===o&&L===4){let I=r.fromBytes(N.subarray(0,r.BYTES)),K=r.fromBytes(N.subarray(r.BYTES,2*r.BYTES));return{x:I,y:K}}else throw new Error(`Point of length ${k} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),p=T=>Er(Hr(T,e.nByteLength));function d(T){let k=n>>Dt;return T>k}function m(T){return d(T)?a(-T):T}let y=(T,k,L)=>wr(T.slice(k,L));class g{constructor(k,L,N){this.r=k,this.s=L,this.recovery=N,this.assertValidity()}static fromCompact(k){let L=e.nByteLength;return k=Oe("compactSignature",k,L*2),new g(y(k,0,L),y(k,L,2*L))}static fromDER(k){let{r:L,s:N}=Cn.toSig(Oe("DER",k));return new g(L,N)}assertValidity(){if(!h(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!h(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:L,s:N,recovery:I}=this,K=P(Oe("msgHash",k));if(I==null||![0,1,2,3].includes(I))throw new Error("recovery id invalid");let V=I===2||I===3?L+e.n:L;if(V>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let Y=I&1?"03":"02",ee=u.fromHex(Y+p(V)),oe=c(V),me=a(-K*oe),se=a(N*oe),fe=u.BASE.multiplyAndAddUnsafe(ee,me,se);if(!fe)throw new Error("point at infinify");return fe.assertValidity(),fe}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return xn(this.toDERHex())}toDERHex(){return Cn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return xn(this.toCompactHex())}toCompactHex(){return p(this.r)+p(this.s)}}let x={isValidPrivateKey(T){try{return l(T),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let T=Jc(e.n);return Zh(e.randomBytes(T),e.n)},precompute(T=8,k=u.BASE){return k._setWindowSize(T),k.multiply(BigInt(3)),k}};function w(T,k=!0){return u.fromPrivateKey(T).toRawBytes(k)}function C(T){let k=T instanceof Uint8Array,L=typeof T=="string",N=(k||L)&&T.length;return k?N===i||N===o:L?N===2*i||N===2*o:T instanceof u}function _(T,k,L=!0){if(C(T))throw new Error("first arg must be private key");if(!C(k))throw new Error("second arg must be public key");return u.fromHex(k).multiply(l(T)).toRawBytes(L)}let A=e.bits2int||function(T){let k=wr(T),L=T.length*8-e.nBitLength;return L>0?k>>BigInt(L):k},P=e.bits2int_modN||function(T){return a(A(T))},D=to(e.nBitLength);function W(T){if(typeof T!="bigint")throw new Error("bigint expected");if(!(Sr<=T&&T<D))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Hr(T,e.nByteLength)}function Q(T,k,L=z){if(["recovered","canonical"].some(Ne=>Ne in L))throw new Error("sign() legacy options not supported");let{hash:N,randomBytes:I}=e,{lowS:K,prehash:V,extraEntropy:Y}=L;K==null&&(K=!0),T=Oe("msgHash",T),V&&(T=Oe("prehashed msgHash",N(T)));let ee=P(T),oe=l(k),me=[W(oe),W(ee)];if(Y!=null){let Ne=Y===!0?I(r.BYTES):Y;me.push(Oe("extraEntropy",Ne))}let se=br(...me),fe=ee;function Ve(Ne){let nt=A(Ne);if(!h(nt))return;let it=c(nt),ze=u.BASE.multiply(nt).toAffine(),ft=a(ze.x);if(ft===Sr)return;let dr=a(it*a(fe+ft*oe));if(dr===Sr)return;let cn=(ze.x===ft?0:2)|Number(ze.y&Dt),$i=dr;return K&&d(dr)&&($i=m(dr),cn^=1),new g(ft,$i,cn)}return{seed:se,k2sig:Ve}}let z={lowS:e.lowS,prehash:!1},ne={lowS:e.lowS,prehash:!1};function ge(T,k,L=z){let{seed:N,k2sig:I}=Q(T,k,L),K=e;return Qc(K.hash.outputLen,K.nByteLength,K.hmac)(N,I)}u.BASE._setWindowSize(8);function rt(T,k,L,N=ne){let I=T;if(k=Oe("msgHash",k),L=Oe("publicKey",L),"strict"in N)throw new Error("options.strict was renamed to lowS");let{lowS:K,prehash:V}=N,Y,ee;try{if(typeof I=="string"||I instanceof Uint8Array)try{Y=g.fromDER(I)}catch(ze){if(!(ze instanceof Cn.Err))throw ze;Y=g.fromCompact(I)}else if(typeof I=="object"&&typeof I.r=="bigint"&&typeof I.s=="bigint"){let{r:ze,s:ft}=I;Y=new g(ze,ft)}else throw new Error("PARSE");ee=u.fromHex(L)}catch(ze){if(ze.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(K&&Y.hasHighS())return!1;V&&(k=e.hash(k));let{r:oe,s:me}=Y,se=P(k),fe=c(me),Ve=a(se*fe),Ne=a(oe*fe),nt=u.BASE.multiplyAndAddUnsafe(ee,Ve,Ne)?.toAffine();return nt?a(nt.x)===oe:!1}return{CURVE:e,getPublicKey:w,getSharedSecret:_,sign:ge,verify:rt,ProjectivePoint:u,Signature:g,utils:x}}var Ds=class extends ai{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,Fh(e);let n=eo(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 si(this),this.iHash.update(e),this}digestInto(e){si(this),Vc(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()}},Bu=(t,e,r)=>new Ds(t,e).update(r).digest();Bu.create=(t,e)=>new Ds(t,e);function Rb(t){return{hash:t,hmac:(e,...r)=>Bu(t,e,ds(...r)),randomBytes:ci}}function bp(t,e){let r=n=>wp({...t,...Rb(n)});return Object.freeze({...r(e),create:r})}var Ap=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),vp=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Cb=BigInt(1),Lu=BigInt(2),_p=(t,e)=>(t+e/Lu)/e;function Tb(t){let e=Ap,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,l=u*u*t%e,f=Ce(l,r,e)*l%e,h=Ce(f,r,e)*l%e,p=Ce(h,Lu,e)*u%e,d=Ce(p,i,e)*p%e,m=Ce(d,o,e)*d%e,y=Ce(m,a,e)*m%e,g=Ce(y,c,e)*y%e,x=Ce(g,a,e)*m%e,w=Ce(x,r,e)*l%e,C=Ce(w,s,e)*d%e,_=Ce(C,n,e)*u%e,A=Ce(_,Lu,e);if(!Pu.eql(Pu.sqr(A),t))throw new Error("Cannot find square root");return A}var Pu=ws(Ap,void 0,void 0,{sqrt:Tb}),Ir=bp({a:BigInt(0),b:BigInt(7),Fp:Pu,n:vp,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=vp,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Cb*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=_p(o*t,e),c=_p(-n*t,e),u=Ee(t-a*r-c*i,e),l=Ee(-a*n-c*o,e),f=u>s,h=l>s;if(f&&(u=e-u),h&&(l=e-l),u>s||l>s)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:h,k2:l}}}},xp),h8=BigInt(0);var d8=Ir.ProjectivePoint;function Sp(){return Ir.utils.randomPrivateKey()}async function Ip(t,e){let{digest:r}=await ot.digest(e);try{return Ir.sign(r,t).toDERRawBytes()}catch(n){throw new b(String(n),"ERR_INVALID_INPUT")}}async function Rp(t,e,r){try{let{digest:n}=await ot.digest(r);return Ir.verify(e,n,t)}catch(n){throw new b(String(n),"ERR_INVALID_INPUT")}}function Cp(t){return Ir.ProjectivePoint.fromHex(t).toRawBytes(!0)}function Tp(t){try{Ir.getPublicKey(t,!0)}catch(e){throw new b(String(e),"ERR_INVALID_PRIVATE_KEY")}}function Du(t){try{Ir.ProjectivePoint.fromHex(t)}catch(e){throw new b(String(e),"ERR_INVALID_PUBLIC_KEY")}}function Bp(t){try{return Ir.getPublicKey(t,!0)}catch(e){throw new b(String(e),"ERR_INVALID_PRIVATE_KEY")}}var lo=class{_key;constructor(e){Du(e),this._key=e}async verify(e,r){return Rp(this._key,r,e)}marshal(){return Cp(this._key)}get bytes(){return sr.encode({Type:Te.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Pe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await ot.digest(this.bytes);return e}},fo=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??Bp(e),Tp(this._key),Du(this._publicKey)}async sign(e){return Ip(this._key,e)}get public(){return new lo(this._publicKey)}marshal(){return this._key}get bytes(){return ar.encode({Type:Te.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Pe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await ot.digest(this.bytes);return e}async id(){let e=await this.public.hash();return Z(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return hi(this.bytes,e);throw new b(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Lb(t){return new fo(t)}function Pb(t){return new lo(t)}async function Db(){let t=Sp();return new fo(t)}var Rr={rsa:Cu,ed25519:_u,secp256k1:Nu};function ku(t){let e=Object.keys(Rr).join(" / ");return new b(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Ou(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return Rr[t];throw ku(t)}async function ks(t,e){return Ou(t).generateKeyPair(e??2048)}function ho(t){let e=sr.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Te.RSA:return Rr.rsa.unmarshalRsaPublicKey(r);case Te.Ed25519:return Rr.ed25519.unmarshalEd25519PublicKey(r);case Te.Secp256k1:return Rr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw ku(e.Type??"RSA")}}function Lp(t,e){return e=(e??"rsa").toLowerCase(),Ou(e),t.bytes}async function gi(t){let e=ar.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Te.RSA:return Rr.rsa.unmarshalRsaPrivateKey(r);case Te.Ed25519:return Rr.ed25519.unmarshalEd25519PrivateKey(r);case Te.Secp256k1:return Rr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw ku(e.Type??"RSA")}}function Pp(t,e){return e=(e??"rsa").toLowerCase(),Ou(e),t.bytes}async function po(t,e){try{let i=await tp(t,e);return await gi(i)}catch{}let r=Ns.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new b("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=Ns.default.asn1.toDer(Ns.default.pki.privateKeyToAsn1(r));return n=G(n.getBytes(),"ascii"),Rr.rsa.unmarshalRsaPrivateKey(n)}var Mu=Symbol.for("@libp2p/content-routing");var mo=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 Fu(e,r))}},Uu=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},Fu=globalThis.CustomEvent??Uu;var Ku=Symbol.for("@libp2p/peer-discovery");var qu=Symbol.for("@libp2p/peer-routing");var U8=te(Zo(),1),kb=te(ye(),1);var Np=te(lc(),1),kp=te(Me(),1),Dp={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function yo(t,e,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(Dp).join(" / ");throw new b(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let o=Dp[i],s=(0,Np.default)(t,e,r,n,o);return kp.default.encode64(s,null)}var St=te($u(),1);St.default.formatters.b=t=>t==null?"undefined":Le.baseEncode(t);St.default.formatters.t=t=>t==null?"undefined":bt.baseEncode(t);St.default.formatters.m=t=>t==null?"undefined":mn.baseEncode(t);St.default.formatters.p=t=>t==null?"undefined":t.toString();St.default.formatters.c=t=>t==null?"undefined":t.toString();St.default.formatters.k=t=>t==null?"undefined":t.toString();St.default.formatters.a=t=>t==null?"undefined":t.toString();function Xb(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 ie(t){let e=Xb(`${t}:trace`);return St.default.enabled(`${t}:trace`)&&St.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,St.default)(`${t}:trace`)),Object.assign((0,St.default)(t),{error:(0,St.default)(`${t}:error`),trace:e})}var Hu=Symbol.for("@libp2p/peer-id");function Us(t){return t!=null&&!!t[Hu]}var Zb=Symbol.for("nodejs.util.inspect.custom"),Fp=Object.values(Kr).map(t=>t.decoder).reduce((t,e)=>t.or(e),Kr.identity.decoder),Kp=114,zu=36,Gu=37,go=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()})`}[Hu]=!0;toString(){return this.string==null&&(this.string=Le.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Ut.createV1(Kp,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return Pe(this.multihash.bytes,e);if(typeof e=="string")return de(e).equals(this);if(e?.multihash?.bytes!=null)return Pe(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[Zb](){return`PeerId(${this.toString()})`}},Bn=class extends go{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Ln=class extends go{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},Pn=class extends go{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function qp(t){if(t.type==="RSA")return new Bn(t);if(t.type==="Ed25519")return new Ln(t);if(t.type==="secp256k1")return new Pn(t);throw new b("Not a PeerId","ERR_INVALID_PARAMETERS")}function de(t,e){if(e=e??Fp,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=yn(Le.decode(`z${t}`));return t.startsWith("12D")?new Ln({multihash:r}):t.startsWith("16U")?new Pn({multihash:r}):new Bn({multihash:r})}return bi(Fp.decode(t))}function bi(t){try{let e=yn(t);if(e.code===Fr.code){if(e.digest.length===zu)return new Ln({multihash:e});if(e.digest.length===Gu)return new Pn({multihash:e})}if(e.code===ot.code)return new Bn({multihash:e})}catch{return jb(Ut.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function jb(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Kp)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===ot.code)return new Bn({multihash:t.multihash});if(e.code===Fr.code){if(e.digest.length===zu)return new Ln({multihash:t.multihash});if(e.digest.length===Gu)return new Pn({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function vi(t,e){return t.length===zu?new Ln({multihash:nr(Fr.code,t),privateKey:e}):t.length===Gu?new Pn({multihash:nr(Fr.code,t),privateKey:e}):new Bn({multihash:await ot.digest(t),publicKey:t,privateKey:e})}var Fs=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((e,r)=>(r&=63,r<36?e+=r.toString(36):r<62?e+=(r-26).toString(36).toUpperCase():r>62?e+="-":e+="_",e),"");var Cr="/",Vp=new TextEncoder().encode(Cr),Ks=Vp[0],cr=class t{_buf;constructor(e,r){if(typeof e=="string")this._buf=G(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]!==Ks)throw new Error("Invalid key")}toString(e="utf8"){return Z(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new t(e.join(Cr))}static random(){return new t(Fs().replace(/-/g,""))}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=Vp),this._buf[0]!==Ks){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Ks,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Ks;)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(Cr).slice(1)}type(){return Jb(this.baseNamespace())}name(){return ev(this.baseNamespace())}instance(e){return new t(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(Cr)||(e+=Cr),e+=this.type(),new t(e)}parent(){let e=this.list();return e.length===1?new t(Cr):new t(e.slice(0,-1).join(Cr))}child(e){return this.toString()===Cr?e:e.toString()===Cr?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(),...tv(e.map(r=>r.namespaces()))])}};function Jb(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function ev(t){let e=t.split(":");return e[e.length-1]}function tv(t){return[].concat(...t)}var Zp=te(Xp(),1),Qr=Zp.default;var am=te(sm(),1);var ce;(function(t){t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",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_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"})(ce||(ce={}));var $s=ie("libp2p:keychain"),Ev="/pkcs8/",cm="/info/",Dn=new WeakMap,Nn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Wu={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function Tr(t){return t==null||typeof t!="string"?!1:t===(0,am.default)(t.trim())&&t.length>0}async function we(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function ur(t){return new cr(Ev+t)}function Xr(t){return new cr(cm+t)}var kn=class{components;init;constructor(e,r){if(this.components=e,this.init=Qr(Wu,r),this.init.pass!=null&&this.init.pass?.length<20)throw new Error("pass must be least 20 characters");if(this.init.dek?.keyLength!=null&&this.init.dek.keyLength<Nn.minKeyLength)throw new Error(`dek.keyLength must be least ${Nn.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<Nn.minSaltLength)throw new Error(`dek.saltLength must be least ${Nn.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<Nn.minIterationCount)throw new Error(`dek.iterationCount must be least ${Nn.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?yo(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";Dn.set(this,{dek:n})}static generateOptions(){let e=Object.assign({},Wu),r=Math.ceil(Nn.minSaltLength/3)*3;return e.dek.salt=Z(In(r),"base64"),e}static get options(){return Wu}async createKey(e,r,n=2048){if(!Tr(e)||e==="self")throw await we(),new b("Invalid key name",ce.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await we(),new b("Invalid key type",ce.ERR_INVALID_KEY_TYPE);let i=ur(e);if(await this.components.datastore.has(i))throw await we(),new b("Key name already exists",ce.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await we(),new b("Invalid RSA key size",ce.ERR_INVALID_KEY_SIZE);break;default:break}let s;try{let a=await ks(r,n),c=await a.id(),u=Dn.get(this);if(u==null)throw new b("dek missing",ce.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);s={name:e,id:c};let h=this.components.datastore.batch();h.put(i,G(f)),h.put(Xr(e),G(JSON.stringify(s))),await h.commit()}catch(a){throw await we(),a}return s}async listKeys(){let e={prefix:cm},r=[];for await(let n of this.components.datastore.query(e))r.push(JSON.parse(Z(n.value)));return r}async findKeyById(e){try{let n=(await this.listKeys()).find(i=>i.id===e);if(n==null)throw new b(`Key with id '${e}' does not exist.`,ce.ERR_KEY_NOT_FOUND);return n}catch(r){throw await we(),r}}async findKeyByName(e){if(!Tr(e))throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);let r=Xr(e);try{let n=await this.components.datastore.get(r);return JSON.parse(Z(n))}catch(n){throw await we(),$s.error(n),new b(`Key '${e}' does not exist.`,ce.ERR_KEY_NOT_FOUND)}}async removeKey(e){if(!Tr(e)||e==="self")throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);let r=ur(e),n=await this.findKeyByName(e),i=this.components.datastore.batch();return i.delete(r),i.delete(Xr(e)),await i.commit(),n}async renameKey(e,r){if(!Tr(e)||e==="self")throw await we(),new b(`Invalid old key name '${e}'`,ce.ERR_OLD_KEY_NAME_INVALID);if(!Tr(r)||r==="self")throw await we(),new b(`Invalid new key name '${r}'`,ce.ERR_NEW_KEY_NAME_INVALID);let n=ur(e),i=ur(r),o=Xr(e),s=Xr(r);if(await this.components.datastore.has(i))throw await we(),new b(`Key '${r}' already exists`,ce.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(o),l=JSON.parse(Z(u));l.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(s,G(JSON.stringify(l))),f.delete(n),f.delete(o),await f.commit(),l}catch(c){throw await we(),c}}async exportKey(e,r){if(!Tr(e))throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);if(r==null)throw await we(),new b("Password is required",ce.ERR_PASSWORD_REQUIRED);let n=ur(e);try{let i=await this.components.datastore.get(n),o=Z(i),s=Dn.get(this);if(s==null)throw new b("dek missing",ce.ERR_INVALID_PARAMETERS);let a=s.dek;return await(await po(o,a)).export(r)}catch(i){throw await we(),i}}async exportPeerId(e){let r="temporary-password",n=await this.exportKey(e,r),i=await po(n,r);return vi(i.public.bytes,i.bytes)}async importKey(e,r,n){if(!Tr(e)||e==="self")throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);if(r==null)throw await we(),new b("PEM encoded key is required",ce.ERR_PEM_REQUIRED);let i=ur(e);if(await this.components.datastore.has(i))throw await we(),new b(`Key '${e}' already exists`,ce.ERR_KEY_ALREADY_EXISTS);let s;try{s=await po(r,n)}catch{throw await we(),new b("Cannot read the key, most likely the password is wrong",ce.ERR_CANNOT_READ_KEY)}let a;try{a=await s.id();let l=Dn.get(this);if(l==null)throw new b("dek missing",ce.ERR_INVALID_PARAMETERS);let f=l.dek;r=await s.export(f)}catch(l){throw await we(),l}let c={name:e,id:a},u=this.components.datastore.batch();return u.put(i,G(r)),u.put(Xr(e),G(JSON.stringify(c))),await u.commit(),c}async importPeer(e,r){try{if(!Tr(e))throw new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);if(r==null)throw new b("PeerId is required",ce.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new b("PeerId.privKey is required",ce.ERR_MISSING_PRIVATE_KEY);let n=await gi(r.privateKey),i=ur(e);if(await this.components.datastore.has(i))throw await we(),new b(`Key '${e}' already exists`,ce.ERR_KEY_ALREADY_EXISTS);let s=Dn.get(this);if(s==null)throw new b("dek missing",ce.ERR_INVALID_PARAMETERS);let a=s.dek,c=await n.export(a),u={name:e,id:r.toString()},l=this.components.datastore.batch();return l.put(i,G(c)),l.put(Xr(e),G(JSON.stringify(u))),await l.commit(),u}catch(n){throw await we(),n}}async getPrivateKey(e){if(!Tr(e))throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);try{let r=ur(e),n=await this.components.datastore.get(r);return Z(n)}catch(r){throw await we(),$s.error(r),new b(`Key '${e}' does not exist.`,ce.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(e,r){if(typeof e!="string")throw await we(),new b(`Invalid old pass type '${typeof e}'`,ce.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await we(),new b(`Invalid new pass type '${typeof r}'`,ce.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await we(),new b(`Invalid pass length ${r.length}`,ce.ERR_INVALID_PASS_LENGTH);$s("recreating keychain");let n=Dn.get(this);if(n==null)throw new b("dek missing",ce.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let o=r!=null&&this.init.dek?.salt!=null?yo(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";Dn.set(this,{dek:o});let s=await this.listKeys();for(let a of s){let c=await this.components.datastore.get(ur(a.name)),u=Z(c),l=await po(u,i),f=o.toString(),h=await l.export(f),p=this.components.datastore.batch(),d={name:a.name,id:a.id};p.put(ur(a.name),G(h)),p.put(Xr(a.name),G(JSON.stringify(d))),await p.commit()}$s("keychain reconstructed")}};function Br(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 Gt=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){this.map.delete(e.toString())}entries(){return Br(this.map.entries(),e=>[de(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,de(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 Br(this.map.keys(),e=>de(e))}values(){return this.map.values()}get size(){return this.map.size}};var On=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 Br(this.set.entries(),e=>{let r=de(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=de(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return Br(this.set.values(),e=>de(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 Qu=class t{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return Br(this.list.entries(),e=>de(e[1]))}concat(e){let r=new t(this);for(let n of e)r.push(n);return r}entries(){return Br(this.list.entries(),e=>[e[0],de(e[1])])}every(e){return this.list.every((r,n)=>e(de(r),n,this))}filter(e){let r=new t;return this.list.forEach((n,i)=>{let o=de(n);e(o,i,this)&&r.push(o)}),r}find(e){let r=this.list.find((n,i)=>e(de(n),i,this));if(r!=null)return de(r)}findIndex(e){return this.list.findIndex((r,n)=>e(de(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(de(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 de(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return de(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}get length(){return this.list.length}};var Xu;(function(t){let e;t.codec=()=>(e==null&&(e=ct((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=>at(r,t.codec()),t.decode=r=>st(r,t.codec())})(Xu||(Xu={}));var um=async()=>{let t=await ks("Ed25519"),e=await wv(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function wv(t){return vi(Lp(t.public),Pp(t))}var bv=Math.pow(2,7),vv=Math.pow(2,14),_v=Math.pow(2,21),Zu=Math.pow(2,28),ju=Math.pow(2,35),Ju=Math.pow(2,42),el=Math.pow(2,49),pe=128,ht=127;function Et(t){if(t<bv)return 1;if(t<vv)return 2;if(t<_v)return 3;if(t<Zu)return 4;if(t<ju)return 5;if(t<Ju)return 6;if(t<el)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Av(t,e,r=0){switch(Et(t)){case 8:e[r++]=t&255|pe,t/=128;case 7:e[r++]=t&255|pe,t/=128;case 6:e[r++]=t&255|pe,t/=128;case 5:e[r++]=t&255|pe,t/=128;case 4:e[r++]=t&255|pe,t>>>=7;case 3:e[r++]=t&255|pe,t>>>=7;case 2:e[r++]=t&255|pe,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Sv(t,e,r=0){switch(Et(t)){case 8:e.set(r++,t&255|pe),t/=128;case 7:e.set(r++,t&255|pe),t/=128;case 6:e.set(r++,t&255|pe),t/=128;case 5:e.set(r++,t&255|pe),t/=128;case 4:e.set(r++,t&255|pe),t>>>=7;case 3:e.set(r++,t&255|pe),t>>>=7;case 2:e.set(r++,t&255|pe),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function Iv(t,e){let r=t[e],n=0;if(n+=r&ht,r<pe||(r=t[e+1],n+=(r&ht)<<7,r<pe)||(r=t[e+2],n+=(r&ht)<<14,r<pe)||(r=t[e+3],n+=(r&ht)<<21,r<pe)||(r=t[e+4],n+=(r&ht)*Zu,r<pe)||(r=t[e+5],n+=(r&ht)*ju,r<pe)||(r=t[e+6],n+=(r&ht)*Ju,r<pe)||(r=t[e+7],n+=(r&ht)*el,r<pe))return n;throw new RangeError("Could not decode varint")}function Rv(t,e){let r=t.get(e),n=0;if(n+=r&ht,r<pe||(r=t.get(e+1),n+=(r&ht)<<7,r<pe)||(r=t.get(e+2),n+=(r&ht)<<14,r<pe)||(r=t.get(e+3),n+=(r&ht)<<21,r<pe)||(r=t.get(e+4),n+=(r&ht)*Zu,r<pe)||(r=t.get(e+5),n+=(r&ht)*ju,r<pe)||(r=t.get(e+6),n+=(r&ht)*Ju,r<pe)||(r=t.get(e+7),n+=(r&ht)*el,r<pe))return n;throw new RangeError("Could not decode varint")}function Nt(t,e,r=0){return e==null&&(e=Ft(Et(t))),e instanceof Uint8Array?Av(t,e,r):Sv(t,e,r)}function Lr(t,e=0){return t instanceof Uint8Array?Iv(t,e):Rv(t,e)}var fm=Symbol.for("@achingbrain/uint8arraylist");function lm(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 Hs(t){return!!t?.[fm]}var Je=class t{constructor(...e){Object.defineProperty(this,fm,{value:!0}),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(Hs(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(Hs(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=lm(this.bufs,e);return r.buf[r.index]}set(e,r){let n=lm(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(Hs(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 Ue(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Ue(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,l=r>a&&r<=c;if(u&&l){if(e===a&&r===c){n.push(s);break}let f=e-a;n.push(s.subarray(f,f+(r-e)));break}if(u){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(l){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(!Hs(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 f=0;f<o;f++)s[f]=-1;for(let f=0;f<i;f++)s[n[f]]=f;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=r;f<=c;f+=l){l=0;for(let h=u;h>=0;h--){let p=this.get(f+h);if(n[h]!==p){l=Math.max(1,h-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=Ft(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=xr(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=xr(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=xr(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=Ft(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=xr(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=xr(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=xr(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=xr(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=xr(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(!Pe(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}};var hm={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Eo;(function(t){let e;t.codec=()=>(e==null&&(e=ct((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=>at(r,t.codec()),t.decode=r=>st(r,t.codec())})(Eo||(Eo={}));var Si=class t{static createFromProtobuf=async e=>{let r=Eo.decode(e),n=await vi(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=dm(n,i,o),c=await(await gi(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 b("envelope signature is not valid for the given domain",hm.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=Eo.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return Pe(this.marshal(),e.marshal())}async validate(e){let r=dm(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return ho(this.peerId.publicKey).verify(r.subarray(),this.signature)}},dm=(t,e,r)=>{let n=G(t),i=Nt(n.byteLength),o=Nt(e.length),s=Nt(r.length);return new Je(i,n,o,e,s,r)};function pm(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 zs=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 l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let h=Number.parseInt(f,e);if(!Number.isNaN(h))return h});if(l===void 0)break;if(o*=e,o+=l,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 mm=45,Cv=15,Ii=new zs;function tl(t){if(!(t.length>Cv))return Ii.new(t).parseWith(()=>Ii.readIPv4Addr())}function rl(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>mm))return Ii.new(t).parseWith(()=>Ii.readIPv6Addr())}function Gs(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>mm))return Ii.new(t).parseWith(()=>Ii.readIPAddr())}var TT=parseInt("0xFFFF",16),BT=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Ys(t){return!!tl(t)}function Ws(t){return!!rl(t)}function Ri(t){return!!Gs(t)}var xm=Ys,Dv=Ws,nl=function(t){let e=0;if(t=t.toString().trim(),xm(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(Dv(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=xm(r[n]),s;o&&(s=nl(r[n]),r[n]=Z(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,Z(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")},Em=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 Ci={},il={},kv=[[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"]];kv.forEach(t=>{let e=Ov(...t);il[e.code]=e,Ci[e.name]=e});function Ov(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function be(t){if(typeof t=="number"){if(il[t]!=null)return il[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Ci[t]!=null)return Ci[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var d3=be("ip4"),p3=be("ip6"),m3=be("ipcidr");function sl(t,e){switch(be(t).code){case 4:case 41:return Uv(e);case 42:return vm(e);case 6:case 273:case 33:case 132:return Am(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return vm(e);case 421:return Vv(e);case 444:return _m(e);case 445:return _m(e);case 466:return qv(e);default:return Z(e,"base16")}}function al(t,e){switch(be(t).code){case 4:return wm(e);case 41:return wm(e);case 42:return bm(e);case 6:case 273:case 33:case 132:return cl(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return bm(e);case 421:return Fv(e);case 444:return $v(e);case 445:return Hv(e);case 466:return Kv(e);default:return G(e,"base16")}}var ol=Object.values(Kr).map(t=>t.decoder),Mv=function(){let t=ol[0].or(ol[1]);return ol.slice(2).forEach(e=>t=t.or(e)),t}();function wm(t){if(!Ri(t))throw new Error("invalid ip address");return nl(t)}function Uv(t){let e=Em(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!Ri(e))throw new Error("invalid ip address");return e}function cl(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Am(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function bm(t){let e=G(t),r=Uint8Array.from(Nt(e.length));return Ue([r,e],r.length+e.length)}function vm(t){let e=Lr(t);if(t=t.slice(Et(e)),t.length!==e)throw new Error("inconsistent lengths");return Z(t)}function Fv(t){let e;t[0]==="Q"||t[0]==="1"?e=yn(Le.decode(`z${t}`)).bytes:e=Ut.parse(t).multihash.bytes;let r=Uint8Array.from(Nt(e.length));return Ue([r,e],r.length+e.length)}function Kv(t){let e=Mv.decode(t),r=Uint8Array.from(Nt(e.length));return Ue([r,e],r.length+e.length)}function qv(t){let e=Lr(t),r=t.slice(Et(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+Z(r,"base64url")}function Vv(t){let e=Lr(t),r=t.slice(Et(e));if(r.length!==e)throw new Error("inconsistent lengths");return Z(r,"base58btc")}function $v(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=bt.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=cl(n);return Ue([r,i],r.length+i.length)}function Hv(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=bt.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=cl(n);return Ue([r,i],r.length+i.length)}function _m(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=Z(e,"base32"),i=Am(r);return`${n}:${i}`}function Sm(t){t=ul(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=be(s);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw Rm("invalid address: "+t);if(a.path===!0){n=ul(i.slice(o).join("/")),e.push([a.code,al(a.code,n)]),r.push([a.code,n]);break}let c=al(a.code,i[o]);e.push([a.code,c]),r.push([a.code,sl(a.code,c)])}return{string:Im(r),bytes:fl(e),tuples:e,stringTuples:r,path:n}}function ll(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let o=Lr(t,i),s=Et(o),a=be(o),c=zv(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 Rm("Invalid address Uint8Array: "+Z(t,"base16"));e.push([o,u]);let l=sl(o,u);if(r.push([o,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(t),string:Im(r),tuples:e,stringTuples:r,path:n}}function Im(t){let e=[];return t.map(r=>{let n=be(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),ul(e.join("/"))}function fl(t){return Ue(t.map(e=>{let r=be(e[0]),n=Uint8Array.from(Nt(r.code));return e.length>1&&e[1]!=null&&(n=Ue([n,e[1]])),n}))}function zv(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=Lr(e instanceof Uint8Array?e:Uint8Array.from(e));return r+Et(r)}}function ul(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Rm(t){return new Error("Error parsing address: "+t)}var Gv=Symbol.for("nodejs.util.inspect.custom"),Yv=[be("dns").code,be("dns4").code,be("dns6").code,be("dnsaddr").code],dl=new Map,Cm=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Mn(t){return!!t?.[Cm]}var hl=class t{bytes;#e;#t;#r;#n;[Cm]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=ll(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=Sm(e)}else if(Mn(e))r=ll(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#t=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,o="",s=be("tcp"),a=be("udp"),c=be("ip4"),u=be("ip6"),l=be("dns6"),f=be("ip6zone");for(let[p,d]of this.stringTuples())p===f.code&&(o=`%${d??""}`),Yv.includes(p)&&(r=s.name,i=443,n=`${d??""}${o}`,e=p===l.code?6:4),(p===s.code||p===a.code)&&(r=be(p).name,i=parseInt(d??"")),(p===c.code||p===u.code)&&(r=be(p).name,n=`${d??""}${o}`,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.#t.map(([e])=>Object.assign({},be(e)))}protoCodes(){return this.#t.map(([e])=>e)}protoNames(){return this.#t.map(([e])=>be(e).name)}tuples(){return this.#t}stringTuples(){return this.#r}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(fl(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===Ci.p2p.code&&e.push([n,i]),n===Ci["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?Z(Le.decode(`z${n}`),"base58btc"):Z(Ut.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(e){return Pe(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=dl.get(r.name);if(n==null)throw new b(`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)}[Gv](){return`Multiaddr(${this.#e})`}};function Ye(t){return new hl(t)}var Tm="libp2p-peer-record",Bm=Uint8Array.from([3,1]);var wo;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=ct((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=>at(o,n.codec()),n.decode=o=>st(o,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=ct((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=>at(n,t.codec()),t.decode=n=>st(n,t.codec())})(wo||(wo={}));var Un=class t{static createFromProtobuf=e=>{let r=wo.decode(e),n=bi(r.peerId),i=(r.addresses??[]).map(s=>Ye(s.multiaddr)),o=r.seq;return new t({peerId:n,multiaddrs:i,seqNumber:o})};static DOMAIN=Tm;static CODEC=Bm;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=wo.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||!pm(this.multiaddrs,e.multiaddrs))}};function Wv(t){return t[Symbol.asyncIterator]!=null}function Qv(t){if(Wv(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 bo=Qv;var ml=te(Pm(),1);var _o=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},yl=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},Dm=t=>globalThis.DOMException===void 0?new yl(t):new DOMException(t),Nm=t=>{let e=t.reason===void 0?Dm("This operation was aborted."):t.reason;return e instanceof Error?e:Dm(e)};function gl(t,e,r,n){let i,o=new Promise((s,a)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){s(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(Nm(c)),c.addEventListener("abort",()=>{a(Nm(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{s(r())}catch(l){a(l)}return}let c=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new _o(c);typeof t.cancel=="function"&&t.cancel(),a(u)},e),(async()=>{try{s(await t)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function xl(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 Fn=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Pr,El=class{constructor(){Pr.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&Fn(this,Pr,"f")[this.size-1].priority>=r.priority){Fn(this,Pr,"f").push(n);return}let i=xl(Fn(this,Pr,"f"),n,(o,s)=>s.priority-o.priority);Fn(this,Pr,"f").splice(i,0,n)}dequeue(){let e=Fn(this,Pr,"f").shift();return e?.run}filter(e){return Fn(this,Pr,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return Fn(this,Pr,"f").length}};Pr=new WeakMap;var km=El;var De=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},q=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Ke,So,Io,jr,ta,Ro,Xs,Yt,Ao,It,Zs,Rt,Co,Zr,js,Om,Mm,Km,Um,Fm,Js,wl,bl,ra,qm,ea,na=class extends Error{},vl=class extends ml.default{constructor(e){var r,n,i,o;if(super(),Ke.add(this),So.set(this,void 0),Io.set(this,void 0),jr.set(this,0),ta.set(this,void 0),Ro.set(this,void 0),Xs.set(this,0),Yt.set(this,void 0),Ao.set(this,void 0),It.set(this,void 0),Zs.set(this,void 0),Rt.set(this,0),Co.set(this,void 0),Zr.set(this,void 0),js.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:km,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${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 \`${(o=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof e.interval})`);De(this,So,e.carryoverConcurrencyCount,"f"),De(this,Io,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),De(this,ta,e.intervalCap,"f"),De(this,Ro,e.interval,"f"),De(this,It,new e.queueClass,"f"),De(this,Zs,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,De(this,js,e.throwOnTimeout===!0,"f"),De(this,Zr,e.autoStart===!1,"f")}get concurrency(){return q(this,Co,"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})`);De(this,Co,e,"f"),q(this,Ke,"m",ra).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:q(this,js,"f"),...r},new Promise((n,i)=>{q(this,It,"f").enqueue(async()=>{var o,s,a;De(this,Rt,(s=q(this,Rt,"f"),s++,s),"f"),De(this,jr,(a=q(this,jr,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new na("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=gl(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,q(this,Ke,"m",qm).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof _o&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{q(this,Ke,"m",Km).call(this)}},r),this.emit("add"),q(this,Ke,"m",Js).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return q(this,Zr,"f")?(De(this,Zr,!1,"f"),q(this,Ke,"m",ra).call(this),this):this}pause(){De(this,Zr,!0,"f")}clear(){De(this,It,new(q(this,Zs,"f")),"f")}async onEmpty(){q(this,It,"f").size!==0&&await q(this,Ke,"m",ea).call(this,"empty")}async onSizeLessThan(e){q(this,It,"f").size<e||await q(this,Ke,"m",ea).call(this,"next",()=>q(this,It,"f").size<e)}async onIdle(){q(this,Rt,"f")===0&&q(this,It,"f").size===0||await q(this,Ke,"m",ea).call(this,"idle")}get size(){return q(this,It,"f").size}sizeBy(e){return q(this,It,"f").filter(e).length}get pending(){return q(this,Rt,"f")}get isPaused(){return q(this,Zr,"f")}};So=new WeakMap,Io=new WeakMap,jr=new WeakMap,ta=new WeakMap,Ro=new WeakMap,Xs=new WeakMap,Yt=new WeakMap,Ao=new WeakMap,It=new WeakMap,Zs=new WeakMap,Rt=new WeakMap,Co=new WeakMap,Zr=new WeakMap,js=new WeakMap,Ke=new WeakSet,Om=function(){return q(this,Io,"f")||q(this,jr,"f")<q(this,ta,"f")},Mm=function(){return q(this,Rt,"f")<q(this,Co,"f")},Km=function(){var e;De(this,Rt,(e=q(this,Rt,"f"),e--,e),"f"),q(this,Ke,"m",Js).call(this),this.emit("next")},Um=function(){q(this,Ke,"m",bl).call(this),q(this,Ke,"m",wl).call(this),De(this,Ao,void 0,"f")},Fm=function(){let e=Date.now();if(q(this,Yt,"f")===void 0){let r=q(this,Xs,"f")-e;if(r<0)De(this,jr,q(this,So,"f")?q(this,Rt,"f"):0,"f");else return q(this,Ao,"f")===void 0&&De(this,Ao,setTimeout(()=>{q(this,Ke,"m",Um).call(this)},r),"f"),!0}return!1},Js=function(){if(q(this,It,"f").size===0)return q(this,Yt,"f")&&clearInterval(q(this,Yt,"f")),De(this,Yt,void 0,"f"),this.emit("empty"),q(this,Rt,"f")===0&&this.emit("idle"),!1;if(!q(this,Zr,"f")){let e=!q(this,Ke,"a",Fm);if(q(this,Ke,"a",Om)&&q(this,Ke,"a",Mm)){let r=q(this,It,"f").dequeue();return r?(this.emit("active"),r(),e&&q(this,Ke,"m",wl).call(this),!0):!1}}return!1},wl=function(){q(this,Io,"f")||q(this,Yt,"f")!==void 0||(De(this,Yt,setInterval(()=>{q(this,Ke,"m",bl).call(this)},q(this,Ro,"f")),"f"),De(this,Xs,Date.now()+q(this,Ro,"f"),"f"))},bl=function(){q(this,jr,"f")===0&&q(this,Rt,"f")===0&&q(this,Yt,"f")&&(clearInterval(q(this,Yt,"f")),De(this,Yt,void 0,"f")),De(this,jr,q(this,So,"f")?q(this,Rt,"f"):0,"f"),q(this,Ke,"m",ra).call(this)},ra=function(){for(;q(this,Ke,"m",Js).call(this););},qm=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new na("The task was aborted."))},{once:!0})})},ea=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var Jr=vl;var _l=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Al=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},Vm=t=>globalThis.DOMException===void 0?new Al(t):new DOMException(t),$m=t=>{let e=t.reason===void 0?Vm("This operation was aborted."):t.reason;return e instanceof Error?e:Vm(e)};function Sl(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=e,s,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:h}=e;h.aborted&&l($m(h)),h.addEventListener("abort",()=>{l($m(h))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new _l;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(h){l(h)}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(h){l(h)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}var Il="lock:worker:request-read",Rl="lock:worker:release-read",Cl="lock:master:grant-read",Tl="lock:worker:request-write",Bl="lock:worker:release-write",Ll="lock:master:grant-write";var en={},Ti=t=>{t.addEventListener("message",e=>{Ti.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{Ti.dispatchEvent("message",t,e)})};Ti.addEventListener=(t,e)=>{en[t]==null&&(en[t]=[]),en[t].push(e)};Ti.removeEventListener=(t,e)=>{en[t]!=null&&(en[t]=en[t].filter(r=>r===e))};Ti.dispatchEvent=function(t,e,r){en[t]!=null&&en[t].forEach(n=>n(e,r))};var Pl=Ti;var Hm=(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=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&&(o.removeEventListener("message",u),c())};o.addEventListener("message",u)}))}}))},zm=(t,e,r,n)=>async()=>{let i=Fs();return globalThis.postMessage({type:e,identifier:i,name:t}),await 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)})},jv={singleProcess:!1},Gm=t=>{if(t=Object.assign({},jv,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return Pl.addEventListener("message",Hm(r,"requestReadLock",Il,Rl,Cl)),Pl.addEventListener("message",Hm(r,"requestWriteLock",Tl,Bl,Ll)),r}return{isWorker:!0,readLock:r=>zm(r,Il,Cl,Rl),writeLock:r=>zm(r,Tl,Ll,Bl)}};var Kn={},tn;async function Dl(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>await Sl((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var Jv=(t,e)=>{if(tn.isWorker===!0)return{readLock:tn.readLock(t,e),writeLock:tn.writeLock(t,e)};let r=new Jr({concurrency:1}),n;return{async readLock(){if(n!=null)return await Dl(n,e);n=new Jr({concurrency:e.concurrency,autoStart:!1});let i=n,o=Dl(n,e);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await o},async writeLock(){return n=null,await Dl(r,e)}}},e_={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Nl(t){let e=Object.assign({},e_,t);return tn==null&&(tn=Gm(e),tn.isWorker!==!0&&(tn.addEventListener("requestReadLock",r=>{Kn[r.data.name]!=null&&Kn[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),tn.addEventListener("requestWriteLock",async r=>{Kn[r.data.name]!=null&&Kn[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),Kn[e.name]==null&&(Kn[e.name]=Jv(e.name,e)),Kn[e.name]}var ut={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var Bi;(function(t){let e;(function(i){let o;i.codec=()=>(o==null&&(o=ct((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 l=s.uint32();switch(l>>>3){case 1:c.key=s.string();break;case 2:c.value=s.bytes();break;default:s.skipType(l&7);break}}return c})),o),i.encode=s=>at(s,i.codec()),i.decode=s=>st(s,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let o;i.codec=()=>(o==null&&(o=ct((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),oa.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 l=s.uint32();switch(l>>>3){case 1:c.key=s.string();break;case 2:c.value=oa.codec().decode(s,s.uint32());break;default:s.skipType(l&7);break}}return c})),o),i.encode=s=>at(s,i.codec()),i.decode=s=>st(s,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=ct((i,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),i.addresses!=null)for(let a of i.addresses)o.uint32(10),ia.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(ia.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=>at(i,t.codec()),t.decode=i=>st(i,t.codec())})(Bi||(Bi={}));var ia;(function(t){let e;t.codec=()=>(e==null&&(e=ct((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=>at(r,t.codec()),t.decode=r=>st(r,t.codec())})(ia||(ia={}));var oa;(function(t){let e;t.codec=()=>(e==null&&(e=ct((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=>at(r,t.codec()),t.decode=r=>st(r,t.codec())})(oa||(oa={}));function Li(t,e){let r=Bi.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=qp({...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:Ye(o),isCertified:s??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}var kl="/peers/";function Pi(t){if(!Us(t)||t.type==null)throw new b("Invalid PeerId",ut.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new cr(`${kl}${e}`)}async function Ym(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=Ye(i.multiaddr)),!Mn(i.multiaddr))throw new b("Multiaddr was invalid",ut.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 aa(t,e,r,n){if(e==null)throw new b("Invalid PeerData",ut.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!Pe(e.publicKey,t.publicKey))throw new b("publicKey bytes do not match peer id publicKey bytes",ut.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new b("peer id did not match existing peer id",ut.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(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&o.push(...e.addresses)),e.protocols!=null&&(s=new Set(e.protocols)),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=sa(f,{validate:Wm})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=sa(f,{validate:Qm,map:Xm})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&o.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&o.push(...e.addresses),e.protocols!=null&&(s=new Set([...s,...e.protocols])),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[h,p]of f)p==null?a.delete(h):a.set(h,p);a=sa([...a.entries()],{validate:Wm})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),h=new Map(c);for(let[p,d]of f)d==null?h.delete(p):h.set(p,d);c=sa([...h.entries()],{validate:Qm,map:Xm})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await Ym(t,n.addressFilter??(async()=>!0),o),protocols:[...s.values()].sort((f,h)=>f.localeCompare(h)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete l.publicKey,l}function sa(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 Wm(t,e){if(typeof t!="string")throw new b("Metadata key must be a string",ut.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new b("Metadata value must be a Uint8Array",ut.ERR_INVALID_PARAMETERS)}function Qm(t,e){if(typeof t!="string")throw new b("Tag name must be a string",ut.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new b("Tag value must be an integer",ut.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new b("Tag value must be between 0-100",ut.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new b("Tag ttl must be an integer",ut.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new b("Tag ttl must be between greater than 0",ut.ERR_INVALID_PARAMETERS)}}function Xm(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 ca(t,e,r){let n=t.toString().split("/")[2],i=bt.decode(n),o=bi(i),s=r.get(o);if(s!=null)return s;let a=Li(o,e);return r.set(o,a),a}function t_(t,e){return t==null?{}:{prefix:kl,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(ca(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(ca(n.key,n.value,e),ca(i.key,i.value,e)))}}var ua=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=Nl({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(Pi(e))}async delete(e){if(this.peerId.equals(e))throw new b("Cannot delete self peer",ut.ERR_INVALID_PARAMETERS);await this.datastore.delete(Pi(e))}async load(e){let r=await this.datastore.get(Pi(e));return Li(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await aa(e,r,"patch",{addressFilter:this.addressFilter});return this.#t(e,o,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await aa(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,o,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await aa(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,o,n,i)}async*all(e){let r=new Gt;for await(let{key:n,value:i}of this.datastore.query(t_(e??{},r))){let o=ca(n,i,r);o.id.equals(this.peerId)||(yield o)}}async#e(e){try{let r=await this.datastore.get(Pi(e)),n=Li(e,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}}async#t(e,r,n,i){let o=Bi.encode(r);return n!=null&&Pe(o,n)?{peer:Li(e,o),previous:i,updated:!1}:(await this.datastore.put(Pi(e),o),{peer:Li(e,o),previous:i,updated:!0})}};var _e=ie("libp2p:peer-store"),la=class{store;events;peerId;constructor(e,r={}){this.events=e.events,this.peerId=e.peerId,this.store=new ua(e,r)}async forEach(e,r){_e.trace("forEach await read lock");let n=await this.store.lock.readLock();_e.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{_e.trace("forEach release read lock"),n()}}async all(e){_e.trace("all await read lock");let r=await this.store.lock.readLock();_e.trace("all got read lock");try{return await bo(this.store.all(e))}finally{_e.trace("all release read lock"),r()}}async delete(e){_e.trace("delete await write lock");let r=await this.store.lock.writeLock();_e.trace("delete got write lock");try{await this.store.delete(e)}finally{_e.trace("delete release write lock"),r()}}async has(e){_e.trace("has await read lock");let r=await this.store.lock.readLock();_e.trace("has got read lock");try{return await this.store.has(e)}finally{_e.trace("has release read lock"),r()}}async get(e){_e.trace("get await read lock");let r=await this.store.lock.readLock();_e.trace("get got read lock");try{return await this.store.load(e)}finally{_e.trace("get release read lock"),r()}}async save(e,r){_e.trace("save await write lock");let n=await this.store.lock.writeLock();_e.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{_e.trace("save release write lock"),n()}}async patch(e,r){_e.trace("patch await write lock");let n=await this.store.lock.writeLock();_e.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{_e.trace("patch release write lock"),n()}}async merge(e,r){_e.trace("merge await write lock");let n=await this.store.lock.writeLock();_e.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{_e.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await Si.openAndCertify(e,Un.DOMAIN);if(r?.equals(n.peerId)===!1)return _e("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=Un.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 Si.createFromProtobuf(o.peerRecordEnvelope),a=Un.createFromProtobuf(s.payload);if(a.seqNumber>=i.seqNumber)return _e("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 r_(t){return t[Symbol.asyncIterator]!=null}function n_(t){if(r_(t))return(async()=>{for await(let e of t);})();for(let e of t);}var Ol=n_;function i_(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 fa=i_;function o_(t){return t[Symbol.asyncIterator]!=null}function s_(t,e){if(o_(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=fa(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 Wt=s_;function a_(t){return t[Symbol.asyncIterator]!=null}function c_(t,e){return a_(t)?async function*(){yield*(await bo(t)).sort(e)}():function*(){yield*bo(t).sort(e)}()}var Ml=c_;function u_(t){return t[Symbol.asyncIterator]!=null}function l_(t,e){return u_(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 Ul=l_;var ha=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 Ol(this.putMany(e,n)),e=[],await Ol(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=Wt(n,o=>o.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>Wt(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>Ml(i,o),n)),e.offset!=null){let i=0,o=e.offset;n=Wt(n,()=>i++>=o)}return e.limit!=null&&(n=Ul(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=Wt(n,o=>o.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>Wt(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>Ml(i,o),n)),e.offset!=null){let i=e.offset,o=0;n=Wt(n,()=>o++>=i)}return e.limit!=null&&(n=Ul(n,e.limit)),n}};var Jm=te(Fl(),1);function ey(t){return t=t??new Error("Not Found"),(0,Jm.default)(t,"ERR_NOT_FOUND")}var da=class extends ha{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 ey();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 cr(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new cr(e)}};function ty(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var d_=ie("libp2p:address-manager"),p_=t=>t;function Kl(t,e){let r=t.getPeerId();return r!=null&&de(r).equals(e)&&(t=t.decapsulate(Ye(`/p2p/${e.toString()}`))),t}var pa=class{components;listen;announce;observed;announceFilter;constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.listen=n.map(o=>o.toString()),this.announce=new Set(i.map(o=>o.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??p_,this._updatePeerStoreAddresses=ty(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])=>Ye(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=>{d_.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>Ye(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>Ye(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>Ye(e))}addObservedAddr(e){e=Kl(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=Kl(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=Kl(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=>Ye(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};function ry(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var ql=class{components={};_started=!1;constructor(e={}){this.components={};for(let[r,n]of Object.entries(e))this.components[r]=n}isStarted(){return this._started}async _invokeStartableMethod(e){await Promise.all(Object.values(this.components).filter(r=>ry(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")}},m_=["metrics","connectionProtector"],y_=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function ny(t={}){let e=new ql(t);return new Proxy(e,{get(n,i,o){if(typeof i=="string"&&!y_.includes(i)){let s=e.components[i];if(s==null&&!m_.includes(i))throw new b(`${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 ly=te(iy(),1);var oy="[a-fA-F\\d:]",rn=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${oy})|(?<=${oy})(?=\\s|$))`:"",Qt="(?: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}",$e="[a-fA-F\\d]{1,4}",ma=`
|
|
38
38
|
(?:
|
|
39
|
-
(?:${
|
|
40
|
-
(?:${
|
|
41
|
-
(?:${
|
|
42
|
-
(?:${
|
|
43
|
-
(?:${
|
|
44
|
-
(?:${
|
|
45
|
-
(?:${
|
|
46
|
-
(?::(?:(?::${
|
|
39
|
+
(?:${$e}:){7}(?:${$e}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
40
|
+
(?:${$e}:){6}(?:${Qt}|:${$e}|:)| // 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
|
+
(?:${$e}:){5}(?::${Qt}|(?::${$e}){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
|
+
(?:${$e}:){4}(?:(?::${$e}){0,1}:${Qt}|(?::${$e}){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
|
+
(?:${$e}:){3}(?:(?::${$e}){0,2}:${Qt}|(?::${$e}){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
|
+
(?:${$e}:){2}(?:(?::${$e}){0,3}:${Qt}|(?::${$e}){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
|
+
(?:${$e}:){1}(?:(?::${$e}){0,4}:${Qt}|(?::${$e}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
46
|
+
(?::(?:(?::${$e}){0,5}:${Qt}|(?::${$e}){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(),Fv=new RegExp(`(?:^${Gt}$)|(?:^${oa}$)`),Kv=new RegExp(`^${Gt}$`),qv=new RegExp(`^${oa}$`),Rl=t=>t&&t.exact?Fv:new RegExp(`(?:${Xr(t)}${Gt}${Xr(t)})|(?:${Xr(t)}${oa}${Xr(t)})`,"g");Rl.v4=t=>t&&t.exact?Kv:new RegExp(`${Xr(t)}${Gt}${Xr(t)}`,"g");Rl.v6=t=>t&&t.exact?qv:new RegExp(`${Xr(t)}${oa}${Xr(t)}`,"g");var Um=Rl;var $m=te(Km(),1),{isValid:Vv,parse:$v}=$m.default,Hv=["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"],zv=Hv.map(t=>new Vm.Netmask(t));function Gv(t){for(let e of zv)if(e.contains(t))return!0;return!1}function qm(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 Hm=t=>{if(Vv(t)){let e=$v(t);if(e.kind()==="ipv4")return Gv(e.toNormalizedString());if(e.kind()==="ipv6")return qm(t)}else if(bi(t)&&Um.v6().test(t))return qm(t)};var aa=Hm;function zm(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!aa(`${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}}var jB=Symbol.for("@libp2p/transport");var Zr;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Zr||(Zr={}));function Cl(t){try{let{address:e}=t.nodeAddress();return!!aa(e)}catch{return!0}}function Ri(t,e){let r=Cl(t.multiaddr),n=Cl(e.multiaddr);return r&&!n?1:!r&&n||t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}var Bl=te(Cu(),1),Ll=te(Wm(),1);var Qm=globalThis.fetch,Xm=globalThis.Headers,oL=globalThis.Request,sL=globalThis.Response;function ca(t,e,r){return`${t}?name=${e}&type=${r}`}async function Zm(t,e){return await(await Qm(t,{headers:new Xm({accept:"application/dns-json"}),signal:e})).json()}function kn(t,e){return`${e}_${t}`}var Tl=Object.assign((0,Bl.default)("dns-over-http-resolver"),{error:(0,Bl.default)("dns-over-http-resolver:error")}),Pl=class{constructor(e={}){this._cache=new Ll.default({max:e?.maxCache??100}),this._TXTcache=new Ll.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??Zm,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 await this.resolve4(e);case"AAAA":return await this.resolve6(e);case"TXT":return await this.resolveTxt(e);default:throw new Error(`${r} is not supported`)}}async resolve4(e){let r="A",n=this._cache.get(kn(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(ca(o,e,r),s.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(kn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Tl.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(kn(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(ca(o,e,r),s.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(kn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Tl.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(kn(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(ca(o,e,r),s.signal),c=a.Answer.map(l=>[l.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(l=>l.TTL));return this._TXTcache.set(kn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Tl.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()}},jm=Pl;var Jm=jm;var{code:Zv}=be("dnsaddr");async function Ci(t,e={}){let r=new Jm;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===Zv)??[];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 sr;(function(t){t.NOT_STARTED_YET="The libp2p node is not started yet",t.DHT_DISABLED="DHT is not available",t.PUBSUB_DISABLED="PubSub is not available",t.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",t.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",t.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",t.NOT_FOUND="Not found"})(sr||(sr={}));var F;(function(t){t.DHT_DISABLED="ERR_DHT_DISABLED",t.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",t.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",t.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",t.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",t.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",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_TIMEOUT="ERR_TIMEOUT",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_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",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 jv={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:Ci},addressSorter:Ri},transportManager:{faultTolerance:Zr.FATAL_ALL}};function ey(t){let e=$r(jv,t);if(e.transports==null||e.transports.length<1)throw new b(sr.ERR_TRANSPORTS_REQUIRED,F.ERR_TRANSPORTS_REQUIRED);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new b(sr.ERR_PROTECTOR_REQUIRED,F.ERR_PROTECTOR_REQUIRED);return e}var ty="keep-alive";var Jy=te(Qy(),1);var N_=ie("libp2p:get-peer");function la(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:de(r),t.forEach(n=>{if(!Ln(n))throw N_.error("multiaddr %s was invalid",n),new b("Invalid Multiaddr",F.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new b("Multiaddrs must all have the same peer id or have no peer id",F.ERR_INVALID_PARAMETERS)}else{let o=de(i);if(e==null||!e.equals(o))throw new b("Multiaddrs must all have the same peer id or have no peer id",F.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function k_(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 Wl=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new b("missing peer id",F.ERR_INVALID_PARAMETERS);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=k_(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}},fa=class extends Yr{constructor(e={}){super({...e,queueClass:Wl})}hasJob(e){return this.sizeBy({peerId:e})>0}};var ha="last-dial-failure";var da=10,pa=5,ma=100,ya=10;var je=ie("libp2p:connection-manager:auto-dial"),On={minConnections:pa,maxQueueLength:100,autoDialConcurrency:ya,autoDialPriority:0,autoDialInterval:5e3,autoDialPeerRetryThreshold:6e4,autoDialDiscoveredPeersDebounce:10},ga=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialPeerRetryThresholdMs;autoDialDiscoveredPeersDebounce;autoDialInterval;started;running;constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??On.minConnections,this.autoDialPriority=r.autoDialPriority??On.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??On.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??On.maxQueueLength,this.autoDialPeerRetryThresholdMs=r.autoDialPeerRetryThreshold??On.autoDialPeerRetryThreshold,this.autoDialDiscoveredPeersDebounce=r.autoDialDiscoveredPeersDebounce??On.autoDialDiscoveredPeersDebounce,this.started=!1,this.running=!1,this.queue=new fa({concurrency:r.autoDialConcurrency??On.autoDialConcurrency}),this.queue.addListener("error",i=>{je.error("error during auto-dial",i)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(i=>{je.error(i)})});let n;e.events.addEventListener("peer:discovery",()=>{clearTimeout(n),n=setTimeout(()=>{this.autoDial().catch(i=>{je.error(i)})},this.autoDialDiscoveredPeersDebounce)})}isStarted(){return this.started}start(){this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(e=>{je.error("error while autodialing",e)})},this.autoDialIntervalMs),this.started=!0}afterStart(){this.autoDial().catch(e=>{je.error("error while autodialing",e)})}stop(){this.queue.clear(),clearTimeout(this.autoDialInterval),this.started=!1,this.running=!1}async autoDial(){if(!this.started)return;let e=this.connectionManager.getConnectionsMap(),r=e.size;if(r>=this.minConnections){this.minConnections>0&&je.trace("have enough connections %d/%d",r,this.minConnections);return}if(this.queue.size>this.autoDialMaxQueueLength){je("not enough connections %d/%d but auto dial queue is full",r,this.minConnections);return}if(this.running){je("not enough connections %d/%d - but skipping autodial as it is already running",r,this.minConnections);return}this.running=!0,je("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=new Bn(this.connectionManager.getDialQueue().map(u=>u.peerId).filter(Boolean)),i=await this.peerStore.all({filters:[u=>u.addresses.length===0?(je.trace("not autodialing %p because they have no addresses"),!1):e.has(u.id)?(je.trace("not autodialing %p because they are already connected"),!1):n.has(u.id)?(je.trace("not autodialing %p because they are already being dialed"),!1):this.queue.hasJob(u.id)?(je.trace("not autodialing %p because they are already being autodialed"),!1):!0]}),o=i.sort(()=>Math.random()>.5?1:-1),s=new $t;for(let u of o)s.has(u.id)||s.set(u.id,[...u.tags.values()].reduce((l,f)=>l+f.value,0));let c=o.sort((u,l)=>{let f=s.get(u.id)??0,h=s.get(l.id)??0;return f>h?-1:f<h?1:0}).filter(u=>{let l=u.metadata.get(ha);if(l==null)return!0;let f=parseInt(Z(l));return isNaN(f)?!0:Date.now()-f>this.autoDialPeerRetryThresholdMs});je("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){je("got enough connections now %d/%d",l,this.minConnections),this.queue.clear();return}je("connecting to a peerStore stored peer %p",u.id),await this.connectionManager.openConnection(u.id,{priority:this.autoDialPriority})},{peerId:u.id}).catch(l=>{je.error("could not connect to peerStore stored peer",l)});this.running=!1,this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(u=>{je.error("error while autodialing",u)})},this.autoDialIntervalMs))}};var Di=ie("libp2p:connection-manager:connection-pruner"),Xy={maxConnections:ma,allow:[]},xa=class{maxConnections;connectionManager;peerStore;allow;events;constructor(e,r={}){this.maxConnections=r.maxConnections??Xy.maxConnections,this.allow=r.allow??Xy.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{Di.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(Di("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;Di("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new $t;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"&&Di.error("error loading peer tags",u)}}}let o=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,h=c.timeline.open;return f<h?1:f>h?-1:0}),s=[];for(let a of o)if(Di("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){Di.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:s})}};var Jl=te(Hn(),1);function Ea(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 Jr(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var Zl=te(Hn(),1);var Zy=ie("libp2p:connection-manager:utils");async function jl(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await F_(t,e),s=(await Promise.all(n.map(async a=>jl(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return Zy("resolved %s to",t,s.map(a=>a.toString())),s}async function F_(t,e){try{return t=ze(t.toString()),await t.resolve(e)}catch(r){return Zy.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function jy(...t){let e=[];for(let n of t)if(n!=null){try{(0,Zl.setMaxListeners)?.(1/0,n)}catch{}e.push(n)}let r=Ea(e);try{(0,Zl.setMaxListeners)?.(1/0,r)}catch{}return r}var at=ie("libp2p:connection-manager:dial-queue"),So={addressSorter:Ri,maxParallelDials:da,maxPeerAddrsToDial:25,maxParallelDialsPerPeer:10,dialTimeout:3e4,resolvers:{dnsaddr:Ci}},wa=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;maxParallelDialsPerPeer;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;constructor(e,r={}){this.addressSorter=r.addressSorter??So.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??So.maxPeerAddrsToDial,this.maxParallelDialsPerPeer=r.maxParallelDialsPerPeer??So.maxParallelDialsPerPeer,this.dialTimeout=r.dialTimeout??So.dialTimeout,this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController;try{(0,Jl.setMaxListeners)?.(1/0,this.shutDownController.signal)}catch{}this.pendingDialCount=e.metrics?.registerMetric("libp2p_dialler_pending_dials"),this.inProgressDialCount=e.metrics?.registerMetric("libp2p_dialler_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))ju.set(n,i);this.queue=new Yr({concurrency:r.maxParallelDials??So.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=>{at.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)})}stop(){this.shutDownController.abort()}async dial(e,r={}){let{peerId:n,multiaddrs:i}=la(e),o=i.map(l=>({multiaddr:l,isCertified:!1})),s=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,o,{...r,signal:s})}catch(l){throw s.clear(),l}let c=this.pendingDials.find(l=>!!(l.peerId!=null&&n!=null&&l.peerId.equals(n)||a.map(({multiaddr:f})=>f.toString()).join()===l.multiaddrs.map(f=>f.toString()).join()));if(c!=null)return at("joining existing dial target for %p",n),s.clear(),c.promise;at("creating dial target for",a.map(({multiaddr:l})=>l.toString()));let u={id:q_(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:l})=>l)};return u.promise=this.performDial(u,{...r,signal:s}).finally(()=>{this.pendingDials=this.pendingDials.filter(l=>l.id!==u.id),s.clear()}).catch(async l=>{if(at.error("dial failed to %s",u.multiaddrs.map(f=>f.toString()).join(", "),l),n!=null)try{await this.peerStore.patch(n,{metadata:{[ha]:G(Date.now().toString())}})}catch(f){at.error("could not update last dial failure key for %p",n,f)}throw s.aborted?new b(l.message,F.ERR_TIMEOUT):l}),this.pendingDials.push(u),u.promise}createDialAbortControllers(e){let r=Ea([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);try{(0,Jl.setMaxListeners)?.(1/0,r)}catch{}return r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new b("Tried to dial self",F.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new b("The dial request is blocked by gater.allowDialPeer",F.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){at("loading multiaddrs for %p",e);try{let l=await this.peerStore.get(e);r.push(...l.addresses),at("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 jl(l.multiaddr,n);return f.length===1&&f[0].equals(l.multiaddr)?l:f.map(h=>({multiaddr:h,isCertified:!1}))}))).flat(),o=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}),s=new Map;for(let l of o){let f=l.multiaddr.toString(),h=s.get(f);if(h!=null){h.isCertified=h.isCertified||l.isCertified||!1;continue}s.set(f,l)}let a=[...s.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(at("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:l})=>l.toString())),at("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:l})=>l.toString()))),a.length===0)throw new b("The dial request has no valid addresses",F.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new b("dial with more addresses than allowed",F.ERR_TOO_MANY_ADDRESSES);if(e!=null){let l=`/p2p/${e.toString()}`;a=a.map(f=>{let h=f.multiaddr.getPeerId();return f.multiaddr.protos().pop()?.path===!0?f:h!==e.toString()?{multiaddr:f.multiaddr.encapsulate(l),isCertified:f.isCertified}:f})}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 b("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 Yr({concurrency:this.maxParallelDialsPerPeer});i.on("error",s=>{at.error("error dialling",s)});let o=await Promise.any(e.multiaddrs.map(async(s,a)=>{let c=n[a];if(c==null)throw new b("dialAction did not come with an AbortController",F.ERR_INVALID_PARAMETERS);let u=jy(c.signal,r.signal);u.addEventListener("abort",()=>{at("dial to %a aborted",s)});let l=Jr();return await i.add(async()=>{if(u.aborted){at("dial to %a was aborted before reaching the head of the peer dial queue",s),l.reject(new Qn);return}await this.queue.add(async()=>{try{if(u.aborted){at("dial to %a was aborted before reaching the head of the dial queue",s),l.reject(new Qn);return}e.status="active";let f=await this.transportManager.dial(s,{...r,signal:u});if(c.signal.aborted){at("multiple dials succeeded, closing superfluous connection"),f.close().catch(h=>{at.error("error closing superfluous connection",h)}),l.reject(new Qn);return}n[a]=void 0,n.forEach(h=>{h!==void 0&&h.abort()}),at("dial to %a succeeded",s),l.resolve(f)}catch(f){at.error("error during dial of %a",s,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(o==null)throw new b("successful dial led to empty object returned from peer dial queue",F.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 q_(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var It=ie("libp2p:connection-manager"),H_=50,Mn={minConnections:pa,maxConnections:ma,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:ya,autoDialPriority:0,autoDialMaxQueueLength:100},ba=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;constructor(e,r={}){this.maxConnections=r.maxConnections??Mn.maxConnections;let n=r.minConnections??Mn.minConnections;if(this.maxConnections<n)throw new b("Connection Manager maxConnections must be greater than minConnections",F.ERR_INVALID_PARAMETERS);this.connections=new $t,this.started=!1,this.peerStore=e.peerStore,this.metrics=e.metrics,this.events=e.events,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=>ze(i)),this.deny=(r.deny??[]).map(i=>ze(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??Mn.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new Jy.RateLimiterMemory({points:r.inboundConnectionThreshold??Mn.inboundConnectionThreshold,duration:1}),this.autoDial=new ga({connectionManager:this,peerStore:e.peerStore,events:e.events},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??Mn.autoDialConcurrency,autoDialPriority:r.autoDialPriority??Mn.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??Mn.autoDialMaxQueueLength}),this.connectionPruner=new xa({connectionManager:this,peerStore:e.peerStore,events:e.events},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new wa({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater},{addressSorter:r.addressSorter??Ri,maxParallelDials:r.maxParallelDials??da,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:Ci}})}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.autoDial.start(),this.started=!0,It("started")}async afterStart(){Promise.resolve().then(async()=>{let e=await this.peerStore.all({filters:[r=>r.tags.has(ty)]});await Promise.all(e.map(async r=>{await this.openConnection(r.id).catch(n=>{It.error(n)})}))}).catch(e=>{It.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){It.error(i)}})());It("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),It("stopped")}onConnect(e){this._onConnect(e).catch(r=>{It.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 b("Not started",F.ERR_NODE_NOT_STARTED);r.signal?.throwIfAborted();let{peerId:n}=la(e);if(n!=null&&r.force!==!0){It("dial %p",n);let a=this.getConnections(n);if(a.length>0)return It("had an existing connection to %p",n),a[0]}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??H_}),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 It("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 It("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 It("connection from %a refused - inboundConnectionThreshold exceeded by host %s",e.remoteAddr,i),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(It("connection from %a refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var va=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}},Ni=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new va(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 va(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 rf=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Un(t={}){return z_(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 z_(t,e){e=e??{};let r=e.onEnd,n=new Ni,i,o,s,a=Jr(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((y,g)=>{o=x=>{o=null,n.push(x);try{y(t(n))}catch(w){g(w)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Jr()})}},u=y=>o!=null?o(y):(n.push(y),i),l=y=>(n=new Ni,o!=null?o({error:y}):(n.push({error:y}),i)),f=y=>{if(s)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})},h=y=>s?i:(s=!0,y!=null?l(y):u({done:!0})),p=()=>(n=new Ni,h(),{done:!0}),d=y=>(h(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:p,throw:d,push:f,end:h,get readableLength(){return n.size},onEmpty:async y=>{let g=y?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let x,w;g!=null&&(x=new Promise((C,_)=>{w=()=>{_(new rf)},g.addEventListener("abort",w)}));try{await Promise.race([a.promise,x])}finally{w!=null&&g!=null&&g?.removeEventListener("abort",w)}}},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}},i}function G_(t){return t[Symbol.asyncIterator]!=null}function Y_(...t){let e=[];for(let r of t)G_(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Un({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 en=Y_;function Fn(t,...e){if(t==null)throw new Error("Empty pipeline");if(nf(t)){let n=t;t=()=>n.source}else if(tg(t)||eg(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&nf(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)nf(r[n])&&(r[n]=Q_(r[n]));return W_(...r)}var W_=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},eg=t=>t?.[Symbol.asyncIterator]!=null,tg=t=>t?.[Symbol.iterator]!=null,nf=t=>t==null?!1:t.sink!=null&&t.source!=null,Q_=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Un({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=t.source;if(eg(o))i=async function*(){yield*o,n.end()};else if(tg(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return en(n,i())}return t.source};function X_(t){return t[Symbol.asyncIterator]!=null}function Z_(t,e){if(X_(t))return async function*(){for await(let a of t)yield e(a)}();let r=ta(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=e(n);if(typeof o.then=="function")return async function*(){yield await o;for await(let a of r)yield e(a)}();let s=e;return function*(){yield o;for(let a of r)yield s(a)}()}var rg=Z_;async function*Io(t,e){yield*rg(t,async r=>(await e.merge(r.id,{multiaddrs:r.multiaddrs}),r))}function _a(t){let e=new Set;return zt(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*Aa(t,e=1){let r=0;for await(let n of t)r++,yield n;if(r<e)throw new b(`more peers required, seen: ${r} min: ${e}`,"NOT_FOUND")}var Sa=class{routers;started;components;constructor(e,r){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 b("No content routers available",F.ERR_NO_ROUTERS_AVAILABLE);yield*Fn(en(...this.routers.map(n=>n.findProviders(e,r))),n=>Io(n,this.components.peerStore),n=>_a(n),n=>Aa(n))}async provide(e,r={}){if(this.routers.length===0)throw new b("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 b(sr.NOT_STARTED_YET,F.DHT_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 b(sr.NOT_STARTED_YET,F.DHT_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};function j_(t){return t[Symbol.asyncIterator]!=null}function J_(t){if(j_(t))return(async()=>{for await(let e of t)return e})();for(let e of t)return e}var Ia=J_;var eA=ie("libp2p:peer-routing"),Ra=class{components;routers;constructor(e,r){this.components=e,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new b("No peer routers available",F.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.components.peerId.toString())throw new b("Should not try to find self",F.ERR_FIND_SELF);let n=await Fn(en(...this.routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(o){eA.error(o)}}())),i=>zt(i,Boolean),i=>Io(i,this.components.peerStore),async i=>Ia(i));if(n!=null)return n;throw new b(sr.NOT_FOUND,F.ERR_NOT_FOUND)}async*getClosestPeers(e,r){if(this.routers.length===0)throw new b("No peer routers available",F.ERR_NO_ROUTERS_AVAILABLE);yield*Fn(en(...this.routers.map(n=>n.getClosestPeers(e,r))),n=>Io(n,this.components.peerStore),n=>_a(n),n=>Aa(n))}};var of=ie("libp2p:registrar"),sf=32,af=64,Ca=class{topologies;handlers;components;constructor(e){this.topologies=new Map,this.handlers=new Map,this.components=e,this._onDisconnect=this._onDisconnect.bind(this),this._onPeerUpdate=this._onPeerUpdate.bind(this),this._onConnect=this._onConnect.bind(this),this.components.events.addEventListener("peer:disconnect",this._onDisconnect),this.components.events.addEventListener("peer:connect",this._onConnect),this.components.events.addEventListener("peer:update",this._onPeerUpdate)}getProtocols(){return Array.from(new Set([...this.handlers.keys()])).sort()}getHandler(e){let r=this.handlers.get(e);if(r==null)throw new b(`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 b(`Handler already registered for protocol ${e}`,F.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=$r.bind({ignoreUndefined:!0})({maxInboundStreams:sf,maxOutboundStreams:af},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 b("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 o=this.topologies.get(i);if(o!=null)for(let s of o.values())s.onDisconnect?.(r)}}).catch(n=>{n.code!==F.ERR_NOT_FOUND&&of.error("could not inform topologies of disconnecting peer %p",r,n)})}_onConnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{let i=this.components.connectionManager.getConnections(n.id)[0];if(i==null){of("peer %p connected but the connection manager did not have a connection",n);return}for(let o of n.protocols){let s=this.topologies.get(o);if(s!=null)for(let a of s.values())a.onConnect?.(r,i)}}).catch(n=>{n.code!==F.ERR_NOT_FOUND&&of.error("could not inform topologies of connecting peer %p",r,n)})}_onPeerUpdate(e){let{peer:r,previous:n}=e.detail,i=(n?.protocols??[]).filter(s=>!r.protocols.includes(s)),o=r.protocols.filter(s=>!(n?.protocols??[]).includes(s));for(let s of i){let a=this.topologies.get(s);if(a!=null)for(let c of a.values())c.onDisconnect?.(r.id)}for(let s of o){let a=this.topologies.get(s);if(a!=null)for(let c of a.values()){let u=this.components.connectionManager.getConnections(r.id)[0];u!=null&&c.onConnect?.(r.id,u)}}}};var cf=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 ng(t){let{name:e,metrics:r}=t,n;return r!=null?n=new cf({name:e,metrics:r}):n=new Map,n}var Kn=ie("libp2p:transports"),Ta=class{components;transports;listeners;faultTolerance;started;constructor(e,r={}){this.components=e,this.started=!1,this.transports=new Map,this.listeners=ng({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??Zr.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new b("Transport must have a valid tag",F.ERR_INVALID_KEY);if(this.transports.has(r))throw new b(`There is already a transport with the tag ${r}`,F.ERR_DUPLICATE_TRANSPORT);Kn("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(Kn("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),Kn("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 b(`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 b("Not started",F.ERR_NODE_NOT_STARTED);if(e==null||e.length===0){Kn("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){Kn("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 h=f.findIndex(p=>p===l);f.splice(h,1),this.components.events.safeDispatchEvent("transport:close",{detail:l})}),s.push(l.listen(u))}if(s.length===0){r.push(n);continue}if((await Promise.allSettled(s)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==Zr.NO_FATAL)throw new b(`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===Zr.FATAL_ALL)throw new b(n,F.ERR_NO_VALID_ADDRESSES);Kn(`libp2p in dial mode only: ${n}`)}}async remove(e){Kn("removing %s",e);for(let r of this.listeners.get(e)??[])await r.close();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 hf=te(Hn(),1);var Rr="/multistream/1.0.0";function uf(t){let e=async function*(){let r=yield,n=new Ze;for await(let i of t){if(r==null){n.append(i),r=yield n,n=new Ze;continue}for(n.append(i);n.length>=r;){let o=n.sublist(0,r);if(n.consume(r),r=yield o,r==null){n.length>0&&(r=yield n,n=new Ze);break}}}if(r!=null)throw Object.assign(new Error(`stream ended before ${r} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return e.next(),e}function Ba(t){let e=Un(),r=uf(t.source),n=Jr(),i,o=t.sink(async function*(){yield*e,yield*await n.promise}());return o.catch(a=>{i=a}),{reader:r,writer:e,stream:{sink:async a=>{if(i!=null){await Promise.reject(i);return}n.resolve(a),await o},source:r},rest:()=>e.end(),write:e.push,read:async()=>{let a=await r.next();if(a.value!=null)return a.value}}}var Ro=class extends Error{constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function ig(t){if(t!=null){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}function og(t,e,r){let n=r??{},i=ig(t);async function*o(){let s,a=()=>{s?.()};for(e.addEventListener("abort",a);;){let c;try{if(e.aborted){let{abortMessage:l,abortCode:f}=n;throw new Ro(l,f)}let u=new Promise((l,f)=>{s=()=>{let{abortMessage:h,abortCode:p}=n;f(new Ro(h,p))}});c=await Promise.race([u,i.next()]),s=null}catch(u){e.removeEventListener("abort",a);let l=u.type==="aborted"&&e.aborted;if(l&&n.onAbort!=null&&n.onAbort(t),typeof i.return=="function")try{let f=i.return();f instanceof Promise&&f.catch(h=>{n.onReturnError!=null&&n.onReturnError(h)})}catch(f){n.onReturnError!=null&&n.onReturnError(f)}if(l&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}e.removeEventListener("abort",a)}return o()}function La(t){return t[Symbol.asyncIterator]!=null}var Pa=t=>{let e=yt(t),r=Ot(e);return Lt(t,r),Pa.bytes=e,r};Pa.bytes=0;function Da(t,e){e=e??{};let r=e.lengthEncoder??Pa;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return La(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}Da.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Pa;return new Ze(r(t.byteLength),t)};var ki=te(Al(),1);var tA=8,rA=1024*1024*4,qn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(qn||(qn={}));var lf=t=>{let e=Sr(t);return lf.bytes=yt(e),e};lf.bytes=0;function Co(t,e){let r=new Ze,n=qn.LENGTH,i=-1,o=e?.lengthDecoder??lf,s=e?.maxLengthLength??tA,a=e?.maxDataLength??rA;function*c(){for(;r.byteLength>0;){if(n===qn.LENGTH)try{if(i=o(r),i<0)throw(0,ki.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,ki.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=qn.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,ki.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===qn.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=qn.LENGTH}}}return La(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,ki.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,ki.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Co.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 Co(n,{...e??{},onLength:o=>{r=o}})};var oA=ie("libp2p:mss"),sg=G(`
|
|
49
|
-
`);function To(t){let e=new Ze(t,sg);return Da.single(e)}function Vn(t,e,r={}){let n=To(e);r.writeBytes===!0?t.push(n.subarray()):t.push(n)}function ag(t,e,r={}){let n=new Ze;for(let i of e)n.append(To(i));r.writeBytes===!0?t.push(n.subarray()):t.push(n)}async function sA(t,e){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>t.next(r)},i=n;e?.signal!=null&&(i=og(n,e.signal));let o=a=>{r=a},s=await Fn(i,a=>Co(a,{onLength:o,maxDataLength:1024}),async a=>Ia(a));if(s==null||s.length===0)throw new b("no buffer returned","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(s.get(s.byteLength-1)!==sg[0])throw oA.error("Invalid mss message - missing newline - %s",s.subarray()),new b("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return s.sublist(0,-1)}async function Oi(t,e){let r=await sA(t,e);return Z(r.subarray())}var Bo=ie("libp2p:mss:select");async function Lo(t,e,r={}){e=Array.isArray(e)?[...e]:[e];let{reader:n,writer:i,rest:o,stream:s}=Ba(t),a=e.shift();if(a==null)throw new Error("At least one protocol must be specified");Bo.trace('select: write ["%s", "%s"]',Rr,a);let c=G(Rr),u=G(a);ag(i,[c,u],r);let l=await Oi(n,r);if(Bo.trace('select: read "%s"',l),l===Rr&&(l=await Oi(n,r),Bo.trace('select: read "%s"',l)),l===a)return o(),{stream:s,protocol:a};for(let f of e){Bo.trace('select: write "%s"',f),Vn(i,G(f),r);let h=await Oi(n,r);if(Bo.trace('select: read "%s" for "%s"',h,f),h===f)return o(),{stream:s,protocol:f}}throw o(),new b("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}var Po=ie("libp2p:mss:handle");async function Do(t,e,r){e=Array.isArray(e)?e:[e];let{writer:n,reader:i,rest:o,stream:s}=Ba(t);for(;;){let a=await Oi(i,r);if(Po.trace('read "%s"',a),a===Rr){Po.trace('respond with "%s" for "%s"',Rr,a),Vn(n,G(Rr),r);continue}if(e.includes(a))return Vn(n,G(a),r),Po.trace('respond with "%s" for "%s"',a,a),o(),{stream:s,protocol:a};if(a==="ls"){Vn(n,new Ze(...e.map(c=>To(G(c)))),r),Po.trace('respond with "%s" for %s',e,a);continue}Vn(n,G("na"),r),Po('respond with "na" for "%s"',a)}}var lg=te(Hn(),1);var ug=Symbol.for("@libp2p/connection");var Na=ie("libp2p:connection"),cA=500,ff=class{id;remoteAddr;remotePeer;direction;timeline;multiplexer;encryption;status;transient;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._newStream=i,this._close=o,this._abort=s,this._getStreams=a,this.tags=[]}[Symbol.toStringTag]="Connection";[ug]=!0;get streams(){return this._getStreams()}async newStream(e,r){if(this.status==="closing")throw new b("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.status==="closed")throw new b("the connection is closed","ERR_CONNECTION_CLOSED");if(Array.isArray(e)||(e=[e]),this.transient&&r?.runOnTransientConnection!==!0)throw new b("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")){Na("closing connection to %a",this.remoteAddr),this.status="closing",e.signal=e?.signal??AbortSignal.timeout(cA);try{(0,lg.setMaxListeners)?.(1/0,e.signal)}catch{}try{await Promise.all(this.streams.map(async r=>r.close(e))),await this._close(e),this.timeline.close=Date.now(),this.status="closed"}catch(r){Na.error("error encountered during graceful close of connection to %a",this.remoteAddr,r),this.abort(r)}}}abort(e){Na.error("aborting connection to %a due to error",this.remoteAddr,e),this.status="closing",this.streams.forEach(r=>{r.abort(e)}),Na.error("all streams aborted",this.streams.length),this._abort(e),this.timeline.close=Date.now(),this.status="closed"}};function fg(t){return new ff(t)}var Be=ie("libp2p:upgrader");function lA(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 sf}function fA(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??af}function hg(t,e,r){let n=0;return r.streams.forEach(i=>{i.direction===e&&i.protocol===t&&n++}),n}var ka=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 b(`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 b("connection denied",F.ERR_CONNECTION_DENIED);let i,o,s,a,c,u=AbortSignal.timeout(this.inboundUpgradeTimeout),l=()=>{e.abort(new b("inbound upgrade timeout",F.ERR_TIMEOUT))};u.addEventListener("abort",l,{once:!0});try{(0,hf.setMaxListeners)?.(1/0,u)}catch{}try{if(await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new b("The multiaddr connection is blocked by gater.acceptConnection",F.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),Be("starting the inbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let h=this.components.connectionProtector;h!=null&&(Be("protecting the inbound connection"),f=await h.protect(e))}try{if(i=f,r?.skipEncryption!==!0){({conn:i,remotePeer:o,protocol:c}=await this._encryptInbound(f));let h={...f,...i};await this.shouldBlockConnection(o,h,"denyInboundEncryptedConnection")}else{let h=e.remoteAddr.getPeerId();if(h==null)throw new b("inbound connection that skipped encryption must have a peer id",F.ERR_INVALID_MULTIADDR);let p=de(h);c="native",o=p}if(s=i,r?.muxerFactory!=null)a=r.muxerFactory;else if(this.muxers.size>0){let h=await this._multiplexInbound({...f,...i},this.muxers);a=h.muxerFactory,s=h.stream}}catch(h){throw Be.error("Failed to upgrade inbound connection",h),h}return await this.shouldBlockConnection(o,e,"denyInboundUpgradedConnection"),Be("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",l),this.components.connectionManager.afterUpgradeInbound()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=de(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let o,s,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),Be("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(o=l,r?.skipEncryption!==!0){({conn:o,remotePeer:s,protocol:c}=await this._encryptOutbound(l,i));let f={...l,...o};await this.shouldBlockConnection(s,f,"denyOutboundEncryptedConnection")}else{if(i==null)throw new b("Encryption was skipped but no peer id was passed",F.ERR_INVALID_PEER);c="native",s=i}if(a=o,r?.muxerFactory!=null)u=r.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...l,...o},this.muxers);u=f.muxerFactory,a=f.stream}}catch(f){throw Be.error("Failed to upgrade outbound connection",f),await e.close(f),f}return await this.shouldBlockConnection(s,e,"denyOutboundUpgradedConnection"),Be("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,l,f;a!=null&&(u=a.createStreamMuxer({direction:n,onIncomingStream:d=>{f!=null&&Promise.resolve().then(async()=>{let m=this.components.registrar.getProtocols(),{stream:y,protocol:g}=await Do(d,m);if(Be("%s: incoming stream opened on %s",n,g),f==null)return;let x=lA(g,this.components.registrar);if(hg(g,"inbound",f)===x){let C=new b(`Too many inbound protocol streams for protocol "${g}" - limit ${x}`,F.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw d.abort(C),C}d.source=y.source,d.sink=y.sink,d.protocol=g,await this.components.peerStore.merge(s,{protocols:[g]}),this.components.metrics?.trackProtocolStream(d,f),this._onStream({connection:f,stream:d,protocol:g})}).catch(async m=>{Be.error(m),d.timeline.close==null&&await d.close()})}}),l=async(d,m={})=>{if(u==null)throw new b("Stream is not multiplexed",F.ERR_MUXER_UNAVAILABLE);Be("%s: starting new stream on %s",n,d);let y=await u.newStream();try{if(m.signal==null){Be("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",d),m.signal=AbortSignal.timeout(3e4);try{(0,hf.setMaxListeners)?.(1/0,m.signal)}catch{}}let{stream:g,protocol:x}=await Lo(y,d,m),w=fA(x,this.components.registrar,m);if(hg(x,"outbound",f)>=w){let _=new b(`Too many outbound protocol streams for protocol "${x}" - limit ${w}`,F.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw y.abort(_),_}return await this.components.peerStore.merge(s,{protocols:[x]}),y.source=g.source,y.sink=g.sink,y.protocol=x,this.components.metrics?.trackProtocolStream(y,f),y}catch(g){throw Be.error("could not create new stream",g),y.timeline.close==null&&y.abort(g),g.code!=null?g:new b(String(g),F.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([u.sink(o.source),o.sink(u.source)]).catch(d=>{Be.error(d)}));let h=i.timeline;i.timeline=new Proxy(h,{set:(...d)=>(f!=null&&d[1]==="close"&&d[2]!=null&&h.close==null&&(async()=>{try{f.status==="open"&&await f.close()}catch(m){Be.error(m)}finally{this.events.safeDispatchEvent("connection:close",{detail:f})}})().catch(m=>{Be.error(m)}),Reflect.set(...d))}),i.timeline.upgraded=Date.now();let p=()=>{throw new b("connection is not multiplexed",F.ERR_CONNECTION_NOT_MULTIPLEXED)};return f=fg({remoteAddr:i.remoteAddr,remotePeer:s,status:"open",direction:n,timeline:i.timeline,multiplexer:u?.protocol,encryption:r,transient:c,newStream:l??p,getStreams:()=>u!=null?u.streams:[],close:async d=>{await i.close(d),u!=null&&await u.close(d)},abort:d=>{i.abort(d),u?.abort(d)}}),this.events.safeDispatchEvent("connection:open",{detail:f}),f}_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 b("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());Be("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await Do(e,r,{writeBytes:!0}),o=this.connectionEncryption.get(i);if(o==null)throw new Error(`no crypto module found for ${i}`);return Be("encrypting inbound connection..."),{...await o.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw new b(String(n),F.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());Be("selecting outbound crypto protocol",n);try{let{stream:i,protocol:o}=await Lo(e,n,{writeBytes:!0}),s=this.connectionEncryption.get(o);if(s==null)throw new Error(`no crypto module found for ${o}`);return Be("encrypting outbound connection to %p",r),{...await s.secureOutbound(this.components.peerId,i,r),protocol:o}}catch(i){throw new b(String(i),F.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());Be("outbound selecting muxer %s",n);try{let{stream:i,protocol:o}=await Lo(e,n,{writeBytes:!0});Be("%s selected as muxer protocol",o);let s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw Be.error("error multiplexing outbound stream",i),new b(String(i),F.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());Be("inbound handling muxers %s",n);try{let{stream:i,protocol:o}=await Do(e,n,{writeBytes:!0}),s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw Be.error("error multiplexing inbound stream",i),new b(String(i),F.ERR_MUXER_UNAVAILABLE)}}};var gt=ie("libp2p"),df=class extends co{peerId;peerStore;contentRouting;peerRouting;keychain;metrics;services;components;#e;constructor(e){super();let r=new co,n=r.dispatchEvent.bind(r);r.dispatchEvent=c=>{let u=n(c),l=this.dispatchEvent(new Au(c.type,{detail:c.detail}));return u||l};try{(0,dg.setMaxListeners)?.(1/0,r)}catch{}this.#e=!1,this.peerId=e.peerId,this.services={};let i=this.components=km({peerId:e.peerId,events:r,datastore:e.datastore??new na,connectionGater:zm(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new ea(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",c=>{if(c.detail.previous==null){let u={id:c.detail.peer.id,multiaddrs:c.detail.peer.addresses.map(l=>l.multiaddr),protocols:c.detail.peer.protocols};i.events.safeDispatchEvent("peer:discovery",{detail:u})}}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new ka(this.components,{connectionEncryption:(e.connectionEncryption??[]).map((c,u)=>this.configureComponent(`connection-encryption-${u}`,c(this.components))),muxers:(e.streamMuxers??[]).map((c,u)=>this.configureComponent(`stream-muxers-${u}`,c(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new Ta(this.components,e.transportManager)),this.configureComponent("connectionManager",new ba(this.components,e.connectionManager)),this.configureComponent("registrar",new Ca(this.components)),this.configureComponent("addressManager",new ia(this.components,e.addresses));let o=Tn.generateOptions();this.keychain=this.configureComponent("keyChain",new Tn(this.components,{...o,...e.keychain}));let s=(e.peerRouters??[]).map((c,u)=>this.configureComponent(`peer-router-${u}`,c(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new Ra(this.components,{routers:s}));let a=(e.contentRouters??[]).map((c,u)=>this.configureComponent(`content-router-${u}`,c(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new Sa(this.components,{routers:a})),(e.peerDiscovery??[]).forEach((c,u)=>{this.configureComponent(`peer-discovery-${u}`,c(this.components)).addEventListener("peer",f=>{this.#t(f)})}),e.transports.forEach((c,u)=>{this.components.transportManager.add(this.configureComponent(`transport-${u}`,c(this.components)))}),e.services!=null)for(let c of Object.keys(e.services)){let u=e.services[c],l=u(this.components);if(l==null){gt.error("service factory %s returned null or undefined instance",c);continue}this.services[c]=l,this.configureComponent(c,l),l[vu]!=null&&(gt("registering service %s for content routing",c),a.push(l[vu])),l[Iu]!=null&&(gt("registering service %s for peer routing",c),s.push(l[Iu])),l[Su]!=null&&(gt("registering service %s for peer discovery",c),l[Su].addEventListener("peer",f=>{this.#t(f)}))}}configureComponent(e,r){return r==null&>.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(this.#e)return;this.#e=!0,gt("libp2p is starting"),(await this.keychain.listKeys()).find(r=>r.name==="self")==null&&(gt("importing self key into keychain"),await this.keychain.importPeer("self",this.components.peerId));try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),this.safeDispatchEvent("start",{detail:this}),gt("libp2p has started")}catch(r){throw gt.error("An error occurred starting libp2p",r),await this.stop(),r}}async stop(){this.#e&&(gt("libp2p is stopping"),this.#e=!1,await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.safeDispatchEvent("stop",{detail:this}),gt("libp2p has stopped"))}isStarted(){return this.#e}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new Bn;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,r)}async dialProtocol(e,r,n={}){if(r==null)throw new b("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 b("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={}){Ln(e)&&(e=de(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e,r)}async getPublicKey(e,r={}){if(gt("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=Ue([G("/pk/"),e.multihash.digest]),o=await this.contentRouting.get(i,r);return so(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)}#t(e){let{detail:r}=e;if(r.id.toString()===this.peerId.toString()){gt.error(new Error(F.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs,protocols:r.protocols}).catch(n=>{gt.error(n)})}};async function pg(t){if(t.peerId==null){let e=t.datastore;if(e!=null)try{let r=new Tn({datastore:e},$r(Tn.generateOptions(),t.keychain));t.peerId=await r.exportPeerId("self")}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}}return t.peerId==null&&(t.peerId=await Fp()),new df(ey(t))}async function hA(t){let e=await pg(t);return t.start!==!1&&await e.start(),e}return Cg(dA);})();
|
|
48
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),g_=new RegExp(`(?:^${Qt}$)|(?:^${ma}$)`),x_=new RegExp(`^${Qt}$`),E_=new RegExp(`^${ma}$`),Vl=t=>t&&t.exact?g_:new RegExp(`(?:${rn(t)}${Qt}${rn(t)})|(?:${rn(t)}${ma}${rn(t)})`,"g");Vl.v4=t=>t&&t.exact?x_:new RegExp(`${rn(t)}${Qt}${rn(t)}`,"g");Vl.v6=t=>t&&t.exact?E_:new RegExp(`${rn(t)}${ma}${rn(t)}`,"g");var sy=Vl;var fy=te(cy(),1),{isValid:w_,parse:b_}=fy.default,v_=["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"],__=v_.map(t=>new ly.Netmask(t));function A_(t){for(let e of __)if(e.contains(t))return!0;return!1}function uy(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 hy=t=>{if(w_(t)){let e=b_(t);if(e.kind()==="ipv4")return A_(e.toNormalizedString());if(e.kind()==="ipv6")return uy(t)}else if(Ri(t)&&sy.v6().test(t))return uy(t)};var ga=hy;function dy(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!ga(`${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}}var kL=Symbol.for("@libp2p/transport");var nn;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(nn||(nn={}));var S_=t=>t.toString().split("/").slice(1),Bo=t=>({match:e=>e.length<1?!1:t(e[0])?e.slice(1):!1,pattern:"fn"}),He=t=>({match:e=>Bo(r=>r===t).match(e),pattern:t}),Ea=()=>({match:t=>Bo(e=>typeof e=="string").match(t),pattern:"{string}"}),py=()=>({match:t=>Bo(e=>!isNaN(parseInt(e))).match(t),pattern:"{number}"}),Xt=()=>({match:t=>{if(t.length<2||t[0]!=="p2p"&&t[0]!=="ipfs")return!1;if(t[1].startsWith("Q")||t[1].startsWith("1"))try{Le.decode(`z${t[1]}`)}catch{return!1}else return!1;return t.slice(2)},pattern:"/p2p/{peerid}"}),xa=()=>({match:t=>{if(t.length<2||t[0]!=="certhash")return!1;try{Lc.decode(t[1])}catch{return!1}return t.slice(2)},pattern:"/certhash/{certhash}"}),lr=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(", ")})`}),qe=(...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 et(...t){function e(i){let o=S_(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 Hl=qe(He("dns4"),Ea()),zl=qe(He("dns6"),Ea()),Gl=qe(He("dnsaddr"),Ea()),my=qe(He("dns"),Ea()),qL=et(Hl),VL=et(zl),$L=et(Gl),HL=et(fr(my,Gl,Hl,zl)),yy=qe(He("ip4"),Bo(Ys)),gy=qe(He("ip6"),Bo(Ws)),xy=fr(yy,gy),wa=fr(xy,my,Hl,zl,Gl),zL=et(yy),GL=et(gy),YL=et(xy),ba=qe(wa,He("tcp"),py()),Lo=qe(wa,He("udp"),py()),I_=fr(ba,Lo),WL=et(ba),QL=et(Lo),Yl=qe(Lo,He("quic")),va=qe(Lo,He("quic-v1")),R_=fr(Yl,va),XL=et(Yl),ZL=et(va),$l=fr(wa,ba,Lo,Yl,va),Ey=fr(qe($l,He("ws"),lr(Xt()))),jL=et(Ey),wy=fr(qe($l,He("wss"),lr(Xt())),qe($l,He("tls"),He("ws"),lr(Xt()))),JL=et(wy),by=qe(I_,He("webrtc-direct"),xa(),lr(xa()),lr(Xt())),e6=et(by),vy=qe(va,He("webtransport"),xa(),xa(),lr(Xt())),t6=et(vy),Wl=fr(Ey,wy,qe(ba,lr(Xt())),qe(R_,lr(Xt())),qe(wa,lr(Xt())),by,vy,Xt()),r6=et(Wl),_y=qe(Wl,He("p2p-circuit"),Xt()),Ql=et(_y),C_=fr(qe(_y,He("webrtc")),qe(Wl,He("webrtc"),lr(Xt())),He("webrtc")),n6=et(C_);function Xl(t){try{let{address:e}=t.nodeAddress();return!!ga(e)}catch{return!0}}function T_(t,e){let r=Xl(t.multiaddr),n=Xl(e.multiaddr);return r&&!n?1:!r&&n?-1:0}function B_(t,e){return t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}function L_(t,e){let r=Ql.exactMatch(t.multiaddr),n=Ql.exactMatch(e.multiaddr);return r&&!n?1:!r&&n?-1:0}function Di(t,e){let r=T_(t,e);if(r!==0)return r;let n=L_(t,e);return n!==0?n:B_(t,e)}var jl=te($u(),1),Jl=te(Iy(),1);var Ry=globalThis.fetch,Cy=globalThis.Headers,f6=globalThis.Request,h6=globalThis.Response;function _a(t,e,r){return`${t}?name=${e}&type=${r}`}async function Ty(t,e){return await(await Ry(t,{headers:new Cy({accept:"application/dns-json"}),signal:e})).json()}function qn(t,e){return`${e}_${t}`}var Zl=Object.assign((0,jl.default)("dns-over-http-resolver"),{error:(0,jl.default)("dns-over-http-resolver:error")}),ef=class{constructor(e={}){this._cache=new Jl.default({max:e?.maxCache??100}),this._TXTcache=new Jl.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??Ty,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 await this.resolve4(e);case"AAAA":return await this.resolve6(e);case"TXT":return await this.resolveTxt(e);default:throw new Error(`${r} is not supported`)}}async resolve4(e){let r="A",n=this._cache.get(qn(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(_a(o,e,r),s.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(qn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Zl.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(qn(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(_a(o,e,r),s.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(qn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Zl.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(qn(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(_a(o,e,r),s.signal),c=a.Answer.map(l=>[l.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(l=>l.TTL));return this._TXTcache.set(qn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Zl.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()}},By=ef;var Ly=By;var{code:O_}=be("dnsaddr");async function Ni(t,e={}){let r=new Ly;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===O_)??[];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 hr;(function(t){t.NOT_STARTED_YET="The libp2p node is not started yet",t.DHT_DISABLED="DHT is not available",t.PUBSUB_DISABLED="PubSub is not available",t.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",t.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",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.DHT_DISABLED="ERR_DHT_DISABLED",t.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",t.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",t.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",t.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",t.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",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_TIMEOUT="ERR_TIMEOUT",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_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",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 M_={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:Ni},addressSorter:Di},transportManager:{faultTolerance:nn.FATAL_ALL}};function Py(t){let e=Qr(M_,t);if(e.transports==null||e.transports.length<1)throw new b(hr.ERR_TRANSPORTS_REQUIRED,F.ERR_TRANSPORTS_REQUIRED);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new b(hr.ERR_PROTECTOR_REQUIRED,F.ERR_PROTECTOR_REQUIRED);return e}var Dy="keep-alive";var Pg=te(Rg(),1);var EA=ie("libp2p:get-peer");function Sa(t){if(Us(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:de(r),t.forEach(n=>{if(!Mn(n))throw EA.error("multiaddr %s was invalid",n),new b("Invalid Multiaddr",F.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new b("Multiaddrs must all have the same peer id or have no peer id",F.ERR_INVALID_PARAMETERS)}else{let o=de(i);if(e==null||!e.equals(o))throw new b("Multiaddrs must all have the same peer id or have no peer id",F.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function wA(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 gf=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new b("missing peer id",F.ERR_INVALID_PARAMETERS);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=wA(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}},Ia=class extends Jr{constructor(e={}){super({...e,queueClass:gf})}hasJob(e){return this.sizeBy({peerId:e})>0}};var Ra="last-dial-failure";var Ca=5,Ta=100,Ba=50,Cg=1e3*60*7;var tt=ie("libp2p:connection-manager:auto-dial"),Vn={minConnections:Ca,maxQueueLength:100,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3,autoDialPeerRetryThreshold:Cg,autoDialDiscoveredPeersDebounce:10},La=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialPeerRetryThresholdMs;autoDialDiscoveredPeersDebounce;autoDialInterval;started;running;constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??Vn.minConnections,this.autoDialPriority=r.autoDialPriority??Vn.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??Vn.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??Vn.maxQueueLength,this.autoDialPeerRetryThresholdMs=r.autoDialPeerRetryThreshold??Vn.autoDialPeerRetryThreshold,this.autoDialDiscoveredPeersDebounce=r.autoDialDiscoveredPeersDebounce??Vn.autoDialDiscoveredPeersDebounce,this.started=!1,this.running=!1,this.queue=new Ia({concurrency:r.autoDialConcurrency??Vn.autoDialConcurrency}),this.queue.addListener("error",i=>{tt.error("error during auto-dial",i)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(i=>{tt.error(i)})});let n;e.events.addEventListener("peer:discovery",()=>{clearTimeout(n),n=setTimeout(()=>{this.autoDial().catch(i=>{tt.error(i)})},this.autoDialDiscoveredPeersDebounce)})}isStarted(){return this.started}start(){this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(e=>{tt.error("error while autodialing",e)})},this.autoDialIntervalMs),this.started=!0}afterStart(){this.autoDial().catch(e=>{tt.error("error while autodialing",e)})}stop(){this.queue.clear(),clearTimeout(this.autoDialInterval),this.started=!1,this.running=!1}async autoDial(){if(!this.started)return;let e=this.connectionManager.getConnectionsMap(),r=e.size;if(r>=this.minConnections){this.minConnections>0&&tt.trace("have enough connections %d/%d",r,this.minConnections);return}if(this.queue.size>this.autoDialMaxQueueLength){tt("not enough connections %d/%d but auto dial queue is full",r,this.minConnections);return}if(this.running){tt("not enough connections %d/%d - but skipping autodial as it is already running",r,this.minConnections);return}this.running=!0,tt("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=new On(this.connectionManager.getDialQueue().map(u=>u.peerId).filter(Boolean)),i=await this.peerStore.all({filters:[u=>u.addresses.length===0?(tt.trace("not autodialing %p because they have no addresses"),!1):e.has(u.id)?(tt.trace("not autodialing %p because they are already connected"),!1):n.has(u.id)?(tt.trace("not autodialing %p because they are already being dialed"),!1):this.queue.hasJob(u.id)?(tt.trace("not autodialing %p because they are already being autodialed"),!1):!0]}),o=i.sort(()=>Math.random()>.5?1:-1),s=new Gt;for(let u of o)s.has(u.id)||s.set(u.id,[...u.tags.values()].reduce((l,f)=>l+f.value,0));let c=o.sort((u,l)=>{let f=s.get(u.id)??0,h=s.get(l.id)??0;return f>h?-1:f<h?1:0}).filter(u=>{let l=u.metadata.get(Ra);if(l==null)return!0;let f=parseInt(Z(l));return isNaN(f)?!0:Date.now()-f>this.autoDialPeerRetryThresholdMs});tt("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){tt("got enough connections now %d/%d",l,this.minConnections),this.queue.clear();return}tt("connecting to a peerStore stored peer %p",u.id),await this.connectionManager.openConnection(u.id,{priority:this.autoDialPriority})},{peerId:u.id}).catch(l=>{tt.error("could not connect to peerStore stored peer",l)});this.running=!1,this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(u=>{tt.error("error while autodialing",u)})},this.autoDialIntervalMs))}};var Fi=ie("libp2p:connection-manager:connection-pruner"),Tg={maxConnections:Ta,allow:[]},Pa=class{maxConnections;connectionManager;peerStore;allow;events;constructor(e,r={}){this.maxConnections=r.maxConnections??Tg.maxConnections,this.allow=r.allow??Tg.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{Fi.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(Fi("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;Fi("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new Gt;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"&&Fi.error("error loading peer tags",u)}}}let o=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,h=c.timeline.open;return f<h?1:f>h?-1:0}),s=[];for(let a of o)if(Fi("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){Fi.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:s})}};var _f=te(Xn(),1);function Da(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 sn(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var bf=te(Xn(),1);var Bg=ie("libp2p:connection-manager:utils");async function vf(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await _A(t,e),s=(await Promise.all(n.map(async a=>vf(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return Bg("resolved %s to",t,s.map(a=>a.toString())),s}async function _A(t,e){try{return t=Ye(t.toString()),await t.resolve(e)}catch(r){return Bg.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function Lg(...t){let e=[];for(let n of t)if(n!=null){try{(0,bf.setMaxListeners)?.(1/0,n)}catch{}e.push(n)}let r=Da(e);try{(0,bf.setMaxListeners)?.(1/0,r)}catch{}return r}var lt=ie("libp2p:connection-manager:dial-queue"),Do={addressSorter:Di,maxParallelDials:Ba,maxPeerAddrsToDial:25,maxParallelDialsPerPeer:1,dialTimeout:3e4,resolvers:{dnsaddr:Ni}},Na=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;maxParallelDialsPerPeer;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;constructor(e,r={}){this.addressSorter=r.addressSorter??Do.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??Do.maxPeerAddrsToDial,this.maxParallelDialsPerPeer=r.maxParallelDialsPerPeer??Do.maxParallelDialsPerPeer,this.dialTimeout=r.dialTimeout??Do.dialTimeout,this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController;try{(0,_f.setMaxListeners)?.(1/0,this.shutDownController.signal)}catch{}this.pendingDialCount=e.metrics?.registerMetric("libp2p_dialler_pending_dials"),this.inProgressDialCount=e.metrics?.registerMetric("libp2p_dialler_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))dl.set(n,i);this.queue=new Jr({concurrency:r.maxParallelDials??Do.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=>{lt.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)})}stop(){this.shutDownController.abort()}async dial(e,r={}){let{peerId:n,multiaddrs:i}=Sa(e),o=i.map(l=>({multiaddr:l,isCertified:!1})),s=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,o,{...r,signal:s})}catch(l){throw s.clear(),l}let c=this.pendingDials.find(l=>!!(l.peerId!=null&&n!=null&&l.peerId.equals(n)||a.map(({multiaddr:f})=>f.toString()).join()===l.multiaddrs.map(f=>f.toString()).join()));if(c!=null)return lt("joining existing dial target for %p",n),s.clear(),c.promise;lt("creating dial target for",a.map(({multiaddr:l})=>l.toString()));let u={id:AA(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:l})=>l)};return u.promise=this.performDial(u,{...r,signal:s}).finally(()=>{this.pendingDials=this.pendingDials.filter(l=>l.id!==u.id),s.clear()}).catch(async l=>{if(lt.error("dial failed to %s",u.multiaddrs.map(f=>f.toString()).join(", "),l),n!=null)try{await this.peerStore.patch(n,{metadata:{[Ra]:G(Date.now().toString())}})}catch(f){lt.error("could not update last dial failure key for %p",n,f)}throw s.aborted?new b(l.message,F.ERR_TIMEOUT):l}),this.pendingDials.push(u),u.promise}createDialAbortControllers(e){let r=Da([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);try{(0,_f.setMaxListeners)?.(1/0,r)}catch{}return r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new b("Tried to dial self",F.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new b("The dial request is blocked by gater.allowDialPeer",F.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){lt("loading multiaddrs for %p",e);try{let l=await this.peerStore.get(e);r.push(...l.addresses),lt("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 vf(l.multiaddr,n);return f.length===1&&f[0].equals(l.multiaddr)?l:f.map(h=>({multiaddr:h,isCertified:!1}))}))).flat(),o=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}),s=new Map;for(let l of o){let f=l.multiaddr.toString(),h=s.get(f);if(h!=null){h.isCertified=h.isCertified||l.isCertified||!1;continue}s.set(f,l)}let a=[...s.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(lt("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:l})=>l.toString())),lt("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:l})=>l.toString()))),a.length===0)throw new b("The dial request has no valid addresses",F.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new b("dial with more addresses than allowed",F.ERR_TOO_MANY_ADDRESSES);if(e!=null){let l=`/p2p/${e.toString()}`;a=a.map(f=>{let h=f.multiaddr.getPeerId();return f.multiaddr.protos().pop()?.path===!0?f:h!==e.toString()?{multiaddr:f.multiaddr.encapsulate(l),isCertified:f.isCertified}:f})}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 b("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 Jr({concurrency:this.maxParallelDialsPerPeer});i.on("error",s=>{lt.error("error dialling",s)});let o=await Promise.any(e.multiaddrs.map(async(s,a)=>{let c=n[a];if(c==null)throw new b("dialAction did not come with an AbortController",F.ERR_INVALID_PARAMETERS);let u=Lg(c.signal,r.signal);u.addEventListener("abort",()=>{lt("dial to %a aborted",s)});let l=sn();return await i.add(async()=>{if(u.aborted){lt("dial to %a was aborted before reaching the head of the peer dial queue",s),l.reject(new ti);return}await this.queue.add(async()=>{try{if(u.aborted){lt("dial to %a was aborted before reaching the head of the dial queue",s),l.reject(new ti);return}e.status="active";let f=await this.transportManager.dial(s,{...r,signal:u});if(c.signal.aborted){lt("multiple dials succeeded, closing superfluous connection"),f.close().catch(h=>{lt.error("error closing superfluous connection",h)}),l.reject(new ti);return}n[a]=void 0,n.forEach(h=>{h!==void 0&&h.abort()}),lt("dial to %a succeeded",s),l.resolve(f)}catch(f){lt.error("error during dial of %a",s,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(o==null)throw new b("successful dial led to empty object returned from peer dial queue",F.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 AA(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var Tt=ie("libp2p:connection-manager"),RA=50,$n={minConnections:Ca,maxConnections:Ta,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0,autoDialMaxQueueLength:100},ka=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;constructor(e,r={}){this.maxConnections=r.maxConnections??$n.maxConnections;let n=r.minConnections??$n.minConnections;if(this.maxConnections<n)throw new b("Connection Manager maxConnections must be greater than minConnections",F.ERR_INVALID_PARAMETERS);this.connections=new Gt,this.started=!1,this.peerStore=e.peerStore,this.metrics=e.metrics,this.events=e.events,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=>Ye(i)),this.deny=(r.deny??[]).map(i=>Ye(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??$n.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new Pg.RateLimiterMemory({points:r.inboundConnectionThreshold??$n.inboundConnectionThreshold,duration:1}),this.autoDial=new La({connectionManager:this,peerStore:e.peerStore,events:e.events},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??$n.autoDialConcurrency,autoDialPriority:r.autoDialPriority??$n.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??$n.autoDialMaxQueueLength}),this.connectionPruner=new Pa({connectionManager:this,peerStore:e.peerStore,events:e.events},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new Na({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater},{addressSorter:r.addressSorter??Di,maxParallelDials:r.maxParallelDials??Ba,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,maxParallelDialsPerPeer:r.maxParallelDialsPerPeer??1,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:Ni}})}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.autoDial.start(),this.started=!0,Tt("started")}async afterStart(){Promise.resolve().then(async()=>{let e=await this.peerStore.all({filters:[r=>r.tags.has(Dy)]});await Promise.all(e.map(async r=>{await this.openConnection(r.id).catch(n=>{Tt.error(n)})}))}).catch(e=>{Tt.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){Tt.error(i)}})());Tt("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),Tt("stopped")}onConnect(e){this._onConnect(e).catch(r=>{Tt.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 b("Not started",F.ERR_NODE_NOT_STARTED);r.signal?.throwIfAborted();let{peerId:n}=Sa(e);if(n!=null&&r.force!==!0){Tt("dial %p",n);let a=this.getConnections(n);if(a.length>0)return Tt("had an existing connection to %p",n),a[0]}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??RA}),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 Tt("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 Tt("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 Tt("connection from %a refused - inboundConnectionThreshold exceeded by host %s",e.remoteAddr,i),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(Tt("connection from %a refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var Oa=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}},Ki=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Oa(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 Oa(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 Rf=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Hn(t={}){return CA(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 CA(t,e){e=e??{};let r=e.onEnd,n=new Ki,i,o,s,a=sn(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((y,g)=>{o=x=>{o=null,n.push(x);try{y(t(n))}catch(w){g(w)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=sn()})}},u=y=>o!=null?o(y):(n.push(y),i),l=y=>(n=new Ki,o!=null?o({error:y}):(n.push({error:y}),i)),f=y=>{if(s)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})},h=y=>s?i:(s=!0,y!=null?l(y):u({done:!0})),p=()=>(n=new Ki,h(),{done:!0}),d=y=>(h(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:p,throw:d,push:f,end:h,get readableLength(){return n.size},onEmpty:async y=>{let g=y?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let x,w;g!=null&&(x=new Promise((C,_)=>{w=()=>{_(new Rf)},g.addEventListener("abort",w)}));try{await Promise.race([a.promise,x])}finally{w!=null&&g!=null&&g?.removeEventListener("abort",w)}}},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}},i}function TA(t){return t[Symbol.asyncIterator]!=null}function BA(...t){let e=[];for(let r of t)TA(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Hn({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 an=BA;function zn(t,...e){if(t==null)throw new Error("Empty pipeline");if(Cf(t)){let n=t;t=()=>n.source}else if(Ng(t)||Dg(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&Cf(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)Cf(r[n])&&(r[n]=PA(r[n]));return LA(...r)}var LA=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},Dg=t=>t?.[Symbol.asyncIterator]!=null,Ng=t=>t?.[Symbol.iterator]!=null,Cf=t=>t==null?!1:t.sink!=null&&t.source!=null,PA=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Hn({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=t.source;if(Dg(o))i=async function*(){yield*o,n.end()};else if(Ng(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return an(n,i())}return t.source};function DA(t){return t[Symbol.asyncIterator]!=null}function NA(t,e){if(DA(t))return async function*(){for await(let a of t)yield e(a)}();let r=fa(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=e(n);if(typeof o.then=="function")return async function*(){yield await o;for await(let a of r)yield e(a)}();let s=e;return function*(){yield o;for(let a of r)yield s(a)}()}var kg=NA;async function*No(t,e){yield*kg(t,async r=>(await e.merge(r.id,{multiaddrs:r.multiaddrs}),r))}function Ma(t){let e=new Set;return Wt(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*Ua(t,e=1){let r=0;for await(let n of t)r++,yield n;if(r<e)throw new b(`more peers required, seen: ${r} min: ${e}`,"NOT_FOUND")}var Fa=class{routers;started;components;constructor(e,r){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 b("No content routers available",F.ERR_NO_ROUTERS_AVAILABLE);yield*zn(an(...this.routers.map(n=>n.findProviders(e,r))),n=>No(n,this.components.peerStore),n=>Ma(n),n=>Ua(n))}async provide(e,r={}){if(this.routers.length===0)throw new b("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 b(hr.NOT_STARTED_YET,F.DHT_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 b(hr.NOT_STARTED_YET,F.DHT_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};function kA(t){return t[Symbol.asyncIterator]!=null}function OA(t){if(kA(t))return(async()=>{for await(let e of t)return e})();for(let e of t)return e}var Ka=OA;var MA=ie("libp2p:peer-routing"),qa=class{components;routers;constructor(e,r){this.components=e,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new b("No peer routers available",F.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.components.peerId.toString())throw new b("Should not try to find self",F.ERR_FIND_SELF);let n=await zn(an(...this.routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(o){MA.error(o)}}())),i=>Wt(i,Boolean),i=>No(i,this.components.peerStore),async i=>Ka(i));if(n!=null)return n;throw new b(hr.NOT_FOUND,F.ERR_NOT_FOUND)}async*getClosestPeers(e,r){if(this.routers.length===0)throw new b("No peer routers available",F.ERR_NO_ROUTERS_AVAILABLE);yield*zn(an(...this.routers.map(n=>n.getClosestPeers(e,r))),n=>No(n,this.components.peerStore),n=>Ma(n),n=>Ua(n))}};var Tf=ie("libp2p:registrar"),Bf=32,Lf=64,Va=class{topologies;handlers;components;constructor(e){this.topologies=new Map,this.handlers=new Map,this.components=e,this._onDisconnect=this._onDisconnect.bind(this),this._onPeerUpdate=this._onPeerUpdate.bind(this),this._onConnect=this._onConnect.bind(this),this.components.events.addEventListener("peer:disconnect",this._onDisconnect),this.components.events.addEventListener("peer:connect",this._onConnect),this.components.events.addEventListener("peer:update",this._onPeerUpdate)}getProtocols(){return Array.from(new Set([...this.handlers.keys()])).sort()}getHandler(e){let r=this.handlers.get(e);if(r==null)throw new b(`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 b(`Handler already registered for protocol ${e}`,F.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=Qr.bind({ignoreUndefined:!0})({maxInboundStreams:Bf,maxOutboundStreams:Lf},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 b("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 o=this.topologies.get(i);if(o!=null)for(let s of o.values())s.onDisconnect?.(r)}}).catch(n=>{n.code!==F.ERR_NOT_FOUND&&Tf.error("could not inform topologies of disconnecting peer %p",r,n)})}_onConnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{let i=this.components.connectionManager.getConnections(n.id)[0];if(i==null){Tf("peer %p connected but the connection manager did not have a connection",n);return}for(let o of n.protocols){let s=this.topologies.get(o);if(s!=null)for(let a of s.values())a.onConnect?.(r,i)}}).catch(n=>{n.code!==F.ERR_NOT_FOUND&&Tf.error("could not inform topologies of connecting peer %p",r,n)})}_onPeerUpdate(e){let{peer:r,previous:n}=e.detail,i=(n?.protocols??[]).filter(s=>!r.protocols.includes(s)),o=r.protocols.filter(s=>!(n?.protocols??[]).includes(s));for(let s of i){let a=this.topologies.get(s);if(a!=null)for(let c of a.values())c.onDisconnect?.(r.id)}for(let s of o){let a=this.topologies.get(s);if(a!=null)for(let c of a.values()){let u=this.components.connectionManager.getConnections(r.id)[0];u!=null&&c.onConnect?.(r.id,u)}}}};var Pf=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 Og(t){let{name:e,metrics:r}=t,n;return r!=null?n=new Pf({name:e,metrics:r}):n=new Map,n}var Gn=ie("libp2p:transports"),$a=class{components;transports;listeners;faultTolerance;started;constructor(e,r={}){this.components=e,this.started=!1,this.transports=new Map,this.listeners=Og({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??nn.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new b("Transport must have a valid tag",F.ERR_INVALID_KEY);if(this.transports.has(r))throw new b(`There is already a transport with the tag ${r}`,F.ERR_DUPLICATE_TRANSPORT);Gn("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(Gn("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),Gn("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 b(`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 b("Not started",F.ERR_NODE_NOT_STARTED);if(e==null||e.length===0){Gn("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){Gn("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 h=f.findIndex(p=>p===l);f.splice(h,1),this.components.events.safeDispatchEvent("transport:close",{detail:l})}),s.push(l.listen(u))}if(s.length===0){r.push(n);continue}if((await Promise.allSettled(s)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==nn.NO_FATAL)throw new b(`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===nn.FATAL_ALL)throw new b(n,F.ERR_NO_VALID_ADDRESSES);Gn(`libp2p in dial mode only: ${n}`)}}async remove(e){Gn("removing %s",e);for(let r of this.listeners.get(e)??[])await r.close();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 Of=te(Xn(),1);var Dr="/multistream/1.0.0";function Df(t){let e=async function*(){let r=yield,n=new Je;for await(let i of t){if(r==null){n.append(i),r=yield n,n=new Je;continue}for(n.append(i);n.length>=r;){let o=n.sublist(0,r);if(n.consume(r),r=yield o,r==null){n.length>0&&(r=yield n,n=new Je);break}}}if(r!=null)throw Object.assign(new Error(`stream ended before ${r} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return e.next(),e}function Ha(t){let e=Hn(),r=Df(t.source),n=sn(),i,o=t.sink(async function*(){yield*e,yield*await n.promise}());return o.catch(a=>{i=a}),{reader:r,writer:e,stream:{sink:async a=>{if(i!=null){await Promise.reject(i);return}n.resolve(a),await o},source:r},rest:()=>e.end(),write:e.push,read:async()=>{let a=await r.next();if(a.value!=null)return a.value}}}var ko=class extends Error{constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Mg(t){if(t!=null){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}function Ug(t,e,r){let n=r??{},i=Mg(t);async function*o(){let s,a=()=>{s?.()};for(e.addEventListener("abort",a);;){let c;try{if(e.aborted){let{abortMessage:l,abortCode:f}=n;throw new ko(l,f)}let u=new Promise((l,f)=>{s=()=>{let{abortMessage:h,abortCode:p}=n;f(new ko(h,p))}});c=await Promise.race([u,i.next()]),s=null}catch(u){e.removeEventListener("abort",a);let l=u.type==="aborted"&&e.aborted;if(l&&n.onAbort!=null&&n.onAbort(t),typeof i.return=="function")try{let f=i.return();f instanceof Promise&&f.catch(h=>{n.onReturnError!=null&&n.onReturnError(h)})}catch(f){n.onReturnError!=null&&n.onReturnError(f)}if(l&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}e.removeEventListener("abort",a)}return o()}function za(t){return t[Symbol.asyncIterator]!=null}var Ga=t=>{let e=Et(t),r=Ft(e);return Nt(t,r),Ga.bytes=e,r};Ga.bytes=0;function Ya(t,e){e=e??{};let r=e.lengthEncoder??Ga;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return za(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}Ya.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Ga;return new Je(r(t.byteLength),t)};var qi=te(Fl(),1);var UA=8,FA=1024*1024*4,Yn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(Yn||(Yn={}));var Nf=t=>{let e=Lr(t);return Nf.bytes=Et(e),e};Nf.bytes=0;function Oo(t,e){let r=new Je,n=Yn.LENGTH,i=-1,o=e?.lengthDecoder??Nf,s=e?.maxLengthLength??UA,a=e?.maxDataLength??FA;function*c(){for(;r.byteLength>0;){if(n===Yn.LENGTH)try{if(i=o(r),i<0)throw(0,qi.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,qi.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=Yn.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,qi.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 za(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,qi.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,qi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Oo.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 Oo(n,{...e??{},onLength:o=>{r=o}})};var VA=ie("libp2p:mss"),Fg=G(`
|
|
49
|
+
`);function Mo(t){let e=new Je(t,Fg);return Ya.single(e)}function Wn(t,e,r={}){let n=Mo(e);r.writeBytes===!0?t.push(n.subarray()):t.push(n)}function Kg(t,e,r={}){let n=new Je;for(let i of e)n.append(Mo(i));r.writeBytes===!0?t.push(n.subarray()):t.push(n)}async function $A(t,e){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>t.next(r)},i=n;e?.signal!=null&&(i=Ug(n,e.signal));let o=a=>{r=a},s=await zn(i,a=>Oo(a,{onLength:o,maxDataLength:1024}),async a=>Ka(a));if(s==null||s.length===0)throw new b("no buffer returned","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(s.get(s.byteLength-1)!==Fg[0])throw VA.error("Invalid mss message - missing newline - %s",s.subarray()),new b("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return s.sublist(0,-1)}async function Vi(t,e){let r=await $A(t,e);return Z(r.subarray())}var Uo=ie("libp2p:mss:select");async function Fo(t,e,r={}){e=Array.isArray(e)?[...e]:[e];let{reader:n,writer:i,rest:o,stream:s}=Ha(t),a=e.shift();if(a==null)throw new Error("At least one protocol must be specified");Uo.trace('select: write ["%s", "%s"]',Dr,a);let c=G(Dr),u=G(a);Kg(i,[c,u],r);let l=await Vi(n,r);if(Uo.trace('select: read "%s"',l),l===Dr&&(l=await Vi(n,r),Uo.trace('select: read "%s"',l)),l===a)return o(),{stream:s,protocol:a};for(let f of e){Uo.trace('select: write "%s"',f),Wn(i,G(f),r);let h=await Vi(n,r);if(Uo.trace('select: read "%s" for "%s"',h,f),h===f)return o(),{stream:s,protocol:f}}throw o(),new b("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}var Ko=ie("libp2p:mss:handle");async function qo(t,e,r){e=Array.isArray(e)?e:[e];let{writer:n,reader:i,rest:o,stream:s}=Ha(t);for(;;){let a=await Vi(i,r);if(Ko.trace('read "%s"',a),a===Dr){Ko.trace('respond with "%s" for "%s"',Dr,a),Wn(n,G(Dr),r);continue}if(e.includes(a))return Wn(n,G(a),r),Ko.trace('respond with "%s" for "%s"',a,a),o(),{stream:s,protocol:a};if(a==="ls"){Wn(n,new Je(...e.map(c=>Mo(G(c)))),r),Ko.trace('respond with "%s" for %s',e,a);continue}Wn(n,G("na"),r),Ko('respond with "na" for "%s"',a)}}var $g=te(Xn(),1);var Vg=Symbol.for("@libp2p/connection");var Wa=ie("libp2p:connection"),zA=500,kf=class{id;remoteAddr;remotePeer;direction;timeline;multiplexer;encryption;status;transient;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._newStream=i,this._close=o,this._abort=s,this._getStreams=a,this.tags=[]}[Symbol.toStringTag]="Connection";[Vg]=!0;get streams(){return this._getStreams()}async newStream(e,r){if(this.status==="closing")throw new b("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.status==="closed")throw new b("the connection is closed","ERR_CONNECTION_CLOSED");if(Array.isArray(e)||(e=[e]),this.transient&&r?.runOnTransientConnection!==!0)throw new b("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")){Wa("closing connection to %a",this.remoteAddr),this.status="closing",e.signal=e?.signal??AbortSignal.timeout(zA);try{(0,$g.setMaxListeners)?.(1/0,e.signal)}catch{}try{await Promise.all(this.streams.map(async r=>r.close(e))),await this._close(e),this.timeline.close=Date.now(),this.status="closed"}catch(r){Wa.error("error encountered during graceful close of connection to %a",this.remoteAddr,r),this.abort(r)}}}abort(e){Wa.error("aborting connection to %a due to error",this.remoteAddr,e),this.status="closing",this.streams.forEach(r=>{r.abort(e)}),Wa.error("all streams aborted",this.streams.length),this._abort(e),this.timeline.close=Date.now(),this.status="closed"}};function Hg(t){return new kf(t)}var Be=ie("libp2p:upgrader");function YA(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 Bf}function WA(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??Lf}function zg(t,e,r){let n=0;return r.streams.forEach(i=>{i.direction===e&&i.protocol===t&&n++}),n}var Qa=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 b(`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 b("connection denied",F.ERR_CONNECTION_DENIED);let i,o,s,a,c,u=AbortSignal.timeout(this.inboundUpgradeTimeout),l=()=>{e.abort(new b("inbound upgrade timeout",F.ERR_TIMEOUT))};u.addEventListener("abort",l,{once:!0});try{(0,Of.setMaxListeners)?.(1/0,u)}catch{}try{if(await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new b("The multiaddr connection is blocked by gater.acceptConnection",F.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),Be("starting the inbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let h=this.components.connectionProtector;h!=null&&(Be("protecting the inbound connection"),f=await h.protect(e))}try{if(i=f,r?.skipEncryption!==!0){({conn:i,remotePeer:o,protocol:c}=await this._encryptInbound(f));let h={...f,...i};await this.shouldBlockConnection(o,h,"denyInboundEncryptedConnection")}else{let h=e.remoteAddr.getPeerId();if(h==null)throw new b("inbound connection that skipped encryption must have a peer id",F.ERR_INVALID_MULTIADDR);let p=de(h);c="native",o=p}if(s=i,r?.muxerFactory!=null)a=r.muxerFactory;else if(this.muxers.size>0){let h=await this._multiplexInbound({...f,...i},this.muxers);a=h.muxerFactory,s=h.stream}}catch(h){throw Be.error("Failed to upgrade inbound connection",h),h}return await this.shouldBlockConnection(o,e,"denyInboundUpgradedConnection"),Be("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",l),this.components.connectionManager.afterUpgradeInbound()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=de(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let o,s,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),Be("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(o=l,r?.skipEncryption!==!0){({conn:o,remotePeer:s,protocol:c}=await this._encryptOutbound(l,i));let f={...l,...o};await this.shouldBlockConnection(s,f,"denyOutboundEncryptedConnection")}else{if(i==null)throw new b("Encryption was skipped but no peer id was passed",F.ERR_INVALID_PEER);c="native",s=i}if(a=o,r?.muxerFactory!=null)u=r.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...l,...o},this.muxers);u=f.muxerFactory,a=f.stream}}catch(f){throw Be.error("Failed to upgrade outbound connection",f),await e.close(f),f}return await this.shouldBlockConnection(s,e,"denyOutboundUpgradedConnection"),Be("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,l,f;a!=null&&(u=a.createStreamMuxer({direction:n,onIncomingStream:d=>{f!=null&&Promise.resolve().then(async()=>{let m=this.components.registrar.getProtocols(),{stream:y,protocol:g}=await qo(d,m);if(Be("%s: incoming stream opened on %s",n,g),f==null)return;let x=YA(g,this.components.registrar);if(zg(g,"inbound",f)===x){let C=new b(`Too many inbound protocol streams for protocol "${g}" - limit ${x}`,F.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw d.abort(C),C}d.source=y.source,d.sink=y.sink,d.protocol=g,await this.components.peerStore.merge(s,{protocols:[g]}),this.components.metrics?.trackProtocolStream(d,f),this._onStream({connection:f,stream:d,protocol:g})}).catch(async m=>{Be.error(m),d.timeline.close==null&&await d.close()})}}),l=async(d,m={})=>{if(u==null)throw new b("Stream is not multiplexed",F.ERR_MUXER_UNAVAILABLE);Be("%s: starting new stream on %s",n,d);let y=await u.newStream();try{if(m.signal==null){Be("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",d),m.signal=AbortSignal.timeout(3e4);try{(0,Of.setMaxListeners)?.(1/0,m.signal)}catch{}}let{stream:g,protocol:x}=await Fo(y,d,m),w=WA(x,this.components.registrar,m);if(zg(x,"outbound",f)>=w){let _=new b(`Too many outbound protocol streams for protocol "${x}" - limit ${w}`,F.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw y.abort(_),_}return await this.components.peerStore.merge(s,{protocols:[x]}),y.source=g.source,y.sink=g.sink,y.protocol=x,this.components.metrics?.trackProtocolStream(y,f),y}catch(g){throw Be.error("could not create new stream",g),y.timeline.close==null&&y.abort(g),g.code!=null?g:new b(String(g),F.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([u.sink(o.source),o.sink(u.source)]).catch(d=>{Be.error(d)}));let h=i.timeline;i.timeline=new Proxy(h,{set:(...d)=>(f!=null&&d[1]==="close"&&d[2]!=null&&h.close==null&&(async()=>{try{f.status==="open"&&await f.close()}catch(m){Be.error(m)}finally{this.events.safeDispatchEvent("connection:close",{detail:f})}})().catch(m=>{Be.error(m)}),Reflect.set(...d))}),i.timeline.upgraded=Date.now();let p=()=>{throw new b("connection is not multiplexed",F.ERR_CONNECTION_NOT_MULTIPLEXED)};return f=Hg({remoteAddr:i.remoteAddr,remotePeer:s,status:"open",direction:n,timeline:i.timeline,multiplexer:u?.protocol,encryption:r,transient:c,newStream:l??p,getStreams:()=>u!=null?u.streams:[],close:async d=>{await i.close(d),u!=null&&await u.close(d)},abort:d=>{i.abort(d),u?.abort(d)}}),this.events.safeDispatchEvent("connection:open",{detail:f}),f}_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 b("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());Be("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await qo(e,r,{writeBytes:!0}),o=this.connectionEncryption.get(i);if(o==null)throw new Error(`no crypto module found for ${i}`);return Be("encrypting inbound connection..."),{...await o.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw new b(String(n),F.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());Be("selecting outbound crypto protocol",n);try{let{stream:i,protocol:o}=await Fo(e,n,{writeBytes:!0}),s=this.connectionEncryption.get(o);if(s==null)throw new Error(`no crypto module found for ${o}`);return Be("encrypting outbound connection to %p",r),{...await s.secureOutbound(this.components.peerId,i,r),protocol:o}}catch(i){throw new b(String(i),F.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());Be("outbound selecting muxer %s",n);try{let{stream:i,protocol:o}=await Fo(e,n,{writeBytes:!0});Be("%s selected as muxer protocol",o);let s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw Be.error("error multiplexing outbound stream",i),new b(String(i),F.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());Be("inbound handling muxers %s",n);try{let{stream:i,protocol:o}=await qo(e,n,{writeBytes:!0}),s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw Be.error("error multiplexing inbound stream",i),new b(String(i),F.ERR_MUXER_UNAVAILABLE)}}};var wt=ie("libp2p"),Mf=class extends mo{peerId;peerStore;contentRouting;peerRouting;keychain;metrics;services;components;#e;constructor(e){super();let r=new mo,n=r.dispatchEvent.bind(r);r.dispatchEvent=c=>{let u=n(c),l=this.dispatchEvent(new Fu(c.type,{detail:c.detail}));return u||l};try{(0,Gg.setMaxListeners)?.(1/0,r)}catch{}this.#e=!1,this.peerId=e.peerId,this.services={};let i=this.components=ny({peerId:e.peerId,events:r,datastore:e.datastore??new da,connectionGater:dy(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new la(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",c=>{if(c.detail.previous==null){let u={id:c.detail.peer.id,multiaddrs:c.detail.peer.addresses.map(l=>l.multiaddr),protocols:c.detail.peer.protocols};i.events.safeDispatchEvent("peer:discovery",{detail:u})}}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new Qa(this.components,{connectionEncryption:(e.connectionEncryption??[]).map((c,u)=>this.configureComponent(`connection-encryption-${u}`,c(this.components))),muxers:(e.streamMuxers??[]).map((c,u)=>this.configureComponent(`stream-muxers-${u}`,c(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new $a(this.components,e.transportManager)),this.configureComponent("connectionManager",new ka(this.components,e.connectionManager)),this.configureComponent("registrar",new Va(this.components)),this.configureComponent("addressManager",new pa(this.components,e.addresses));let o=kn.generateOptions();this.keychain=this.configureComponent("keyChain",new kn(this.components,{...o,...e.keychain}));let s=(e.peerRouters??[]).map((c,u)=>this.configureComponent(`peer-router-${u}`,c(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new qa(this.components,{routers:s}));let a=(e.contentRouters??[]).map((c,u)=>this.configureComponent(`content-router-${u}`,c(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new Fa(this.components,{routers:a})),(e.peerDiscovery??[]).forEach((c,u)=>{this.configureComponent(`peer-discovery-${u}`,c(this.components)).addEventListener("peer",f=>{this.#t(f)})}),e.transports.forEach((c,u)=>{this.components.transportManager.add(this.configureComponent(`transport-${u}`,c(this.components)))}),e.services!=null)for(let c of Object.keys(e.services)){let u=e.services[c],l=u(this.components);if(l==null){wt.error("service factory %s returned null or undefined instance",c);continue}this.services[c]=l,this.configureComponent(c,l),l[Mu]!=null&&(wt("registering service %s for content routing",c),a.push(l[Mu])),l[qu]!=null&&(wt("registering service %s for peer routing",c),s.push(l[qu])),l[Ku]!=null&&(wt("registering service %s for peer discovery",c),l[Ku].addEventListener("peer",f=>{this.#t(f)}))}}configureComponent(e,r){return r==null&&wt.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(this.#e)return;this.#e=!0,wt("libp2p is starting"),(await this.keychain.listKeys()).find(r=>r.name==="self")==null&&(wt("importing self key into keychain"),await this.keychain.importPeer("self",this.components.peerId));try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),this.safeDispatchEvent("start",{detail:this}),wt("libp2p has started")}catch(r){throw wt.error("An error occurred starting libp2p",r),await this.stop(),r}}async stop(){this.#e&&(wt("libp2p is stopping"),this.#e=!1,await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.safeDispatchEvent("stop",{detail:this}),wt("libp2p has stopped"))}isStarted(){return this.#e}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new On;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,r)}async dialProtocol(e,r,n={}){if(r==null)throw new b("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 b("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={}){Mn(e)&&(e=de(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e,r)}async getPublicKey(e,r={}){if(wt("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=Ue([G("/pk/"),e.multihash.digest]),o=await this.contentRouting.get(i,r);return ho(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)}#t(e){let{detail:r}=e;if(r.id.toString()===this.peerId.toString()){wt.error(new Error(F.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs,protocols:r.protocols}).catch(n=>{wt.error(n)})}};async function Yg(t){if(t.peerId==null){let e=t.datastore;if(e!=null)try{let r=new kn({datastore:e},Qr(kn.generateOptions(),t.keychain));t.peerId=await r.exportPeerId("self")}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}}return t.peerId==null&&(t.peerId=await um()),new Mf(Py(t))}async function QA(t){let e=await Yg(t);return t.start!==!1&&await e.start(),e}return a1(XA);})();
|
|
50
50
|
/*! Bundled license information:
|
|
51
51
|
|
|
52
52
|
@noble/hashes/esm/utils.js:
|