libp2p 0.46.7 → 0.46.8-a6be8f0f
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 +21 -21
- package/dist/src/connection-manager/auto-dial.d.ts +2 -0
- package/dist/src/connection-manager/auto-dial.d.ts.map +1 -1
- package/dist/src/connection-manager/auto-dial.js +19 -2
- package/dist/src/connection-manager/auto-dial.js.map +1 -1
- package/dist/src/connection-manager/constants.defaults.d.ts +4 -0
- package/dist/src/connection-manager/constants.defaults.d.ts.map +1 -1
- package/dist/src/connection-manager/constants.defaults.js +4 -0
- package/dist/src/connection-manager/constants.defaults.js.map +1 -1
- package/dist/src/connection-manager/index.d.ts +7 -0
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/libp2p.js +1 -1
- package/dist/src/libp2p.js.map +1 -1
- package/dist/src/registrar.js +1 -1
- package/dist/src/registrar.js.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 +23 -23
- package/src/connection-manager/auto-dial.ts +22 -2
- package/src/connection-manager/constants.defaults.ts +5 -0
- package/src/connection-manager/index.ts +8 -0
- package/src/libp2p.ts +1 -1
- package/src/registrar.ts +1 -1
- package/src/version.ts +1 -1
- package/dist/typedoc-urls.json +0 -58
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};Ka.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=Df[e];if(!r){r=Df[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 Ng(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((gA,Uf)=>{var kf=ye(),Of=Nf(),E=Uf.exports=kf.util=kf.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=qa;function qa(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 qa||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}E.ByteStringBuffer=qa;var kg=4096;E.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>kg&&(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 Og(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=Og;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 Tr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Br=[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],Mf="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+=Tr.charAt(i>>2),r+=Tr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Tr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Tr.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=Br[t.charCodeAt(c++)-43],o=Br[t.charCodeAt(c++)-43],s=Br[t.charCodeAt(c++)-43],a=Br[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,Mf,e)};E.binary.base58.decode=function(t,e){return E.binary.baseN.decode(t,Mf,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 Va=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}},$a=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},Mg=function(t,e,r,n){var i=$a(t,e);i===null&&(i={}),i[r]=n,Va(t,e,i)},Ug=function(t,e,r){var n=$a(t,e);return n!==null&&(n=r in n?n[r]:null),n},Fg=function(t,e,r){var n=$a(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),Va(t,e,n)}},Kg=function(t,e){Va(t,e,null)},Uo=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){Uo(Mg,arguments,i)};E.getItem=function(t,e,r,n){return Uo(Ug,arguments,n)};E.removeItem=function(t,e,r,n){Uo(Fg,arguments,n)};E.clearItems=function(t,e,r){Uo(Kg,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 Fo=O((xA,Ff)=>{var Fi=ye();Fi.pki=Fi.pki||{};var Ha=Ff.exports=Fi.pki.oids=Fi.oids=Fi.oids||{};function B(t,e){Ha[t]=e,Ha[e]=t}function he(t,e){Ha[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((EA,qf)=>{var Ae=ye();Oe();Fo();var M=qf.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 qg=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=Ko(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 Ko(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=qg(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(Ko(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(Ko(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=Ko(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 Kf=/[^\\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 Ag=Object.create;var No=Object.defineProperty;var Sg=Object.getOwnPropertyDescriptor;var Ig=Object.getOwnPropertyNames;var Rg=Object.getPrototypeOf,Cg=Object.prototype.hasOwnProperty;var O=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ge=(t,e)=>{for(var r in e)No(t,r,{get:e[r],enumerable:!0})},_f=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ig(e))!Cg.call(t,i)&&i!==r&&No(t,i,{get:()=>e[i],enumerable:!(n=Sg(e,i))||n.enumerable});return t};var te=(t,e,r)=>(r=t!=null?Ag(Rg(t)):{},_f(e||!t||!t.__esModule?No(r,"default",{value:t,enumerable:!0}):r,t)),Tg=t=>_f(No({},"__esModule",{value:!0}),t);var Hn=O((gA,Ua)=>{"use strict";var $n=typeof Reflect=="object"?Reflect:null,Af=$n&&typeof $n.apply=="function"?$n.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},ko;$n&&typeof $n.ownKeys=="function"?ko=$n.ownKeys:Object.getOwnPropertySymbols?ko=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:ko=function(e){return Object.getOwnPropertyNames(e)};function Bg(t){console&&console.warn&&console.warn(t)}var If=Number.isNaN||function(e){return e!==e};function xe(){xe.init.call(this)}Ua.exports=xe;Ua.exports.once=Ng;xe.EventEmitter=xe;xe.prototype._events=void 0;xe.prototype._eventsCount=0;xe.prototype._maxListeners=void 0;var Sf=10;function Oo(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 Sf},set:function(t){if(typeof t!="number"||t<0||If(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");Sf=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||If(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 Rf(t){return t._maxListeners===void 0?xe.defaultMaxListeners:t._maxListeners}xe.prototype.getMaxListeners=function(){return Rf(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")Af(c,this,r);else for(var u=c.length,l=Pf(c,u),n=0;n<u;++n)Af(l[n],this,r);return!0};function Cf(t,e,r,n){var i,o,s;if(Oo(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=Rf(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,Bg(a)}return t}xe.prototype.addListener=function(e,r){return Cf(this,e,r,!1)};xe.prototype.on=xe.prototype.addListener;xe.prototype.prependListener=function(e,r){return Cf(this,e,r,!0)};function Lg(){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 Tf(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=Lg.bind(n);return i.listener=r,n.wrapFn=i,i}xe.prototype.once=function(e,r){return Oo(r),this.on(e,Tf(this,e,r)),this};xe.prototype.prependOnceListener=function(e,r){return Oo(r),this.prependListener(e,Tf(this,e,r)),this};xe.prototype.removeListener=function(e,r){var n,i,o,s,a;if(Oo(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():Pg(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 Bf(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?Dg(i):Pf(i,i.length)}xe.prototype.listeners=function(e){return Bf(this,e,!0)};xe.prototype.rawListeners=function(e){return Bf(this,e,!1)};xe.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):Lf.call(t,e)};xe.prototype.listenerCount=Lf;function Lf(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?ko(this._events):[]};function Pf(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function Pg(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function Dg(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function Ng(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))}Df(t,e,o,{once:!0}),e!=="error"&&kg(t,i,{once:!0})})}function kg(t,e,r){typeof t.on=="function"&&Df(t,"error",e,r)}function Df(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((xA,Nf)=>{Nf.exports={options:{usePureJavaScript:!1}}});var Mf=O((EA,Of)=>{var Fa={};Of.exports=Fa;var kf={};Fa.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=Og(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};Fa.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=kf[e];if(!r){r=kf[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 Og(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((wA,qf)=>{var Uf=ye(),Ff=Mf(),E=qf.exports=Uf.util=Uf.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=Ka;function Ka(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 Ka||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}E.ByteStringBuffer=Ka;var Mg=4096;E.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>Mg&&(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 Ug(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=Ug;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],Kf="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=Tr[t.charCodeAt(s++)-43],n=Tr[t.charCodeAt(s++)-43],i=Tr[t.charCodeAt(s++)-43],o=Tr[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:Ff.encode,decode:Ff.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+=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
|
|
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,Kf,e)};E.binary.base58.decode=function(t,e){return E.binary.baseN.decode(t,Kf,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 qa=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}},Va=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},Fg=function(t,e,r,n){var i=Va(t,e);i===null&&(i={}),i[r]=n,qa(t,e,i)},Kg=function(t,e,r){var n=Va(t,e);return n!==null&&(n=r in n?n[r]:null),n},qg=function(t,e,r){var n=Va(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),qa(t,e,n)}},Vg=function(t,e){qa(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(Fg,arguments,i)};E.getItem=function(t,e,r,n){return Mo(Kg,arguments,n)};E.removeItem=function(t,e,r,n){Mo(qg,arguments,n)};E.clearItems=function(t,e,r){Mo(Vg,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((bA,Vf)=>{var Fi=ye();Fi.pki=Fi.pki||{};var $a=Vf.exports=Fi.pki.oids=Fi.oids=Fi.oids||{};function B(t,e){$a[t]=e,$a[e]=t}function he(t,e){$a[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((vA,Hf)=>{var Ae=ye();Oe();Uo();var M=Hf.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 $g=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=$g(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 $f=/[^\\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)Kf.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:Kf.test(t.value)?n+="0x"+Ae.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var Ga=O((wA,Vf)=>{var Ye=ye();Oe();Vf.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 za=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)};za.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)};za.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()};za.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 Wa=O((bA,$f)=>{var We=ye();Oe();We.cipher=We.cipher||{};var re=$f.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=qo(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=qo(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=qo(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=qo(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}Vo(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(Ya(n*8)))}this._inBlock=this._j0.slice(0),Vo(this._inBlock),this._partialBytes=0,r=We.util.createBuffer(r),this._aDataLength=Ya(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),Vo(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),Vo(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(Ya(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 qo(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 Vo(t){t[t.length-1]=t[t.length-1]+1&4294967295}function Ya(t){return[t/4294967296|0,t&4294967295]}});var Ho=O((vA,Yf)=>{var ve=ye();Ga();Wa();Oe();Yf.exports=ve.aes=ve.aes||{};ve.aes.startEncrypting=function(t,e,r,n){var i=$o({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};ve.aes.createEncryptionCipher=function(t,e){return $o({key:t,output:null,decrypt:!1,mode:e})};ve.aes.startDecrypting=function(t,e,r,n){var i=$o({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};ve.aes.createDecryptionCipher=function(t,e){return $o({key:t,output:null,decrypt:!0,mode:e})};ve.aes.Algorithm=function(t,e){Za||zf();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Xa(r._w,n,i,!1)},decrypt:function(n,i){return Xa(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=Gf(e,t.decrypt&&!s),this._init=!0}};ve.aes._expandKey=function(t,e){return Za||zf(),Gf(t,e)};ve.aes._updateBlock=Xa;zn("AES-ECB",ve.cipher.modes.ecb);zn("AES-CBC",ve.cipher.modes.cbc);zn("AES-CFB",ve.cipher.modes.cfb);zn("AES-OFB",ve.cipher.modes.ofb);zn("AES-CTR",ve.cipher.modes.ctr);zn("AES-GCM",ve.cipher.modes.gcm);function zn(t,e){var r=function(){return new ve.aes.Algorithm(t,e)};ve.cipher.registerAlgorithm(t,r)}var Za=!1,Hn=4,ft,Qa,Hf,rn,Pt;function zf(){Za=!0,Hf=[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),Qa=new Array(256),rn=new Array(4),Pt=new Array(4);for(var e=0;e<4;++e)rn[e]=new Array(256),Pt[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,Qa[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,Pt[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 Gf(t,e){for(var r=t.slice(0),n,i=1,o=r.length,s=o+6+1,a=Hn*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]^Hf[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=Pt[0],f=Pt[1],h=Pt[2],p=Pt[3],d=r.slice(0);a=r.length;for(var c=0,m=a-Hn;c<a;c+=Hn,m-=Hn)if(c===0||c===a-Hn)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<Hn;++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 Xa(t,e,r,n){var i=t.length/4-1,o,s,a,c,u;n?(o=Pt[0],s=Pt[1],a=Pt[2],c=Pt[3],u=Qa):(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 $o(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 Xf=O((_A,Qf)=>{var Ie=ye();Ga();Wa();Oe();Qf.exports=Ie.des=Ie.des||{};Ie.des.startEncrypting=function(t,e,r,n){var i=zo({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};Ie.des.createEncryptionCipher=function(t,e){return zo({key:t,output:null,decrypt:!1,mode:e})};Ie.des.startDecrypting=function(t,e,r,n){var i=zo({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};Ie.des.createDecryptionCipher=function(t,e){return zo({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 Wf(r._keys,n,i,!1)},decrypt:function(n,i){return Wf(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=Xg(e),this._init=!0}};Wt("DES-ECB",Ie.cipher.modes.ecb);Wt("DES-CBC",Ie.cipher.modes.cbc);Wt("DES-CFB",Ie.cipher.modes.cfb);Wt("DES-OFB",Ie.cipher.modes.ofb);Wt("DES-CTR",Ie.cipher.modes.ctr);Wt("3DES-ECB",Ie.cipher.modes.ecb);Wt("3DES-CBC",Ie.cipher.modes.cbc);Wt("3DES-CFB",Ie.cipher.modes.cfb);Wt("3DES-OFB",Ie.cipher.modes.ofb);Wt("3DES-CTR",Ie.cipher.modes.ctr);function Wt(t,e){var r=function(){return new Ie.des.Algorithm(t,e)};Ie.cipher.registerAlgorithm(t,r)}var Vg=[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],$g=[-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],Hg=[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],zg=[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],Gg=[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],Yg=[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],Wg=[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],Qg=[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 Xg(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 D=0;D<g.length;++D){g[D]?(_=_<<2|_>>>26,A=A<<2|A>>>26):(_=_<<1|_>>>27,A=A<<1|A>>>27),_&=-15,A&=-15;var P=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^P)&65535,y[x++]=P^w,y[x++]=W^w<<16}}return y}function Wf(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^($g[p>>>24&63]|zg[p>>>16&63]|Yg[p>>>8&63]|Qg[p&63]|Vg[d>>>24&63]|Hg[d>>>16&63]|Gg[d>>>8&63]|Wg[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 zo(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((AA,Zf)=>{var Go=ye();Zf.exports=Go.md=Go.md||{};Go.md.algorithms=Go.md.algorithms||{}});var Jf=O((SA,jf)=>{var ur=ye();nn();Oe();var Zg=jf.exports=ur.hmac=ur.hmac||{};Zg.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 ur.md.algorithms)e=ur.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=ur.util.createBuffer(s);else if(ur.util.isArray(s)){var a=s;s=ur.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=ur.util.createBuffer(),n=ur.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 ja=O((CA,e0)=>{var ht=ye();Jf();nn();Oe();var jg=ht.pkcs5=ht.pkcs5||{},lr;ht.util.isNodejs&&!ht.options.usePureJavaScript&&(lr=Vi());e0.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&&lr.pbkdf2&&(i===null||typeof i!="object")&&(lr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),o?lr.pbkdf2Sync.length===4?lr.pbkdf2(t,e,r,n,function(w,C){if(w)return o(w);o(null,C.toString("binary"))}):lr.pbkdf2(t,e,r,n,i,function(w,C){if(w)return o(w);o(null,C.toString("binary"))}):lr.pbkdf2Sync.length===4?lr.pbkdf2Sync(t,e,r,n).toString("binary"):lr.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 n0=O((TA,r0)=>{var Wo=ye();Oe();var t0=r0.exports=Wo.pem=Wo.pem||{};t0.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)$f.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:$f.test(t.value)?n+="0x"+Ae.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var za=O((_A,zf)=>{var Ye=ye();Oe();zf.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 Ha=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)};Ha.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)};Ha.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()};Ha.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 Ya=O((AA,Gf)=>{var We=ye();Oe();We.cipher=We.cipher||{};var re=Gf.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(Ga(n*8)))}this._inBlock=this._j0.slice(0),qo(this._inBlock),this._partialBytes=0,r=We.util.createBuffer(r),this._aDataLength=Ga(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(Ga(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 Ga(t){return[t/4294967296|0,t&4294967295]}});var $o=O((SA,Xf)=>{var ve=ye();za();Ya();Oe();Xf.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){Xa||Wf();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Qa(r._w,n,i,!1)},decrypt:function(n,i){return Qa(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=Qf(e,t.decrypt&&!s),this._init=!0}};ve.aes._expandKey=function(t,e){return Xa||Wf(),Qf(t,e)};ve.aes._updateBlock=Qa;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 Xa=!1,zn=4,ft,Wa,Yf,rn,Dt;function Wf(){Xa=!0,Yf=[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),Wa=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,Wa[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 Qf(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]^Yf[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 Qa(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=Wa):(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((IA,jf)=>{var Ie=ye();za();Ya();Oe();jf.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 Zf(r._keys,n,i,!1)},decrypt:function(n,i){return Zf(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=jg(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 Hg=[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],zg=[-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],Gg=[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],Yg=[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],Wg=[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],Qg=[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],Xg=[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],Zg=[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 jg(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 Zf(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^(zg[p>>>24&63]|Yg[p>>>16&63]|Qg[p>>>8&63]|Zg[p&63]|Hg[d>>>24&63]|Gg[d>>>16&63]|Wg[d>>>8&63]|Xg[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((RA,e0)=>{var zo=ye();e0.exports=zo.md=zo.md||{};zo.md.algorithms=zo.md.algorithms||{}});var r0=O((CA,t0)=>{var cr=ye();nn();Oe();var Jg=t0.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 Za=O((LA,n0)=>{var ht=ye();r0();nn();Oe();var e1=ht.pkcs5=ht.pkcs5||{},ur;ht.util.isNodejs&&!ht.options.usePureJavaScript&&(ur=Vi());n0.exports=ht.pbkdf2=e1.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 s0=O((PA,o0)=>{var Yo=ye();Oe();var i0=o0.exports=Yo.pem=Yo.pem||{};i0.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+=Go(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=Go(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=Go(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=Go(t.headers[i]);return t.procType&&(r+=`\r
|
|
10
|
+
`),r+=Yo.util.encode64(t.body,e.maxline||64)+`\r
|
|
11
11
|
`,r+="-----END "+t.type+`-----\r
|
|
12
|
-
`,r};
|
|
12
|
+
`,r};i0.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:Yo.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(t1(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 Go(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 Jg(t){return t.replace(/^\s+/,"")}});var u0=O((BA,c0)=>{var Qt=ye();nn();Oe();var o0=c0.exports=Qt.sha256=Qt.sha256||{};Qt.md.sha256=Qt.md.algorithms.sha256=o0;o0.create=function(){s0||e1();var t=null,e=Qt.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=Qt.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=Qt.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=Qt.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Ja.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};i0(f,r,i);var h=Qt.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 Ja=null,s0=!1,a0=null;function e1(){Ja=String.fromCharCode(128),Ja+=Qt.util.fillString(String.fromCharCode(0),64),a0=[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],s0=!0}function i0(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+a0[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 f0=O((LA,l0)=>{var Xt=ye();Oe();var Qo=null;Xt.util.isNodejs&&!Xt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Qo=Vi());var t1=l0.exports=Xt.prng=Xt.prng||{};t1.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=Xt.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 Xt.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)),Xt.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=Xt.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=Xt.util.globalScope,h=f.crypto||f.msCrypto;h&&h.getRandomValues&&(l=function(_){return h.getRandomValues(_)});var p=Xt.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 Qo?(e.seedFile=function(u,l){Qo.randomBytes(u,function(f,h){if(f)return l(f);l(null,h.toString())})},e.seedFileSync=function(u){return Qo.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,ec)=>{var Qe=ye();Ho();u0();f0();Oe();(function(){if(Qe.random&&Qe.random.getBytes){ec.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,ec.exports=Qe.random})(typeof jQuery<"u"?jQuery:null)})()});var m0=O((PA,p0)=>{var pt=ye();Oe();var tc=[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],h0=[1,2,3,5],r1=function(t,e){return t<<e&65535|(t&65535)>>16-e},n1=function(t,e){return(t&65535)>>e|t<<16-e&65535};p0.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(tc[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,tc[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,tc[r.at(a+1)^r.at(a+o)]);return r};var d0=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]=r1(d[u],h0[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]=n1(d[u],h0[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 d0(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 d0(t,e,!1)}});var jo=O((NA,_0)=>{var rc=ye();_0.exports=rc.jsbn=rc.jsbn||{};var fr,i1=0xdeadbeefcafe,y0=(i1&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))}rc.jsbn.BigInteger=R;function ue(){return new R(null)}function o1(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 s1(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 g0(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=g0,fr=28):y0&&navigator.appName=="Microsoft Internet Explorer"?(R.prototype.am=s1,fr=30):y0&&navigator.appName!="Netscape"?(R.prototype.am=o1,fr=26):(R.prototype.am=g0,fr=28);R.prototype.DB=fr;R.prototype.DM=(1<<fr)-1;R.prototype.DV=1<<fr;var nc=52;R.prototype.FV=Math.pow(2,nc);R.prototype.F1=nc-fr;R.prototype.F2=2*fr-nc;var a1="0123456789abcdefghijklmnopqrstuvwxyz",Xo=new Array,Gn,Rt;Gn="0".charCodeAt(0);for(Rt=0;Rt<=9;++Rt)Xo[Gn++]=Rt;Gn="a".charCodeAt(0);for(Rt=10;Rt<36;++Rt)Xo[Gn++]=Rt;Gn="A".charCodeAt(0);for(Rt=10;Rt<36;++Rt)Xo[Gn++]=Rt;function x0(t){return a1.charAt(t)}function E0(t,e){var r=Xo[t.charCodeAt(e)];return r??-1}function c1(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 u1(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 Lr(t){var e=ue();return e.fromInt(t),e}function l1(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:E0(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 f1(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function h1(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=x0(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+=x0(n));return i?o:"0"}function d1(){var t=ue();return R.ZERO.subTo(this,t),t}function p1(){return this.s<0?this.negate():this}function m1(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 Zo(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 y1(){return this.t<=0?0:this.DB*(this.t-1)+Zo(this.data[this.t-1]^this.s&this.DM)}function g1(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 x1(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 E1(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 w1(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 b1(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 v1(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 _1(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 A1(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-Zo(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 S1(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 I1(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function R1(t){return t}function C1(t){t.divRemTo(this.m,null,t)}function T1(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function B1(t,e){t.squareTo(e),this.reduce(e)}on.prototype.convert=I1;on.prototype.revert=R1;on.prototype.reduce=C1;on.prototype.mulTo=T1;on.prototype.sqrTo=B1;function L1(){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 P1(t){var e=ue();return t.copyTo(e),this.reduce(e),e}function N1(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 k1(t,e){t.squareTo(e),this.reduce(e)}function O1(t,e,r){t.multiplyTo(e,r),this.reduce(r)}sn.prototype.convert=D1;sn.prototype.revert=P1;sn.prototype.reduce=N1;sn.prototype.mulTo=O1;sn.prototype.sqrTo=k1;function M1(){return(this.t>0?this.data[0]&1:this.s)==0}function U1(t,e){if(t>4294967295||t<1)return R.ONE;var r=ue(),n=ue(),i=e.convert(this),o=Zo(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 F1(t,e){var r;return t<256||e.isEven()?r=new on(e):r=new sn(e),this.exp(t,r)}R.prototype.copyTo=c1;R.prototype.fromInt=u1;R.prototype.fromString=l1;R.prototype.clamp=f1;R.prototype.dlShiftTo=g1;R.prototype.drShiftTo=x1;R.prototype.lShiftTo=E1;R.prototype.rShiftTo=w1;R.prototype.subTo=b1;R.prototype.multiplyTo=v1;R.prototype.squareTo=_1;R.prototype.divRemTo=A1;R.prototype.invDigit=L1;R.prototype.isEven=M1;R.prototype.exp=U1;R.prototype.toString=h1;R.prototype.negate=d1;R.prototype.abs=p1;R.prototype.compareTo=m1;R.prototype.bitLength=y1;R.prototype.mod=S1;R.prototype.modPowInt=F1;R.ZERO=Lr(0);R.ONE=Lr(1);function K1(){var t=ue();return this.copyTo(t),t}function q1(){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 V1(){return this.t==0?this.s:this.data[0]<<24>>24}function $1(){return this.t==0?this.s:this.data[0]<<16>>16}function H1(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function z1(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function G1(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=Lr(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 Y1(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=E0(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 W1(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),ic,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 Q1(){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 X1(t){return this.compareTo(t)==0}function Z1(t){return this.compareTo(t)<0?this:t}function j1(t){return this.compareTo(t)>0?this:t}function J1(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 ex(t,e){return t&e}function tx(t){var e=ue();return this.bitwiseTo(t,ex,e),e}function ic(t,e){return t|e}function rx(t){var e=ue();return this.bitwiseTo(t,ic,e),e}function w0(t,e){return t^e}function nx(t){var e=ue();return this.bitwiseTo(t,w0,e),e}function b0(t,e){return t&~e}function ix(t){var e=ue();return this.bitwiseTo(t,b0,e),e}function ox(){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 sx(t){var e=ue();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function ax(t){var e=ue();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function cx(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 ux(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+cx(this.data[t]);return this.s<0?this.t*this.DB:-1}function lx(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function fx(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=lx(this.data[r]^e);return t}function hx(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function dx(t,e){var r=R.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function px(t){return this.changeBit(t,ic)}function mx(t){return this.changeBit(t,b0)}function yx(t){return this.changeBit(t,w0)}function gx(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 xx(t){var e=ue();return this.addTo(t,e),e}function Ex(t){var e=ue();return this.subTo(t,e),e}function wx(t){var e=ue();return this.multiplyTo(t,e),e}function bx(t){var e=ue();return this.divRemTo(t,e,null),e}function vx(t){var e=ue();return this.divRemTo(t,null,e),e}function _x(t){var e=ue(),r=ue();return this.divRemTo(t,e,r),new Array(e,r)}function Ax(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function Sx(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 v0(t){return t}function Ix(t,e,r){t.multiplyTo(e,r)}function Rx(t,e){t.squareTo(e)}Hi.prototype.convert=v0;Hi.prototype.revert=v0;Hi.prototype.mulTo=Ix;Hi.prototype.sqrTo=Rx;function Cx(t){return this.exp(t,new Hi)}function Tx(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 Bx(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 Yn(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 Lx(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 Px(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 Nx(t,e){t.squareTo(e),this.reduce(e)}function kx(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Yn.prototype.convert=Lx;Yn.prototype.revert=Dx;Yn.prototype.reduce=Px;Yn.prototype.mulTo=kx;Yn.prototype.sqrTo=Nx;function Ox(t,e){var r=t.bitLength(),n,i=Lr(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 Yn(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=Zo(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 Mx(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 Ux(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 Fx(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return R.ZERO;for(var r=t.clone(),n=this.clone(),i=Lr(1),o=Lr(0),s=Lr(0),a=Lr(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],Kx=(1<<26)/Nt[Nt.length-1];function qx(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<Kx;)n*=Nt[i++];for(n=r.modInt(n);e<i;)if(n%Nt[e++]==0)return!1}return r.millerRabin(t)}function Vx(t){var e=this.subtract(R.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=$x(),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 $x(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}R.prototype.chunkSize=H1;R.prototype.toRadix=G1;R.prototype.fromRadix=Y1;R.prototype.fromNumber=W1;R.prototype.bitwiseTo=J1;R.prototype.changeBit=dx;R.prototype.addTo=gx;R.prototype.dMultiply=Ax;R.prototype.dAddOffset=Sx;R.prototype.multiplyLowerTo=Tx;R.prototype.multiplyUpperTo=Bx;R.prototype.modInt=Ux;R.prototype.millerRabin=Vx;R.prototype.clone=K1;R.prototype.intValue=q1;R.prototype.byteValue=V1;R.prototype.shortValue=$1;R.prototype.signum=z1;R.prototype.toByteArray=Q1;R.prototype.equals=X1;R.prototype.min=Z1;R.prototype.max=j1;R.prototype.and=tx;R.prototype.or=rx;R.prototype.xor=nx;R.prototype.andNot=ix;R.prototype.not=ox;R.prototype.shiftLeft=sx;R.prototype.shiftRight=ax;R.prototype.getLowestSetBit=ux;R.prototype.bitCount=fx;R.prototype.testBit=hx;R.prototype.setBit=px;R.prototype.clearBit=mx;R.prototype.flipBit=yx;R.prototype.add=xx;R.prototype.subtract=Ex;R.prototype.multiply=wx;R.prototype.divide=bx;R.prototype.remainder=vx;R.prototype.divideAndRemainder=_x;R.prototype.modPow=Ox;R.prototype.modInverse=Fx;R.prototype.pow=Cx;R.prototype.gcd=Mx;R.prototype.isProbablePrime=qx});var C0=O((kA,R0)=>{var Zt=ye();nn();Oe();var S0=R0.exports=Zt.sha1=Zt.sha1||{};Zt.md.sha1=Zt.md.algorithms.sha1=S0;S0.create=function(){I0||Hx();var t=null,e=Zt.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=Zt.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Zt.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),A0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Zt.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(oc.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};A0(f,r,i);var h=Zt.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 oc=null,I0=!1;function Hx(){oc=String.fromCharCode(128),oc+=Zt.util.fillString(String.fromCharCode(0),64),I0=!0}function A0(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 L0=O((OA,B0)=>{var jt=ye();Oe();$i();C0();var T0=B0.exports=jt.pkcs1=jt.pkcs1||{};T0.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=jt.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=jt.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=jt.util.xorBytes(d,m,d.length),g=Jo(y,o.digestLength,s),x=jt.util.xorBytes(i,g,i.length);return"\0"+x+y};T0.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=jt.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=jt.util.xorBytes(u,f,u.length),p=Jo(h,s-i.digestLength-1,o),d=jt.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,D=x?65534:0;y|=_&D,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=jt.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 D0=O((MA,sc)=>{var Dr=ye();Oe();jo();$i();(function(){if(Dr.prime){sc.exports=Dr.prime;return}var t=sc.exports=Dr.prime=Dr.prime||{},e=Dr.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||Dr.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);Dr.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 Dr.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 D=y,A=0;A<y;++A)_[A].addEventListener("message",W);var P=!1;function W(Q){if(!P){--D;var z=Q.data;if(z.found){for(var ne=0;ne<_.length;++ne)_[ne].terminate();return P=!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 ts=O((UA,F0)=>{var H=ye();qi();jo();Fo();L0();D0();$i();Oe();typeof ae>"u"&&(ae=H.jsbn.BigInteger);var ae,ac=H.util.isNodejs?Vi():null,v=H.asn1,Ct=H.util;H.pki=H.pki||{};F0.exports=H.pki.rsa=H.rsa=H.rsa||{};var X=H.pki,zx=[6,4,2,4,2,4,6,2],Gx={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"}]},Yx={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"}]},Wx={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"}]},Qx=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"}]}]},Xx={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"}]},Zx=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()},M0=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=U0(t,e,r)):(i=H.util.createBuffer(),i.putBytes(t));for(var s=new ae(i.toHex(),16),a=M0(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=M0(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?es(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(Jx(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(zx[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(P0("generateKeyPair"))return ac.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(N0("generateKey")&&N0("exportKey"))return Ct.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:O0(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(k0("generateKey")&&k0("exportKey")){var i=Ct.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:O0(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(P0("generateKeyPairSync")){var o=ac.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 U0(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=es(u,r,!0);var l=v.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),f={},h=[];if(!v.validate(l,Xx,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=es(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:es};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:Zx},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,Gx,e,r)&&(t=v.fromDer(H.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,Yx,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,Qx,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,Wx,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 U0(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 es(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 Jx(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 P0(t){return H.util.isNodejs&&typeof ac[t]=="function"}function N0(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 k0(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 O0(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 z0=O((FA,H0)=>{var U=ye();Ho();qi();Xf();nn();Fo();ja();n0();$i();m0();ts();Oe();typeof K0>"u"&&(K0=U.jsbn.BigInteger);var K0,S=U.asn1,j=U.pki=U.pki||{};H0.exports=j.pbe=U.pbe=U.pbe||{};var an=j.oids,e2={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"}]},t2={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"}]}]},r2={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=$0(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=n2(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,e2,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 D=0;D<n;D++)o.start(),o.update(A.getBytes()),A=o.digest();var P=new U.util.ByteBuffer;for(a=0;a<u;a++)P.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=P.length()-1;a>=0;a--)ne=ne>>8,ne+=P.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,t2,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=V0(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,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}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=V0(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=[q0(n,t+e)],o=16,s=1;o<r;++s,o+=16)i.push(q0(n,i[s-1]+t+e));return i.join("").substr(0,r)};function q0(t,e){return t.start().update(e).digest().getBytes()}function V0(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 $0(e)}function $0(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 n2(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 Mh=O((RI,Oh)=>{"use strict";Oh.exports=dw;function dw(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 qh=O(Kh=>{"use strict";var Es=Kh;Es.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 si=new Array(64),Fh=new Array(123);for(Ft=0;Ft<64;)Fh[si[Ft]=Ft<26?Ft+65:Ft<52?Ft+71:Ft<62?Ft-4:Ft-59|43]=Ft++;var Ft;Es.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++]=si[u>>2],c=(u&3)<<4,a=1;break;case 1:o[s++]=si[c|u>>4],c=(u&15)<<2,a=2;break;case 2:o[s++]=si[c|u>>6],o[s++]=si[u&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=si[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 Uh="invalid encoding";Es.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=Fh[c])===void 0)throw Error(Uh);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(Uh);return n-i};Es.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var $h=O((TI,Vh)=>{"use strict";Vh.exports=ws;function ws(){this._listeners={}}ws.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};ws.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};ws.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 Xh=O((BI,Qh)=>{"use strict";Qh.exports=Hh(Hh);function Hh(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,zh),t.writeFloatBE=e.bind(null,Gh);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,Yh),t.readFloatBE=r.bind(null,Wh)}(),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,zh,0,4),t.writeDoubleBE=e.bind(null,Gh,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,Yh,0,4),t.readDoubleBE=r.bind(null,Wh,4,0)}(),t}function zh(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 Gh(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 Yh(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function Wh(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var Zh=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 Jh=O(jh=>{"use strict";var Gc=jh;Gc.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};Gc.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))};Gc.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 td=O((DI,ed)=>{"use strict";ed.exports=pw;function pw(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 nd=O((PI,rd)=>{"use strict";rd.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 mw=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 Kr=String.prototype.charCodeAt;Xe.fromHash=function(e){return e===mw?mn:new Xe((Kr.call(e,0)|Kr.call(e,1)<<8|Kr.call(e,2)<<16|Kr.call(e,3)<<24)>>>0,(Kr.call(e,4)|Kr.call(e,5)<<8|Kr.call(e,6)<<16|Kr.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(Yc=>{"use strict";var $=Yc;$.asPromise=Mh();$.base64=qh();$.EventEmitter=$h();$.float=Xh();$.inquire=Zh();$.utf8=Jh();$.pool=td();$.LongBits=nd();$.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||Yc;$.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 id(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=id;$.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function od(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&&id(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=od;$.ProtocolError=od("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 Xc=O((kI,ld)=>{"use strict";ld.exports=Fe;var Kt=yn(),Qc,cd=Kt.LongBits,yw=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 sd=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")},ud=function(){return Kt.Buffer?function(r){return(Fe.create=function(i){return Kt.Buffer.isBuffer(i)?new Qc(i):sd(i)})(r)}:sd};Fe.create=ud();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 Wc(){var t=new cd(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 bs(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 bs(this.buf,this.pos+=4)};Fe.prototype.sfixed32=function(){if(this.pos+4>this.len)throw qt(this,4);return bs(this.buf,this.pos+=4)|0};function ad(){if(this.pos+8>this.len)throw qt(this,8);return new cd(bs(this.buf,this.pos+=4),bs(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 yw.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){Qc=t,Fe.create=ud(),Qc._configure();var e=Kt.Long?"toLong":"toNumber";Kt.merge(Fe.prototype,{int64:function(){return Wc.call(this)[e](!1)},uint64:function(){return Wc.call(this)[e](!0)},sint64:function(){return Wc.call(this).zzDecode()[e](!1)},fixed64:function(){return ad.call(this)[e](!0)},sfixed64:function(){return ad.call(this)[e](!1)}})}});var pd=O((OI,dd)=>{"use strict";dd.exports=gn;var hd=Xc();(gn.prototype=Object.create(hd.prototype)).constructor=gn;var fd=yn();function gn(t){hd.call(this,t)}gn._configure=function(){fd.Buffer&&(gn.prototype._slice=fd.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 nu=O((MI,xd)=>{"use strict";xd.exports=le;var Tt=yn(),Zc,vs=Tt.LongBits,md=Tt.base64,yd=Tt.utf8;function ji(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function Jc(){}function gw(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(Jc,0,0),this.tail=this.head,this.states=null}var gd=function(){return Tt.Buffer?function(){return(le.create=function(){return new Zc})()}:function(){return new le}};le.create=gd();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 eu(t,e,r){e[r]=t&255}function xw(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function tu(t,e){this.len=t,this.next=void 0,this.val=e}tu.prototype=Object.create(ji.prototype);tu.prototype.fn=xw;le.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new tu((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(ru,10,vs.fromNumber(e)):this.uint32(e)};le.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function ru(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=vs.from(e);return this._push(ru,r.length(),r)};le.prototype.int64=le.prototype.uint64;le.prototype.sint64=function(e){var r=vs.from(e).zzEncode();return this._push(ru,r.length(),r)};le.prototype.bool=function(e){return this._push(eu,1,e?1:0)};function jc(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(jc,4,e>>>0)};le.prototype.sfixed32=le.prototype.fixed32;le.prototype.fixed64=function(e){var r=vs.from(e);return this._push(jc,4,r.lo)._push(jc,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 Ew=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(eu,1,0);if(Tt.isString(e)){var n=le.alloc(r=md.length(e));md.decode(e,n,0),e=n}return this.uint32(r)._push(Ew,r,e)};le.prototype.string=function(e){var r=yd.length(e);return r?this.uint32(r)._push(yd.write,r,e):this._push(eu,1,0)};le.prototype.fork=function(){return this.states=new gw(this),this.head=this.tail=new ji(Jc,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(Jc,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){Zc=t,le.create=gd(),Zc._configure()}});var bd=O((UI,wd)=>{"use strict";wd.exports=rr;var Ed=nu();(rr.prototype=Object.create(Ed.prototype)).constructor=rr;var qr=yn();function rr(){Ed.call(this)}rr._configure=function(){rr.alloc=qr._Buffer_allocUnsafe,rr.writeBytesBuffer=qr.Buffer&&qr.Buffer.prototype instanceof Uint8Array&&qr.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++]}};rr.prototype.bytes=function(e){qr.isString(e)&&(e=qr._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(rr.writeBytesBuffer,r,e),this};function ww(t,e,r){t.length<40?qr.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}rr.prototype.string=function(e){var r=qr.Buffer.byteLength(e);return this.uint32(r),r&&this._push(ww,r,e),this};rr._configure()});var kd=O((UR,Nd)=>{var Se=ye();nn();Oe();var eo=Nd.exports=Se.sha512=Se.sha512||{};Se.md.sha512=Se.md.algorithms.sha512=eo;var Dd=Se.sha384=Se.sha512.sha384=Se.sha512.sha384||{};Dd.create=function(){return eo.create("SHA-384")};Se.md.sha384=Se.md.algorithms.sha384=Dd;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(Pd||Tw(),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),Ld(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(fu.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);Ld(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 fu=null,Pd=!1,hu=null,En=null;function Tw(){fu=String.fromCharCode(128),fu+=Se.util.fillString(String.fromCharCode(0),128),hu=[[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]],Pd=!0}function Ld(t,e,r){for(var n,i,o,s,a,c,u,l,f,h,p,d,m,y,g,x,w,C,_,A,D,P,W,Q,z,ne,ge,je,T,k,L,N,I,F,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,F=e[T-15],k=F[0],L=F[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],D=t[4][0],P=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=((D>>>14|P<<18)^(D>>>18|P<<14)^(P>>>9|D<<23))>>>0,l=((D<<18|P>>>14)^(D<<14|P>>>18)^(P<<23|D>>>9))>>>0,f=(z^D&(W^z))>>>0,h=(ne^P&(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+hu[T][1]+e[T][1],n=ge+u+f+hu[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=D,Q=P,L=A+i,D=_+n+(L/4294967296>>>0)>>>0,P=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]+P,t[4][0]=t[4][0]+D+(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 Tu=O((h8,lp)=>{var fi=1e3,hi=fi*60,di=hi*60,_n=di*24,ob=_n*7,sb=_n*365.25;lp.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return ab(t);if(r==="number"&&isFinite(t))return e.long?ub(t):cb(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function ab(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*sb;case"weeks":case"week":case"w":return r*ob;case"days":case"day":case"d":return r*_n;case"hours":case"hour":case"hrs":case"hr":case"h":return r*di;case"minutes":case"minute":case"mins":case"min":case"m":return r*hi;case"seconds":case"second":case"secs":case"sec":case"s":return r*fi;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function cb(t){var e=Math.abs(t);return e>=_n?Math.round(t/_n)+"d":e>=di?Math.round(t/di)+"h":e>=hi?Math.round(t/hi)+"m":e>=fi?Math.round(t/fi)+"s":t+"ms"}function ub(t){var e=Math.abs(t);return e>=_n?Ts(t,e,_n,"day"):e>=di?Ts(t,e,di,"hour"):e>=hi?Ts(t,e,hi,"minute"):e>=fi?Ts(t,e,fi,"second"):t+" ms"}function Ts(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var hp=O((d8,fp)=>{function lb(t){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=Tu(),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,D)=>{if(A==="%%")return"%";C++;let P=r.formatters[D];if(typeof P=="function"){let W=y[C];A=P.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}fp.exports=lb});var Bu=O((bt,Bs)=>{bt.formatArgs=hb;bt.save=db;bt.load=pb;bt.useColors=fb;bt.storage=mb();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 fb(){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 hb(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Bs.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 db(t){try{t?bt.storage.setItem("debug",t):bt.storage.removeItem("debug")}catch{}}function pb(){let t;try{t=bt.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function mb(){try{return localStorage}catch{}}Bs.exports=hp()(bt);var{formatters:yb}=Bs.exports;yb.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var xp=O((P8,gp)=>{"use strict";gp.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var Ap=O((vp,_p)=>{"use strict";var Ns=xp(),{hasOwnProperty:wp}=Object.prototype,{propertyIsEnumerable:_b}=Object,yi=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),Ab=vp,Ep={concatArrays:!1,ignoreUndefined:!1},ks=t=>{let e=[];for(let r in t)wp.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)_b.call(t,n)&&e.push(n)}return e};function gi(t){return Array.isArray(t)?Sb(t):Ns(t)?Ib(t):t}function Sb(t){let e=t.slice(0,0);return ks(t).forEach(r=>{yi(e,r,gi(t[r]))}),e}function Ib(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return ks(t).forEach(r=>{yi(e,r,gi(t[r]))}),e}var bp=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?yi(t,i,Nu(t[i],e[i],n)):yi(t,i,gi(e[i])))}),t),Rb=(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++)wp.call(o,a)&&(s.push(String(a)),o===t?yi(n,i++,o[a]):yi(n,i++,gi(o[a])));n=bp(n,o,ks(o).filter(a=>!s.includes(a)),r)}),n};function Nu(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?Rb(t,e,r):!Ns(e)||!Ns(t)?gi(e):bp(t,e,ks(e),r)}_p.exports=function(...t){let e=Nu(gi(Ep),this!==Ab&&this||{},Ep),r={_:{}};for(let n of t)if(n!==void 0){if(!Ns(n))throw new TypeError("`"+n+"` is not an Option Object");r=Nu(r,{_:n},e)}return r._}});var Rp=O((k8,Ip)=>{"use strict";function Cb(t){return t>=55296&&t<=56319}function Tb(t){return t>=56320&&t<=57343}Ip.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],Cb(s)&&Tb(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 Tp=O((O8,Cp)=>{"use strict";function Bb(t){return t>=55296&&t<=56319}function Lb(t){return t>=56320&&t<=57343}Cp.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),Lb(i)?o!=null&&Bb(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 Lp=O((M8,Bp)=>{"use strict";var Db=Rp(),Pb=Tp();Bp.exports=Db.bind(null,Pb)});var Np=O((U8,Pp)=>{"use strict";var Nb=Lp(),kb=/[\/\?<>\\:\*\|"]/g,Ob=/[\x00-\x1f\x80-\x9f]/g,Mb=/^\.+$/,Ub=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,Fb=/[\. ]+$/;function Dp(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(kb,e).replace(Ob,e).replace(Mb,e).replace(Ub,e).replace(Fb,e);return Nb(r,255)}Pp.exports=function(t,e){var r=e&&e.replacement||"",n=Dp(t,r);return r===""?n:Dp(n,"")}});var cm=O((fT,tl)=>{"use strict";var gv=Object.prototype.hasOwnProperty,dt="~";function yo(){}Object.create&&(yo.prototype=Object.create(null),new yo().__proto__||(dt=!1));function xv(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function am(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new xv(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 Ks(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)gv.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 am(this,e,r,n,!1)};lt.prototype.once=function(e,r,n){return am(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 Ks(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&Ks(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:Ks(this,o)}return this};lt.prototype.removeAllListeners=function(e){var r;return e?(r=dt?dt+e:e,this._events[r]&&Ks(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 tl<"u"&&(tl.exports=lt)});var _l=O((IB,Cm)=>{"use strict";function Rm(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 Rm(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),Rm(new i,r)}}Cm.exports=Dv});var Nm=O(Ao=>{(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}(),Ao.ip2long=s,Ao.long2ip=a,Ao.Netmask=t}).call(Ao)});var Um=O((Mm,aa)=>{(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 aa<"u"&&aa.exports?aa.exports=h:t.ipaddr=h})(Mm)});var Gm=O((tL,zm)=>{"use strict";zm.exports=Hm;var Gv=Tu(),jr=Hm.prototype,Yv=new Date%1e9;function Wv(){return(Math.random()*1e9>>>0)+Yv++}function Hm(t){t=t||{},this.id=t.id||Wv(),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=Gv(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 So=O((vL,ey)=>{ey.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 ry=O((AL,ty)=>{ty.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 iy=O((SL,ny)=>{var jv=ry();ny.exports=jv});var St=O((RL,oy)=>{oy.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 Ci=O((TL,ay)=>{var Dl=So(),Jv=iy(),sy=St();ay.exports=class extends Dl{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed||e.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration||e.inmemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new Jv}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)}get _inmemoryBlockedKeys(){return this._inMemoryBlockedKeys}getInmemoryBlockMsBeforeExpire(e){return this.getInMemoryBlockMsBeforeExpire(e)}get inmemoryBlockOnConsumed(){return this.inMemoryBlockOnConsumed}set inmemoryBlockOnConsumed(e){this.inMemoryBlockOnConsumed=e}get inmemoryBlockDuration(){return this.inMemoryBlockDuration}set inmemoryBlockDuration(e){this.inMemoryBlockDuration=e}get msInmemoryBlockDuration(){return this.inMemoryBlockDuration*1e3}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 sy(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 sy(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 ly=O((BL,uy)=>{var e_=Ci(),t_=St(),cy="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} ",Pl=class extends e_{constructor(e){super(e),e.redis?this.client=e.redis:this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:cy})}_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 t_;return s.consumedPoints=parseInt(i),s.isFirstInDuration=s.consumedPoints===r,s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s.msBeforeNext=o,s}_upsert(e,r,n,i=!1){return new Promise((o,s)=>{if(!this._isRedisReady())return s(new Error("Redis connection is not ready"));let a=Math.floor(n/1e3),c=this.client.multi();if(i)a>0?c.set(e,r,"EX",a):c.set(e,r),c.pttl(e).exec((u,l)=>u?s(u):o(l));else if(a>0){let u=function(l,f){return l?s(l):o(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,a,u):this.client.eval(cy,1,e,r,a,u)}else c.incrby(e,r).pttl(e).exec((u,l)=>u?s(u):o(l))})}_get(e){return new Promise((r,n)=>{if(!this._isRedisReady())return n(new Error("Redis connection is not ready"));this.client.multi().get(e).pttl(e).exec((i,o)=>{if(i)n(i);else{let[s]=o;if(s===null)return r(null);r(o)}})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,o)=>{i?n(i):r(o>0)})})}};uy.exports=Pl});var dy=O((LL,hy)=>{var r_=Ci(),n_=St();function fy(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 Nl=class t extends r_{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=fy(this.client)}):(this._initCollection(),this._driverVersion=fy(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 n_,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)}};hy.exports=Nl});var my=O((DL,py)=>{var i_=Ci(),o_=St(),kl=class extends i_{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 o_,[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 t1(t){return t.replace(/^\s+/,"")}});var h0=O((DA,f0)=>{var Wt=ye();nn();Oe();var c0=f0.exports=Wt.sha256=Wt.sha256||{};Wt.md.sha256=Wt.md.algorithms.sha256=c0;c0.create=function(){u0||r1();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),a0(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(ja.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};a0(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 ja=null,u0=!1,l0=null;function r1(){ja=String.fromCharCode(128),ja+=Wt.util.fillString(String.fromCharCode(0),64),l0=[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],u0=!0}function a0(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+l0[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 p0=O((NA,d0)=>{var Qt=ye();Oe();var Wo=null;Qt.util.isNodejs&&!Qt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Wo=Vi());var n1=d0.exports=Qt.prng=Qt.prng||{};n1.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((kA,Ja)=>{var Qe=ye();$o();h0();p0();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 x0=O((OA,g0)=>{var pt=ye();Oe();var ec=[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],m0=[1,2,3,5],i1=function(t,e){return t<<e&65535|(t&65535)>>16-e},o1=function(t,e){return(t&65535)>>e|t<<16-e&65535};g0.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(ec[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,ec[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,ec[r.at(a+1)^r.at(a+o)]);return r};var y0=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]=i1(d[u],m0[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]=o1(d[u],m0[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 y0(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 y0(t,e,!1)}});var Zo=O((MA,I0)=>{var tc=ye();I0.exports=tc.jsbn=tc.jsbn||{};var lr,s1=0xdeadbeefcafe,E0=(s1&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))}tc.jsbn.BigInteger=R;function ue(){return new R(null)}function a1(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 c1(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 w0(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=w0,lr=28):E0&&navigator.appName=="Microsoft Internet Explorer"?(R.prototype.am=c1,lr=30):E0&&navigator.appName!="Netscape"?(R.prototype.am=a1,lr=26):(R.prototype.am=w0,lr=28);R.prototype.DB=lr;R.prototype.DM=(1<<lr)-1;R.prototype.DV=1<<lr;var rc=52;R.prototype.FV=Math.pow(2,rc);R.prototype.F1=rc-lr;R.prototype.F2=2*lr-rc;var u1="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 b0(t){return u1.charAt(t)}function v0(t,e){var r=Qo[t.charCodeAt(e)];return r??-1}function l1(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 f1(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 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:v0(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 d1(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function p1(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=b0(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+=b0(n));return i?o:"0"}function m1(){var t=ue();return R.ZERO.subTo(this,t),t}function y1(){return this.s<0?this.negate():this}function g1(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 x1(){return this.t<=0?0:this.DB*(this.t-1)+Xo(this.data[this.t-1]^this.s&this.DM)}function E1(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 w1(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 b1(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 v1(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 _1(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 A1(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 S1(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 I1(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 R1(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 C1(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function T1(t){return t}function B1(t){t.divRemTo(this.m,null,t)}function L1(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function P1(t,e){t.squareTo(e),this.reduce(e)}on.prototype.convert=C1;on.prototype.revert=T1;on.prototype.reduce=B1;on.prototype.mulTo=L1;on.prototype.sqrTo=P1;function D1(){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 N1(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 k1(t){var e=ue();return t.copyTo(e),this.reduce(e),e}function O1(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 M1(t,e){t.squareTo(e),this.reduce(e)}function U1(t,e,r){t.multiplyTo(e,r),this.reduce(r)}sn.prototype.convert=N1;sn.prototype.revert=k1;sn.prototype.reduce=O1;sn.prototype.mulTo=U1;sn.prototype.sqrTo=M1;function F1(){return(this.t>0?this.data[0]&1:this.s)==0}function K1(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 q1(t,e){var r;return t<256||e.isEven()?r=new on(e):r=new sn(e),this.exp(t,r)}R.prototype.copyTo=l1;R.prototype.fromInt=f1;R.prototype.fromString=h1;R.prototype.clamp=d1;R.prototype.dlShiftTo=E1;R.prototype.drShiftTo=w1;R.prototype.lShiftTo=b1;R.prototype.rShiftTo=v1;R.prototype.subTo=_1;R.prototype.multiplyTo=A1;R.prototype.squareTo=S1;R.prototype.divRemTo=I1;R.prototype.invDigit=D1;R.prototype.isEven=F1;R.prototype.exp=K1;R.prototype.toString=p1;R.prototype.negate=m1;R.prototype.abs=y1;R.prototype.compareTo=g1;R.prototype.bitLength=x1;R.prototype.mod=R1;R.prototype.modPowInt=q1;R.ZERO=Br(0);R.ONE=Br(1);function V1(){var t=ue();return this.copyTo(t),t}function $1(){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 H1(){return this.t==0?this.s:this.data[0]<<24>>24}function z1(){return this.t==0?this.s:this.data[0]<<16>>16}function G1(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function Y1(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function W1(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 Q1(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=v0(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 X1(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),nc,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 Z1(){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 j1(t){return this.compareTo(t)==0}function J1(t){return this.compareTo(t)<0?this:t}function ex(t){return this.compareTo(t)>0?this:t}function tx(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 rx(t,e){return t&e}function nx(t){var e=ue();return this.bitwiseTo(t,rx,e),e}function nc(t,e){return t|e}function ix(t){var e=ue();return this.bitwiseTo(t,nc,e),e}function _0(t,e){return t^e}function ox(t){var e=ue();return this.bitwiseTo(t,_0,e),e}function A0(t,e){return t&~e}function sx(t){var e=ue();return this.bitwiseTo(t,A0,e),e}function ax(){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 cx(t){var e=ue();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function ux(t){var e=ue();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function lx(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 fx(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+lx(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 dx(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=hx(this.data[r]^e);return t}function px(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function mx(t,e){var r=R.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function yx(t){return this.changeBit(t,nc)}function gx(t){return this.changeBit(t,A0)}function xx(t){return this.changeBit(t,_0)}function Ex(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 wx(t){var e=ue();return this.addTo(t,e),e}function bx(t){var e=ue();return this.subTo(t,e),e}function vx(t){var e=ue();return this.multiplyTo(t,e),e}function _x(t){var e=ue();return this.divRemTo(t,e,null),e}function Ax(t){var e=ue();return this.divRemTo(t,null,e),e}function Sx(t){var e=ue(),r=ue();return this.divRemTo(t,e,r),new Array(e,r)}function Ix(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function Rx(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 S0(t){return t}function Cx(t,e,r){t.multiplyTo(e,r)}function Tx(t,e){t.squareTo(e)}Hi.prototype.convert=S0;Hi.prototype.revert=S0;Hi.prototype.mulTo=Cx;Hi.prototype.sqrTo=Tx;function Bx(t){return this.exp(t,new Hi)}function Lx(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 Px(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 Dx(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 Nx(t){return t}function kx(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 Ox(t,e){t.squareTo(e),this.reduce(e)}function Mx(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Wn.prototype.convert=Dx;Wn.prototype.revert=Nx;Wn.prototype.reduce=kx;Wn.prototype.mulTo=Mx;Wn.prototype.sqrTo=Ox;function Ux(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 Fx(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 Kx(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 qx(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],Vx=(1<<26)/Nt[Nt.length-1];function $x(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<Vx;)n*=Nt[i++];for(n=r.modInt(n);e<i;)if(n%Nt[e++]==0)return!1}return r.millerRabin(t)}function Hx(t){var e=this.subtract(R.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=zx(),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 zx(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}R.prototype.chunkSize=G1;R.prototype.toRadix=W1;R.prototype.fromRadix=Q1;R.prototype.fromNumber=X1;R.prototype.bitwiseTo=tx;R.prototype.changeBit=mx;R.prototype.addTo=Ex;R.prototype.dMultiply=Ix;R.prototype.dAddOffset=Rx;R.prototype.multiplyLowerTo=Lx;R.prototype.multiplyUpperTo=Px;R.prototype.modInt=Kx;R.prototype.millerRabin=Hx;R.prototype.clone=V1;R.prototype.intValue=$1;R.prototype.byteValue=H1;R.prototype.shortValue=z1;R.prototype.signum=Y1;R.prototype.toByteArray=Z1;R.prototype.equals=j1;R.prototype.min=J1;R.prototype.max=ex;R.prototype.and=nx;R.prototype.or=ix;R.prototype.xor=ox;R.prototype.andNot=sx;R.prototype.not=ax;R.prototype.shiftLeft=cx;R.prototype.shiftRight=ux;R.prototype.getLowestSetBit=fx;R.prototype.bitCount=dx;R.prototype.testBit=px;R.prototype.setBit=yx;R.prototype.clearBit=gx;R.prototype.flipBit=xx;R.prototype.add=wx;R.prototype.subtract=bx;R.prototype.multiply=vx;R.prototype.divide=_x;R.prototype.remainder=Ax;R.prototype.divideAndRemainder=Sx;R.prototype.modPow=Ux;R.prototype.modInverse=qx;R.prototype.pow=Bx;R.prototype.gcd=Fx;R.prototype.isProbablePrime=$x});var L0=O((UA,B0)=>{var Xt=ye();nn();Oe();var C0=B0.exports=Xt.sha1=Xt.sha1||{};Xt.md.sha1=Xt.md.algorithms.sha1=C0;C0.create=function(){T0||Gx();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),R0(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(ic.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};R0(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 ic=null,T0=!1;function Gx(){ic=String.fromCharCode(128),ic+=Xt.util.fillString(String.fromCharCode(0),64),T0=!0}function R0(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 N0=O((FA,D0)=>{var Zt=ye();Oe();$i();L0();var P0=D0.exports=Zt.pkcs1=Zt.pkcs1||{};P0.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};P0.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 k0=O((KA,oc)=>{var Lr=ye();Oe();Zo();$i();(function(){if(Lr.prime){oc.exports=Lr.prime;return}var t=oc.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((qA,V0)=>{var H=ye();qi();Zo();Uo();N0();k0();$i();Oe();typeof ae>"u"&&(ae=H.jsbn.BigInteger);var ae,sc=H.util.isNodejs?Vi():null,v=H.asn1,Ct=H.util;H.pki=H.pki||{};V0.exports=H.pki.rsa=H.rsa=H.rsa||{};var X=H.pki,Yx=[6,4,2,4,2,4,6,2],Wx={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"}]},Qx={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"}]},Xx={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"}]},Zx=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"}]}]},jx={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()},K0=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=q0(t,e,r)):(i=H.util.createBuffer(),i.putBytes(t));for(var s=new ae(i.toHex(),16),a=K0(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=K0(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(t2(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(Yx[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(O0("generateKeyPair"))return sc.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(M0("generateKey")&&M0("exportKey"))return Ct.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:F0(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(U0("generateKey")&&U0("exportKey")){var i=Ct.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:F0(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(O0("generateKeyPairSync")){var o=sc.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;e2(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 q0(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,jx,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,Wx,e,r)&&(t=v.fromDer(H.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,Qx,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,Zx,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,Xx,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 q0(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 e2(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 t2(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 O0(t){return H.util.isNodejs&&typeof sc[t]=="function"}function M0(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 U0(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 F0(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 W0=O((VA,Y0)=>{var U=ye();$o();qi();Jf();nn();Uo();Za();s0();$i();x0();es();Oe();typeof $0>"u"&&($0=U.jsbn.BigInteger);var $0,S=U.asn1,j=U.pki=U.pki||{};Y0.exports=j.pbe=U.pbe=U.pbe||{};var an=j.oids,r2={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"}]},n2={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"}]}]},i2={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=G0(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=o2(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,r2,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,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}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=z0(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,i2,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=z0(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=[H0(n,t+e)],o=16,s=1;o<r;++s,o+=16)i.push(H0(n,i[s-1]+t+e));return i.join("").substr(0,r)};function H0(t,e){return t.start().update(e).digest().getBytes()}function z0(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 G0(e)}function G0(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 o2(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 Kh=O((BI,Fh)=>{"use strict";Fh.exports=mw;function mw(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 Hh=O($h=>{"use strict";var xs=$h;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),Vh=new Array(123);for(Ft=0;Ft<64;)Vh[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 qh="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=Vh[c])===void 0)throw Error(qh);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(qh);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 Gh=O((PI,zh)=>{"use strict";zh.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((DI,jh)=>{"use strict";jh.exports=Yh(Yh);function Yh(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,Wh),t.writeFloatBE=e.bind(null,Qh);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,Xh),t.readFloatBE=r.bind(null,Zh)}(),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,Wh,0,4),t.writeDoubleBE=e.bind(null,Qh,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,Xh,0,4),t.readDoubleBE=r.bind(null,Zh,4,0)}(),t}function Wh(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 Qh(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 Xh(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function Zh(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var ed=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 rd=O(td=>{"use strict";var zc=td;zc.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};zc.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))};zc.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 id=O((kI,nd)=>{"use strict";nd.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 sd=O((OI,od)=>{"use strict";od.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 gw=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===gw?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(Gc=>{"use strict";var $=Gc;$.asPromise=Kh();$.base64=Hh();$.EventEmitter=Gh();$.float=Jh();$.inquire=ed();$.utf8=rd();$.pool=id();$.LongBits=sd();$.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||Gc;$.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 ad(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=ad;$.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function cd(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&&ad(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=cd;$.ProtocolError=cd("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 Qc=O((UI,dd)=>{"use strict";dd.exports=Fe;var Kt=yn(),Wc,fd=Kt.LongBits,xw=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 ud=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")},hd=function(){return Kt.Buffer?function(r){return(Fe.create=function(i){return Kt.Buffer.isBuffer(i)?new Wc(i):ud(i)})(r)}:ud};Fe.create=hd();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 Yc(){var t=new fd(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 ld(){if(this.pos+8>this.len)throw qt(this,8);return new fd(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 xw.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){Wc=t,Fe.create=hd(),Wc._configure();var e=Kt.Long?"toLong":"toNumber";Kt.merge(Fe.prototype,{int64:function(){return Yc.call(this)[e](!1)},uint64:function(){return Yc.call(this)[e](!0)},sint64:function(){return Yc.call(this).zzDecode()[e](!1)},fixed64:function(){return ld.call(this)[e](!0)},sfixed64:function(){return ld.call(this)[e](!1)}})}});var gd=O((FI,yd)=>{"use strict";yd.exports=gn;var md=Qc();(gn.prototype=Object.create(md.prototype)).constructor=gn;var pd=yn();function gn(t){md.call(this,t)}gn._configure=function(){pd.Buffer&&(gn.prototype._slice=pd.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 ru=O((KI,bd)=>{"use strict";bd.exports=le;var Tt=yn(),Xc,bs=Tt.LongBits,xd=Tt.base64,Ed=Tt.utf8;function ji(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function jc(){}function Ew(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(jc,0,0),this.tail=this.head,this.states=null}var wd=function(){return Tt.Buffer?function(){return(le.create=function(){return new Xc})()}:function(){return new le}};le.create=wd();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 ww(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function eu(t,e){this.len=t,this.next=void 0,this.val=e}eu.prototype=Object.create(ji.prototype);eu.prototype.fn=ww;le.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new eu((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(tu,10,bs.fromNumber(e)):this.uint32(e)};le.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function tu(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(tu,r.length(),r)};le.prototype.int64=le.prototype.uint64;le.prototype.sint64=function(e){var r=bs.from(e).zzEncode();return this._push(tu,r.length(),r)};le.prototype.bool=function(e){return this._push(Jc,1,e?1:0)};function Zc(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(Zc,4,e>>>0)};le.prototype.sfixed32=le.prototype.fixed32;le.prototype.fixed64=function(e){var r=bs.from(e);return this._push(Zc,4,r.lo)._push(Zc,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 bw=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=xd.length(e));xd.decode(e,n,0),e=n}return this.uint32(r)._push(bw,r,e)};le.prototype.string=function(e){var r=Ed.length(e);return r?this.uint32(r)._push(Ed.write,r,e):this._push(Jc,1,0)};le.prototype.fork=function(){return this.states=new Ew(this),this.head=this.tail=new ji(jc,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(jc,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){Xc=t,le.create=wd(),Xc._configure()}});var Ad=O((qI,_d)=>{"use strict";_d.exports=tr;var vd=ru();(tr.prototype=Object.create(vd.prototype)).constructor=tr;var Kr=yn();function tr(){vd.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 vw(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(vw,r,e),this};tr._configure()});var Ud=O((qR,Md)=>{var Se=ye();nn();Oe();var eo=Md.exports=Se.sha512=Se.sha512||{};Se.md.sha512=Se.md.algorithms.sha512=eo;var kd=Se.sha384=Se.sha512.sha384=Se.sha512.sha384||{};kd.create=function(){return eo.create("SHA-384")};Se.md.sha384=Se.md.algorithms.sha384=kd;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(Od||Lw(),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),Nd(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(lu.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);Nd(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 lu=null,Od=!1,fu=null,En=null;function Lw(){lu=String.fromCharCode(128),lu+=Se.util.fillString(String.fromCharCode(0),128),fu=[[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]],Od=!0}function Nd(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,F,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,F=e[T-15],k=F[0],L=F[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+fu[T][1]+e[T][1],n=ge+u+f+fu[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 Cu=O((m8,dp)=>{var hi=1e3,di=hi*60,pi=di*60,_n=pi*24,ab=_n*7,cb=_n*365.25;dp.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return ub(t);if(r==="number"&&isFinite(t))return e.long?fb(t):lb(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function ub(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*cb;case"weeks":case"week":case"w":return r*ab;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 lb(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 fb(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 mp=O((y8,pp)=>{function hb(t){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=Cu(),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}pp.exports=hb});var Tu=O((bt,Ts)=>{bt.formatArgs=pb;bt.save=mb;bt.load=yb;bt.useColors=db;bt.storage=gb();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 db(){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 pb(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 mb(t){try{t?bt.storage.setItem("debug",t):bt.storage.removeItem("debug")}catch{}}function yb(){let t;try{t=bt.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function gb(){try{return localStorage}catch{}}Ts.exports=mp()(bt);var{formatters:xb}=Ts.exports;xb.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var bp=O((O8,wp)=>{"use strict";wp.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var Rp=O((Sp,Ip)=>{"use strict";var Ds=bp(),{hasOwnProperty:_p}=Object.prototype,{propertyIsEnumerable:Sb}=Object,gi=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),Ib=Sp,vp={concatArrays:!1,ignoreUndefined:!1},Ns=t=>{let e=[];for(let r in t)_p.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)Sb.call(t,n)&&e.push(n)}return e};function xi(t){return Array.isArray(t)?Rb(t):Ds(t)?Cb(t):t}function Rb(t){let e=t.slice(0,0);return Ns(t).forEach(r=>{gi(e,r,xi(t[r]))}),e}function Cb(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return Ns(t).forEach(r=>{gi(e,r,xi(t[r]))}),e}var Ap=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?gi(t,i,Du(t[i],e[i],n)):gi(t,i,xi(e[i])))}),t),Tb=(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++)_p.call(o,a)&&(s.push(String(a)),o===t?gi(n,i++,o[a]):gi(n,i++,xi(o[a])));n=Ap(n,o,Ns(o).filter(a=>!s.includes(a)),r)}),n};function Du(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?Tb(t,e,r):!Ds(e)||!Ds(t)?xi(e):Ap(t,e,Ns(e),r)}Ip.exports=function(...t){let e=Du(xi(vp),this!==Ib&&this||{},vp),r={_:{}};for(let n of t)if(n!==void 0){if(!Ds(n))throw new TypeError("`"+n+"` is not an Option Object");r=Du(r,{_:n},e)}return r._}});var Bp=O((U8,Tp)=>{"use strict";function Bb(t){return t>=55296&&t<=56319}function Lb(t){return t>=56320&&t<=57343}Tp.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],Bb(s)&&Lb(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 Pp=O((F8,Lp)=>{"use strict";function Pb(t){return t>=55296&&t<=56319}function Db(t){return t>=56320&&t<=57343}Lp.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),Db(i)?o!=null&&Pb(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 Np=O((K8,Dp)=>{"use strict";var Nb=Bp(),kb=Pp();Dp.exports=Nb.bind(null,kb)});var Mp=O((q8,Op)=>{"use strict";var Ob=Np(),Mb=/[\/\?<>\\:\*\|"]/g,Ub=/[\x00-\x1f\x80-\x9f]/g,Fb=/^\.+$/,Kb=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,qb=/[\. ]+$/;function kp(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(Mb,e).replace(Ub,e).replace(Fb,e).replace(Kb,e).replace(qb,e);return Ob(r,255)}Op.exports=function(t,e){var r=e&&e.replacement||"",n=kp(t,r);return r===""?n:kp(n,"")}});var fm=O((p3,el)=>{"use strict";var Ev=Object.prototype.hasOwnProperty,dt="~";function yo(){}Object.create&&(yo.prototype=Object.create(null),new yo().__proto__||(dt=!1));function wv(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 wv(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)Ev.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 lm(this,e,r,n,!1)};lt.prototype.once=function(e,r,n){return lm(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 el<"u"&&(el.exports=lt)});var Sl=O((LB,Lm)=>{"use strict";function Bm(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function Nv(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 Bm(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),Bm(new i,r)}}Lm.exports=Nv});var Mm=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 qm=O((Km,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})(Km)});var Qm=O((sL,Wm)=>{"use strict";Wm.exports=Ym;var Wv=Cu(),jr=Ym.prototype,Qv=new Date%1e9;function Xv(){return(Math.random()*1e9>>>0)+Qv++}function Ym(t){t=t||{},this.id=t.id||Xv(),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=Wv(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((RL,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((TL,iy)=>{iy.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 ay=O((BL,sy)=>{var e_=oy();sy.exports=e_});var St=O((PL,cy)=>{cy.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((NL,ly)=>{var Nl=Ao(),t_=ay(),uy=St();ly.exports=class extends Nl{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new t_}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 Nl?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 Nl))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 uy(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 uy(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 hy=O((kL,fy)=>{var r_=Ti(),n_=St(),kl="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} ",Ol=class extends r_{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:kl})}_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 n_;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(kl,1,e,r,o,u)}):this.client.eval(kl,{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)}};fy.exports=Ol});var my=O((OL,py)=>{var i_=Ti(),o_=St();function dy(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 Ml=class t extends i_{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=dy(this.client)}):(this._initCollection(),this._driverVersion=dy(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_,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)}};py.exports=Ml});var gy=O((ML,yy)=>{var s_=Ti(),a_=St(),Ul=class extends s_{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 a_,[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=Ul});var Ey=O((UL,xy)=>{var c_=Ti(),u_=St(),Fl=class extends c_{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 u_,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"))}};yy.exports=Ol});var xy=O(()=>{});var wy=O((ML,Ey)=>{Ey.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 vy=O((FL,by)=>{var c_=wy(),Ml=St();by.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 Ml(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 c_(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 Ml(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 Ml(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 Fl=O((KL,Ay)=>{var u_=So(),l_=vy(),_y=St(),Ul=class extends u_{constructor(e={}){super(e),this._memoryStorage=new l_}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 _y(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 _y(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)))}};Ay.exports=Ul});var Ly=O((qL,By)=>{var Sy=xy(),f_=Vi(),h_=So(),Ry=Fl(),d_=St(),Dt="rate_limiter_flexible",Li=null,Iy=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:Dt,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},Cy=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&Cy.call(this,t)},30)},Ti=function(t,e,r,n,i){let o={channel:Dt,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(o):Cy.call(this,o)},Ty=function(t,e){if(!e||e.channel!==Dt||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=>{Iy(t,e,"resolve",n)}).catch(n=>{Iy(t,e,"reject",n)})},p_=function(t){if(!t||t.channel!==Dt||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 d_(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]}},m_=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Bi=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=f_.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},Kl=class{constructor(){if(Li)return Li;this._rateLimiters={},Sy.setMaxListeners(0),Sy.on("message",(e,r)=>{r&&r.channel===Dt&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new Ry(r.opts)),e.send({channel:Dt,type:"init",keyPrefix:r.opts.keyPrefix})):Ty.call(this,e,r)}),Li=this}},ql=class{constructor(e){if(Li)return Li;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let o=i.raw;if(o&&o.channel===Dt&&o.type==="init")typeof this._rateLimiters[o.opts.keyPrefix]>"u"&&(this._rateLimiters[o.opts.keyPrefix]=new Ry(o.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:Dt,channel:Dt,type:"init",keyPrefix:o.opts.keyPrefix},(s,a)=>{s&&console.log(s,a)});else{let s={send:a=>{let c=a;c.topic=Dt,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};Ty.call(this,s,o)}})}),Li=this}},Vl=class extends h_{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===Dt&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:p_.call(this,r)}),process.send({channel:Dt,type:"init",opts:m_.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=Bi.call(this,i,o);Ti.call(this,"consume",s,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,o)=>{let s=Bi.call(this,i,o);Ti.call(this,"penalty",s,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,o)=>{let s=Bi.call(this,i,o);Ti.call(this,"reward",s,e,r,n)})}block(e,r,n={}){return new Promise((i,o)=>{let s=Bi.call(this,i,o);Ti.call(this,"block",s,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let o=Bi.call(this,n,i);Ti.call(this,"get",o,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let o=Bi.call(this,n,i);Ti.call(this,"delete",o,e,r)})}};By.exports={RateLimiterClusterMaster:Kl,RateLimiterClusterMasterPM2:ql,RateLimiterCluster:Vl}});var Py=O((VL,Dy)=>{var y_=Ci(),g_=St(),$l=class extends y_{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new g_;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=$l});var Oy=O((HL,ky)=>{var Ny=St();ky.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 Ny(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new Ny(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 Uy=O((GL,My)=>{var x_=So();My.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 x_))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 Ky=O((WL,Fy)=>{Fy.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 Hy=O((XL,$y)=>{var qy=Ky(),Vy=4294967295,Hl="limiter";$y.exports=class{constructor(e,r={maxQueueSize:Vy}){this._queueLimiters={KEY_DEFAULT:new la(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=Hl){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=Hl){return this._queueLimiters[r]||(this._queueLimiters[r]=new la(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var la=class{constructor(e,r={maxQueueSize:Vy,key:Hl}){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 qy(`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 qy(`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 Gy=O((jL,zy)=>{var zl=St();zy.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return e?new zl(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 zl?this._burstLimiter.consume(e,r,n).then(o=>Promise.resolve(this._combineRes(i,o))).catch(o=>o instanceof zl?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 Wy=O((JL,Yy)=>{var E_=ly(),w_=dy(),b_=my(),v_=gy(),{RateLimiterClusterMaster:__,RateLimiterClusterMasterPM2:A_,RateLimiterCluster:S_}=Ly(),I_=Fl(),R_=Py(),C_=Oy(),T_=Uy(),B_=Hy(),L_=Gy(),D_=St();Yy.exports={RateLimiterRedis:E_,RateLimiterMongo:w_,RateLimiterMySQL:b_,RateLimiterPostgres:v_,RateLimiterMemory:I_,RateLimiterMemcache:R_,RateLimiterClusterMaster:__,RateLimiterClusterMasterPM2:A_,RateLimiterCluster:S_,RLWrapperBlackAndWhite:C_,RateLimiterUnion:T_,RateLimiterQueue:B_,BurstyRateLimiter:L_,RateLimiterRes:D_}});var hA={};Ge(hA,{createLibp2p:()=>fA});var hg=te($n(),1);var q4=te(qi(),1),V4=te(z0(),1);var Wn=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 Rs=te(ye(),1);function cn(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var hc={};Ge(hc,{identity:()=>u2});function i2(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,D=w-1;(_!==0||A<y)&&D!==-1;D--,A++)_+=256*C[D]>>>0,C[D]=_%a>>>0,_=_/a>>>0;if(_!==0)throw new Error("Non-zero carry");y=A,g++}for(var P=w-y;P!==w&&C[P]===0;)P++;for(var W=c.repeat(m);P<w;++P)W+=t.charAt(C[P]);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 D=x-g;D!==x&&w[D]===0;)D++;for(var P=new Uint8Array(y+(x-D)),W=y;D!==x;)P[W++]=w[D++];return P}}}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 o2=i2,s2=o2,G0=s2;var $A=new Uint8Array(0);var Y0=(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},hr=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 W0=t=>new TextEncoder().encode(t),Q0=t=>new TextDecoder().decode(t);var cc=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")}},uc=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 Z0(this,e)}},lc=class{constructor(e){this.decoders=e}or(e){return Z0(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`)}},Z0=(t,e)=>new lc({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),fc=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new cc(e,r,n),this.decoder=new uc(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Qn=({name:t,prefix:e,encode:r,decode:n})=>new fc(t,e,r,n),Pr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=G0(r,e);return Qn({prefix:t,name:e,encode:n,decode:o=>hr(i(o))})},a2=(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},c2=(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})=>Qn({prefix:e,name:t,encode(i){return c2(i,n,r)},decode(i){return a2(i,n,r,t)}});var u2=Qn({prefix:"\0",name:"identity",encode:t=>Q0(t),decode:t=>W0(t)});var dc={};Ge(dc,{base2:()=>l2});var l2=Ne({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var pc={};Ge(pc,{base8:()=>f2});var f2=Ne({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var mc={};Ge(mc,{base10:()=>h2});var h2=Pr({prefix:"9",name:"base10",alphabet:"0123456789"});var yc={};Ge(yc,{base16:()=>d2,base16upper:()=>p2});var d2=Ne({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),p2=Ne({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var gc={};Ge(gc,{base32:()=>xt,base32hex:()=>x2,base32hexpad:()=>w2,base32hexpadupper:()=>b2,base32hexupper:()=>E2,base32pad:()=>y2,base32padupper:()=>g2,base32upper:()=>m2,base32z:()=>v2});var xt=Ne({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),m2=Ne({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),y2=Ne({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),g2=Ne({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),x2=Ne({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),E2=Ne({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),w2=Ne({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),b2=Ne({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),v2=Ne({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var xc={};Ge(xc,{base36:()=>_2,base36upper:()=>A2});var _2=Pr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),A2=Pr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ec={};Ge(Ec,{base58btc:()=>Me,base58flickr:()=>S2});var Me=Pr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),S2=Pr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var wc={};Ge(wc,{base64:()=>un,base64pad:()=>I2,base64url:()=>R2,base64urlpad:()=>C2});var un=Ne({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),I2=Ne({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),R2=Ne({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),C2=Ne({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var bc={};Ge(bc,{base256emoji:()=>P2});var j0=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}"),T2=j0.reduce((t,e,r)=>(t[r]=e,t),[]),B2=j0.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function L2(t){return t.reduce((e,r)=>(e+=T2[r],e),"")}function D2(t){let e=[];for(let r of t){let n=B2[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var P2=Qn({prefix:"\u{1F680}",name:"base256emoji",encode:L2,decode:D2});var Sc={};Ge(Sc,{sha256:()=>tt,sha512:()=>j2});var N2=th,J0=128,k2=127,O2=~k2,M2=Math.pow(2,31);function th(t,e,r){e=e||[],r=r||0;for(var n=r;t>=M2;)e[r++]=t&255|J0,t/=128;for(;t&O2;)e[r++]=t&255|J0,t>>>=7;return e[r]=t|0,th.bytes=r-n+1,e}var U2=vc,F2=128,eh=127;function vc(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw vc.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&eh)<<i:(s&eh)*Math.pow(2,i),i+=7}while(s>=F2);return vc.bytes=o-n,r}var K2=Math.pow(2,7),q2=Math.pow(2,14),V2=Math.pow(2,21),$2=Math.pow(2,28),H2=Math.pow(2,35),z2=Math.pow(2,42),G2=Math.pow(2,49),Y2=Math.pow(2,56),W2=Math.pow(2,63),Q2=function(t){return t<K2?1:t<q2?2:t<V2?3:t<$2?4:t<H2?5:t<z2?6:t<G2?7:t<Y2?8:t<W2?9:10},X2={encode:N2,decode:U2,encodingLength:Q2},Z2=X2,zi=Z2;var Gi=(t,e=0)=>[zi.decode(t,e),zi.decode.bytes],Xn=(t,e,r=0)=>(zi.encode(t,e,r),e),Zn=t=>zi.encodingLength(t);var er=(t,e)=>{let r=e.byteLength,n=Zn(t),i=n+Zn(r),o=new Uint8Array(i+r);return Xn(t,o,0),Xn(r,o,n),o.set(e,i),new jn(t,r,e,o)},ln=t=>{let e=hr(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)},rh=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Y0(t.bytes,r.bytes)}},jn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Ac=({name:t,code:e,encode:r})=>new _c(t,e,r),_c=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?er(this.code,r):r.then(n=>er(this.code,n))}else throw Error("Unknown type, must be binary type")}};var ih=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),tt=Ac({name:"sha2-256",code:18,encode:ih("SHA-256")}),j2=Ac({name:"sha2-512",code:19,encode:ih("SHA-512")});var Ic={};Ge(Ic,{identity:()=>Nr});var oh=0,J2="identity",sh=hr,eE=t=>er(oh,sh(t)),Nr={code:oh,name:J2,encode:sh,digest:eE};var lS=new TextEncoder,fS=new TextDecoder;var ah=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return iE(r,Rc(t),e||Me.encoder);default:return oE(r,Rc(t),e||xt.encoder)}};var ch=new WeakMap,Rc=t=>{let e=ch.get(t);if(e==null){let r=new Map;return ch.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!==sE)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=er(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&&rh(e.multihash,n.multihash)}toString(e){return ah(this,e)}toJSON(){return{"/":ah(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||uh(n,i,o.bytes))}else if(r[aE]===!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=uh(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=hr(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]=nE(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 Rc(o).set(n,e),o}},nE=(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)]}}},iE=(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},oE=(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,sE=18,uh=(t,e,r)=>{let n=Zn(t),i=n+Zn(e),o=new Uint8Array(i+r.byteLength);return Xn(t,o,0),Xn(e,o,n),o.set(r,i),o},aE=Symbol.for("@ipld/js-cid/CID");var kr={...hc,...dc,...pc,...mc,...yc,...gc,...xc,...Ec,...wc,...bc},bS={...Sc,...Ic};function dr(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 fh(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var lh=fh("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Cc=fh("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}),cE={utf8:lh,"utf-8":lh,hex:kr.base16,latin1:Cc,ascii:Cc,binary:Cc,...kr},ns=cE;function G(t,e="utf8"){let r=ns[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 lu={};Ge(lu,{Ed25519PrivateKey:()=>xn,Ed25519PublicKey:()=>Ji,generateKeyPair:()=>Iw,generateKeyPairFromSeed:()=>Id,unmarshalEd25519PrivateKey:()=>Aw,unmarshalEd25519PublicKey:()=>Sw});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 hh(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function Tc(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 dh(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");hh(t.outputLen),hh(t.blockLen)}function Jn(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 ph(t,e){Tc(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var is=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var mh=t=>t instanceof Uint8Array;var os=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Mt=(t,e)=>t<<32-e|t>>>e,uE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!uE)throw new Error("Non little-endian hardware is not supported");function Bc(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=Bc(t)),!mh(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function ss(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!mh(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}var ei=class{clone(){return this._cloneInto()}},kS={}.toString;function as(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 ti(t=32){if(is&&typeof is.getRandomValues=="function")return is.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function lE(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 ri=class extends ei{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=os(this.buffer)}update(e){Jn(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=os(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){Jn(this),ph(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;lE(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=os(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 cs=BigInt(4294967295),Lc=BigInt(32);function yh(t,e=!1){return e?{h:Number(t&cs),l:Number(t>>Lc&cs)}:{h:Number(t>>Lc&cs)|0,l:Number(t&cs)|0}}function fE(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}=yh(t[i],e);[r[i],n[i]]=[o,s]}return[r,n]}var hE=(t,e)=>BigInt(t>>>0)<<Lc|BigInt(e>>>0),dE=(t,e,r)=>t>>>r,pE=(t,e,r)=>t<<32-r|e>>>r,mE=(t,e,r)=>t>>>r|e<<32-r,yE=(t,e,r)=>t<<32-r|e>>>r,gE=(t,e,r)=>t<<64-r|e>>>r-32,xE=(t,e,r)=>t>>>r-32|e<<64-r,EE=(t,e)=>e,wE=(t,e)=>t,bE=(t,e,r)=>t<<r|e>>>32-r,vE=(t,e,r)=>e<<r|t>>>32-r,_E=(t,e,r)=>e<<r-32|t>>>64-r,AE=(t,e,r)=>t<<r-32|e>>>64-r;function SE(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var IE=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),RE=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,CE=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),TE=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,BE=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),LE=(t,e,r,n,i,o)=>e+r+n+i+o+(t/2**32|0)|0;var DE={fromBig:yh,split:fE,toBig:hE,shrSH:dE,shrSL:pE,rotrSH:mE,rotrSL:yE,rotrBH:gE,rotrBL:xE,rotr32H:EE,rotr32L:wE,rotlSH:bE,rotlSL:vE,rotlBH:_E,rotlBL:AE,add:SE,add3L:IE,add3H:RE,add4L:CE,add4H:TE,add5H:LE,add5L:BE},J=DE;var[PE,NE]=(()=>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))))(),Or=new Uint32Array(80),Mr=new Uint32Array(80),Dc=class extends ri{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)Or[w]=e.getUint32(r),Mr[w]=e.getUint32(r+=4);for(let w=16;w<80;w++){let C=Or[w-15]|0,_=Mr[w-15]|0,A=J.rotrSH(C,_,1)^J.rotrSH(C,_,8)^J.shrSH(C,_,7),D=J.rotrSL(C,_,1)^J.rotrSL(C,_,8)^J.shrSL(C,_,7),P=Or[w-2]|0,W=Mr[w-2]|0,Q=J.rotrSH(P,W,19)^J.rotrBH(P,W,61)^J.shrSH(P,W,6),z=J.rotrSL(P,W,19)^J.rotrBL(P,W,61)^J.shrSL(P,W,6),ne=J.add4L(D,z,Mr[w-7],Mr[w-16]),ge=J.add4H(ne,A,Q,Or[w-7],Or[w-16]);Or[w]=ge|0,Mr[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,D=h&d^~h&y,P=J.add5L(x,_,D,NE[w],Mr[w]),W=J.add5H(P,g,C,A,PE[w],Or[w]),Q=P|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(){Or.fill(0),Mr.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 Pc=as(()=>new Dc);var fs={};Ge(fs,{bitGet:()=>qE,bitLen:()=>KE,bitMask:()=>Qi,bitSet:()=>VE,bytesToHex:()=>pr,bytesToNumberBE:()=>mr,bytesToNumberLE:()=>Ur,concatBytes:()=>yr,createHmacDrbg:()=>Oc,ensureBytes:()=>ke,equalBytes:()=>UE,hexToBytes:()=>hn,hexToNumber:()=>kc,numberToBytesBE:()=>Fr,numberToBytesLE:()=>dn,numberToHexUnpadded:()=>Eh,numberToVarBytesBE:()=>ME,utf8ToBytes:()=>FE,validateObject:()=>tr});var xh=BigInt(0),us=BigInt(1),kE=BigInt(2),ls=t=>t instanceof Uint8Array,OE=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function pr(t){if(!ls(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=OE[t[r]];return e}function Eh(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function kc(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 mr(t){return kc(pr(t))}function Ur(t){if(!ls(t))throw new Error("Uint8Array expected");return kc(pr(Uint8Array.from(t).reverse()))}function Fr(t,e){return hn(t.toString(16).padStart(e*2,"0"))}function dn(t,e){return Fr(t,e).reverse()}function ME(t){return hn(Eh(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(ls(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 yr(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!ls(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}function UE(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 FE(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function KE(t){let e;for(e=0;t>xh;t>>=us,e+=1);return e}function qE(t,e){return t>>BigInt(e)&us}var VE=(t,e,r)=>t|(r?us:xh)<<BigInt(e),Qi=t=>(kE<<BigInt(t-1))-us,Nc=t=>new Uint8Array(t),gh=t=>Uint8Array.from(t);function Oc(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=Nc(t),i=Nc(t),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...f)=>r(i,n,...f),c=(f=Nc())=>{i=a(gh([0]),f),n=a(),f.length!==0&&(i=a(gh([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 yr(...h)};return(f,h)=>{s(),c(f);let p;for(;!(p=h(u()));)c();return s(),p}}var $E={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 tr(t,e,r={}){let n=(i,o,s)=>{let a=$E[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),HE=BigInt(3),Mc=BigInt(4),wh=BigInt(5),bh=BigInt(8),zE=BigInt(9),GE=BigInt(16);function Ee(t,e){let r=t%e;return r>=He?r:e+r}function YE(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 hs(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 WE(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&&YE(i,e,t)!==t-Re;i++);if(n===1){let s=(t+Re)/Mc;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 QE(t){if(t%Mc===HE){let e=(t+Re)/Mc;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%bh===wh){let e=(t-wh)/bh;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%GE,WE(t)}var vh=(t,e)=>(Ee(t,e)&Re)===Re,XE=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Uc(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=XE.reduce((n,i)=>(n[i]="function",n),e);return tr(t,r)}function ZE(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 Fc(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function ds(t,e,r=!1,n={}){if(t<=He)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:o}=Fc(t,e);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=QE(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)=>ZE(a,c,u),div:(c,u)=>Ee(c*hs(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>hs(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):Fr(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?Ur(c):mr(c)}});return Object.freeze(a)}function _h(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 Ah(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 Kc(t){let e=Ah(t);return e+Math.ceil(e/2)}function Sh(t,e,r=!1){let n=t.length,i=Ah(e),o=Kc(e);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?mr(t):Ur(t),a=Ee(s,e-Re)+Re;return r?dn(a,i):Fr(a,i)}var ew=BigInt(0),qc=BigInt(1);function ps(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>ew;)o&qc&&(s=s.add(a)),a=a.double(),o>>=qc;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+=qc);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 Uc(t.Fp),tr(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Fc(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var Ut=BigInt(0),Et=BigInt(1),ms=BigInt(2),tw=BigInt(8),rw={zip215:!0};function nw(t){let e=Xi(t);return tr(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function ys(t){let e=nw(t),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=e,u=ms<<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,F)=>{if(I.length||F)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,F,V,Y){if(this.ex=I,this.ey=F,this.ez=V,this.et=Y,!y(I))throw new Error("x required");if(!y(F))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:F,y:V}=I||{};if(!y(F)||!y(V))throw new Error("invalid affine point");return new _(F,V,Et,l(F*V))}static normalizeZ(I){let F=r.invertBatch(I.map(V=>V.ez));return I.map((V,Y)=>V.toAffine(F[Y])).map(_.fromAffine)}_setWindowSize(I){this._WINDOW_SIZE=I,w.delete(this)}assertValidity(){let{a:I,d:F}=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),Pe=l(me*I),Je=l(fe*l(Pe+se)),et=l(qe+l(F*l(me*se)));if(Je!==et)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:F,ey:V,ez:Y}=this,{ex:ee,ey:oe,ez:me}=I,se=l(F*me),fe=l(ee*Y),qe=l(V*me),Pe=l(oe*Y);return se===fe&&qe===Pe}is0(){return this.equals(_.ZERO)}negate(){return new _(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){let{a:I}=e,{ex:F,ey:V,ez:Y}=this,ee=l(F*F),oe=l(V*V),me=l(ms*l(Y*Y)),se=l(I*ee),fe=F+V,qe=l(l(fe*fe)-ee-oe),Pe=se+oe,Je=Pe-me,et=se-oe,$e=l(qe*Je),ct=l(Pe*et),cr=l(qe*et),tn=l(Je*Pe);return new _($e,ct,tn,cr)}add(I){C(I);let{a:F,d:V}=e,{ex:Y,ey:ee,ez:oe,et:me}=this,{ex:se,ey:fe,ez:qe,et:Pe}=I;if(F===BigInt(-1)){let df=l((ee-Y)*(fe+se)),pf=l((ee+Y)*(fe-se)),Ua=l(pf-df);if(Ua===Ut)return this.double();let mf=l(oe*ms*Pe),yf=l(me*ms*qe),gf=yf+mf,xf=pf+df,Ef=yf-mf,xg=l(gf*Ua),Eg=l(xf*Ef),wg=l(gf*Ef),bg=l(Ua*xf);return new _(xg,Eg,bg,wg)}let Je=l(Y*se),et=l(ee*fe),$e=l(me*V*Pe),ct=l(oe*qe),cr=l((Y+ee)*(se+fe)-Je-et),tn=ct-$e,Mi=ct+$e,hf=l(et-F*Je),pg=l(cr*tn),mg=l(Mi*hf),yg=l(cr*hf),gg=l(tn*Mi);return new _(pg,mg,gg,yg)}subtract(I){return this.add(I.negate())}wNAF(I){return P.wNAFCached(this,w,I,_.normalizeZ)}multiply(I){let{p:F,f:V}=this.wNAF(g(I,n));return _.normalizeZ([F,V])[0]}multiplyUnsafe(I){let F=x(I);return F===Ut?D:this.equals(D)||F===Et?this:this.equals(A)?this.wNAF(F).p:P.unsafeLadder(this,F)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return P.unsafeLadder(this,n).is0()}toAffine(I){let{ex:F,ey:V,ez:Y}=this,ee=this.is0();I==null&&(I=ee?tw:r.inv(Y));let oe=l(F*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,F=!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=Ur(oe);se===Ut||(F?g(se,u):g(se,r.ORDER));let fe=l(se*se),qe=l(fe-Et),Pe=l(V*fe-Y),{isValid:Je,value:et}=f(qe,Pe);if(!Je)throw new Error("Point.fromHex: invalid y coordinate");let $e=(et&Et)===Et,ct=(me&128)!==0;if(!F&&et===Ut&&ct)throw new Error("Point.fromHex: x=0 and x_0=1");return ct!==$e&&(et=l(-et)),_.fromAffine({x:et,y:se})}static fromPrivateKey(I){return z(I).point}toRawBytes(){let{x:I,y:F}=this.toAffine(),V=dn(F,r.BYTES);return V[V.length-1]|=I&Et?128:0,V}toHex(){return pr(this.toRawBytes())}}_.BASE=new _(e.Gx,e.Gy,Et,l(e.Gx*e.Gy)),_.ZERO=new _(Ut,Et,Et,Ut);let{BASE:A,ZERO:D}=_,P=ps(_,a*8);function W(N){return Ee(N,n)}function Q(N){return W(Ur(N))}function z(N){let I=a;N=ke("private key",N,I);let F=ke("hashed private key",o(N),2*I),V=h(F.slice(0,I)),Y=F.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 F=yr(...I);return Q(o(p(F,ke("context",N),!!i)))}function je(N,I,F={}){N=ke("message",N),i&&(N=i(N));let{prefix:V,scalar:Y,pointBytes:ee}=z(I),oe=ge(F.context,V,N),me=A.multiply(oe).toRawBytes(),se=ge(F.context,me,ee,N),fe=W(oe+se*Y);x(fe);let qe=yr(me,dn(fe,r.BYTES));return ke("result",qe,a*2)}let T=rw;function k(N,I,F,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=Ur(N.slice(oe,2*oe)),se,fe,qe;try{se=_.fromHex(F,ee),fe=_.fromHex(N.slice(0,oe),ee),qe=A.multiplyUnsafe(me)}catch{return!1}if(!ee&&se.isSmallOrder())return!1;let Pe=ge(Y,fe.toRawBytes(),se.toRawBytes(),I);return fe.add(se.multiplyUnsafe(Pe)).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 $c=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Ih=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),nI=BigInt(0),iw=BigInt(1),Vc=BigInt(2),ow=BigInt(5),Rh=BigInt(10),sw=BigInt(20),aw=BigInt(40),Ch=BigInt(80);function cw(t){let e=$c,n=t*t%e*t%e,i=Ce(n,Vc,e)*n%e,o=Ce(i,iw,e)*t%e,s=Ce(o,ow,e)*o%e,a=Ce(s,Rh,e)*s%e,c=Ce(a,sw,e)*a%e,u=Ce(c,aw,e)*c%e,l=Ce(u,Ch,e)*u%e,f=Ce(l,Ch,e)*u%e,h=Ce(f,Rh,e)*s%e;return{pow_p_5_8:Ce(h,Vc,e)*t%e,b2:n}}function uw(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function lw(t,e){let r=$c,n=Ee(e*e*e,r),i=Ee(n*n*e,r),o=cw(t*i).pow_p_5_8,s=Ee(t*n*o,r),a=Ee(e*s*s,r),c=s,u=Ee(s*Ih,r),l=a===t,f=a===Ee(-t,r),h=a===Ee(-t*Ih,r);return l&&(s=c),(f||h)&&(s=u),vh(s,r)&&(s=Ee(-s,r)),{isValid:l||f,value:s}}var gr=ds($c,void 0,!0),Hc={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:gr,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Pc,randomBytes:ti,adjustScalarBytes:uw,uvRatio:lw},ni=ys(Hc);function Th(t,e,r){if(e.length>255)throw new Error("Context is too big");return ss(Bc("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var iI=ys({...Hc,domain:Th}),oI=ys({...Hc,domain:Th,prehash:Pc});var fw=(gr.ORDER+BigInt(3))/BigInt(8),sI=gr.pow(Vc,fw),aI=gr.sqrt(gr.neg(gr.ONE)),cI=(gr.ORDER-BigInt(5))/BigInt(8),uI=BigInt(486662);var lI=_h(gr,gr.neg(BigInt(486664)));var fI=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),hI=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),dI=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),pI=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var mI=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var ii=32,xr=64,gs=32;async function Bh(){let t=ni.utils.randomPrivateKey(),e=ni.getPublicKey(t);return{privateKey:Nh(t,e),publicKey:e}}async function Lh(t){if(t.length!==gs)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=ni.getPublicKey(e);return{privateKey:Nh(e,r),publicKey:r}}async function Dh(t,e){let r=t.subarray(0,gs);return ni.sign(e,r)}async function Ph(t,e,r){return ni.verify(e,r,t)}function Nh(t,e){let r=new Uint8Array(xr);for(let n=0;n<gs;n++)r[n]=t[n],r[gs+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 zc={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function xs(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",zc,{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",zc,{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",zc,{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 oi(t,e){let n=await xs().encrypt(t,e);return un.encode(n)}var iu=te(Xc(),1),vd=te(pd(),1),_d=te(yn(),1),ou=te(nu(),1),Ad=te(bd(),1);function bw(){_d.default._configure(),iu.default._configure(vd.default),ou.default._configure(Ad.default)}bw();var Sd=["uint64","int64","sint64","fixed64","sfixed64"];function vw(t){for(let e of Sd){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function su(t){return vw(new iu.default(t))}function _w(t){for(let e of Sd){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function au(){return _w(ou.default.create())}function rt(t,e){let r=su(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function nt(t,e){let r=au();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var ai;(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"})(ai||(ai={}));function _s(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function cu(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 _s("enum",ai.VARINT,r,n)}function it(t,e){return _s("message",ai.LENGTH_DELIMITED,t,e)}var Te;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(Te||(Te={}));var uu;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(uu||(uu={}));(function(t){t.codec=()=>cu(uu)})(Te||(Te={}));var nr;(function(t){let e;t.codec=()=>(e==null&&(e=it((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=>nt(r,t.codec()),t.decode=r=>rt(r,t.codec())})(nr||(nr={}));var ir;(function(t){let e;t.codec=()=>(e==null&&(e=it((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=>nt(r,t.codec()),t.decode=r=>rt(r,t.codec())})(ir||(ir={}));var Ji=class{_key;constructor(e){this._key=ci(e,ii)}async verify(e,r){return Ph(this._key,r,e)}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 tt.digest(this.bytes);return e}},xn=class{_key;_publicKey;constructor(e,r){this._key=ci(e,xr),this._publicKey=ci(r,ii)}async sign(e){return Dh(this._key,e)}get public(){return new Ji(this._publicKey)}marshal(){return this._key}get bytes(){return ir.encode({Type:Te.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Le(this.bytes,e.bytes)}async hash(){let{bytes:e}=await tt.digest(this.bytes);return e}async id(){let e=Nr.digest(this.public.bytes);return Me.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return oi(this.bytes,e);throw new b(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Aw(t){if(t.length>xr){t=ci(t,xr+ii);let n=t.subarray(0,xr),i=t.subarray(xr,t.length);return new xn(n,i)}t=ci(t,xr);let e=t.subarray(0,xr),r=t.subarray(ii);return new xn(e,r)}function Sw(t){return t=ci(t,ii),new Ji(t)}async function Iw(){let{privateKey:t,publicKey:e}=await Bh();return new xn(t,e)}async function Id(t){let{privateKey:e,publicKey:r}=await Lh(t);return new xn(e,r)}function ci(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=ns[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 lR=te(Oe(),1),fR=te(jo(),1),Rd=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=Cd(t);return new Rd.default.jsbn.BigInteger(Z(e,"base16"),16)}function Cd(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 Rw={"P-256":256,"P-384":384,"P-521":521},Cw=Object.keys(Rw),vR=Cw.join(" / ");async function Td(t,e){let r=un.decode(t);return xs().decrypt(r,e)}var mu={};Ge(mu,{MAX_KEY_SIZE:()=>no,RsaPrivateKey:()=>ui,RsaPublicKey:()=>ro,fromJwk:()=>Uw,generateKeyPair:()=>Fw,unmarshalRsaPrivateKey:()=>Ow,unmarshalRsaPublicKey:()=>Mw});var to=te(ye(),1);var s4=te(kd(),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 ti(t)}var VR=te(ts(),1),du=te(ye(),1);function Od(t,e){return e.map(r=>wt(t[r]))}function Md(t){return du.default.pki.setRsaPrivateKey(...Od(t,["n","e","d","p","q","dp","dq","qi"]))}function Ud(t){return du.default.pki.setRsaPublicKey(...Od(t,["n","e"]))}var bn={};Ge(bn,{jwkToPkcs1:()=>Lw,jwkToPkix:()=>Pw,pkcs1ToJwk:()=>Bw,pkixToJwk:()=>Dw});var zR=te(qi(),1),GR=te(ts(),1);var Er=te(ye(),1);function Bw(t){let e=Er.default.asn1.fromDer(Z(t,"ascii")),r=Er.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 Lw(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=Er.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(Er.default.asn1.toDer(e).getBytes(),"ascii")}function Dw(t){let e=Er.default.asn1.fromDer(Z(t,"ascii")),r=Er.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Vt(r.n),e:Vt(r.e)}}function Pw(t){if(t.n==null||t.e==null)throw new b("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Er.default.pki.publicKeyToAsn1({n:wt(t.n),e:wt(t.e)});return G(Er.default.asn1.toDer(e).getBytes(),"ascii")}async function Fd(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 Vd(e);return{privateKey:r[0],publicKey:r[1]}}async function pu(t){let r=[await mt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Nw(t)],n=await Vd({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Kd(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 qd(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 Vd(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 Nw(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 $d(t,e,r,n){let i=e?Ud(t):Md(t),o=Z(Uint8Array.from(r),"ascii"),s=n(o,i);return G(s,"ascii")}function Hd(t,e){return $d(t,!0,e,(r,n)=>n.encrypt(r))}function zd(t,e){return $d(t,!1,e,(r,n)=>n.decrypt(r))}function Ss(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 qd(this._key,r,e)}marshal(){return bn.jwkToPkix(this._key)}get bytes(){return nr.encode({Type:Te.RSA,Data:this.marshal()}).subarray()}encrypt(e){return Hd(this._key,e)}equals(e){return Le(this.bytes,e.bytes)}async hash(){let{bytes:e}=await tt.digest(this.bytes);return e}},ui=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return wn(16)}async sign(e){return Kd(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 zd(this._key,e)}marshal(){return bn.jwkToPkcs1(this._key)}get bytes(){return ir.encode({Type:Te.RSA,Data:this.marshal()}).subarray()}equals(e){return Le(this.bytes,e.bytes)}async hash(){let{bytes:e}=await tt.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 oi(this.bytes,e);throw new b(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Ow(t){let e=bn.pkcs1ToJwk(t);if(Ss(e)>no)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await pu(e);return new ui(r.privateKey,r.publicKey)}function Mw(t){let e=bn.pkixToJwk(t);if(Ss(e)>no)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new ro(e)}async function Uw(t){if(Ss(t)>no)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await pu(t);return new ui(e.privateKey,e.publicKey)}async function Fw(t){if(t>no)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Fd(t);return new ui(e.privateKey,e.publicKey)}var bu={};Ge(bu,{Secp256k1PrivateKey:()=>oo,Secp256k1PublicKey:()=>io,generateKeyPair:()=>eb,unmarshalSecp256k1PrivateKey:()=>jw,unmarshalSecp256k1PublicKey:()=>Jw});var Kw=(t,e,r)=>t&e^~t&r,qw=(t,e,r)=>t&e^t&r^e&r,Vw=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]),Vr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),$r=new Uint32Array(64),yu=class extends ri{constructor(){super(64,32,8,!1),this.A=Vr[0]|0,this.B=Vr[1]|0,this.C=Vr[2]|0,this.D=Vr[3]|0,this.E=Vr[4]|0,this.F=Vr[5]|0,this.G=Vr[6]|0,this.H=Vr[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)$r[f]=e.getUint32(r,!1);for(let f=16;f<64;f++){let h=$r[f-15],p=$r[f-2],d=Mt(h,7)^Mt(h,18)^h>>>3,m=Mt(p,17)^Mt(p,19)^p>>>10;$r[f]=m+$r[f-7]+d+$r[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+Kw(a,c,u)+Vw[f]+$r[f]|0,m=(Mt(n,2)^Mt(n,13)^Mt(n,22))+qw(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(){$r.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Gd=as(()=>new yu);function $w(t){let e=Xi(t);tr(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:Hw,hexToBytes:zw}=fs,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:Hw(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=vn,r=typeof t=="string"?zw(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}`}},wr=BigInt(0),Bt=BigInt(1),m4=BigInt(2),Yd=BigInt(3),y4=BigInt(4);function Gw(t){let e=$w(t),{Fp:r}=e,n=e.toBytes||((d,m,y)=>{let g=m.toAffine();return yr(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"&&wr<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=pr(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:mr(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)),D=r.eql(r.mul(g,_),r.mul(C,x));return A&&D}negate(){return new f(this.px,r.neg(this.py),this.pz)}double(){let{a:m,b:y}=e,g=r.mul(y,Yd),{px:x,py:w,pz:C}=this,_=r.ZERO,A=r.ZERO,D=r.ZERO,P=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),D=r.mul(x,C),D=r.add(D,D),_=r.mul(m,D),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,_),D=r.mul(g,D),Q=r.mul(m,Q),z=r.sub(P,Q),z=r.mul(m,z),z=r.add(z,D),D=r.add(P,P),P=r.add(D,P),P=r.add(P,Q),P=r.mul(P,z),A=r.add(A,P),Q=r.mul(w,C),Q=r.add(Q,Q),P=r.mul(Q,z),_=r.sub(_,P),D=r.mul(Q,W),D=r.add(D,D),D=r.add(D,D),new f(_,A,D)}add(m){l(m);let{px:y,py:g,pz:x}=this,{px:w,py:C,pz:_}=m,A=r.ZERO,D=r.ZERO,P=r.ZERO,W=e.a,Q=r.mul(e.b,Yd),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),P=r.mul(W,T),A=r.mul(Q,ge),P=r.add(A,P),A=r.sub(ne,P),P=r.add(ne,P),D=r.mul(A,P),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),D=r.add(D,z),z=r.mul(k,T),A=r.mul(je,A),A=r.sub(A,z),z=r.mul(je,ne),P=r.mul(k,P),P=r.add(P,z),new f(A,D,P)}subtract(m){return this.add(m.negate())}is0(){return this.equals(f.ZERO)}wNAF(m){return p.wNAFCached(this,u,m,y=>{let g=r.invertBatch(y.map(x=>x.pz));return y.map((x,w)=>x.toAffine(g[w])).map(f.fromAffine)})}multiplyUnsafe(m){let y=f.ZERO;if(m===wr)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,D=y,P=this;for(;w>wr||_>wr;)w&Bt&&(A=A.add(P)),_&Bt&&(D=D.add(P)),P=P.double(),w>>=Bt,_>>=Bt;return x&&(A=A.negate()),C&&(D=D.negate()),D=new f(r.mul(D.px,g.beta),D.py,D.pz),A.add(D)}multiply(m){a(m);let y=m,g,x,{endo:w}=e;if(w){let{k1neg:C,k1:_,k2neg:A,k2:D}=w.splitScalar(y),{p:P,f:W}=this.wNAF(_),{p:Q,f:z}=this.wNAF(D);P=p.constTimeNegate(C,P),Q=p.constTimeNegate(A,Q),Q=new f(r.mul(Q.px,w.beta),Q.py,Q.pz),g=P.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===wr||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 pr(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=ps(f,e.endo?Math.ceil(h/2):h);return{CURVE:e,ProjectivePoint:f,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function Yw(t){let e=Xi(t);return tr(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Wd(t){let e=Yw(t),{Fp:r,n}=e,i=r.BYTES+1,o=2*r.BYTES+1;function s(T){return wr<T&&T<r.ORDER}function a(T){return Ee(T,n)}function c(T){return hs(T,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:l,weierstrassEquation:f,isWithinCurveOrder:h}=Gw({...e,toBytes(T,k,L){let N=k.toAffine(),I=r.toBytes(N.x),F=yr;return L?F(Uint8Array.from([k.hasEvenY()?2:3]),I):F(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=mr(N);if(!s(I))throw new Error("Point is not on curve");let F=f(I),V=r.sqrt(F),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)),F=r.fromBytes(N.subarray(r.BYTES,2*r.BYTES));return{x:I,y:F}}else throw new Error(`Point of length ${k} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),p=T=>pr(Fr(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)=>mr(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,F=D(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(-F*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=Kc(e.n);return Sh(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=mr(T),L=T.length*8-e.nBitLength;return L>0?k>>BigInt(L):k},D=e.bits2int_modN||function(T){return a(A(T))},P=Qi(e.nBitLength);function W(T){if(typeof T!="bigint")throw new Error("bigint expected");if(!(wr<=T&&T<P))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Fr(T,e.nByteLength)}function Q(T,k,L=z){if(["recovered","canonical"].some(Pe=>Pe in L))throw new Error("sign() legacy options not supported");let{hash:N,randomBytes:I}=e,{lowS:F,prehash:V,extraEntropy:Y}=L;F==null&&(F=!0),T=ke("msgHash",T),V&&(T=ke("prehashed msgHash",N(T)));let ee=D(T),oe=l(k),me=[W(oe),W(ee)];if(Y!=null){let Pe=Y===!0?I(r.BYTES):Y;me.push(ke("extraEntropy",Pe))}let se=yr(...me),fe=ee;function qe(Pe){let Je=A(Pe);if(!h(Je))return;let et=c(Je),$e=u.BASE.multiply(Je).toAffine(),ct=a($e.x);if(ct===wr)return;let cr=a(et*a(fe+ct*oe));if(cr===wr)return;let tn=($e.x===ct?0:2)|Number($e.y&Bt),Mi=cr;return F&&d(cr)&&(Mi=m(cr),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),F=e;return Oc(F.hash.outputLen,F.nByteLength,F.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:F,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(F&&Y.hasHighS())return!1;V&&(k=e.hash(k));let{r:oe,s:me}=Y,se=D(k),fe=c(me),qe=a(se*fe),Pe=a(oe*fe),Je=u.BASE.multiplyAndAddUnsafe(ee,qe,Pe)?.toAffine();return Je?a(Je.x)===oe:!1}return{CURVE:e,getPublicKey:w,getSharedSecret:_,sign:ge,verify:je,ProjectivePoint:u,Signature:g,utils:x}}var Is=class extends ei{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,dh(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 Jn(this),this.iHash.update(e),this}digestInto(e){Jn(this),Tc(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()}},gu=(t,e,r)=>new Is(t,e).update(r).digest();gu.create=(t,e)=>new Is(t,e);function Ww(t){return{hash:t,hmac:(e,...r)=>gu(t,e,ss(...r)),randomBytes:ti}}function Qd(t,e){let r=n=>Wd({...t,...Ww(n)});return Object.freeze({...r(e),create:r})}var jd=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Xd=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Qw=BigInt(1),xu=BigInt(2),Zd=(t,e)=>(t+e/xu)/e;function Xw(t){let e=jd,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,xu,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(_,xu,e);if(!Eu.eql(Eu.sqr(A),t))throw new Error("Cannot find square root");return A}var Eu=ds(jd,void 0,void 0,{sqrt:Xw}),br=Qd({a:BigInt(0),b:BigInt(7),Fp:Eu,n:Xd,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=Xd,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Qw*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=Zd(o*t,e),c=Zd(-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}}}},Gd),C4=BigInt(0);var T4=br.ProjectivePoint;function Jd(){return br.utils.randomPrivateKey()}async function ep(t,e){let{digest:r}=await tt.digest(e);try{return br.sign(r,t).toDERRawBytes()}catch(n){throw new b(String(n),"ERR_INVALID_INPUT")}}async function tp(t,e,r){try{let{digest:n}=await tt.digest(r);return br.verify(e,n,t)}catch(n){throw new b(String(n),"ERR_INVALID_INPUT")}}function rp(t){return br.ProjectivePoint.fromHex(t).toRawBytes(!0)}function np(t){try{br.getPublicKey(t,!0)}catch(e){throw new b(String(e),"ERR_INVALID_PRIVATE_KEY")}}function wu(t){try{br.ProjectivePoint.fromHex(t)}catch(e){throw new b(String(e),"ERR_INVALID_PUBLIC_KEY")}}function ip(t){try{return br.getPublicKey(t,!0)}catch(e){throw new b(String(e),"ERR_INVALID_PRIVATE_KEY")}}var io=class{_key;constructor(e){wu(e),this._key=e}async verify(e,r){return tp(this._key,r,e)}marshal(){return rp(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 tt.digest(this.bytes);return e}},oo=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??ip(e),np(this._key),wu(this._publicKey)}async sign(e){return ep(this._key,e)}get public(){return new io(this._publicKey)}marshal(){return this._key}get bytes(){return ir.encode({Type:Te.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Le(this.bytes,e.bytes)}async hash(){let{bytes:e}=await tt.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 oi(this.bytes,e);throw new b(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function jw(t){return new oo(t)}function Jw(t){return new io(t)}async function eb(){let t=Jd();return new oo(t)}var vr={rsa:mu,ed25519:lu,secp256k1:bu};function vu(t){let e=Object.keys(vr).join(" / ");return new b(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function _u(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return vr[t];throw vu(t)}async function Cs(t,e){return _u(t).generateKeyPair(e??2048)}function so(t){let e=nr.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Te.RSA:return vr.rsa.unmarshalRsaPublicKey(r);case Te.Ed25519:return vr.ed25519.unmarshalEd25519PublicKey(r);case Te.Secp256k1:return vr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw vu(e.Type??"RSA")}}function op(t,e){return e=(e??"rsa").toLowerCase(),_u(e),t.bytes}async function li(t){let e=ir.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Te.RSA:return vr.rsa.unmarshalRsaPrivateKey(r);case Te.Ed25519:return vr.ed25519.unmarshalEd25519PrivateKey(r);case Te.Secp256k1:return vr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw vu(e.Type??"RSA")}}function sp(t,e){return e=(e??"rsa").toLowerCase(),_u(e),t.bytes}async function ao(t,e){try{let i=await Td(t,e);return await li(i)}catch{}let r=Rs.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=Rs.default.asn1.toDer(Rs.default.pki.privateKeyToAsn1(r));return n=G(n.getBytes(),"ascii"),vr.rsa.unmarshalRsaPrivateKey(n)}var Au=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 Iu(e,r))}},Su=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},Iu=globalThis.CustomEvent??Su;var Ru=Symbol.for("@libp2p/peer-discovery");var Cu=Symbol.for("@libp2p/peer-routing");var e8=te(Ho(),1),rb=te(ye(),1);var cp=te(ja(),1),up=te(Oe(),1),ap={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(ap).join(" / ");throw new b(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let o=ap[i],s=(0,cp.default)(t,e,r,n,o);return up.default.encode64(s,null)}var vt=te(Bu(),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 gb(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=gb(`${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 Lu=Symbol.for("@libp2p/peer-id");function Ls(t){return t!=null&&!!t[Lu]}var xb=Symbol.for("nodejs.util.inspect.custom"),dp=Object.values(kr).map(t=>t.decoder).reduce((t,e)=>t.or(e),kr.identity.decoder),pp=114,Du=36,Pu=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()})`}[Lu]=!0;toString(){return this.string==null&&(this.string=Me.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return kt.createV1(pp,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")}[xb](){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 mp(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??dp,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 pi(dp.decode(t))}function pi(t){try{let e=ln(t);if(e.code===Nr.code){if(e.digest.length===Du)return new Sn({multihash:e});if(e.digest.length===Pu)return new In({multihash:e})}if(e.code===tt.code)return new An({multihash:e})}catch{return Eb(kt.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function Eb(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==pp)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===tt.code)return new An({multihash:t.multihash});if(e.code===Nr.code){if(e.digest.length===Du)return new Sn({multihash:t.multihash});if(e.digest.length===Pu)return new In({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function mi(t,e){return t.length===Du?new Sn({multihash:er(Nr.code,t),privateKey:e}):t.length===Pu?new In({multihash:er(Nr.code,t),privateKey:e}):new An({multihash:await tt.digest(t),publicKey:t,privateKey:e})}var Ds=(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 _r="/",yp=new TextEncoder().encode(_r),Ps=yp[0],or=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(_r))}static random(){return new t(Ds().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=yp),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(_r).slice(1)}type(){return wb(this.baseNamespace())}name(){return bb(this.baseNamespace())}instance(e){return new t(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(_r)||(e+=_r),e+=this.type(),new t(e)}parent(){let e=this.list();return e.length===1?new t(_r):new t(e.slice(0,-1).join(_r))}child(e){return this.toString()===_r?e:e.toString()===_r?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(),...vb(e.map(r=>r.namespaces()))])}};function wb(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function bb(t){let e=t.split(":");return e[e.length-1]}function vb(t){return[].concat(...t)}var Sp=te(Ap(),1),Hr=Sp.default;var kp=te(Np(),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 Os=ie("libp2p:keychain"),Kb="/pkcs8/",Op="/info/",Rn=new WeakMap,Cn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},ku={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function Ar(t){return t==null||typeof t!="string"?!1:t===(0,kp.default)(t.trim())&&t.length>0}async function we(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function sr(t){return new or(Kb+t)}function zr(t){return new or(Op+t)}var Tn=class{components;init;constructor(e,r){if(this.components=e,this.init=Hr(ku,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({},ku),r=Math.ceil(Cn.minSaltLength/3)*3;return e.dek.salt=Z(wn(r),"base64"),e}static get options(){return ku}async createKey(e,r,n=2048){if(!Ar(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=sr(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 Cs(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(zr(e),G(JSON.stringify(s))),await h.commit()}catch(a){throw await we(),a}return s}async listKeys(){let e={prefix:Op},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(!Ar(e))throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);let r=zr(e);try{let n=await this.components.datastore.get(r);return JSON.parse(Z(n))}catch(n){throw await we(),Os.error(n),new b(`Key '${e}' does not exist.`,ce.ERR_KEY_NOT_FOUND)}}async removeKey(e){if(!Ar(e)||e==="self")throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);let r=sr(e),n=await this.findKeyByName(e),i=this.components.datastore.batch();return i.delete(r),i.delete(zr(e)),await i.commit(),n}async renameKey(e,r){if(!Ar(e)||e==="self")throw await we(),new b(`Invalid old key name '${e}'`,ce.ERR_OLD_KEY_NAME_INVALID);if(!Ar(r)||r==="self")throw await we(),new b(`Invalid new key name '${r}'`,ce.ERR_NEW_KEY_NAME_INVALID);let n=sr(e),i=sr(r),o=zr(e),s=zr(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(!Ar(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=sr(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 mi(i.public.bytes,i.bytes)}async importKey(e,r,n){if(!Ar(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=sr(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(zr(e),G(JSON.stringify(c))),await u.commit(),c}async importPeer(e,r){try{if(!Ar(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 li(r.privateKey),i=sr(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(zr(e),G(JSON.stringify(u))),await l.commit(),u}catch(n){throw await we(),n}}async getPrivateKey(e){if(!Ar(e))throw await we(),new b(`Invalid key name '${e}'`,ce.ERR_INVALID_KEY_NAME);try{let r=sr(e),n=await this.components.datastore.get(r);return Z(n)}catch(r){throw await we(),Os.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);Os("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(sr(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(sr(a.name),G(h)),p.put(zr(a.name),G(JSON.stringify(d))),await p.commit()}Os("keychain reconstructed")}};function Sr(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 Sr(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 Sr(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 Sr(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 Sr(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 Ou=class t{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return Sr(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 Sr(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 Mu;(function(t){let e;t.codec=()=>(e==null&&(e=it((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=>nt(r,t.codec()),t.decode=r=>rt(r,t.codec())})(Mu||(Mu={}));var Mp=async()=>{let t=await Cs("Ed25519"),e=await qb(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function qb(t){return mi(op(t.public),sp(t))}var Vb=Math.pow(2,7),$b=Math.pow(2,14),Hb=Math.pow(2,21),Uu=Math.pow(2,28),Fu=Math.pow(2,35),Ku=Math.pow(2,42),qu=Math.pow(2,49),pe=128,ut=127;function yt(t){if(t<Vb)return 1;if(t<$b)return 2;if(t<Hb)return 3;if(t<Uu)return 4;if(t<Fu)return 5;if(t<Ku)return 6;if(t<qu)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function zb(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 Gb(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 Yb(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)*Uu,r<pe)||(r=t[e+5],n+=(r&ut)*Fu,r<pe)||(r=t[e+6],n+=(r&ut)*Ku,r<pe)||(r=t[e+7],n+=(r&ut)*qu,r<pe))return n;throw new RangeError("Could not decode varint")}function Wb(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)*Uu,r<pe)||(r=t.get(e+5),n+=(r&ut)*Fu,r<pe)||(r=t.get(e+6),n+=(r&ut)*Ku,r<pe)||(r=t.get(e+7),n+=(r&ut)*qu,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?zb(t,e,r):Gb(t,e,r)}function Ir(t,e=0){return t instanceof Uint8Array?Yb(t,e):Wb(t,e)}var Fp=Symbol.for("@achingbrain/uint8arraylist");function Up(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 Ms(t){return!!t?.[Fp]}var Ze=class t{constructor(...e){Object.defineProperty(this,Fp,{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(Ms(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(Ms(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=Up(this.bufs,e);return r.buf[r.index]}set(e,r){let n=Up(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(Ms(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(!Ms(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=dr(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=dr(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=dr(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=dr(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=dr(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=dr(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=dr(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=dr(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 Kp={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var ho;(function(t){let e;t.codec=()=>(e==null&&(e=it((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=>nt(r,t.codec()),t.decode=r=>rt(r,t.codec())})(ho||(ho={}));var xi=class t{static createFromProtobuf=async e=>{let r=ho.decode(e),n=await mi(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=qp(n,i,o),c=await(await li(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",Kp.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=qp(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)}},qp=(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 Vp(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 Us=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 $p=45,Qb=15,Ei=new Us;function Vu(t){if(!(t.length>Qb))return Ei.new(t).parseWith(()=>Ei.readIPv4Addr())}function $u(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>$p))return Ei.new(t).parseWith(()=>Ei.readIPv6Addr())}function Fs(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>$p))return Ei.new(t).parseWith(()=>Ei.readIPAddr())}var zC=parseInt("0xFFFF",16),GC=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Gp(t){return!!Vu(t)}function Yp(t){return!!$u(t)}function wi(t){return!!Fs(t)}var Wp=Gp,ev=Yp,Hu=function(t){let e=0;if(t=t.toString().trim(),Wp(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(ev(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=Wp(r[n]),s;o&&(s=Hu(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")},Qp=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 bi={},zu={},rv=[[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"]];rv.forEach(t=>{let e=nv(...t);zu[e.code]=e,bi[e.name]=e});function nv(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function be(t){if(typeof t=="number"){if(zu[t]!=null)return zu[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(bi[t]!=null)return bi[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var T3=be("ip4"),B3=be("ip6"),L3=be("ipcidr");function Yu(t,e){switch(be(t).code){case 4:case 41:return ov(e);case 42:return jp(e);case 6:case 273:case 33:case 132:return em(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return jp(e);case 421:return uv(e);case 444:return Jp(e);case 445:return Jp(e);case 466:return cv(e);default:return Z(e,"base16")}}function Wu(t,e){switch(be(t).code){case 4:return Xp(e);case 41:return Xp(e);case 42:return Zp(e);case 6:case 273:case 33:case 132:return Qu(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Zp(e);case 421:return sv(e);case 444:return lv(e);case 445:return fv(e);case 466:return av(e);default:return G(e,"base16")}}var Gu=Object.values(kr).map(t=>t.decoder),iv=function(){let t=Gu[0].or(Gu[1]);return Gu.slice(2).forEach(e=>t=t.or(e)),t}();function Xp(t){if(!wi(t))throw new Error("invalid ip address");return Hu(t)}function ov(t){let e=Qp(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!wi(e))throw new Error("invalid ip address");return e}function Qu(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function em(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Zp(t){let e=G(t),r=Uint8Array.from(Lt(e.length));return Ue([r,e],r.length+e.length)}function jp(t){let e=Ir(t);if(t=t.slice(yt(e)),t.length!==e)throw new Error("inconsistent lengths");return Z(t)}function sv(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 av(t){let e=iv.decode(t),r=Uint8Array.from(Lt(e.length));return Ue([r,e],r.length+e.length)}function cv(t){let e=Ir(t),r=t.slice(yt(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+Z(r,"base64url")}function uv(t){let e=Ir(t),r=t.slice(yt(e));if(r.length!==e)throw new Error("inconsistent lengths");return Z(r,"base58btc")}function lv(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=Qu(n);return Ue([r,i],r.length+i.length)}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!==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=Qu(n);return Ue([r,i],r.length+i.length)}function Jp(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=Z(e,"base32"),i=em(r);return`${n}:${i}`}function tm(t){t=Xu(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 nm("invalid address: "+t);if(a.path===!0){n=Xu(i.slice(o).join("/")),e.push([a.code,Wu(a.code,n)]),r.push([a.code,n]);break}let c=Wu(a.code,i[o]);e.push([a.code,c]),r.push([a.code,Yu(a.code,c)])}return{string:rm(r),bytes:ju(e),tuples:e,stringTuples:r,path:n}}function Zu(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let o=Ir(t,i),s=yt(o),a=be(o),c=hv(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 nm("Invalid address Uint8Array: "+Z(t,"base16"));e.push([o,u]);let l=Yu(o,u);if(r.push([o,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(t),string:rm(r),tuples:e,stringTuples:r,path:n}}function rm(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}),Xu(e.join("/"))}function ju(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 hv(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=Ir(e instanceof Uint8Array?e:Uint8Array.from(e));return r+yt(r)}}function Xu(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function nm(t){return new Error("Error parsing address: "+t)}var dv=Symbol.for("nodejs.util.inspect.custom"),pv=[be("dns").code,be("dns4").code,be("dns6").code,be("dnsaddr").code],el=new Map,im=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Ln(t){return!!t?.[im]}var Ju=class t{bytes;#e;#t;#r;#n;[im]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=Zu(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=tm(e)}else if(Ln(e))r=Zu(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??""}`),pv.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(ju(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===bi.p2p.code&&e.push([n,i]),n===bi["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=el.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)}[dv](){return`Multiaddr(${this.#e})`}};function ze(t){return new Ju(t)}var om="libp2p-peer-record",sm=Uint8Array.from([3,1]);var po;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=it((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=>nt(o,n.codec()),n.decode=o=>rt(o,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=it((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=>nt(n,t.codec()),t.decode=n=>rt(n,t.codec())})(po||(po={}));var Dn=class t{static createFromProtobuf=e=>{let r=po.decode(e),n=pi(r.peerId),i=(r.addresses??[]).map(s=>ze(s.multiaddr)),o=r.seq;return new t({peerId:n,multiaddrs:i,seqNumber:o})};static DOMAIN=om;static CODEC=sm;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||!Vp(this.multiaddrs,e.multiaddrs))}};function mv(t){return t[Symbol.asyncIterator]!=null}function yv(t){if(mv(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=yv;var gm=te(cm(),1);var go=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},rl=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},um=t=>globalThis.DOMException===void 0?new rl(t):new DOMException(t),lm=t=>{let e=t.reason===void 0?um("This operation was aborted."):t.reason;return e instanceof Error?e:um(e)};function nl(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(lm(c)),c.addEventListener("abort",()=>{a(lm(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 il(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 Pn=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)},Rr,xo=class{constructor(){Rr.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&Pn(this,Rr,"f")[this.size-1].priority>=r.priority){Pn(this,Rr,"f").push(n);return}let i=il(Pn(this,Rr,"f"),n,(o,s)=>s.priority-o.priority);Pn(this,Rr,"f").splice(i,0,n)}dequeue(){let e=Pn(this,Rr,"f").shift();return e?.run}filter(e){return Pn(this,Rr,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return Pn(this,Rr,"f").length}};Rr=new WeakMap;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,wo,bo,Yr,Gs,vo,qs,Ht,Eo,_t,Vs,At,_o,Gr,$s,fm,hm,mm,dm,pm,Hs,ol,sl,Ys,ym,zs,Ws=class extends Error{},zt=class extends gm.default{constructor(e){var r,n,i,o;if(super(),Ke.add(this),wo.set(this,void 0),bo.set(this,void 0),Yr.set(this,0),Gs.set(this,void 0),vo.set(this,void 0),qs.set(this,0),Ht.set(this,void 0),Eo.set(this,void 0),_t.set(this,void 0),Vs.set(this,void 0),At.set(this,0),_o.set(this,void 0),Gr.set(this,void 0),$s.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:xo,...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,wo,e.carryoverConcurrencyCount,"f"),De(this,bo,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),De(this,Gs,e.intervalCap,"f"),De(this,vo,e.interval,"f"),De(this,_t,new e.queueClass,"f"),De(this,Vs,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,De(this,$s,e.throwOnTimeout===!0,"f"),De(this,Gr,e.autoStart===!1,"f")}get concurrency(){return q(this,_o,"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,_o,e,"f"),q(this,Ke,"m",Ys).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:q(this,$s,"f"),...r},new Promise((n,i)=>{q(this,_t,"f").enqueue(async()=>{var o,s,a;De(this,At,(s=q(this,At,"f"),s++,s),"f"),De(this,Yr,(a=q(this,Yr,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new Ws("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=nl(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,q(this,Ke,"m",ym).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",mm).call(this)}},r),this.emit("add"),q(this,Ke,"m",Hs).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return q(this,Gr,"f")?(De(this,Gr,!1,"f"),q(this,Ke,"m",Ys).call(this),this):this}pause(){De(this,Gr,!0,"f")}clear(){De(this,_t,new(q(this,Vs,"f")),"f")}async onEmpty(){q(this,_t,"f").size!==0&&await q(this,Ke,"m",zs).call(this,"empty")}async onSizeLessThan(e){q(this,_t,"f").size<e||await q(this,Ke,"m",zs).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",zs).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,Gr,"f")}};wo=new WeakMap,bo=new WeakMap,Yr=new WeakMap,Gs=new WeakMap,vo=new WeakMap,qs=new WeakMap,Ht=new WeakMap,Eo=new WeakMap,_t=new WeakMap,Vs=new WeakMap,At=new WeakMap,_o=new WeakMap,Gr=new WeakMap,$s=new WeakMap,Ke=new WeakSet,fm=function(){return q(this,bo,"f")||q(this,Yr,"f")<q(this,Gs,"f")},hm=function(){return q(this,At,"f")<q(this,_o,"f")},mm=function(){var e;De(this,At,(e=q(this,At,"f"),e--,e),"f"),q(this,Ke,"m",Hs).call(this),this.emit("next")},dm=function(){q(this,Ke,"m",sl).call(this),q(this,Ke,"m",ol).call(this),De(this,Eo,void 0,"f")},pm=function(){let e=Date.now();if(q(this,Ht,"f")===void 0){let r=q(this,qs,"f")-e;if(r<0)De(this,Yr,q(this,wo,"f")?q(this,At,"f"):0,"f");else return q(this,Eo,"f")===void 0&&De(this,Eo,setTimeout(()=>{q(this,Ke,"m",dm).call(this)},r),"f"),!0}return!1},Hs=function(){if(q(this,_t,"f").size===0)return q(this,Ht,"f")&&clearInterval(q(this,Ht,"f")),De(this,Ht,void 0,"f"),this.emit("empty"),q(this,At,"f")===0&&this.emit("idle"),!1;if(!q(this,Gr,"f")){let e=!q(this,Ke,"a",pm);if(q(this,Ke,"a",fm)&&q(this,Ke,"a",hm)){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,bo,"f")||q(this,Ht,"f")!==void 0||(De(this,Ht,setInterval(()=>{q(this,Ke,"m",sl).call(this)},q(this,vo,"f")),"f"),De(this,qs,Date.now()+q(this,vo,"f"),"f"))},sl=function(){q(this,Yr,"f")===0&&q(this,At,"f")===0&&q(this,Ht,"f")&&(clearInterval(q(this,Ht,"f")),De(this,Ht,void 0,"f")),De(this,Yr,q(this,wo,"f")?q(this,At,"f"):0,"f"),q(this,Ke,"m",Ys).call(this)},Ys=function(){for(;q(this,Ke,"m",Hs).call(this););},ym=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new Ws("The task was aborted."))},{once:!0})})},zs=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var al=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},cl=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},xm=t=>globalThis.DOMException===void 0?new cl(t):new DOMException(t),Em=t=>{let e=t.reason===void 0?xm("This operation was aborted."):t.reason;return e instanceof Error?e:xm(e)};function ul(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(Em(h)),h.addEventListener("abort",()=>{l(Em(h))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new al;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 ll="lock:worker:request-read",fl="lock:worker:release-read",hl="lock:master:grant-read",dl="lock:worker:request-write",pl="lock:worker:release-write",ml="lock:master:grant-write";var Wr={},vi=t=>{t.addEventListener("message",e=>{vi.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{vi.dispatchEvent("message",t,e)})};vi.addEventListener=(t,e)=>{Wr[t]==null&&(Wr[t]=[]),Wr[t].push(e)};vi.removeEventListener=(t,e)=>{Wr[t]!=null&&(Wr[t]=Wr[t].filter(r=>r===e))};vi.dispatchEvent=function(t,e,r){Wr[t]!=null&&Wr[t].forEach(n=>n(e,r))};var yl=vi;var wm=(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)}))}}))},bm=(t,e,r,n)=>async()=>{let i=Ds();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)})},Ev={singleProcess:!1},vm=t=>{if(t=Object.assign({},Ev,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return yl.addEventListener("message",wm(r,"requestReadLock",ll,fl,hl)),yl.addEventListener("message",wm(r,"requestWriteLock",dl,pl,ml)),r}return{isWorker:!0,readLock:r=>bm(r,ll,hl,fl),writeLock:r=>bm(r,dl,ml,pl)}};var Nn={},Qr;async function gl(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>await ul((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var wv=(t,e)=>{if(Qr.isWorker===!0)return{readLock:Qr.readLock(t,e),writeLock:Qr.writeLock(t,e)};let r=new zt({concurrency:1}),n;return{async readLock(){if(n!=null)return await gl(n,e);n=new zt({concurrency:e.concurrency,autoStart:!1});let i=n,o=gl(n,e);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await o},async writeLock(){return n=null,await gl(r,e)}}},bv={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function xl(t){let e=Object.assign({},bv,t);return Qr==null&&(Qr=vm(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]=wv(e.name,e)),Nn[e.name]}var ot={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var _i;(function(t){let e;(function(i){let o;i.codec=()=>(o==null&&(o=it((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=>nt(s,i.codec()),i.decode=s=>rt(s,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let o;i.codec=()=>(o==null&&(o=it((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),Xs.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=Xs.codec().decode(s,s.uint32());break;default:s.skipType(l&7);break}}return c})),o),i.encode=s=>nt(s,i.codec()),i.decode=s=>rt(s,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=it((i,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),i.addresses!=null)for(let a of i.addresses)o.uint32(10),Qs.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(Qs.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=>nt(i,t.codec()),t.decode=i=>rt(i,t.codec())})(_i||(_i={}));var Qs;(function(t){let e;t.codec=()=>(e==null&&(e=it((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=>nt(r,t.codec()),t.decode=r=>rt(r,t.codec())})(Qs||(Qs={}));var Xs;(function(t){let e;t.codec=()=>(e==null&&(e=it((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=>nt(r,t.codec()),t.decode=r=>rt(r,t.codec())})(Xs||(Xs={}));function Ai(t,e){let r=_i.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=mp({...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 El="/peers/";function Si(t){if(!Ls(t)||t.type==null)throw new b("Invalid PeerId",ot.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new or(`${El}${e}`)}async function _m(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",ot.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 js(t,e,r,n){if(e==null)throw new b("Invalid PeerData",ot.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",ot.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",ot.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=Zs(f,{validate:Am})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=Zs(f,{validate:Sm,map:Im})}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=Zs([...a.entries()],{validate:Am})}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=Zs([...h.entries()],{validate:Sm,map:Im})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await _m(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 Zs(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 Am(t,e){if(typeof t!="string")throw new b("Metadata key must be a string",ot.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new b("Metadata value must be a Uint8Array",ot.ERR_INVALID_PARAMETERS)}function Sm(t,e){if(typeof t!="string")throw new b("Tag name must be a string",ot.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new b("Tag value must be an integer",ot.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new b("Tag value must be between 0-100",ot.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new b("Tag ttl must be an integer",ot.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new b("Tag ttl must be between greater than 0",ot.ERR_INVALID_PARAMETERS)}}function Im(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=pi(i),s=r.get(o);if(s!=null)return s;let a=Ai(o,e);return r.set(o,a),a}function vv(t,e){return t==null?{}:{prefix:El,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 ea=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=xl({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(Si(e))}async delete(e){if(this.peerId.equals(e))throw new b("Cannot delete self peer",ot.ERR_INVALID_PARAMETERS);await this.datastore.delete(Si(e))}async load(e){let r=await this.datastore.get(Si(e));return Ai(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await js(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 js(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 js(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(vv(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(Si(e)),n=Ai(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=_i.encode(r);return n!=null&&Le(o,n)?{peer:Ai(e,o),previous:i,updated:!1}:(await this.datastore.put(Si(e),o),{peer:Ai(e,o),previous:i,updated:!0})}};var _e=ie("libp2p:peer-store"),ta=class{store;events;peerId;constructor(e,r={}){this.events=e.events,this.peerId=e.peerId,this.store=new ea(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 xi.openAndCertify(e,Dn.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=Dn.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 xi.createFromProtobuf(o.peerRecordEnvelope),a=Dn.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 _v(t){return t[Symbol.asyncIterator]!=null}function Av(t){if(_v(t))return(async()=>{for await(let e of t);})();for(let e of t);}var wl=Av;function Sv(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 ra=Sv;function Iv(t){return t[Symbol.asyncIterator]!=null}function Rv(t,e){if(Iv(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=ra(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 Gt=Rv;function Cv(t){return t[Symbol.asyncIterator]!=null}function Tv(t,e){return Cv(t)?async function*(){yield*(await mo(t)).sort(e)}():function*(){yield*mo(t).sort(e)}()}var bl=Tv;function Bv(t){return t[Symbol.asyncIterator]!=null}function Lv(t,e){return Bv(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 vl=Lv;var na=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 wl(this.putMany(e,n)),e=[],await wl(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=Gt(n,o=>o.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>Gt(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>bl(i,o),n)),e.offset!=null){let i=0,o=e.offset;n=Gt(n,()=>i++>=o)}return e.limit!=null&&(n=vl(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=Gt(n,o=>o.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>Gt(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>bl(i,o),n)),e.offset!=null){let i=e.offset,o=0;n=Gt(n,()=>o++>=i)}return e.limit!=null&&(n=vl(n,e.limit)),n}};var Tm=te(_l(),1);function Bm(t){return t=t??new Error("Not Found"),(0,Tm.default)(t,"ERR_NOT_FOUND")}var ia=class extends na{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 Bm();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 or(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new or(e)}};function Lm(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var Nv=ie("libp2p:address-manager"),kv=t=>t;function Al(t,e){let r=t.getPeerId();return r!=null&&de(r).equals(e)&&(t=t.decapsulate(ze(`/p2p/${e.toString()}`))),t}var oa=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??kv,this._updatePeerStoreAddresses=Lm(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=>{Nv.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=Al(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=Al(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=Al(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 Dm(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var Sl=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=>Dm(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")}},Ov=["metrics","connectionProtector"],Mv=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function Pm(t={}){let e=new Sl(t);return new Proxy(e,{get(n,i,o){if(typeof i=="string"&&!Mv.includes(i)){let s=e.components[i];if(s==null&&!Ov.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 Km=te(Nm(),1);var km="[a-fA-F\\d:]",Xr=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${km})|(?<=${km})(?=\\s|$))`:"",Yt="(?: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}",sa=`
|
|
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"))}};xy.exports=Fl});var wy=O(()=>{});var vy=O((VL,by)=>{by.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 Ay=O((HL,_y)=>{var l_=vy(),Kl=St();_y.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 Kl(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 l_(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 Kl(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 Kl(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 Vl=O((zL,Iy)=>{var f_=Ao(),h_=Ay(),Sy=St(),ql=class extends f_{constructor(e={}){super(e),this._memoryStorage=new h_}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 Sy(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 Sy(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)))}};Iy.exports=ql});var Dy=O((GL,Py)=>{var Ry=wy(),d_=Vi(),p_=Ao(),Ty=Vl(),m_=St(),Pt="rate_limiter_flexible",Pi=null,Cy=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})},By=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&By.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):By.call(this,o)},Ly=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=>{Cy(t,e,"resolve",n)}).catch(n=>{Cy(t,e,"reject",n)})},y_=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 m_(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]}},g_=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+=d_.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},$l=class{constructor(){if(Pi)return Pi;this._rateLimiters={},Ry.setMaxListeners(0),Ry.on("message",(e,r)=>{r&&r.channel===Pt&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new Ty(r.opts)),e.send({channel:Pt,type:"init",keyPrefix:r.opts.keyPrefix})):Ly.call(this,e,r)}),Pi=this}},Hl=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 Ty(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)})}};Ly.call(this,s,o)}})}),Pi=this}},zl=class extends p_{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:y_.call(this,r)}),process.send({channel:Pt,type:"init",opts:g_.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)})}};Py.exports={RateLimiterClusterMaster:$l,RateLimiterClusterMasterPM2:Hl,RateLimiterCluster:zl}});var ky=O((YL,Ny)=>{var x_=Ti(),E_=St(),Gl=class extends x_{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new E_;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)})})})}};Ny.exports=Gl});var Uy=O((QL,My)=>{var Oy=St();My.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 Oy(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new Oy(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 Ky=O((ZL,Fy)=>{var w_=Ao();Fy.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 w_))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 Vy=O((JL,qy)=>{qy.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 Gy=O((t6,zy)=>{var $y=Vy(),Hy=4294967295,Yl="limiter";zy.exports=class{constructor(e,r={maxQueueSize:Hy}){this._queueLimiters={KEY_DEFAULT:new ua(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=Yl){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=Yl){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:Hy,key:Yl}){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 $y(`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 $y(`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 Wy=O((n6,Yy)=>{var Wl=St();Yy.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return e?new Wl(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 Wl?this._burstLimiter.consume(e,r,n).then(o=>Promise.resolve(this._combineRes(i,o))).catch(o=>o instanceof Wl?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 Xy=O((i6,Qy)=>{var b_=hy(),v_=my(),__=gy(),A_=Ey(),{RateLimiterClusterMaster:S_,RateLimiterClusterMasterPM2:I_,RateLimiterCluster:R_}=Dy(),C_=Vl(),T_=ky(),B_=Uy(),L_=Ky(),P_=Gy(),D_=Wy(),N_=St();Qy.exports={RateLimiterRedis:b_,RateLimiterMongo:v_,RateLimiterMySQL:__,RateLimiterPostgres:A_,RateLimiterMemory:C_,RateLimiterMemcache:T_,RateLimiterClusterMaster:S_,RateLimiterClusterMasterPM2:I_,RateLimiterCluster:R_,RLWrapperBlackAndWhite:B_,RateLimiterUnion:L_,RateLimiterQueue:P_,BurstyRateLimiter:D_,RateLimiterRes:N_}});var mA={};Ge(mA,{createLibp2p:()=>pA});var pg=te(Hn(),1);var H4=te(qi(),1),z4=te(W0(),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 fc={};Ge(fc,{base10:()=>f2});function s2(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 a2=s2,c2=a2,Q0=c2;var GA=new Uint8Array(0);var X0=(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 Z0=t=>new TextEncoder().encode(t),j0=t=>new TextDecoder().decode(t);var ac=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")}},cc=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 eh(this,e)}},uc=class{constructor(e){this.decoders=e}or(e){return eh(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`)}},eh=(t,e)=>new uc({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),lc=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new ac(e,r,n),this.decoder=new cc(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 lc(t,e,r,n),Pr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=Q0(r,e);return Xn({prefix:t,name:e,encode:n,decode:o=>fr(i(o))})},u2=(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},l2=(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 l2(i,n,r)},decode(i){return u2(i,n,r,t)}});var f2=Pr({prefix:"9",name:"base10",alphabet:"0123456789"});var hc={};Ge(hc,{base16:()=>h2,base16upper:()=>d2});var h2=Ne({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),d2=Ne({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var dc={};Ge(dc,{base2:()=>p2});var p2=Ne({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var pc={};Ge(pc,{base256emoji:()=>E2});var th=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}"),m2=th.reduce((t,e,r)=>(t[r]=e,t),[]),y2=th.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function g2(t){return t.reduce((e,r)=>(e+=m2[r],e),"")}function x2(t){let e=[];for(let r of t){let n=y2[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var E2=Xn({prefix:"\u{1F680}",name:"base256emoji",encode:g2,decode:x2});var mc={};Ge(mc,{base32:()=>xt,base32hex:()=>_2,base32hexpad:()=>S2,base32hexpadupper:()=>I2,base32hexupper:()=>A2,base32pad:()=>b2,base32padupper:()=>v2,base32upper:()=>w2,base32z:()=>R2});var xt=Ne({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),w2=Ne({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),b2=Ne({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),v2=Ne({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),_2=Ne({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),A2=Ne({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),S2=Ne({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),I2=Ne({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),R2=Ne({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var yc={};Ge(yc,{base36:()=>C2,base36upper:()=>T2});var C2=Pr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),T2=Pr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var gc={};Ge(gc,{base58btc:()=>Me,base58flickr:()=>B2});var Me=Pr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),B2=Pr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var xc={};Ge(xc,{base64:()=>un,base64pad:()=>L2,base64url:()=>P2,base64urlpad:()=>D2});var un=Ne({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),L2=Ne({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),P2=Ne({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),D2=Ne({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Ec={};Ge(Ec,{base8:()=>N2});var N2=Ne({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var wc={};Ge(wc,{identity:()=>k2});var k2=Xn({prefix:"\0",name:"identity",encode:t=>j0(t),decode:t=>Z0(t)});var aS=new TextEncoder,cS=new TextDecoder;var vc={};Ge(vc,{identity:()=>Dr});var U2=ih,rh=128,F2=127,K2=~F2,q2=Math.pow(2,31);function ih(t,e,r){e=e||[],r=r||0;for(var n=r;t>=q2;)e[r++]=t&255|rh,t/=128;for(;t&K2;)e[r++]=t&255|rh,t>>>=7;return e[r]=t|0,ih.bytes=r-n+1,e}var V2=bc,$2=128,nh=127;function bc(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw bc.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&nh)<<i:(s&nh)*Math.pow(2,i),i+=7}while(s>=$2);return bc.bytes=o-n,r}var H2=Math.pow(2,7),z2=Math.pow(2,14),G2=Math.pow(2,21),Y2=Math.pow(2,28),W2=Math.pow(2,35),Q2=Math.pow(2,42),X2=Math.pow(2,49),Z2=Math.pow(2,56),j2=Math.pow(2,63),J2=function(t){return t<H2?1:t<z2?2:t<G2?3:t<Y2?4:t<W2?5:t<Q2?6:t<X2?7:t<Z2?8:t<j2?9:10},eE={encode:U2,decode:V2,encodingLength:J2},tE=eE,zi=tE;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)},oh=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&X0(t.bytes,r.bytes)}},Jn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var sh=0,rE="identity",ah=fr,nE=t=>Jt(sh,ah(t)),Dr={code:sh,name:rE,encode:ah,digest:nE};var Sc={};Ge(Sc,{sha256:()=>rt,sha512:()=>iE});var Ac=({name:t,code:e,encode:r})=>new _c(t,e,r),_c=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 uh=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),rt=Ac({name:"sha2-256",code:18,encode:uh("SHA-256")}),iE=Ac({name:"sha2-512",code:19,encode:uh("SHA-512")});var lh=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return sE(r,Ic(t),e||Me.encoder);default:return aE(r,Ic(t),e||xt.encoder)}};var fh=new WeakMap,Ic=t=>{let e=fh.get(t);if(e==null){let r=new Map;return fh.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!==cE)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&&oh(e.multihash,n.multihash)}toString(e){return lh(this,e)}toJSON(){return{"/":lh(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||hh(n,i,o.bytes))}else if(r[uE]===!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=hh(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]=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 Ic(o).set(n,e),o}},oE=(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)]}}},sE=(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},aE=(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,cE=18,hh=(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},uE=Symbol.for("@ipld/js-cid/CID");var Nr={...wc,...dc,...Ec,...fc,...hc,...mc,...yc,...gc,...xc,...pc},AS={...Sc,...vc};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 ph(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var dh=ph("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Rc=ph("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}),lE={utf8:dh,"utf-8":dh,hex:Nr.base16,latin1:Rc,ascii:Rc,binary:Rc,...Nr},rs=lE;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 uu={};Ge(uu,{Ed25519PrivateKey:()=>xn,Ed25519PublicKey:()=>Ji,generateKeyPair:()=>Cw,generateKeyPairFromSeed:()=>Td,unmarshalEd25519PrivateKey:()=>Iw,unmarshalEd25519PublicKey:()=>Rw});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 mh(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function Cc(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 yh(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");mh(t.outputLen),mh(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 gh(t,e){Cc(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 xh=t=>t instanceof Uint8Array;var is=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Mt=(t,e)=>t<<32-e|t>>>e,fE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!fE)throw new Error("Non little-endian hardware is not supported");function Tc(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=Tc(t)),!xh(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(!xh(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}var ti=class{clone(){return this._cloneInto()}},US={}.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 hE(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),gh(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;hE(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),Bc=BigInt(32);function Eh(t,e=!1){return e?{h:Number(t&as),l:Number(t>>Bc&as)}:{h:Number(t>>Bc&as)|0,l:Number(t&as)|0}}function dE(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}=Eh(t[i],e);[r[i],n[i]]=[o,s]}return[r,n]}var pE=(t,e)=>BigInt(t>>>0)<<Bc|BigInt(e>>>0),mE=(t,e,r)=>t>>>r,yE=(t,e,r)=>t<<32-r|e>>>r,gE=(t,e,r)=>t>>>r|e<<32-r,xE=(t,e,r)=>t<<32-r|e>>>r,EE=(t,e,r)=>t<<64-r|e>>>r-32,wE=(t,e,r)=>t>>>r-32|e<<64-r,bE=(t,e)=>e,vE=(t,e)=>t,_E=(t,e,r)=>t<<r|e>>>32-r,AE=(t,e,r)=>e<<r|t>>>32-r,SE=(t,e,r)=>e<<r-32|t>>>64-r,IE=(t,e,r)=>t<<r-32|e>>>64-r;function RE(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var CE=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),TE=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,BE=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),LE=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,PE=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),DE=(t,e,r,n,i,o)=>e+r+n+i+o+(t/2**32|0)|0;var NE={fromBig:Eh,split:dE,toBig:pE,shrSH:mE,shrSL:yE,rotrSH:gE,rotrSL:xE,rotrBH:EE,rotrBL:wE,rotr32H:bE,rotr32L:vE,rotlSH:_E,rotlSL:AE,rotlBH:SE,rotlBL:IE,add:RE,add3L:CE,add3H:TE,add4L:BE,add4H:LE,add5H:DE,add5L:PE},J=NE;var[kE,OE]=(()=>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),Lc=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,OE[w],Or[w]),W=J.add5H(D,g,C,A,kE[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 Pc=ss(()=>new Lc);var ls={};Ge(ls,{bitGet:()=>$E,bitLen:()=>VE,bitMask:()=>Qi,bitSet:()=>HE,bytesToHex:()=>dr,bytesToNumberBE:()=>pr,bytesToNumberLE:()=>Mr,concatBytes:()=>mr,createHmacDrbg:()=>kc,ensureBytes:()=>ke,equalBytes:()=>KE,hexToBytes:()=>hn,hexToNumber:()=>Nc,numberToBytesBE:()=>Ur,numberToBytesLE:()=>dn,numberToHexUnpadded:()=>vh,numberToVarBytesBE:()=>FE,utf8ToBytes:()=>qE,validateObject:()=>er});var bh=BigInt(0),cs=BigInt(1),ME=BigInt(2),us=t=>t instanceof Uint8Array,UE=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+=UE[t[r]];return e}function vh(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Nc(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 Nc(dr(t))}function Mr(t){if(!us(t))throw new Error("Uint8Array expected");return Nc(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 FE(t){return hn(vh(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 KE(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 qE(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function VE(t){let e;for(e=0;t>bh;t>>=cs,e+=1);return e}function $E(t,e){return t>>BigInt(e)&cs}var HE=(t,e,r)=>t|(r?cs:bh)<<BigInt(e),Qi=t=>(ME<<BigInt(t-1))-cs,Dc=t=>new Uint8Array(t),wh=t=>Uint8Array.from(t);function kc(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=Dc(t),i=Dc(t),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...f)=>r(i,n,...f),c=(f=Dc())=>{i=a(wh([0]),f),n=a(),f.length!==0&&(i=a(wh([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 zE={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=zE[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),GE=BigInt(3),Oc=BigInt(4),_h=BigInt(5),Ah=BigInt(8),YE=BigInt(9),WE=BigInt(16);function Ee(t,e){let r=t%e;return r>=He?r:e+r}function QE(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 XE(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&&QE(i,e,t)!==t-Re;i++);if(n===1){let s=(t+Re)/Oc;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 ZE(t){if(t%Oc===GE){let e=(t+Re)/Oc;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%Ah===_h){let e=(t-_h)/Ah;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%WE,XE(t)}var Sh=(t,e)=>(Ee(t,e)&Re)===Re,jE=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Mc(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=jE.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 ew(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 Uc(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}=Uc(t,e);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=ZE(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=>ew(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 Ih(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 Rh(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 Fc(t){let e=Rh(t);return e+Math.ceil(e/2)}function Ch(t,e,r=!1){let n=t.length,i=Rh(e),o=Fc(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 rw=BigInt(0),Kc=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>rw;)o&Kc&&(s=s.add(a)),a=a.double(),o>>=Kc;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+=Kc);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 Mc(t.Fp),er(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Uc(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var Ut=BigInt(0),Et=BigInt(1),ps=BigInt(2),nw=BigInt(8),iw={zip215:!0};function ow(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=ow(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,F)=>{if(I.length||F)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,F,V,Y){if(this.ex=I,this.ey=F,this.ez=V,this.et=Y,!y(I))throw new Error("x required");if(!y(F))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:F,y:V}=I||{};if(!y(F)||!y(V))throw new Error("invalid affine point");return new _(F,V,Et,l(F*V))}static normalizeZ(I){let F=r.invertBatch(I.map(V=>V.ez));return I.map((V,Y)=>V.toAffine(F[Y])).map(_.fromAffine)}_setWindowSize(I){this._WINDOW_SIZE=I,w.delete(this)}assertValidity(){let{a:I,d:F}=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(F*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:F,ey:V,ez:Y}=this,{ex:ee,ey:oe,ez:me}=I,se=l(F*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:F,ey:V,ez:Y}=this,ee=l(F*F),oe=l(V*V),me=l(ps*l(Y*Y)),se=l(I*ee),fe=F+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:F,d:V}=e,{ex:Y,ey:ee,ez:oe,et:me}=this,{ex:se,ey:fe,ez:qe,et:De}=I;if(F===BigInt(-1)){let yf=l((ee-Y)*(fe+se)),gf=l((ee+Y)*(fe-se)),Ma=l(gf-yf);if(Ma===Ut)return this.double();let xf=l(oe*ps*De),Ef=l(me*ps*qe),wf=Ef+xf,bf=gf+yf,vf=Ef-xf,wg=l(wf*Ma),bg=l(bf*vf),vg=l(wf*vf),_g=l(Ma*bf);return new _(wg,bg,_g,vg)}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,mf=l(tt-F*et),yg=l(ar*tn),gg=l(Mi*mf),xg=l(ar*mf),Eg=l(tn*Mi);return new _(yg,gg,Eg,xg)}subtract(I){return this.add(I.negate())}wNAF(I){return D.wNAFCached(this,w,I,_.normalizeZ)}multiply(I){let{p:F,f:V}=this.wNAF(g(I,n));return _.normalizeZ([F,V])[0]}multiplyUnsafe(I){let F=x(I);return F===Ut?P:this.equals(P)||F===Et?this:this.equals(A)?this.wNAF(F).p:D.unsafeLadder(this,F)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return D.unsafeLadder(this,n).is0()}toAffine(I){let{ex:F,ey:V,ez:Y}=this,ee=this.is0();I==null&&(I=ee?nw:r.inv(Y));let oe=l(F*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,F=!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||(F?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(!F&&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:F}=this.toAffine(),V=dn(F,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 F=ke("hashed private key",o(N),2*I),V=h(F.slice(0,I)),Y=F.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 F=mr(...I);return Q(o(p(F,ke("context",N),!!i)))}function Je(N,I,F={}){N=ke("message",N),i&&(N=i(N));let{prefix:V,scalar:Y,pointBytes:ee}=z(I),oe=ge(F.context,V,N),me=A.multiply(oe).toRawBytes(),se=ge(F.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=iw;function k(N,I,F,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(F,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 Vc=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Th=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),sI=BigInt(0),sw=BigInt(1),qc=BigInt(2),aw=BigInt(5),Bh=BigInt(10),cw=BigInt(20),uw=BigInt(40),Lh=BigInt(80);function lw(t){let e=Vc,n=t*t%e*t%e,i=Ce(n,qc,e)*n%e,o=Ce(i,sw,e)*t%e,s=Ce(o,aw,e)*o%e,a=Ce(s,Bh,e)*s%e,c=Ce(a,cw,e)*a%e,u=Ce(c,uw,e)*c%e,l=Ce(u,Lh,e)*u%e,f=Ce(l,Lh,e)*u%e,h=Ce(f,Bh,e)*s%e;return{pow_p_5_8:Ce(h,qc,e)*t%e,b2:n}}function fw(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function hw(t,e){let r=Vc,n=Ee(e*e*e,r),i=Ee(n*n*e,r),o=lw(t*i).pow_p_5_8,s=Ee(t*n*o,r),a=Ee(e*s*s,r),c=s,u=Ee(s*Th,r),l=a===t,f=a===Ee(-t,r),h=a===Ee(-t*Th,r);return l&&(s=c),(f||h)&&(s=u),Sh(s,r)&&(s=Ee(-s,r)),{isValid:l||f,value:s}}var yr=hs(Vc,void 0,!0),$c={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:yr,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Pc,randomBytes:ri,adjustScalarBytes:fw,uvRatio:hw},ii=ms($c);function Ph(t,e,r){if(e.length>255)throw new Error("Context is too big");return os(Tc("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var aI=ms({...$c,domain:Ph}),cI=ms({...$c,domain:Ph,prehash:Pc});var dw=(yr.ORDER+BigInt(3))/BigInt(8),uI=yr.pow(qc,dw),lI=yr.sqrt(yr.neg(yr.ONE)),fI=(yr.ORDER-BigInt(5))/BigInt(8),hI=BigInt(486662);var dI=Ih(yr,yr.neg(BigInt(486664)));var pI=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),mI=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),yI=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),gI=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var xI=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var oi=32,gr=64,ys=32;async function Dh(){let t=ii.utils.randomPrivateKey(),e=ii.getPublicKey(t);return{privateKey:Mh(t,e),publicKey:e}}async function Nh(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:Mh(e,r),publicKey:r}}async function kh(t,e){let r=t.subarray(0,ys);return ii.sign(e,r)}async function Oh(t,e,r){return ii.verify(e,r,t)}function Mh(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 Hc={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",Hc,{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",Hc,{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",Hc,{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 nu=te(Qc(),1),Sd=te(gd(),1),Id=te(yn(),1),iu=te(ru(),1),Rd=te(Ad(),1);function _w(){Id.default._configure(),nu.default._configure(Sd.default),iu.default._configure(Rd.default)}_w();var Cd=["uint64","int64","sint64","fixed64","sfixed64"];function Aw(t){for(let e of Cd){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function ou(t){return Aw(new nu.default(t))}function Sw(t){for(let e of Cd){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function su(){return Sw(iu.default.create())}function nt(t,e){let r=ou(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function it(t,e){let r=su();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 au(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 cu;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(cu||(cu={}));(function(t){t.codec=()=>au(cu)})(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 Oh(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 kh(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 Iw(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 Rw(t){return t=ui(t,oi),new Ji(t)}async function Cw(){let{privateKey:t,publicKey:e}=await Dh();return new xn(t,e)}async function Td(t){let{privateKey:e,publicKey:r}=await Nh(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 dR=te(Oe(),1),pR=te(Zo(),1),Bd=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=Ld(t);return new Bd.default.jsbn.BigInteger(Z(e,"base16"),16)}function Ld(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 Tw={"P-256":256,"P-384":384,"P-521":521},Bw=Object.keys(Tw),SR=Bw.join(" / ");async function Pd(t,e){let r=un.decode(t);return gs().decrypt(r,e)}var pu={};Ge(pu,{MAX_KEY_SIZE:()=>no,RsaPrivateKey:()=>li,RsaPublicKey:()=>ro,fromJwk:()=>Kw,generateKeyPair:()=>qw,unmarshalRsaPrivateKey:()=>Uw,unmarshalRsaPublicKey:()=>Fw});var to=te(ye(),1);var u4=te(Ud(),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 zR=te(es(),1),hu=te(ye(),1);function Fd(t,e){return e.map(r=>wt(t[r]))}function Kd(t){return hu.default.pki.setRsaPrivateKey(...Fd(t,["n","e","d","p","q","dp","dq","qi"]))}function qd(t){return hu.default.pki.setRsaPublicKey(...Fd(t,["n","e"]))}var bn={};Ge(bn,{jwkToPkcs1:()=>Dw,jwkToPkix:()=>kw,pkcs1ToJwk:()=>Pw,pkixToJwk:()=>Nw});var WR=te(qi(),1),QR=te(es(),1);var xr=te(ye(),1);function Pw(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 Dw(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 Nw(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 kw(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 Vd(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 zd(e);return{privateKey:r[0],publicKey:r[1]}}async function du(t){let r=[await mt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Ow(t)],n=await zd({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function $d(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 Hd(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 zd(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 Ow(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 Gd(t,e,r,n){let i=e?qd(t):Kd(t),o=Z(Uint8Array.from(r),"ascii"),s=n(o,i);return G(s,"ascii")}function Yd(t,e){return Gd(t,!0,e,(r,n)=>n.encrypt(r))}function Wd(t,e){return Gd(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 Hd(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 Yd(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 $d(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 Wd(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 Uw(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 du(e);return new li(r.privateKey,r.publicKey)}function Fw(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 Kw(t){if(As(t)>no)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await du(t);return new li(e.privateKey,e.publicKey)}async function qw(t){if(t>no)throw new b("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Vd(t);return new li(e.privateKey,e.publicKey)}var wu={};Ge(wu,{Secp256k1PrivateKey:()=>oo,Secp256k1PublicKey:()=>io,generateKeyPair:()=>rb,unmarshalSecp256k1PrivateKey:()=>eb,unmarshalSecp256k1PublicKey:()=>tb});var Vw=(t,e,r)=>t&e^~t&r,$w=(t,e,r)=>t&e^t&r^e&r,Hw=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),mu=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+Vw(a,c,u)+Hw[f]+Vr[f]|0,m=(Mt(n,2)^Mt(n,13)^Mt(n,22))+$w(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 Qd=ss(()=>new mu);function zw(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:Gw,hexToBytes:Yw}=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:Gw(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=vn,r=typeof t=="string"?Yw(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),x4=BigInt(2),Xd=BigInt(3),E4=BigInt(4);function Ww(t){let e=zw(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,Xd),{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,Xd),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 Qw(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 Zd(t){let e=Qw(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}=Ww({...e,toBytes(T,k,L){let N=k.toAffine(),I=r.toBytes(N.x),F=mr;return L?F(Uint8Array.from([k.hasEvenY()?2:3]),I):F(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 F=f(I),V=r.sqrt(F),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)),F=r.fromBytes(N.subarray(r.BYTES,2*r.BYTES));return{x:I,y:F}}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,F=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(-F*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=Fc(e.n);return Ch(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:F,prehash:V,extraEntropy:Y}=L;F==null&&(F=!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 F&&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),F=e;return kc(F.hash.outputLen,F.nByteLength,F.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:F,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(F&&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,yh(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),Cc(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()}},yu=(t,e,r)=>new Ss(t,e).update(r).digest();yu.create=(t,e)=>new Ss(t,e);function Xw(t){return{hash:t,hmac:(e,...r)=>yu(t,e,os(...r)),randomBytes:ri}}function jd(t,e){let r=n=>Zd({...t,...Xw(n)});return Object.freeze({...r(e),create:r})}var tp=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Jd=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Zw=BigInt(1),gu=BigInt(2),ep=(t,e)=>(t+e/gu)/e;function jw(t){let e=tp,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,gu,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(_,gu,e);if(!xu.eql(xu.sqr(A),t))throw new Error("Cannot find square root");return A}var xu=hs(tp,void 0,void 0,{sqrt:jw}),wr=jd({a:BigInt(0),b:BigInt(7),Fp:xu,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=-Zw*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=ep(o*t,e),c=ep(-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}}}},Qd),L4=BigInt(0);var P4=wr.ProjectivePoint;function rp(){return wr.utils.randomPrivateKey()}async function np(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 ip(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 op(t){return wr.ProjectivePoint.fromHex(t).toRawBytes(!0)}function sp(t){try{wr.getPublicKey(t,!0)}catch(e){throw new b(String(e),"ERR_INVALID_PRIVATE_KEY")}}function Eu(t){try{wr.ProjectivePoint.fromHex(t)}catch(e){throw new b(String(e),"ERR_INVALID_PUBLIC_KEY")}}function ap(t){try{return wr.getPublicKey(t,!0)}catch(e){throw new b(String(e),"ERR_INVALID_PRIVATE_KEY")}}var io=class{_key;constructor(e){Eu(e),this._key=e}async verify(e,r){return ip(this._key,r,e)}marshal(){return op(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??ap(e),sp(this._key),Eu(this._publicKey)}async sign(e){return np(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 eb(t){return new oo(t)}function tb(t){return new io(t)}async function rb(){let t=rp();return new oo(t)}var br={rsa:pu,ed25519:uu,secp256k1:wu};function bu(t){let e=Object.keys(br).join(" / ");return new b(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function vu(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return br[t];throw bu(t)}async function Rs(t,e){return vu(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 bu(e.Type??"RSA")}}function cp(t,e){return e=(e??"rsa").toLowerCase(),vu(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 bu(e.Type??"RSA")}}function up(t,e){return e=(e??"rsa").toLowerCase(),vu(e),t.bytes}async function ao(t,e){try{let i=await Pd(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 _u=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 Su(e,r))}},Au=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},Su=globalThis.CustomEvent??Au;var Iu=Symbol.for("@libp2p/peer-discovery");var Ru=Symbol.for("@libp2p/peer-routing");var n8=te($o(),1),ib=te(ye(),1);var fp=te(Za(),1),hp=te(Oe(),1),lp={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(lp).join(" / ");throw new b(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let o=lp[i],s=(0,fp.default)(t,e,r,n,o);return hp.default.encode64(s,null)}var vt=te(Tu(),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 Eb(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=Eb(`${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 Bu=Symbol.for("@libp2p/peer-id");function Bs(t){return t!=null&&!!t[Bu]}var wb=Symbol.for("nodejs.util.inspect.custom"),yp=Object.values(Nr).map(t=>t.decoder).reduce((t,e)=>t.or(e),Nr.identity.decoder),gp=114,Lu=36,Pu=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()})`}[Bu]=!0;toString(){return this.string==null&&(this.string=Me.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return kt.createV1(gp,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")}[wb](){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 xp(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??yp,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(yp.decode(t))}function mi(t){try{let e=ln(t);if(e.code===Dr.code){if(e.digest.length===Lu)return new Sn({multihash:e});if(e.digest.length===Pu)return new In({multihash:e})}if(e.code===rt.code)return new An({multihash:e})}catch{return bb(kt.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function bb(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==gp)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===Lu)return new Sn({multihash:t.multihash});if(e.digest.length===Pu)return new In({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function yi(t,e){return t.length===Lu?new Sn({multihash:Jt(Dr.code,t),privateKey:e}):t.length===Pu?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="/",Ep=new TextEncoder().encode(vr),Ps=Ep[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=Ep),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 vb(this.baseNamespace())}name(){return _b(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(),...Ab(e.map(r=>r.namespaces()))])}};function vb(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function _b(t){let e=t.split(":");return e[e.length-1]}function Ab(t){return[].concat(...t)}var Cp=te(Rp(),1),$r=Cp.default;var Up=te(Mp(),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"),Vb="/pkcs8/",Fp="/info/",Rn=new WeakMap,Cn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Nu={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,Up.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(Vb+t)}function Hr(t){return new ir(Fp+t)}var Tn=class{components;init;constructor(e,r){if(this.components=e,this.init=$r(Nu,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({},Nu),r=Math.ceil(Cn.minSaltLength/3)*3;return e.dek.salt=Z(wn(r),"base64"),e}static get options(){return Nu}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:Fp},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 ku=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 Ou;(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())})(Ou||(Ou={}));var Kp=async()=>{let t=await Rs("Ed25519"),e=await $b(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function $b(t){return yi(cp(t.public),up(t))}var Hb=Math.pow(2,7),zb=Math.pow(2,14),Gb=Math.pow(2,21),Mu=Math.pow(2,28),Uu=Math.pow(2,35),Fu=Math.pow(2,42),Ku=Math.pow(2,49),pe=128,ut=127;function yt(t){if(t<Hb)return 1;if(t<zb)return 2;if(t<Gb)return 3;if(t<Mu)return 4;if(t<Uu)return 5;if(t<Fu)return 6;if(t<Ku)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Yb(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 Wb(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 Qb(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)*Mu,r<pe)||(r=t[e+5],n+=(r&ut)*Uu,r<pe)||(r=t[e+6],n+=(r&ut)*Fu,r<pe)||(r=t[e+7],n+=(r&ut)*Ku,r<pe))return n;throw new RangeError("Could not decode varint")}function Xb(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)*Mu,r<pe)||(r=t.get(e+5),n+=(r&ut)*Uu,r<pe)||(r=t.get(e+6),n+=(r&ut)*Fu,r<pe)||(r=t.get(e+7),n+=(r&ut)*Ku,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?Yb(t,e,r):Wb(t,e,r)}function Sr(t,e=0){return t instanceof Uint8Array?Qb(t,e):Xb(t,e)}var Vp=Symbol.for("@achingbrain/uint8arraylist");function qp(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?.[Vp]}var Ze=class t{constructor(...e){Object.defineProperty(this,Vp,{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=qp(this.bufs,e);return r.buf[r.index]}set(e,r){let n=qp(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 $p={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=Hp(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",$p.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=Hp(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)}},Hp=(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 zp(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 Gp=45,Zb=15,wi=new Ms;function qu(t){if(!(t.length>Zb))return wi.new(t).parseWith(()=>wi.readIPv4Addr())}function Vu(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>Gp))return wi.new(t).parseWith(()=>wi.readIPv6Addr())}function Us(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>Gp))return wi.new(t).parseWith(()=>wi.readIPAddr())}var WC=parseInt("0xFFFF",16),QC=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Qp(t){return!!qu(t)}function Xp(t){return!!Vu(t)}function bi(t){return!!Us(t)}var Zp=Qp,rv=Xp,$u=function(t){let e=0;if(t=t.toString().trim(),Zp(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(rv(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=Zp(r[n]),s;o&&(s=$u(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")},jp=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={},Hu={},iv=[[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"]];iv.forEach(t=>{let e=ov(...t);Hu[e.code]=e,vi[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(Hu[t]!=null)return Hu[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 PT=be("ip4"),DT=be("ip6"),NT=be("ipcidr");function Gu(t,e){switch(be(t).code){case 4:case 41:return av(e);case 42:return tm(e);case 6:case 273:case 33:case 132:return nm(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return tm(e);case 421:return fv(e);case 444:return rm(e);case 445:return rm(e);case 466:return lv(e);default:return Z(e,"base16")}}function Yu(t,e){switch(be(t).code){case 4:return Jp(e);case 41:return Jp(e);case 42:return em(e);case 6:case 273:case 33:case 132:return Wu(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return em(e);case 421:return cv(e);case 444:return hv(e);case 445:return dv(e);case 466:return uv(e);default:return G(e,"base16")}}var zu=Object.values(Nr).map(t=>t.decoder),sv=function(){let t=zu[0].or(zu[1]);return zu.slice(2).forEach(e=>t=t.or(e)),t}();function Jp(t){if(!bi(t))throw new Error("invalid ip address");return $u(t)}function av(t){let e=jp(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 Wu(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function nm(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function em(t){let e=G(t),r=Uint8Array.from(Lt(e.length));return Ue([r,e],r.length+e.length)}function tm(t){let e=Sr(t);if(t=t.slice(yt(e)),t.length!==e)throw new Error("inconsistent lengths");return Z(t)}function cv(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 uv(t){let e=sv.decode(t),r=Uint8Array.from(Lt(e.length));return Ue([r,e],r.length+e.length)}function lv(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 fv(t){let e=Sr(t),r=t.slice(yt(e));if(r.length!==e)throw new Error("inconsistent lengths");return Z(r,"base58btc")}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!==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=Wu(n);return Ue([r,i],r.length+i.length)}function dv(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=Wu(n);return Ue([r,i],r.length+i.length)}function rm(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=Z(e,"base32"),i=nm(r);return`${n}:${i}`}function im(t){t=Qu(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 sm("invalid address: "+t);if(a.path===!0){n=Qu(i.slice(o).join("/")),e.push([a.code,Yu(a.code,n)]),r.push([a.code,n]);break}let c=Yu(a.code,i[o]);e.push([a.code,c]),r.push([a.code,Gu(a.code,c)])}return{string:om(r),bytes:Zu(e),tuples:e,stringTuples:r,path:n}}function Xu(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let o=Sr(t,i),s=yt(o),a=be(o),c=pv(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 sm("Invalid address Uint8Array: "+Z(t,"base16"));e.push([o,u]);let l=Gu(o,u);if(r.push([o,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(t),string:om(r),tuples:e,stringTuples:r,path:n}}function om(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}),Qu(e.join("/"))}function Zu(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 pv(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 Qu(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function sm(t){return new Error("Error parsing address: "+t)}var mv=Symbol.for("nodejs.util.inspect.custom"),yv=[be("dns").code,be("dns4").code,be("dns6").code,be("dnsaddr").code],Ju=new Map,am=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Ln(t){return!!t?.[am]}var ju=class t{bytes;#e;#t;#r;#n;[am]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=Xu(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=im(e)}else if(Ln(e))r=Xu(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(Zu(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)}[mv](){return`Multiaddr(${this.#e})`}};function ze(t){return new ju(t)}var cm="libp2p-peer-record",um=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=cm;static CODEC=um;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||!zp(this.multiaddrs,e.multiaddrs))}};function gv(t){return t[Symbol.asyncIterator]!=null}function xv(t){if(gv(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=xv;var tl=te(fm(),1);var go=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},rl=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},hm=t=>globalThis.DOMException===void 0?new rl(t):new DOMException(t),dm=t=>{let e=t.reason===void 0?hm("This operation was aborted."):t.reason;return e instanceof Error?e:hm(e)};function nl(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(dm(c)),c.addEventListener("abort",()=>{a(dm(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 il(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,ol=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=il(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 pm=ol;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,mm,ym,Em,gm,xm,$s,sl,al,Gs,wm,Hs,Ys=class extends Error{},cl=class extends tl.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:pm,...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=nl(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,q(this,Ke,"m",wm).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",Em).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,mm=function(){return q(this,wo,"f")||q(this,Gr,"f")<q(this,zs,"f")},ym=function(){return q(this,At,"f")<q(this,vo,"f")},Em=function(){var e;Pe(this,At,(e=q(this,At,"f"),e--,e),"f"),q(this,Ke,"m",$s).call(this),this.emit("next")},gm=function(){q(this,Ke,"m",al).call(this),q(this,Ke,"m",sl).call(this),Pe(this,xo,void 0,"f")},xm=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",gm).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",xm);if(q(this,Ke,"a",mm)&&q(this,Ke,"a",ym)){let r=q(this,_t,"f").dequeue();return r?(this.emit("active"),r(),e&&q(this,Ke,"m",sl).call(this),!0):!1}}return!1},sl=function(){q(this,wo,"f")||q(this,Ht,"f")!==void 0||(Pe(this,Ht,setInterval(()=>{q(this,Ke,"m",al).call(this)},q(this,bo,"f")),"f"),Pe(this,Ks,Date.now()+q(this,bo,"f"),"f"))},al=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););},wm=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=cl;var ul=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},ll=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},bm=t=>globalThis.DOMException===void 0?new ll(t):new DOMException(t),vm=t=>{let e=t.reason===void 0?bm("This operation was aborted."):t.reason;return e instanceof Error?e:bm(e)};function fl(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(vm(h)),h.addEventListener("abort",()=>{l(vm(h))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new ul;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 hl="lock:worker:request-read",dl="lock:worker:release-read",pl="lock:master:grant-read",ml="lock:worker:request-write",yl="lock:worker:release-write",gl="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 xl=_i;var _m=(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)}))}}))},Am=(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)})},bv={singleProcess:!1},Sm=t=>{if(t=Object.assign({},bv,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return xl.addEventListener("message",_m(r,"requestReadLock",hl,dl,pl)),xl.addEventListener("message",_m(r,"requestWriteLock",ml,yl,gl)),r}return{isWorker:!0,readLock:r=>Am(r,hl,pl,dl),writeLock:r=>Am(r,ml,gl,yl)}};var Nn={},Qr;async function El(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>await fl((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var vv=(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 El(n,e);n=new Yr({concurrency:e.concurrency,autoStart:!1});let i=n,o=El(n,e);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await o},async writeLock(){return n=null,await El(r,e)}}},_v={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function wl(t){let e=Object.assign({},_v,t);return Qr==null&&(Qr=Sm(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]=vv(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=xp({...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 bl="/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(`${bl}${e}`)}async function Im(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:Rm})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=Xs(f,{validate:Cm,map:Tm})}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:Rm})}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:Cm,map:Tm})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await Im(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 Rm(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 Cm(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 Tm(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 Av(t,e){return t==null?{}:{prefix:bl,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=wl({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(Av(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 Sv(t){return t[Symbol.asyncIterator]!=null}function Iv(t){if(Sv(t))return(async()=>{for await(let e of t);})();for(let e of t);}var vl=Iv;function Rv(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=Rv;function Cv(t){return t[Symbol.asyncIterator]!=null}function Tv(t,e){if(Cv(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=Tv;function Bv(t){return t[Symbol.asyncIterator]!=null}function Lv(t,e){return Bv(t)?async function*(){yield*(await mo(t)).sort(e)}():function*(){yield*mo(t).sort(e)}()}var _l=Lv;function Pv(t){return t[Symbol.asyncIterator]!=null}function Dv(t,e){return Pv(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 Al=Dv;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 vl(this.putMany(e,n)),e=[],await vl(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)=>_l(i,o),n)),e.offset!=null){let i=0,o=e.offset;n=zt(n,()=>i++>=o)}return e.limit!=null&&(n=Al(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)=>_l(i,o),n)),e.offset!=null){let i=e.offset,o=0;n=zt(n,()=>o++>=i)}return e.limit!=null&&(n=Al(n,e.limit)),n}};var Pm=te(Sl(),1);function Dm(t){return t=t??new Error("Not Found"),(0,Pm.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 Dm();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 Nm(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var Ov=ie("libp2p:address-manager"),Mv=t=>t;function Il(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??Mv,this._updatePeerStoreAddresses=Nm(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=>{Ov.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=Il(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=Il(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=Il(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 km(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var Rl=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=>km(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")}},Uv=["metrics","connectionProtector"],Fv=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function Om(t={}){let e=new Rl(t);return new Proxy(e,{get(n,i,o){if(typeof i=="string"&&!Fv.includes(i)){let s=e.components[i];if(s==null&&!Uv.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 $m=te(Mm(),1);var Um="[a-fA-F\\d:]",Xr=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${Um})|(?<=${Um})(?=\\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=`
|
|
38
38
|
(?:
|
|
39
39
|
(?:${Ve}:){7}(?:${Ve}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
40
|
-
(?:${Ve}:){6}(?:${
|
|
41
|
-
(?:${Ve}:){5}(?::${
|
|
42
|
-
(?:${Ve}:){4}(?:(?::${Ve}){0,1}:${
|
|
43
|
-
(?:${Ve}:){3}(?:(?::${Ve}){0,2}:${
|
|
44
|
-
(?:${Ve}:){2}(?:(?::${Ve}){0,3}:${
|
|
45
|
-
(?:${Ve}:){1}(?:(?::${Ve}){0,4}:${
|
|
46
|
-
(?::(?:(?::${Ve}){0,5}:${
|
|
40
|
+
(?:${Ve}:){6}(?:${Gt}|:${Ve}|:)| // 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
|
+
(?:${Ve}:){5}(?::${Gt}|(?::${Ve}){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
|
+
(?:${Ve}:){4}(?:(?::${Ve}){0,1}:${Gt}|(?::${Ve}){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
|
+
(?:${Ve}:){3}(?:(?::${Ve}){0,2}:${Gt}|(?::${Ve}){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
|
+
(?:${Ve}:){2}(?:(?::${Ve}){0,3}:${Gt}|(?::${Ve}){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
|
+
(?:${Ve}:){1}(?:(?::${Ve}){0,4}:${Gt}|(?::${Ve}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
46
|
+
(?::(?:(?::${Ve}){0,5}:${Gt}|(?::${Ve}){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(),Uv=new RegExp(`(?:^${Yt}$)|(?:^${sa}$)`),Fv=new RegExp(`^${Yt}$`),Kv=new RegExp(`^${sa}$`),Il=t=>t&&t.exact?Uv:new RegExp(`(?:${Xr(t)}${Yt}${Xr(t)})|(?:${Xr(t)}${sa}${Xr(t)})`,"g");Il.v4=t=>t&&t.exact?Fv:new RegExp(`${Xr(t)}${Yt}${Xr(t)}`,"g");Il.v6=t=>t&&t.exact?Kv:new RegExp(`${Xr(t)}${sa}${Xr(t)}`,"g");var Om=Il;var qm=te(Um(),1),{isValid:qv,parse:Vv}=qm.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"],Hv=$v.map(t=>new Km.Netmask(t));function zv(t){for(let e of Hv)if(e.contains(t))return!0;return!1}function Fm(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 Vm=t=>{if(qv(t)){let e=Vv(t);if(e.kind()==="ipv4")return zv(e.toNormalizedString());if(e.kind()==="ipv6")return Fm(t)}else if(wi(t)&&Om.v6().test(t))return Fm(t)};var ca=Vm;function $m(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!ca(`${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 QB=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 Rl(t){try{let{address:e}=t.nodeAddress();return!!ca(e)}catch{return!0}}function Ii(t,e){let r=Rl(t.multiaddr),n=Rl(e.multiaddr);return r&&!n?1:!r&&n||t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}var Tl=te(Bu(),1),Bl=te(Gm(),1);var Ym=globalThis.fetch,Wm=globalThis.Headers,rL=globalThis.Request,nL=globalThis.Response;function ua(t,e,r){return`${t}?name=${e}&type=${r}`}async function Qm(t,e){return await(await Ym(t,{headers:new Wm({accept:"application/dns-json"}),signal:e})).json()}function kn(t,e){return`${e}_${t}`}var Cl=Object.assign((0,Tl.default)("dns-over-http-resolver"),{error:(0,Tl.default)("dns-over-http-resolver:error")}),Ll=class{constructor(e={}){this._cache=new Bl.default({max:e?.maxCache??100}),this._TXTcache=new Bl.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??Qm,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(ua(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),Cl.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(ua(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),Cl.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(ua(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),Cl.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()}},Xm=Ll;var Zm=Xm;var{code:Xv}=be("dnsaddr");async function Ri(t,e={}){let r=new Zm;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===Xv)??[];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 ar;(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"})(ar||(ar={}));var K;(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"})(K||(K={}));var Zv={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:Ri},addressSorter:Ii},transportManager:{faultTolerance:Zr.FATAL_ALL}};function jm(t){let e=Hr(Zv,t);if(e.transports==null||e.transports.length<1)throw new b(ar.ERR_TRANSPORTS_REQUIRED,K.ERR_TRANSPORTS_REQUIRED);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new b(ar.ERR_PROTECTOR_REQUIRED,K.ERR_PROTECTOR_REQUIRED);return e}var Jm="keep-alive";var jy=te(Wy(),1);var P_=ie("libp2p:get-peer");function fa(t){if(Ls(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 P_.error("multiaddr %s was invalid",n),new b("Invalid Multiaddr",K.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",K.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",K.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function N_(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 Gl=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new b("missing peer id",K.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=N_(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}},ha=class extends zt{constructor(e={}){super({...e,queueClass:Gl})}hasJob(e){return this.sizeBy({peerId:e})>0}};var da="last-dial-failure";var pa=10,ma=5,ya=100,ga=10;var st=ie("libp2p:connection-manager:auto-dial"),Di={minConnections:ma,maxQueueLength:100,autoDialConcurrency:ga,autoDialPriority:0,autoDialInterval:5e3,autoDialPeerRetryThreshold:6e4},xa=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialPeerRetryThresholdMs;autoDialInterval;started;running;constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??Di.minConnections,this.autoDialPriority=r.autoDialPriority??Di.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??Di.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??Di.maxQueueLength,this.autoDialPeerRetryThresholdMs=r.autoDialPeerRetryThreshold??Di.autoDialPeerRetryThreshold,this.started=!1,this.running=!1,this.queue=new ha({concurrency:r.autoDialConcurrency??Di.autoDialConcurrency}),this.queue.addListener("error",n=>{st.error("error during auto-dial",n)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(n=>{st.error(n)})})}isStarted(){return this.started}start(){this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(e=>{st.error("error while autodialing",e)})},this.autoDialIntervalMs),this.started=!0}afterStart(){this.autoDial().catch(e=>{st.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&&st.trace("have enough connections %d/%d",r,this.minConnections);return}if(this.queue.size>this.autoDialMaxQueueLength){st("not enough connections %d/%d but auto dial queue is full",r,this.minConnections);return}if(this.running){st("not enough connections %d/%d - but skipping autodial as it is already running",r,this.minConnections);return}this.running=!0,st("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?(st.trace("not autodialing %p because they have no addresses"),!1):e.has(u.id)?(st.trace("not autodialing %p because they are already connected"),!1):n.has(u.id)?(st.trace("not autodialing %p because they are already being dialed"),!1):this.queue.hasJob(u.id)?(st.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(da);if(l==null)return!0;let f=parseInt(Z(l));return isNaN(f)?!0:Date.now()-f>this.autoDialPeerRetryThresholdMs});st("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){st("got enough connections now %d/%d",l,this.minConnections),this.queue.clear();return}st("connecting to a peerStore stored peer %p",u.id),await this.connectionManager.openConnection(u.id,{priority:this.autoDialPriority})},{peerId:u.id}).catch(l=>{st.error("could not connect to peerStore stored peer",l)});this.running=!1,this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(u=>{st.error("error while autodialing",u)})},this.autoDialIntervalMs))}};var Pi=ie("libp2p:connection-manager:connection-pruner"),Qy={maxConnections:ya,allow:[]},Ea=class{maxConnections;connectionManager;peerStore;allow;events;constructor(e,r={}){this.maxConnections=r.maxConnections??Qy.maxConnections,this.allow=r.allow??Qy.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{Pi.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(Pi("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;Pi("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"&&Pi.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(Pi("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){Pi.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:s})}};var Zl=te($n(),1);function wa(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 Ql=te($n(),1);var Xy=ie("libp2p:connection-manager:utils");async function Xl(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await M_(t,e),s=(await Promise.all(n.map(async a=>Xl(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return Xy("resolved %s to",t,s.map(a=>a.toString())),s}async function M_(t,e){try{return t=ze(t.toString()),await t.resolve(e)}catch(r){return Xy.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function Zy(...t){let e=[];for(let n of t)if(n!=null){try{(0,Ql.setMaxListeners)?.(1/0,n)}catch{}e.push(n)}let r=wa(e);try{(0,Ql.setMaxListeners)?.(1/0,r)}catch{}return r}var at=ie("libp2p:connection-manager:dial-queue"),Io={addressSorter:Ii,maxParallelDials:pa,maxPeerAddrsToDial:25,maxParallelDialsPerPeer:10,dialTimeout:3e4,resolvers:{dnsaddr:Ri}},ba=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;maxParallelDialsPerPeer;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;constructor(e,r={}){this.addressSorter=r.addressSorter??Io.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??Io.maxPeerAddrsToDial,this.maxParallelDialsPerPeer=r.maxParallelDialsPerPeer??Io.maxParallelDialsPerPeer,this.dialTimeout=r.dialTimeout??Io.dialTimeout,this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController;try{(0,Zl.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??{}))el.set(n,i);this.queue=new zt({concurrency:r.maxParallelDials??Io.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}=fa(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:F_(),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:{[da]: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,K.ERR_TIMEOUT):l}),this.pendingDials.push(u),u.promise}createDialAbortControllers(e){let r=wa([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);try{(0,Zl.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",K.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new b("The dial request is blocked by gater.allowDialPeer",K.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!==K.ERR_NOT_FOUND)throw l}}}let i=(await Promise.all(r.map(async l=>{let f=await Xl(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",K.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new b("dial with more addresses than allowed",K.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",K.ERR_NO_VALID_ADDRESSES);return u}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new zt({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",K.ERR_INVALID_PARAMETERS);let u=Zy(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 Wn);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 Wn);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 Wn);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",K.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 F_(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var It=ie("libp2p:connection-manager"),V_=50,On={minConnections:ma,maxConnections:ya,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:ga,autoDialPriority:0,autoDialMaxQueueLength:100},va=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;constructor(e,r={}){this.maxConnections=r.maxConnections??On.maxConnections;let n=r.minConnections??On.minConnections;if(this.maxConnections<n)throw new b("Connection Manager maxConnections must be greater than minConnections",K.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??On.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new jy.RateLimiterMemory({points:r.inboundConnectionThreshold??On.inboundConnectionThreshold,duration:1}),this.autoDial=new xa({connectionManager:this,peerStore:e.peerStore,events:e.events},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??On.autoDialConcurrency,autoDialPriority:r.autoDialPriority??On.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??On.autoDialMaxQueueLength}),this.connectionPruner=new Ea({connectionManager:this,peerStore:e.peerStore,events:e.events},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new ba({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater},{addressSorter:r.addressSorter??Ii,maxParallelDials:r.maxParallelDials??pa,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:Ri}})}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(Jm)]});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",K.ERR_NODE_NOT_STARTED);r.signal?.throwIfAborted();let{peerId:n}=fa(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??V_}),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 _a=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 _a(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 _a(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 ef=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Mn(t={}){return $_(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 $_(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 ef)},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 H_(t){return t[Symbol.asyncIterator]!=null}function z_(...t){let e=[];for(let r of t)H_(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Mn({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=z_;function Un(t,...e){if(t==null)throw new Error("Empty pipeline");if(tf(t)){let n=t;t=()=>n.source}else if(eg(t)||Jy(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&tf(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++)tf(r[n])&&(r[n]=Y_(r[n]));return G_(...r)}var G_=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},Jy=t=>t?.[Symbol.asyncIterator]!=null,eg=t=>t?.[Symbol.iterator]!=null,tf=t=>t==null?!1:t.sink!=null&&t.source!=null,Y_=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Mn({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=t.source;if(Jy(o))i=async function*(){yield*o,n.end()};else if(eg(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 W_(t){return t[Symbol.asyncIterator]!=null}function Q_(t,e){if(W_(t))return async function*(){for await(let a of t)yield e(a)}();let r=ra(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 tg=Q_;async function*Ro(t,e){yield*tg(t,async r=>(await e.merge(r.id,{multiaddrs:r.multiaddrs}),r))}function Aa(t){let e=new Set;return Gt(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*Sa(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 Ia=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",K.ERR_NO_ROUTERS_AVAILABLE);yield*Un(en(...this.routers.map(n=>n.findProviders(e,r))),n=>Ro(n,this.components.peerStore),n=>Aa(n),n=>Sa(n))}async provide(e,r={}){if(this.routers.length===0)throw new b("No content routers available",K.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(ar.NOT_STARTED_YET,K.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(ar.NOT_STARTED_YET,K.DHT_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};function X_(t){return t[Symbol.asyncIterator]!=null}function Z_(t){if(X_(t))return(async()=>{for await(let e of t)return e})();for(let e of t)return e}var Ra=Z_;var j_=ie("libp2p:peer-routing"),Ca=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",K.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.components.peerId.toString())throw new b("Should not try to find self",K.ERR_FIND_SELF);let n=await Un(en(...this.routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(o){j_.error(o)}}())),i=>Gt(i,Boolean),i=>Ro(i,this.components.peerStore),async i=>Ra(i));if(n!=null)return n;throw new b(ar.NOT_FOUND,K.ERR_NOT_FOUND)}async*getClosestPeers(e,r){if(this.routers.length===0)throw new b("No peer routers available",K.ERR_NO_ROUTERS_AVAILABLE);yield*Un(en(...this.routers.map(n=>n.getClosestPeers(e,r))),n=>Ro(n,this.components.peerStore),n=>Aa(n),n=>Sa(n))}};var rf=ie("libp2p:registrar"),nf=32,of=64,Ta=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}`,K.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}`,K.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=Hr.bind({ignoreUndefined:!0})({maxInboundStreams:nf,maxOutboundStreams:of},n);this.handlers.set(e,{handler:r,options:i}),await this.components.peerStore.merge(this.components.peerId,{protocols:[e]})}async unhandle(e){let r=Array.isArray(e)?e:[e];r.forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.patch(this.components.peerId,{protocols:r})}async register(e,r){if(r==null)throw new b("invalid topology",K.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!==K.ERR_NOT_FOUND&&rf.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){rf("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!==K.ERR_NOT_FOUND&&rf.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 sf=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 rg(t){let{name:e,metrics:r}=t,n;return r!=null?n=new sf({name:e,metrics:r}):n=new Map,n}var Fn=ie("libp2p:transports"),Ba=class{components;transports;listeners;faultTolerance;started;constructor(e,r={}){this.components=e,this.started=!1,this.transports=new Map,this.listeners=rg({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",K.ERR_INVALID_KEY);if(this.transports.has(r))throw new b(`There is already a transport with the tag ${r}`,K.ERR_DUPLICATE_TRANSPORT);Fn("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(Fn("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),Fn("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)}`,K.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=K.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",K.ERR_NODE_NOT_STARTED);if(e==null||e.length===0){Fn("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){Fn("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`,K.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,K.ERR_NO_VALID_ADDRESSES);Fn(`libp2p in dial mode only: ${n}`)}}async remove(e){Fn("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 lf=te($n(),1);var Cr="/multistream/1.0.0";function af(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 La(t){let e=Mn(),r=af(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 Co=class extends Error{constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function ng(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 Da(t,e,r){let n=r??{},i=ng(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 Co(l,f)}let u=new Promise((l,f)=>{s=()=>{let{abortMessage:h,abortCode:p}=n;f(new Co(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 J_(t,e,r){return n=>t(Da(n,e,r))}function ig(t,e,r){return{sink:J_(t.sink,e,{...r,onAbort:void 0}),source:Da(t.source,e,r)}}function Pa(t){return t[Symbol.asyncIterator]!=null}var Na=t=>{let e=yt(t),r=Ot(e);return Lt(t,r),Na.bytes=e,r};Na.bytes=0;function ka(t,e){e=e??{};let r=e.lengthEncoder??Na;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return Pa(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}ka.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Na;return new Ze(r(t.byteLength),t)};var ki=te(_l(),1);var eA=8,tA=1024*1024*4,Kn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(Kn||(Kn={}));var cf=t=>{let e=Ir(t);return cf.bytes=yt(e),e};cf.bytes=0;function To(t,e){let r=new Ze,n=Kn.LENGTH,i=-1,o=e?.lengthDecoder??cf,s=e?.maxLengthLength??eA,a=e?.maxDataLength??tA;function*c(){for(;r.byteLength>0;){if(n===Kn.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=Kn.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===Kn.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=Kn.LENGTH}}}return Pa(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")}()}To.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 To(n,{...e??{},onLength:o=>{r=o}})};var iA=ie("libp2p:mss"),og=G(`
|
|
49
|
-
`);function Bo(t){let e=new Ze(t,og);return ka.single(e)}function qn(t,e,r={}){let n=Bo(e);r.writeBytes===!0?t.push(n.subarray()):t.push(n)}function sg(t,e,r={}){let n=new Ze;for(let i of e)n.append(Bo(i));r.writeBytes===!0?t.push(n.subarray()):t.push(n)}async function oA(t,e){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>t.next(r)},i=n;e?.signal!=null&&(i=Da(n,e.signal));let o=a=>{r=a},s=await Un(i,a=>To(a,{onLength:o,maxDataLength:1024}),async a=>Ra(a));if(s==null||s.length===0)throw new b("no buffer returned","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(s.get(s.byteLength-1)!==og[0])throw iA.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 oA(t,e);return Z(r.subarray())}var Lo=ie("libp2p:mss:select");async function Do(t,e,r={}){e=Array.isArray(e)?[...e]:[e];let{reader:n,writer:i,rest:o,stream:s}=La(t),a=e.shift();if(a==null)throw new Error("At least one protocol must be specified");Lo.trace('select: write ["%s", "%s"]',Cr,a);let c=G(Cr),u=G(a);sg(i,[c,u],r);let l=await Oi(n,r);if(Lo.trace('select: read "%s"',l),l===Cr&&(l=await Oi(n,r),Lo.trace('select: read "%s"',l)),l===a)return o(),{stream:s,protocol:a};for(let f of e){Lo.trace('select: write "%s"',f),qn(i,G(f),r);let h=await Oi(n,r);if(Lo.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 No(t,e,r){e=Array.isArray(e)?e:[e];let{writer:n,reader:i,rest:o,stream:s}=La(t);for(;;){let a=await Oi(i,r);if(Po.trace('read "%s"',a),a===Cr){Po.trace('respond with "%s" for "%s"',Cr,a),qn(n,G(Cr),r);continue}if(e.includes(a))return qn(n,G(a),r),Po.trace('respond with "%s" for "%s"',a,a),o(),{stream:s,protocol:a};if(a==="ls"){qn(n,new Ze(...e.map(c=>Bo(G(c)))),r),Po.trace('respond with "%s" for %s',e,a);continue}qn(n,G("na"),r),Po('respond with "na" for "%s"',a)}}var ug=te($n(),1);var cg=Symbol.for("@libp2p/connection");var Oa=ie("libp2p:connection"),aA=500,uf=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";[cg]=!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")){Oa("closing connection to %a",this.remoteAddr),this.status="closing",e.signal=e?.signal??AbortSignal.timeout(aA);try{(0,ug.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){Oa.error("error encountered during graceful close of connection to %a",this.remoteAddr,r),this.abort(r)}}}abort(e){Oa.error("aborting connection to %a due to error",this.remoteAddr,e),this.status="closing",this.streams.forEach(r=>{r.abort(e)}),Oa.error("all streams aborted",this.streams.length),this._abort(e),this.timeline.close=Date.now(),this.status="closed"}};function lg(t){return new uf(t)}var Be=ie("libp2p:upgrader");function uA(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==K.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return nf}function lA(t,e,r={}){try{let{options:n}=e.getHandler(t);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==K.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return r.maxOutboundStreams??of}function fg(t,e,r){let n=0;return r.streams.forEach(i=>{i.direction===e&&i.protocol===t&&n++}),n}var Ma=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}`,K.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new b("connection denied",K.ERR_CONNECTION_DENIED);let i,o,s,a,c,u=AbortSignal.timeout(this.inboundUpgradeTimeout);try{(0,lf.setMaxListeners)?.(1/0,u)}catch{}try{let l=ig(e,u);if(e.source=l.source,e.sink=l.sink,await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new b("The multiaddr connection is blocked by gater.acceptConnection",K.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",K.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{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",K.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 No(d,m);if(Be("%s: incoming stream opened on %s",n,g),f==null)return;let x=uA(g,this.components.registrar);if(fg(g,"inbound",f)===x){let C=new b(`Too many inbound protocol streams for protocol "${g}" - limit ${x}`,K.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",K.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,lf.setMaxListeners)?.(1/0,m.signal)}catch{}}let{stream:g,protocol:x}=await Do(y,d,m),w=lA(x,this.components.registrar,m);if(fg(x,"outbound",f)>=w){let _=new b(`Too many outbound protocol streams for protocol "${x}" - limit ${w}`,K.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),K.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",K.ERR_CONNECTION_NOT_MULTIPLEXED)};return f=lg({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 No(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),K.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 Do(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),K.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 Do(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),K.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 No(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),K.ERR_MUXER_UNAVAILABLE)}}};var gt=ie("libp2p"),ff=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 Iu(c.type,{detail:c.detail}));return u||l};try{(0,hg.setMaxListeners)?.(1/0,r)}catch{}this.#e=!1,this.peerId=e.peerId,this.services={};let i=this.components=Pm({peerId:e.peerId,events:r,datastore:e.datastore??new ia,connectionGater:$m(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new ta(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};this.safeDispatchEvent("peer:discovery",{detail:u})}}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new Ma(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 Ba(this.components,e.transportManager)),this.configureComponent("connectionManager",new va(this.components,e.connectionManager)),this.configureComponent("registrar",new Ta(this.components)),this.configureComponent("addressManager",new oa(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 Ca(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 Ia(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[Au]!=null&&(gt("registering service %s for content routing",c),a.push(l[Au])),l[Cu]!=null&&(gt("registering service %s for peer routing",c),s.push(l[Cu])),l[Ru]!=null&&(gt("registering service %s for peer discovery",c),l[Ru].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",K.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",K.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(K.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs,protocols:r.protocols}).catch(n=>{gt.error(n)})}};async function dg(t){if(t.peerId==null){let e=t.datastore;if(e!=null)try{let r=new Tn({datastore:e},Hr(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 Mp()),new ff(jm(t))}async function fA(t){let e=await dg(t);return t.start!==!1&&await e.start(),e}return Rg(hA);})();
|
|
48
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Kv=new RegExp(`(?:^${Gt}$)|(?:^${oa}$)`),qv=new RegExp(`^${Gt}$`),Vv=new RegExp(`^${oa}$`),Cl=t=>t&&t.exact?Kv:new RegExp(`(?:${Xr(t)}${Gt}${Xr(t)})|(?:${Xr(t)}${oa}${Xr(t)})`,"g");Cl.v4=t=>t&&t.exact?qv:new RegExp(`${Xr(t)}${Gt}${Xr(t)}`,"g");Cl.v6=t=>t&&t.exact?Vv:new RegExp(`${Xr(t)}${oa}${Xr(t)}`,"g");var Fm=Cl;var Hm=te(qm(),1),{isValid:$v,parse:Hv}=Hm.default,zv=["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"],Gv=zv.map(t=>new $m.Netmask(t));function Yv(t){for(let e of Gv)if(e.contains(t))return!0;return!1}function Vm(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 zm=t=>{if($v(t)){let e=Hv(t);if(e.kind()==="ipv4")return Yv(e.toNormalizedString());if(e.kind()==="ipv6")return Vm(t)}else if(bi(t)&&Fm.v6().test(t))return Vm(t)};var aa=zm;function Gm(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 eL=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 Tl(t){try{let{address:e}=t.nodeAddress();return!!aa(e)}catch{return!0}}function Ri(t,e){let r=Tl(t.multiaddr),n=Tl(e.multiaddr);return r&&!n?1:!r&&n||t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}var Ll=te(Tu(),1),Pl=te(Qm(),1);var Xm=globalThis.fetch,Zm=globalThis.Headers,aL=globalThis.Request,cL=globalThis.Response;function ca(t,e,r){return`${t}?name=${e}&type=${r}`}async function jm(t,e){return await(await Xm(t,{headers:new Zm({accept:"application/dns-json"}),signal:e})).json()}function kn(t,e){return`${e}_${t}`}var Bl=Object.assign((0,Ll.default)("dns-over-http-resolver"),{error:(0,Ll.default)("dns-over-http-resolver:error")}),Dl=class{constructor(e={}){this._cache=new Pl.default({max:e?.maxCache??100}),this._TXTcache=new Pl.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??jm,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),Bl.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),Bl.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),Bl.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=Dl;var ey=Jm;var{code:jv}=be("dnsaddr");async function Ci(t,e={}){let r=new ey;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===jv)??[];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 K;(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"})(K||(K={}));var Jv={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:Ci},addressSorter:Ri},transportManager:{faultTolerance:Zr.FATAL_ALL}};function ty(t){let e=$r(Jv,t);if(e.transports==null||e.transports.length<1)throw new b(sr.ERR_TRANSPORTS_REQUIRED,K.ERR_TRANSPORTS_REQUIRED);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new b(sr.ERR_PROTECTOR_REQUIRED,K.ERR_PROTECTOR_REQUIRED);return e}var ry="keep-alive";var eg=te(Xy(),1);var k_=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 k_.error("multiaddr %s was invalid",n),new b("Invalid Multiaddr",K.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",K.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",K.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function O_(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 Ql=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new b("missing peer id",K.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=O_(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:Ql})}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"),Zy={maxConnections:ma,allow:[]},xa=class{maxConnections;connectionManager;peerStore;allow;events;constructor(e,r={}){this.maxConnections=r.maxConnections??Zy.maxConnections,this.allow=r.allow??Zy.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 ef=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 jl=te(Hn(),1);var jy=ie("libp2p:connection-manager:utils");async function Jl(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await K_(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 jy("resolved %s to",t,s.map(a=>a.toString())),s}async function K_(t,e){try{return t=ze(t.toString()),await t.resolve(e)}catch(r){return jy.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function Jy(...t){let e=[];for(let n of t)if(n!=null){try{(0,jl.setMaxListeners)?.(1/0,n)}catch{}e.push(n)}let r=Ea(e);try{(0,jl.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,ef.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:V_(),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,K.ERR_TIMEOUT):l}),this.pendingDials.push(u),u.promise}createDialAbortControllers(e){let r=Ea([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);try{(0,ef.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",K.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new b("The dial request is blocked by gater.allowDialPeer",K.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!==K.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",K.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new b("dial with more addresses than allowed",K.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",K.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",K.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",K.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 V_(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var It=ie("libp2p:connection-manager"),z_=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",K.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 eg.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(ry)]});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",K.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??z_}),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 nf=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 G_(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 G_(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 nf)},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 Y_(t){return t[Symbol.asyncIterator]!=null}function W_(...t){let e=[];for(let r of t)Y_(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=W_;function Fn(t,...e){if(t==null)throw new Error("Empty pipeline");if(of(t)){let n=t;t=()=>n.source}else if(rg(t)||tg(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&of(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++)of(r[n])&&(r[n]=X_(r[n]));return Q_(...r)}var Q_=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},tg=t=>t?.[Symbol.asyncIterator]!=null,rg=t=>t?.[Symbol.iterator]!=null,of=t=>t==null?!1:t.sink!=null&&t.source!=null,X_=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(tg(o))i=async function*(){yield*o,n.end()};else if(rg(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 Z_(t){return t[Symbol.asyncIterator]!=null}function j_(t,e){if(Z_(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 ng=j_;async function*Io(t,e){yield*ng(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",K.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",K.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,K.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,K.DHT_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};function J_(t){return t[Symbol.asyncIterator]!=null}function eA(t){if(J_(t))return(async()=>{for await(let e of t)return e})();for(let e of t)return e}var Ia=eA;var tA=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",K.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.components.peerId.toString())throw new b("Should not try to find self",K.ERR_FIND_SELF);let n=await Fn(en(...this.routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(o){tA.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,K.ERR_NOT_FOUND)}async*getClosestPeers(e,r){if(this.routers.length===0)throw new b("No peer routers available",K.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 sf=ie("libp2p:registrar"),af=32,cf=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}`,K.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}`,K.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=$r.bind({ignoreUndefined:!0})({maxInboundStreams:af,maxOutboundStreams:cf},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",K.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!==K.ERR_NOT_FOUND&&sf.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){sf("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!==K.ERR_NOT_FOUND&&sf.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 uf=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 ig(t){let{name:e,metrics:r}=t,n;return r!=null?n=new uf({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=ig({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",K.ERR_INVALID_KEY);if(this.transports.has(r))throw new b(`There is already a transport with the tag ${r}`,K.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)}`,K.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=K.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",K.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`,K.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,K.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 df=te(Hn(),1);var Rr="/multistream/1.0.0";function lf(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=lf(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 og(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 La(t,e,r){let n=r??{},i=og(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 rA(t,e,r){return n=>t(La(n,e,r))}function sg(t,e,r){return{sink:rA(t.sink,e,{...r,onAbort:void 0}),source:La(t.source,e,r)}}function Pa(t){return t[Symbol.asyncIterator]!=null}var Da=t=>{let e=yt(t),r=Ot(e);return Lt(t,r),Da.bytes=e,r};Da.bytes=0;function Na(t,e){e=e??{};let r=e.lengthEncoder??Da;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return Pa(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}Na.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Da;return new Ze(r(t.byteLength),t)};var ki=te(Sl(),1);var nA=8,iA=1024*1024*4,qn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(qn||(qn={}));var ff=t=>{let e=Sr(t);return ff.bytes=yt(e),e};ff.bytes=0;function Co(t,e){let r=new Ze,n=qn.LENGTH,i=-1,o=e?.lengthDecoder??ff,s=e?.maxLengthLength??nA,a=e?.maxDataLength??iA;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 Pa(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 aA=ie("libp2p:mss"),ag=G(`
|
|
49
|
+
`);function To(t){let e=new Ze(t,ag);return Na.single(e)}function Vn(t,e,r={}){let n=To(e);r.writeBytes===!0?t.push(n.subarray()):t.push(n)}function cg(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 cA(t,e){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>t.next(r)},i=n;e?.signal!=null&&(i=La(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)!==ag[0])throw aA.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 cA(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);cg(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 fg=te(Hn(),1);var lg=Symbol.for("@libp2p/connection");var ka=ie("libp2p:connection"),lA=500,hf=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";[lg]=!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")){ka("closing connection to %a",this.remoteAddr),this.status="closing",e.signal=e?.signal??AbortSignal.timeout(lA);try{(0,fg.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){ka.error("error encountered during graceful close of connection to %a",this.remoteAddr,r),this.abort(r)}}}abort(e){ka.error("aborting connection to %a due to error",this.remoteAddr,e),this.status="closing",this.streams.forEach(r=>{r.abort(e)}),ka.error("all streams aborted",this.streams.length),this._abort(e),this.timeline.close=Date.now(),this.status="closed"}};function hg(t){return new hf(t)}var Be=ie("libp2p:upgrader");function hA(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==K.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return af}function dA(t,e,r={}){try{let{options:n}=e.getHandler(t);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==K.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return r.maxOutboundStreams??cf}function dg(t,e,r){let n=0;return r.streams.forEach(i=>{i.direction===e&&i.protocol===t&&n++}),n}var Oa=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}`,K.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new b("connection denied",K.ERR_CONNECTION_DENIED);let i,o,s,a,c,u=AbortSignal.timeout(this.inboundUpgradeTimeout);try{(0,df.setMaxListeners)?.(1/0,u)}catch{}try{let l=sg(e,u);if(e.source=l.source,e.sink=l.sink,await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new b("The multiaddr connection is blocked by gater.acceptConnection",K.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",K.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{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",K.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=hA(g,this.components.registrar);if(dg(g,"inbound",f)===x){let C=new b(`Too many inbound protocol streams for protocol "${g}" - limit ${x}`,K.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",K.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,df.setMaxListeners)?.(1/0,m.signal)}catch{}}let{stream:g,protocol:x}=await Lo(y,d,m),w=dA(x,this.components.registrar,m);if(dg(x,"outbound",f)>=w){let _=new b(`Too many outbound protocol streams for protocol "${x}" - limit ${w}`,K.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),K.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",K.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 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),K.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),K.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),K.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),K.ERR_MUXER_UNAVAILABLE)}}};var gt=ie("libp2p"),pf=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 Su(c.type,{detail:c.detail}));return u||l};try{(0,pg.setMaxListeners)?.(1/0,r)}catch{}this.#e=!1,this.peerId=e.peerId,this.services={};let i=this.components=Om({peerId:e.peerId,events:r,datastore:e.datastore??new na,connectionGater:Gm(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 Oa(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[_u]!=null&&(gt("registering service %s for content routing",c),a.push(l[_u])),l[Ru]!=null&&(gt("registering service %s for peer routing",c),s.push(l[Ru])),l[Iu]!=null&&(gt("registering service %s for peer discovery",c),l[Iu].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",K.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",K.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(K.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs,protocols:r.protocols}).catch(n=>{gt.error(n)})}};async function mg(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 Kp()),new pf(ty(t))}async function pA(t){let e=await mg(t);return t.start!==!1&&await e.start(),e}return Tg(mA);})();
|
|
50
50
|
/*! Bundled license information:
|
|
51
51
|
|
|
52
52
|
@noble/hashes/esm/utils.js:
|