libp2p 0.45.9-5eee70a4 → 0.45.9-69c93ac5
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 +24 -24
- package/dist/src/address-manager/utils.d.ts.map +1 -1
- package/dist/src/address-manager/utils.js.map +1 -1
- package/dist/src/autonat/index.d.ts +20 -0
- package/dist/src/autonat/index.d.ts.map +1 -1
- package/dist/src/autonat/index.js +20 -0
- package/dist/src/autonat/index.js.map +1 -1
- package/dist/src/circuit-relay/index.d.ts +35 -0
- package/dist/src/circuit-relay/index.d.ts.map +1 -1
- package/dist/src/circuit-relay/index.js +35 -0
- package/dist/src/circuit-relay/index.js.map +1 -1
- package/dist/src/circuit-relay/server/index.d.ts +1 -1
- package/dist/src/circuit-relay/server/index.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/index.js +21 -19
- package/dist/src/circuit-relay/server/index.js.map +1 -1
- package/dist/src/circuit-relay/transport/index.d.ts +11 -0
- package/dist/src/circuit-relay/transport/index.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/index.js +47 -20
- package/dist/src/circuit-relay/transport/index.js.map +1 -1
- package/dist/src/circuit-relay/transport/listener.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/listener.js +1 -0
- package/dist/src/circuit-relay/transport/listener.js.map +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.d.ts +6 -0
- package/dist/src/circuit-relay/transport/reservation-store.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.js +22 -8
- package/dist/src/circuit-relay/transport/reservation-store.js.map +1 -1
- package/dist/src/connection/index.d.ts +19 -10
- package/dist/src/connection/index.d.ts.map +1 -1
- package/dist/src/connection/index.js +52 -28
- package/dist/src/connection/index.js.map +1 -1
- package/dist/src/connection-manager/auto-dial.d.ts.map +1 -1
- package/dist/src/connection-manager/auto-dial.js +3 -1
- package/dist/src/connection-manager/auto-dial.js.map +1 -1
- package/dist/src/connection-manager/connection-pruner.js +2 -2
- package/dist/src/connection-manager/connection-pruner.js.map +1 -1
- package/dist/src/connection-manager/constants.d.ts.map +1 -1
- package/dist/src/connection-manager/constants.js.map +1 -1
- package/dist/src/connection-manager/dial-queue.d.ts +5 -10
- package/dist/src/connection-manager/dial-queue.d.ts.map +1 -1
- package/dist/src/connection-manager/dial-queue.js.map +1 -1
- package/dist/src/connection-manager/index.d.ts +1 -1
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +11 -5
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/fetch/constants.d.ts.map +1 -1
- package/dist/src/fetch/constants.js.map +1 -1
- package/dist/src/fetch/index.js +4 -4
- package/dist/src/fetch/index.js.map +1 -1
- package/dist/src/identify/consts.d.ts.map +1 -1
- package/dist/src/identify/consts.js.map +1 -1
- package/dist/src/identify/identify.d.ts +5 -4
- package/dist/src/identify/identify.d.ts.map +1 -1
- package/dist/src/identify/identify.js +63 -69
- package/dist/src/identify/identify.js.map +1 -1
- package/dist/src/identify/index.d.ts +22 -3
- package/dist/src/identify/index.d.ts.map +1 -1
- package/dist/src/identify/index.js.map +1 -1
- package/dist/src/libp2p.d.ts +3 -3
- package/dist/src/libp2p.d.ts.map +1 -1
- package/dist/src/libp2p.js +2 -2
- package/dist/src/libp2p.js.map +1 -1
- package/dist/src/ping/constants.d.ts.map +1 -1
- package/dist/src/ping/constants.js.map +1 -1
- package/dist/src/ping/index.d.ts +1 -0
- package/dist/src/ping/index.d.ts.map +1 -1
- package/dist/src/ping/index.js +31 -20
- package/dist/src/ping/index.js.map +1 -1
- package/dist/src/transport-manager.d.ts.map +1 -1
- package/dist/src/transport-manager.js +3 -0
- package/dist/src/transport-manager.js.map +1 -1
- package/dist/src/upgrader.d.ts +2 -1
- package/dist/src/upgrader.d.ts.map +1 -1
- package/dist/src/upgrader.js +36 -25
- package/dist/src/upgrader.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/package.json +28 -31
- package/src/address-manager/utils.ts +0 -1
- package/src/autonat/index.ts +21 -0
- package/src/circuit-relay/index.ts +36 -0
- package/src/circuit-relay/server/index.ts +24 -21
- package/src/circuit-relay/transport/index.ts +61 -22
- package/src/circuit-relay/transport/listener.ts +2 -0
- package/src/circuit-relay/transport/reservation-store.ts +33 -10
- package/src/connection/index.ts +78 -36
- package/src/connection-manager/auto-dial.ts +3 -1
- package/src/connection-manager/connection-pruner.ts +2 -2
- package/src/connection-manager/constants.ts +0 -1
- package/src/connection-manager/dial-queue.ts +8 -14
- package/src/connection-manager/index.ts +11 -5
- package/src/fetch/constants.ts +0 -1
- package/src/fetch/index.ts +4 -4
- package/src/identify/consts.ts +0 -1
- package/src/identify/identify.ts +73 -79
- package/src/identify/index.ts +26 -2
- package/src/libp2p.ts +4 -4
- package/src/ping/constants.ts +0 -1
- package/src/ping/index.ts +38 -20
- package/src/transport-manager.ts +4 -0
- package/src/upgrader.ts +40 -26
- package/src/version.ts +1 -1
package/dist/index.min.js
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2P = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2P=(()=>{var
|
|
3
|
-
`)}return n};fc.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=Dh[e];if(!r){r=Dh[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 vx(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 Le=B((t4,Fh)=>{var Oh=ae(),Mh=kh(),w=Fh.exports=Oh.util=Oh.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){w.nextTick=process.nextTick,typeof setImmediate=="function"?w.setImmediate=setImmediate:w.setImmediate=w.nextTick;return}if(typeof setImmediate=="function"){w.setImmediate=function(){return setImmediate.apply(void 0,arguments)},w.nextTick=function(a){return setImmediate(a)};return}if(w.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(l){l()})}};var s=a,t="forge.setImmediate",e=[];w.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=w.setImmediate;w.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}w.nextTick=w.setImmediate})();w.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;w.globalScope=function(){return w.isNodejs?globalThis:typeof self>"u"?window:self}();w.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};w.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};w.isArrayBufferView=function(t){return t&&w.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Gi(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}w.ByteBuffer=hc;function hc(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(w.isArrayBuffer(t)||w.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof hc||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}w.ByteStringBuffer=hc;var Ex=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>Ex&&(this.data.substr(0,1),this._constructedStringLength=0)};w.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};w.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};w.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};w.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};w.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};w.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(w.encodeUtf8(t))};w.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};w.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};w.ByteStringBuffer.prototype.putInt=function(t,e){Gi(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};w.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};w.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};w.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};w.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};w.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};w.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};w.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};w.ByteStringBuffer.prototype.getInt=function(t){Gi(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};w.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};w.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};w.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var t=w.createBuffer(this.data);return t.read=this.read,t};w.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};w.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};w.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};w.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function _x(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=w.isArrayBuffer(t),n=w.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}w.DataBuffer=_x;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};w.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};w.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};w.DataBuffer.prototype.putBytes=function(t,e){if(w.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(w.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof w.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&w.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof w.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var o;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.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+=w.binary.base64.decode(t,o,this.write),this;if(e==="utf8"&&(t=w.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(o),this;if(e==="utf16")return this.accommodate(t.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};w.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};w.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};w.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};w.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};w.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};w.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};w.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(t,e){Gi(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};w.DataBuffer.prototype.putSignedInt=function(t,e){return Gi(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};w.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};w.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};w.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};w.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};w.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};w.DataBuffer.prototype.getInt=function(t){Gi(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};w.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};w.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};w.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};w.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};w.DataBuffer.prototype.copy=function(){return new w.DataBuffer(this)};w.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};w.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};w.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};w.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};w.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return w.binary.raw.encode(e);if(t==="hex")return w.binary.hex.encode(e);if(t==="base64")return w.binary.base64.encode(e);if(t==="utf8")return w.text.utf8.decode(e);if(t==="utf16")return w.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};w.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=w.encodeUtf8(t)),new w.ByteBuffer(t)};w.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};w.xorBytes=function(t,e,r){for(var n="",i="",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};w.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};w.bytesToHex=function(t){return w.createBuffer(t).toHex()};w.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var Sr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Ar=[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],Uh="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.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+=Sr.charAt(i>>2),r+=Sr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Sr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Sr.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
4
|
-
`,r=r.substr(e));return n+=r,n};w.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,o,s=0;s<t.length;)r=
|
|
5
|
-
`,r=r.substr(e));return n+=r,n};w.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,u=r;c<t.length;)i=Ar[t.charCodeAt(c++)-43],o=Ar[t.charCodeAt(c++)-43],s=Ar[t.charCodeAt(c++)-43],a=Ar[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)};w.binary.base58.encode=function(t,e){return w.binary.baseN.encode(t,Uh,e)};w.binary.base58.decode=function(t,e){return w.binary.baseN.decode(t,Uh,e)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(t,e,r){t=w.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,o=0;o<t.length;++o)n[i++]=t.charCodeAt(o);return e?i-r:n};w.text.utf8.decode=function(t){return w.decodeUtf8(String.fromCharCode.apply(null,t))};w.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<t.length;++a)i[s++]=t.charCodeAt(a),o+=2;return e?o-r:n};w.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};w.deflate=function(t,e,r){if(e=w.decode64(t.deflate(w.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};w.inflate=function(t,e,r){var n=t.inflate(w.encode64(e)).rval;return n===null?null:w.decode64(n)};var dc=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=w.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},pc=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(w.decode64(r))),r},Sx=function(t,e,r,n){var i=pc(t,e);i===null&&(i={}),i[r]=n,dc(t,e,i)},Ax=function(t,e,r){var n=pc(t,e);return n!==null&&(n=r in n?n[r]:null),n},Ix=function(t,e,r){var n=pc(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),dc(t,e,n)}},Rx=function(t,e){dc(t,e,null)},ss=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};w.setItem=function(t,e,r,n,i){ss(Sx,arguments,i)};w.getItem=function(t,e,r,n){return ss(Ax,arguments,n)};w.removeItem=function(t,e,r,n){ss(Ix,arguments,n)};w.clearItems=function(t,e,r){ss(Rx,arguments,r)};w.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};w.format=function(t){for(var e=/%./g,r,n,i=0,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("")};w.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):"")};w.formatSize=function(t){return t>=1073741824?t=w.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=w.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=w.formatNumber(t/1024,0)+" KiB":t=w.formatNumber(t,0)+" bytes",t};w.bytesFromIP=function(t){return t.indexOf(".")!==-1?w.bytesFromIPv4(t):t.indexOf(":")!==-1?w.bytesFromIPv6(t):null};w.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=w.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};w.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(s){return s.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=w.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=w.hexToBytes(t[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};w.bytesToIP=function(t){return t.length===4?w.bytesToIPv4(t):t.length===16?w.bytesToIPv6(t):null};w.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};w.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var o=w.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(":")};w.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in w&&!t.update)return e(null,w.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return w.cores=navigator.hardwareConcurrency,e(null,w.cores);if(typeof Worker>"u")return w.cores=1,e(null,w.cores);if(typeof Blob>"u")return w.cores=2,e(null,w.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(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 w.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,w.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(d){if(u.push(d.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]=[],d=0;d<s;++d)if(u!==d){var p=a[d];(l.st>p.st&&l.st<p.et||p.st>l.st&&p.st<l.et)&&f.push(d)}return c.reduce(function(h,m){return Math.max(h,m.length)},0)}}});var as=B((r4,Kh)=>{var Yi=ae();Yi.pki=Yi.pki||{};var mc=Kh.exports=Yi.pki.oids=Yi.oids=Yi.oids||{};function R(t,e){mc[t]=e,mc[e]=t}function ie(t,e){mc[t]=e}R("1.2.840.113549.1.1.1","rsaEncryption");R("1.2.840.113549.1.1.4","md5WithRSAEncryption");R("1.2.840.113549.1.1.5","sha1WithRSAEncryption");R("1.2.840.113549.1.1.7","RSAES-OAEP");R("1.2.840.113549.1.1.8","mgf1");R("1.2.840.113549.1.1.9","pSpecified");R("1.2.840.113549.1.1.10","RSASSA-PSS");R("1.2.840.113549.1.1.11","sha256WithRSAEncryption");R("1.2.840.113549.1.1.12","sha384WithRSAEncryption");R("1.2.840.113549.1.1.13","sha512WithRSAEncryption");R("1.3.101.112","EdDSA25519");R("1.2.840.10040.4.3","dsa-with-sha1");R("1.3.14.3.2.7","desCBC");R("1.3.14.3.2.26","sha1");R("1.3.14.3.2.29","sha1WithRSASignature");R("2.16.840.1.101.3.4.2.1","sha256");R("2.16.840.1.101.3.4.2.2","sha384");R("2.16.840.1.101.3.4.2.3","sha512");R("2.16.840.1.101.3.4.2.4","sha224");R("2.16.840.1.101.3.4.2.5","sha512-224");R("2.16.840.1.101.3.4.2.6","sha512-256");R("1.2.840.113549.2.2","md2");R("1.2.840.113549.2.5","md5");R("1.2.840.113549.1.7.1","data");R("1.2.840.113549.1.7.2","signedData");R("1.2.840.113549.1.7.3","envelopedData");R("1.2.840.113549.1.7.4","signedAndEnvelopedData");R("1.2.840.113549.1.7.5","digestedData");R("1.2.840.113549.1.7.6","encryptedData");R("1.2.840.113549.1.9.1","emailAddress");R("1.2.840.113549.1.9.2","unstructuredName");R("1.2.840.113549.1.9.3","contentType");R("1.2.840.113549.1.9.4","messageDigest");R("1.2.840.113549.1.9.5","signingTime");R("1.2.840.113549.1.9.6","counterSignature");R("1.2.840.113549.1.9.7","challengePassword");R("1.2.840.113549.1.9.8","unstructuredAddress");R("1.2.840.113549.1.9.14","extensionRequest");R("1.2.840.113549.1.9.20","friendlyName");R("1.2.840.113549.1.9.21","localKeyId");R("1.2.840.113549.1.9.22.1","x509Certificate");R("1.2.840.113549.1.12.10.1.1","keyBag");R("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");R("1.2.840.113549.1.12.10.1.3","certBag");R("1.2.840.113549.1.12.10.1.4","crlBag");R("1.2.840.113549.1.12.10.1.5","secretBag");R("1.2.840.113549.1.12.10.1.6","safeContentsBag");R("1.2.840.113549.1.5.13","pkcs5PBES2");R("1.2.840.113549.1.5.12","pkcs5PBKDF2");R("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");R("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");R("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");R("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");R("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");R("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");R("1.2.840.113549.2.7","hmacWithSHA1");R("1.2.840.113549.2.8","hmacWithSHA224");R("1.2.840.113549.2.9","hmacWithSHA256");R("1.2.840.113549.2.10","hmacWithSHA384");R("1.2.840.113549.2.11","hmacWithSHA512");R("1.2.840.113549.3.7","des-EDE3-CBC");R("2.16.840.1.101.3.4.1.2","aes128-CBC");R("2.16.840.1.101.3.4.1.22","aes192-CBC");R("2.16.840.1.101.3.4.1.42","aes256-CBC");R("2.5.4.3","commonName");R("2.5.4.4","surname");R("2.5.4.5","serialNumber");R("2.5.4.6","countryName");R("2.5.4.7","localityName");R("2.5.4.8","stateOrProvinceName");R("2.5.4.9","streetAddress");R("2.5.4.10","organizationName");R("2.5.4.11","organizationalUnitName");R("2.5.4.12","title");R("2.5.4.13","description");R("2.5.4.15","businessCategory");R("2.5.4.17","postalCode");R("2.5.4.42","givenName");R("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");R("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");R("2.16.840.1.113730.1.1","nsCertType");R("2.16.840.1.113730.1.13","nsComment");ie("2.5.29.1","authorityKeyIdentifier");ie("2.5.29.2","keyAttributes");ie("2.5.29.3","certificatePolicies");ie("2.5.29.4","keyUsageRestriction");ie("2.5.29.5","policyMapping");ie("2.5.29.6","subtreesConstraint");ie("2.5.29.7","subjectAltName");ie("2.5.29.8","issuerAltName");ie("2.5.29.9","subjectDirectoryAttributes");ie("2.5.29.10","basicConstraints");ie("2.5.29.11","nameConstraints");ie("2.5.29.12","policyConstraints");ie("2.5.29.13","basicConstraints");R("2.5.29.14","subjectKeyIdentifier");R("2.5.29.15","keyUsage");ie("2.5.29.16","privateKeyUsagePeriod");R("2.5.29.17","subjectAltName");R("2.5.29.18","issuerAltName");R("2.5.29.19","basicConstraints");ie("2.5.29.20","cRLNumber");ie("2.5.29.21","cRLReason");ie("2.5.29.22","expirationDate");ie("2.5.29.23","instructionCode");ie("2.5.29.24","invalidityDate");ie("2.5.29.25","cRLDistributionPoints");ie("2.5.29.26","issuingDistributionPoint");ie("2.5.29.27","deltaCRLIndicator");ie("2.5.29.28","issuingDistributionPoint");ie("2.5.29.29","certificateIssuer");ie("2.5.29.30","nameConstraints");R("2.5.29.31","cRLDistributionPoints");R("2.5.29.32","certificatePolicies");ie("2.5.29.33","policyMappings");ie("2.5.29.34","policyConstraints");R("2.5.29.35","authorityKeyIdentifier");ie("2.5.29.36","policyConstraints");R("2.5.29.37","extKeyUsage");ie("2.5.29.46","freshestCRL");ie("2.5.29.54","inhibitAnyPolicy");R("1.3.6.1.4.1.11129.2.4.2","timestampList");R("1.3.6.1.5.5.7.1.1","authorityInfoAccess");R("1.3.6.1.5.5.7.3.1","serverAuth");R("1.3.6.1.5.5.7.3.2","clientAuth");R("1.3.6.1.5.5.7.3.3","codeSigning");R("1.3.6.1.5.5.7.3.4","emailProtection");R("1.3.6.1.5.5.7.3.8","timeStamping")});var Qi=B((n4,qh)=>{var de=ae();Le();as();var L=qh.exports=de.asn1=de.asn1||{};L.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};L.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};L.create=function(t,e,r,n,i){if(de.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||de.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=L.copy(a)),a};L.copy=function(t,e){var r;if(de.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(L.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:L.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};L.equals=function(t,e,r){if(de.util.isArray(t)){if(!de.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!L.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&&L.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};L.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 Wi(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 Cx=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;Wi(t,e,o),n=t.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};L.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=de.util.createBuffer(t));var r=t.length(),n=cs(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 cs(t,e,r,n){var i;Wi(t,e,2);var o=t.getByte();e--;var s=o&192,a=o&31;i=t.length();var c=Cx(t,e);if(e-=i-t.length(),c!==void 0&&c>e){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=t.length(),u.remaining=e,u.requested=c,u}c=e}var l,f,d=(o&32)===32;if(d)if(l=[],c===void 0)for(;;){if(Wi(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),l.push(cs(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(cs(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&s===L.Class.UNIVERSAL&&a===L.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&s===L.Class.UNIVERSAL&&a===L.Type.BITSTRING&&c>1){var p=t.read,h=e,m=0;if(a===L.Type.BITSTRING&&(Wi(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},g=cs(t,e,r+1,y),x=i-t.length();e-=x,a==L.Type.BITSTRING&&x++;var E=g.tagClass;x===c&&(E===L.Class.UNIVERSAL||E===L.Class.CONTEXT_SPECIFIC)&&(l=[g])}catch{}l===void 0&&(t.read=p,e=h)}if(l===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===L.Type.BMPSTRING)for(l="";c>0;c-=2)Wi(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c),e-=c}var T=f===void 0?null:{bitStringContents:f};return L.create(s,a,d,l,T)}L.toDer=function(t){var e=de.util.createBuffer(),r=t.tagClass|t.type,n=de.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=L.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(L.toDer(t.value[o]))}else if(t.type===L.Type.BMPSTRING)for(var o=0;o<t.value.length;++o)n.putInt16(t.value.charCodeAt(o));else t.type===L.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};L.oidToDer=function(t){var e=t.split("."),r=de.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};L.derToOid=function(t){var e;typeof t=="string"&&(t=de.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};L.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),d=l*60+f;d*=6e4,c==="+"?e.setTime(+e-d):e.setTime(+e+d)}return e};L.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,d=t.charAt(f);if(d==="+"||d==="-"){var p=parseInt(t.substr(f+1,2),10),h=parseInt(t.substr(f+4,2),10);u=p*60+h,u*=6e4,d==="+"&&(u*=-1),l=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),l?(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(o,s,a,c)),e};L.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};L.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};L.integerToDer=function(t){var e=de.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};L.derToInteger=function(t){typeof t=="string"&&(t=de.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)};L.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&&de.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=L.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 Vh=/[^\\u0000-\\u00ff]/;L.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
|
6
|
-
`);for(var i="",o=0;o<e*r;++o)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case
|
|
2
|
+
"use strict";var Libp2P=(()=>{var Xg=Object.create;var Oo=Object.defineProperty;var Zg=Object.getOwnPropertyDescriptor;var Jg=Object.getOwnPropertyNames;var jg=Object.getPrototypeOf,e1=Object.prototype.hasOwnProperty;var B=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),re=(t,e)=>{for(var r in e)Oo(t,r,{get:e[r],enumerable:!0})},Tf=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Jg(e))!e1.call(t,i)&&i!==r&&Oo(t,i,{get:()=>e[i],enumerable:!(n=Zg(e,i))||n.enumerable});return t};var z=(t,e,r)=>(r=t!=null?Xg(jg(t)):{},Tf(e||!t||!t.__esModule?Oo(r,"default",{value:t,enumerable:!0}):r,t)),t1=t=>Tf(Oo({},"__esModule",{value:!0}),t);var In=B((RS,Ma)=>{"use strict";var Sn=typeof Reflect=="object"?Reflect:null,Bf=Sn&&typeof Sn.apply=="function"?Sn.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},Mo;Sn&&typeof Sn.ownKeys=="function"?Mo=Sn.ownKeys:Object.getOwnPropertySymbols?Mo=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Mo=function(e){return Object.getOwnPropertyNames(e)};function r1(t){console&&console.warn&&console.warn(t)}var Lf=Number.isNaN||function(e){return e!==e};function ie(){ie.init.call(this)}Ma.exports=ie;Ma.exports.once=s1;ie.EventEmitter=ie;ie.prototype._events=void 0;ie.prototype._eventsCount=0;ie.prototype._maxListeners=void 0;var Pf=10;function Uo(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(ie,"defaultMaxListeners",{enumerable:!0,get:function(){return Pf},set:function(t){if(typeof t!="number"||t<0||Lf(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");Pf=t}});ie.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};ie.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||Lf(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 Df(t){return t._maxListeners===void 0?ie.defaultMaxListeners:t._maxListeners}ie.prototype.getMaxListeners=function(){return Df(this)};ie.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")Bf(c,this,r);else for(var u=c.length,l=Uf(c,u),n=0;n<u;++n)Bf(l[n],this,r);return!0};function Nf(t,e,r,n){var i,o,s;if(Uo(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=Df(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,r1(a)}return t}ie.prototype.addListener=function(e,r){return Nf(this,e,r,!1)};ie.prototype.on=ie.prototype.addListener;ie.prototype.prependListener=function(e,r){return Nf(this,e,r,!0)};function n1(){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 kf(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=n1.bind(n);return i.listener=r,n.wrapFn=i,i}ie.prototype.once=function(e,r){return Uo(r),this.on(e,kf(this,e,r)),this};ie.prototype.prependOnceListener=function(e,r){return Uo(r),this.prependListener(e,kf(this,e,r)),this};ie.prototype.removeListener=function(e,r){var n,i,o,s,a;if(Uo(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():i1(n,o),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this};ie.prototype.off=ie.prototype.removeListener;ie.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 Of(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?o1(i):Uf(i,i.length)}ie.prototype.listeners=function(e){return Of(this,e,!0)};ie.prototype.rawListeners=function(e){return Of(this,e,!1)};ie.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):Mf.call(t,e)};ie.prototype.listenerCount=Mf;function Mf(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}ie.prototype.eventNames=function(){return this._eventsCount>0?Mo(this._events):[]};function Uf(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function i1(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function o1(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function s1(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))}Ff(t,e,o,{once:!0}),e!=="error"&&a1(t,i,{once:!0})})}function a1(t,e,r){typeof t.on=="function"&&Ff(t,"error",e,r)}function Ff(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 ne=B((CS,Kf)=>{Kf.exports={options:{usePureJavaScript:!1}}});var zf=B((TS,qf)=>{var Ua={};qf.exports=Ua;var Vf={};Ua.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=c1(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};Ua.decode=function(t,e){if(typeof t!="string")throw new TypeError('"input" must be a string.');if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');var r=Vf[e];if(!r){r=Vf[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 c1(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 _e=B((BS,Yf)=>{var $f=ne(),Hf=zf(),w=Yf.exports=$f.util=$f.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){w.nextTick=process.nextTick,typeof setImmediate=="function"?w.setImmediate=setImmediate:w.setImmediate=w.nextTick;return}if(typeof setImmediate=="function"){w.setImmediate=function(){return setImmediate.apply(void 0,arguments)},w.nextTick=function(a){return setImmediate(a)};return}if(w.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(l){l()})}};var s=a,t="forge.setImmediate",e=[];w.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=w.setImmediate;w.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}w.nextTick=w.setImmediate})();w.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;w.globalScope=function(){return w.isNodejs?globalThis:typeof self>"u"?window:self}();w.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};w.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};w.isArrayBufferView=function(t){return t&&w.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Ri(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}w.ByteBuffer=Fa;function Fa(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(w.isArrayBuffer(t)||w.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof Fa||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}w.ByteStringBuffer=Fa;var u1=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>u1&&(this.data.substr(0,1),this._constructedStringLength=0)};w.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};w.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};w.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};w.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};w.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};w.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(w.encodeUtf8(t))};w.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};w.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};w.ByteStringBuffer.prototype.putInt=function(t,e){Ri(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};w.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};w.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};w.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};w.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};w.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};w.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};w.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};w.ByteStringBuffer.prototype.getInt=function(t){Ri(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};w.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};w.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};w.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var t=w.createBuffer(this.data);return t.read=this.read,t};w.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};w.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};w.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};w.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function l1(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=w.isArrayBuffer(t),n=w.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}w.DataBuffer=l1;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};w.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};w.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};w.DataBuffer.prototype.putBytes=function(t,e){if(w.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(w.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof w.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&w.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof w.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var o;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.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+=w.binary.base64.decode(t,o,this.write),this;if(e==="utf8"&&(t=w.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(o),this;if(e==="utf16")return this.accommodate(t.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};w.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};w.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};w.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};w.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};w.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};w.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};w.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(t,e){Ri(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};w.DataBuffer.prototype.putSignedInt=function(t,e){return Ri(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};w.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};w.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};w.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};w.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};w.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};w.DataBuffer.prototype.getInt=function(t){Ri(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};w.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};w.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};w.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};w.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};w.DataBuffer.prototype.copy=function(){return new w.DataBuffer(this)};w.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};w.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};w.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};w.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};w.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return w.binary.raw.encode(e);if(t==="hex")return w.binary.hex.encode(e);if(t==="base64")return w.binary.base64.encode(e);if(t==="utf8")return w.text.utf8.decode(e);if(t==="utf16")return w.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};w.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=w.encodeUtf8(t)),new w.ByteBuffer(t)};w.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};w.xorBytes=function(t,e,r){for(var n="",i="",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};w.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};w.bytesToHex=function(t){return w.createBuffer(t).toHex()};w.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var lr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",fr=[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],Gf="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.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+=lr.charAt(i>>2),r+=lr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=lr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":lr.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
4
|
+
`,r=r.substr(e));return n+=r,n};w.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,o,s=0;s<t.length;)r=fr[t.charCodeAt(s++)-43],n=fr[t.charCodeAt(s++)-43],i=fr[t.charCodeAt(s++)-43],o=fr[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};w.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};w.decodeUtf8=function(t){return decodeURIComponent(escape(t))};w.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:Hf.encode,decode:Hf.decode}};w.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};w.binary.raw.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,o=0;o<t.length;++o)n[i++]=t.charCodeAt(o);return e?i-r:n};w.binary.hex.encode=w.bytesToHex;w.binary.hex.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/2))),r=r||0;var i=0,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};w.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+=lr.charAt(i>>2),r+=lr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=lr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":lr.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
5
|
+
`,r=r.substr(e));return n+=r,n};w.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,u=r;c<t.length;)i=fr[t.charCodeAt(c++)-43],o=fr[t.charCodeAt(c++)-43],s=fr[t.charCodeAt(c++)-43],a=fr[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)};w.binary.base58.encode=function(t,e){return w.binary.baseN.encode(t,Gf,e)};w.binary.base58.decode=function(t,e){return w.binary.baseN.decode(t,Gf,e)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(t,e,r){t=w.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,o=0;o<t.length;++o)n[i++]=t.charCodeAt(o);return e?i-r:n};w.text.utf8.decode=function(t){return w.decodeUtf8(String.fromCharCode.apply(null,t))};w.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<t.length;++a)i[s++]=t.charCodeAt(a),o+=2;return e?o-r:n};w.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};w.deflate=function(t,e,r){if(e=w.decode64(t.deflate(w.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};w.inflate=function(t,e,r){var n=t.inflate(w.encode64(e)).rval;return n===null?null:w.decode64(n)};var Ka=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=w.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},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(w.decode64(r))),r},f1=function(t,e,r,n){var i=Va(t,e);i===null&&(i={}),i[r]=n,Ka(t,e,i)},h1=function(t,e,r){var n=Va(t,e);return n!==null&&(n=r in n?n[r]:null),n},d1=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),Ka(t,e,n)}},p1=function(t,e){Ka(t,e,null)},Fo=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};w.setItem=function(t,e,r,n,i){Fo(f1,arguments,i)};w.getItem=function(t,e,r,n){return Fo(h1,arguments,n)};w.removeItem=function(t,e,r,n){Fo(d1,arguments,n)};w.clearItems=function(t,e,r){Fo(p1,arguments,r)};w.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};w.format=function(t){for(var e=/%./g,r,n,i=0,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("")};w.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):"")};w.formatSize=function(t){return t>=1073741824?t=w.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=w.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=w.formatNumber(t/1024,0)+" KiB":t=w.formatNumber(t,0)+" bytes",t};w.bytesFromIP=function(t){return t.indexOf(".")!==-1?w.bytesFromIPv4(t):t.indexOf(":")!==-1?w.bytesFromIPv6(t):null};w.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=w.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};w.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(s){return s.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=w.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=w.hexToBytes(t[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};w.bytesToIP=function(t){return t.length===4?w.bytesToIPv4(t):t.length===16?w.bytesToIPv6(t):null};w.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};w.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var o=w.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(":")};w.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in w&&!t.update)return e(null,w.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return w.cores=navigator.hardwareConcurrency,e(null,w.cores);if(typeof Worker>"u")return w.cores=1,e(null,w.cores);if(typeof Blob>"u")return w.cores=2,e(null,w.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(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 w.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,w.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 Ko=B((PS,Wf)=>{var Ci=ne();Ci.pki=Ci.pki||{};var qa=Wf.exports=Ci.pki.oids=Ci.oids=Ci.oids||{};function I(t,e){qa[t]=e,qa[e]=t}function ee(t,e){qa[t]=e}I("1.2.840.113549.1.1.1","rsaEncryption");I("1.2.840.113549.1.1.4","md5WithRSAEncryption");I("1.2.840.113549.1.1.5","sha1WithRSAEncryption");I("1.2.840.113549.1.1.7","RSAES-OAEP");I("1.2.840.113549.1.1.8","mgf1");I("1.2.840.113549.1.1.9","pSpecified");I("1.2.840.113549.1.1.10","RSASSA-PSS");I("1.2.840.113549.1.1.11","sha256WithRSAEncryption");I("1.2.840.113549.1.1.12","sha384WithRSAEncryption");I("1.2.840.113549.1.1.13","sha512WithRSAEncryption");I("1.3.101.112","EdDSA25519");I("1.2.840.10040.4.3","dsa-with-sha1");I("1.3.14.3.2.7","desCBC");I("1.3.14.3.2.26","sha1");I("1.3.14.3.2.29","sha1WithRSASignature");I("2.16.840.1.101.3.4.2.1","sha256");I("2.16.840.1.101.3.4.2.2","sha384");I("2.16.840.1.101.3.4.2.3","sha512");I("2.16.840.1.101.3.4.2.4","sha224");I("2.16.840.1.101.3.4.2.5","sha512-224");I("2.16.840.1.101.3.4.2.6","sha512-256");I("1.2.840.113549.2.2","md2");I("1.2.840.113549.2.5","md5");I("1.2.840.113549.1.7.1","data");I("1.2.840.113549.1.7.2","signedData");I("1.2.840.113549.1.7.3","envelopedData");I("1.2.840.113549.1.7.4","signedAndEnvelopedData");I("1.2.840.113549.1.7.5","digestedData");I("1.2.840.113549.1.7.6","encryptedData");I("1.2.840.113549.1.9.1","emailAddress");I("1.2.840.113549.1.9.2","unstructuredName");I("1.2.840.113549.1.9.3","contentType");I("1.2.840.113549.1.9.4","messageDigest");I("1.2.840.113549.1.9.5","signingTime");I("1.2.840.113549.1.9.6","counterSignature");I("1.2.840.113549.1.9.7","challengePassword");I("1.2.840.113549.1.9.8","unstructuredAddress");I("1.2.840.113549.1.9.14","extensionRequest");I("1.2.840.113549.1.9.20","friendlyName");I("1.2.840.113549.1.9.21","localKeyId");I("1.2.840.113549.1.9.22.1","x509Certificate");I("1.2.840.113549.1.12.10.1.1","keyBag");I("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");I("1.2.840.113549.1.12.10.1.3","certBag");I("1.2.840.113549.1.12.10.1.4","crlBag");I("1.2.840.113549.1.12.10.1.5","secretBag");I("1.2.840.113549.1.12.10.1.6","safeContentsBag");I("1.2.840.113549.1.5.13","pkcs5PBES2");I("1.2.840.113549.1.5.12","pkcs5PBKDF2");I("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");I("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");I("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");I("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");I("1.2.840.113549.2.7","hmacWithSHA1");I("1.2.840.113549.2.8","hmacWithSHA224");I("1.2.840.113549.2.9","hmacWithSHA256");I("1.2.840.113549.2.10","hmacWithSHA384");I("1.2.840.113549.2.11","hmacWithSHA512");I("1.2.840.113549.3.7","des-EDE3-CBC");I("2.16.840.1.101.3.4.1.2","aes128-CBC");I("2.16.840.1.101.3.4.1.22","aes192-CBC");I("2.16.840.1.101.3.4.1.42","aes256-CBC");I("2.5.4.3","commonName");I("2.5.4.4","surname");I("2.5.4.5","serialNumber");I("2.5.4.6","countryName");I("2.5.4.7","localityName");I("2.5.4.8","stateOrProvinceName");I("2.5.4.9","streetAddress");I("2.5.4.10","organizationName");I("2.5.4.11","organizationalUnitName");I("2.5.4.12","title");I("2.5.4.13","description");I("2.5.4.15","businessCategory");I("2.5.4.17","postalCode");I("2.5.4.42","givenName");I("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");I("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");I("2.16.840.1.113730.1.1","nsCertType");I("2.16.840.1.113730.1.13","nsComment");ee("2.5.29.1","authorityKeyIdentifier");ee("2.5.29.2","keyAttributes");ee("2.5.29.3","certificatePolicies");ee("2.5.29.4","keyUsageRestriction");ee("2.5.29.5","policyMapping");ee("2.5.29.6","subtreesConstraint");ee("2.5.29.7","subjectAltName");ee("2.5.29.8","issuerAltName");ee("2.5.29.9","subjectDirectoryAttributes");ee("2.5.29.10","basicConstraints");ee("2.5.29.11","nameConstraints");ee("2.5.29.12","policyConstraints");ee("2.5.29.13","basicConstraints");I("2.5.29.14","subjectKeyIdentifier");I("2.5.29.15","keyUsage");ee("2.5.29.16","privateKeyUsagePeriod");I("2.5.29.17","subjectAltName");I("2.5.29.18","issuerAltName");I("2.5.29.19","basicConstraints");ee("2.5.29.20","cRLNumber");ee("2.5.29.21","cRLReason");ee("2.5.29.22","expirationDate");ee("2.5.29.23","instructionCode");ee("2.5.29.24","invalidityDate");ee("2.5.29.25","cRLDistributionPoints");ee("2.5.29.26","issuingDistributionPoint");ee("2.5.29.27","deltaCRLIndicator");ee("2.5.29.28","issuingDistributionPoint");ee("2.5.29.29","certificateIssuer");ee("2.5.29.30","nameConstraints");I("2.5.29.31","cRLDistributionPoints");I("2.5.29.32","certificatePolicies");ee("2.5.29.33","policyMappings");ee("2.5.29.34","policyConstraints");I("2.5.29.35","authorityKeyIdentifier");ee("2.5.29.36","policyConstraints");I("2.5.29.37","extKeyUsage");ee("2.5.29.46","freshestCRL");ee("2.5.29.54","inhibitAnyPolicy");I("1.3.6.1.4.1.11129.2.4.2","timestampList");I("1.3.6.1.5.5.7.1.1","authorityInfoAccess");I("1.3.6.1.5.5.7.3.1","serverAuth");I("1.3.6.1.5.5.7.3.2","clientAuth");I("1.3.6.1.5.5.7.3.3","codeSigning");I("1.3.6.1.5.5.7.3.4","emailProtection");I("1.3.6.1.5.5.7.3.8","timeStamping")});var Bi=B((LS,Xf)=>{var ue=ne();_e();Ko();var P=Xf.exports=ue.asn1=ue.asn1||{};P.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};P.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};P.create=function(t,e,r,n,i){if(ue.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||ue.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=P.copy(a)),a};P.copy=function(t,e){var r;if(ue.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(P.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:P.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};P.equals=function(t,e,r){if(ue.util.isArray(t)){if(!ue.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!P.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&&P.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};P.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 Ti(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 m1=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;Ti(t,e,o),n=t.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};P.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=ue.util.createBuffer(t));var r=t.length(),n=Vo(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 Vo(t,e,r,n){var i;Ti(t,e,2);var o=t.getByte();e--;var s=o&192,a=o&31;i=t.length();var c=m1(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(Ti(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),l.push(Vo(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(Vo(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&s===P.Class.UNIVERSAL&&a===P.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&s===P.Class.UNIVERSAL&&a===P.Type.BITSTRING&&c>1){var p=t.read,d=e,m=0;if(a===P.Type.BITSTRING&&(Ti(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},g=Vo(t,e,r+1,y),x=i-t.length();e-=x,a==P.Type.BITSTRING&&x++;var b=g.tagClass;x===c&&(b===P.Class.UNIVERSAL||b===P.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===P.Type.BMPSTRING)for(l="";c>0;c-=2)Ti(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c),e-=c}var T=f===void 0?null:{bitStringContents:f};return P.create(s,a,h,l,T)}P.toDer=function(t){var e=ue.util.createBuffer(),r=t.tagClass|t.type,n=ue.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=P.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(P.toDer(t.value[o]))}else if(t.type===P.Type.BMPSTRING)for(var o=0;o<t.value.length;++o)n.putInt16(t.value.charCodeAt(o));else t.type===P.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};P.oidToDer=function(t){var e=t.split("."),r=ue.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};P.derToOid=function(t){var e;typeof t=="string"&&(t=ue.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};P.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};P.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};P.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};P.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};P.integerToDer=function(t){var e=ue.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};P.derToInteger=function(t){typeof t=="string"&&(t=ue.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)};P.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&&ue.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=P.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 Qf=/[^\\u0000-\\u00ff]/;P.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
|
6
|
+
`);for(var i="",o=0;o<e*r;++o)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case P.Class.UNIVERSAL:n+="Universal:";break;case P.Class.APPLICATION:n+="Application:";break;case P.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case P.Class.PRIVATE:n+="Private:";break}if(t.tagClass===P.Class.UNIVERSAL)switch(n+=t.type,t.type){case P.Type.NONE:n+=" (None)";break;case P.Type.BOOLEAN:n+=" (Boolean)";break;case P.Type.INTEGER:n+=" (Integer)";break;case P.Type.BITSTRING:n+=" (Bit string)";break;case P.Type.OCTETSTRING:n+=" (Octet string)";break;case P.Type.NULL:n+=" (Null)";break;case P.Type.OID:n+=" (Object Identifier)";break;case P.Type.ODESC:n+=" (Object Descriptor)";break;case P.Type.EXTERNAL:n+=" (External or Instance of)";break;case P.Type.REAL:n+=" (Real)";break;case P.Type.ENUMERATED:n+=" (Enumerated)";break;case P.Type.EMBEDDED:n+=" (Embedded PDV)";break;case P.Type.UTF8:n+=" (UTF8)";break;case P.Type.ROID:n+=" (Relative Object Identifier)";break;case P.Type.SEQUENCE:n+=" (Sequence)";break;case P.Type.SET:n+=" (Set)";break;case P.Type.PRINTABLESTRING:n+=" (Printable String)";break;case P.Type.IA5String:n+=" (IA5String (ASCII))";break;case P.Type.UTCTIME:n+=" (UTC time)";break;case P.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case P.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+=L.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===L.Type.OID){var c=L.derToOid(t.value);n+=c,de.pki&&de.pki.oids&&c in de.pki.oids&&(n+=" ("+de.pki.oids[c]+") ")}if(t.type===L.Type.INTEGER)try{n+=L.derToInteger(t.value)}catch{n+="0x"+de.util.bytesToHex(t.value)}else if(t.type===L.Type.BITSTRING){if(t.value.length>1?n+="0x"+de.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===L.Type.OCTETSTRING)Vh.test(t.value)||(n+="("+t.value+") "),n+="0x"+de.util.bytesToHex(t.value);else if(t.type===L.Type.UTF8)try{n+=de.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+de.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===L.Type.PRINTABLESTRING||t.type===L.Type.IA5String?n+=t.value:Vh.test(t.value)?n+="0x"+de.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var gc=B((i4,zh)=>{var Fe=ae();Le();zh.exports=Fe.cipher=Fe.cipher||{};Fe.cipher.algorithms=Fe.cipher.algorithms||{};Fe.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Fe.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Fe.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Fe.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Fe.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Fe.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Fe.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Fe.cipher.algorithms[t]=e};Fe.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Fe.cipher.algorithms?Fe.cipher.algorithms[t]:null};var yc=Fe.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)};yc.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=Fe.util.createBuffer(),this.output=t.output||Fe.util.createBuffer(),this.mode.start(e)};yc.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()};yc.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 wc=B((o4,$h)=>{var Ke=ae();Le();Ke.cipher=Ke.cipher||{};var Y=$h.exports=Ke.cipher.modes=Ke.cipher.modes||{};Y.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)};Y.ecb.prototype.start=function(t){};Y.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])};Y.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])};Y.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Y.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)};Y.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)};Y.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=us(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};Y.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};Y.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)};Y.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Y.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)};Y.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=Ke.util.createBuffer(),this._partialBytes=0};Y.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=us(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Y.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};Y.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};Y.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=Ke.util.createBuffer(),this._partialBytes=0};Y.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=us(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Y.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};Y.ofb.prototype.decrypt=Y.ofb.prototype.encrypt;Y.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=Ke.util.createBuffer(),this._partialBytes=0};Y.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=us(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Y.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}ls(this._inBlock)};Y.ctr.prototype.decrypt=Y.ctr.prototype.encrypt;Y.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=Ke.util.createBuffer(),this._partialBytes=0,this._R=3774873600};Y.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=Ke.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Ke.util.createBuffer(t.additionalData):r=Ke.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Ke.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(xc(n*8)))}this._inBlock=this._j0.slice(0),ls(this._inBlock),this._partialBytes=0,r=Ke.util.createBuffer(r),this._aDataLength=xc(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()])};Y.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),ls(this._inBlock)};Y.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),ls(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};Y.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=Ke.util.createBuffer();var n=this._aDataLength.concat(xc(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};Y.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};Y.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)};Y.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};Y.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)};Y.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};Y.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 us(t,e){if(typeof t=="string"&&(t=Ke.util.createBuffer(t)),Ke.util.isArray(t)&&t.length>4){var r=t;t=Ke.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(!Ke.util.isArray(t)){for(var i=[],o=e/4,n=0;n<o;++n)i.push(t.getInt32());t=i}return t}function ls(t){t[t.length-1]=t[t.length-1]+1&4294967295}function xc(t){return[t/4294967296|0,t&4294967295]}});var hs=B((s4,Wh)=>{var fe=ae();gc();wc();Le();Wh.exports=fe.aes=fe.aes||{};fe.aes.startEncrypting=function(t,e,r,n){var i=fs({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};fe.aes.createEncryptionCipher=function(t,e){return fs({key:t,output:null,decrypt:!1,mode:e})};fe.aes.startDecrypting=function(t,e,r,n){var i=fs({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};fe.aes.createDecryptionCipher=function(t,e){return fs({key:t,output:null,decrypt:!0,mode:e})};fe.aes.Algorithm=function(t,e){Ec||Gh();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return vc(r._w,n,i,!1)},decrypt:function(n,i){return vc(r._w,n,i,!0)}}}),r._init=!1};fe.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=fe.util.createBuffer(e);else if(fe.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=fe.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!fe.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(!fe.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=Yh(e,t.decrypt&&!s),this._init=!0}};fe.aes._expandKey=function(t,e){return Ec||Gh(),Yh(t,e)};fe.aes._updateBlock=vc;Kn("AES-ECB",fe.cipher.modes.ecb);Kn("AES-CBC",fe.cipher.modes.cbc);Kn("AES-CFB",fe.cipher.modes.cfb);Kn("AES-OFB",fe.cipher.modes.ofb);Kn("AES-CTR",fe.cipher.modes.ctr);Kn("AES-GCM",fe.cipher.modes.gcm);function Kn(t,e){var r=function(){return new fe.aes.Algorithm(t,e)};fe.cipher.registerAlgorithm(t,r)}var Ec=!1,Fn=4,et,bc,Hh,en,It;function Gh(){Ec=!0,Hh=[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;et=new Array(256),bc=new Array(256),en=new Array(4),It=new Array(4);for(var e=0;e<4;++e)en[e]=new Array(256),It[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,et[r]=a,bc[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)en[f][r]=u,It[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 Yh(t,e){for(var r=t.slice(0),n,i=1,o=r.length,s=o+6+1,a=Fn*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=et[n>>>16&255]<<24^et[n>>>8&255]<<16^et[n&255]<<8^et[n>>>24]^Hh[i]<<24,i++):o>6&&c%o===4&&(n=et[n>>>24]<<24^et[n>>>16&255]<<16^et[n>>>8&255]<<8^et[n&255]),r[c]=r[c-o]^n;if(e){var u,l=It[0],f=It[1],d=It[2],p=It[3],h=r.slice(0);a=r.length;for(var c=0,m=a-Fn;c<a;c+=Fn,m-=Fn)if(c===0||c===a-Fn)h[c]=r[m],h[c+1]=r[m+3],h[c+2]=r[m+2],h[c+3]=r[m+1];else for(var y=0;y<Fn;++y)u=r[m+y],h[c+(3&-y)]=l[et[u>>>24]]^f[et[u>>>16&255]]^d[et[u>>>8&255]]^p[et[u&255]];r=h}return r}function vc(t,e,r,n){var i=t.length/4-1,o,s,a,c,u;n?(o=It[0],s=It[1],a=It[2],c=It[3],u=bc):(o=en[0],s=en[1],a=en[2],c=en[3],u=et);var l,f,d,p,h,m,y;l=e[0]^t[0],f=e[n?3:1]^t[1],d=e[2]^t[2],p=e[n?1:3]^t[3];for(var g=3,x=1;x<i;++x)h=o[l>>>24]^s[f>>>16&255]^a[d>>>8&255]^c[p&255]^t[++g],m=o[f>>>24]^s[d>>>16&255]^a[p>>>8&255]^c[l&255]^t[++g],y=o[d>>>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[d&255]^t[++g],l=h,f=m,d=y;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[d>>>8&255]<<8^u[p&255]^t[++g],r[n?3:1]=u[f>>>24]<<24^u[d>>>16&255]<<16^u[p>>>8&255]<<8^u[l&255]^t[++g],r[2]=u[d>>>24]<<24^u[p>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^t[++g],r[n?1:3]=u[p>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[d&255]^t[++g]}function fs(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=fe.cipher.createDecipher(r,t.key):n=fe.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof fe.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Zh=B((a4,Xh)=>{var ge=ae();gc();wc();Le();Xh.exports=ge.des=ge.des||{};ge.des.startEncrypting=function(t,e,r,n){var i=ds({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ge.des.createEncryptionCipher=function(t,e){return ds({key:t,output:null,decrypt:!1,mode:e})};ge.des.startDecrypting=function(t,e,r,n){var i=ds({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ge.des.createDecryptionCipher=function(t,e){return ds({key:t,output:null,decrypt:!0,mode:e})};ge.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return Qh(r._keys,n,i,!1)},decrypt:function(n,i){return Qh(r._keys,n,i,!0)}}}),r._init=!1};ge.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=ge.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=Mx(e),this._init=!0}};Vt("DES-ECB",ge.cipher.modes.ecb);Vt("DES-CBC",ge.cipher.modes.cbc);Vt("DES-CFB",ge.cipher.modes.cfb);Vt("DES-OFB",ge.cipher.modes.ofb);Vt("DES-CTR",ge.cipher.modes.ctr);Vt("3DES-ECB",ge.cipher.modes.ecb);Vt("3DES-CBC",ge.cipher.modes.cbc);Vt("3DES-CFB",ge.cipher.modes.cfb);Vt("3DES-OFB",ge.cipher.modes.ofb);Vt("3DES-CTR",ge.cipher.modes.ctr);function Vt(t,e){var r=function(){return new ge.des.Algorithm(t,e)};ge.cipher.registerAlgorithm(t,r)}var Tx=[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],Bx=[-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],Lx=[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],Px=[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],Dx=[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],Nx=[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],kx=[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],Ox=[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 Mx(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],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],p=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=t.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,E,T=0;T<m;T++){var I=t.getInt32(),C=t.getInt32();E=(I>>>4^C)&252645135,C^=E,I^=E<<4,E=(C>>>-16^I)&65535,I^=E,C^=E<<-16,E=(I>>>2^C)&858993459,C^=E,I^=E<<2,E=(C>>>-16^I)&65535,I^=E,C^=E<<-16,E=(I>>>1^C)&1431655765,C^=E,I^=E<<1,E=(C>>>8^I)&16711935,I^=E,C^=E<<8,E=(I>>>1^C)&1431655765,C^=E,I^=E<<1,E=I<<8|C>>>20&240,I=C<<24|C<<8&16711680|C>>>8&65280|C>>>24&240,C=E;for(var O=0;O<g.length;++O){g[O]?(I=I<<2|I>>>26,C=C<<2|C>>>26):(I=I<<1|I>>>27,C=C<<1|C>>>27),I&=-15,C&=-15;var U=e[I>>>28]|r[I>>>24&15]|n[I>>>20&15]|i[I>>>16&15]|o[I>>>12&15]|s[I>>>8&15]|a[I>>>4&15],se=c[C>>>28]|u[C>>>24&15]|l[C>>>20&15]|f[C>>>16&15]|d[C>>>12&15]|p[C>>>8&15]|h[C>>>4&15];E=(se>>>16^U)&65535,y[x++]=U^E,y[x++]=se^E<<16}}return y}function Qh(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],d=o[u];d!=l;d+=f){var p=c^t[d],h=(c>>>4|c<<28)^t[d+1];s=a,a=c,c=s^(Bx[p>>>24&63]|Px[p>>>16&63]|Nx[p>>>8&63]|Ox[p&63]|Tx[h>>>24&63]|Lx[h>>>16&63]|Dx[h>>>8&63]|kx[h&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 ds(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=ge.cipher.createDecipher(r,t.key):n=ge.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof ge.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var tn=B((c4,jh)=>{var ps=ae();jh.exports=ps.md=ps.md||{};ps.md.algorithms=ps.md.algorithms||{}});var e0=B((u4,Jh)=>{var sr=ae();tn();Le();var Ux=Jh.exports=sr.hmac=sr.hmac||{};Ux.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 sr.md.algorithms)e=sr.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=sr.util.createBuffer(s);else if(sr.util.isArray(s)){var a=s;s=sr.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=sr.util.createBuffer(),n=sr.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 rn=B(()=>{});var _c=B((h4,t0)=>{var tt=ae();e0();tn();Le();var Fx=tt.pkcs5=tt.pkcs5||{},ar;tt.util.isNodejs&&!tt.options.usePureJavaScript&&(ar=rn());t0.exports=tt.pbkdf2=Fx.pbkdf2=function(t,e,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),tt.util.isNodejs&&!tt.options.usePureJavaScript&&ar.pbkdf2&&(i===null||typeof i!="object")&&(ar.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),o?ar.pbkdf2Sync.length===4?ar.pbkdf2(t,e,r,n,function(E,T){if(E)return o(E);o(null,T.toString("binary"))}):ar.pbkdf2(t,e,r,n,i,function(E,T){if(E)return o(E);o(null,T.toString("binary"))}):ar.pbkdf2Sync.length===4?ar.pbkdf2Sync(t,e,r,n).toString("binary"):ar.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in tt.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=tt.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=tt.hmac.create();l.start(i,t);var f="",d,p,h;if(!o){for(var m=1;m<=c;++m){l.start(null,null),l.update(e),l.update(tt.util.int32ToBytes(m)),d=h=l.digest().getBytes();for(var y=2;y<=r;++y)l.start(null,null),l.update(h),p=l.digest().getBytes(),d=tt.util.xorBytes(d,p,s),h=p;f+=m<c?d:d.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(tt.util.int32ToBytes(m)),d=h=l.digest().getBytes(),y=2,x()}function x(){if(y<=r)return l.start(null,null),l.update(h),p=l.digest().getBytes(),d=tt.util.xorBytes(d,p,s),h=p,++y,tt.util.setImmediate(x);f+=m<c?d:d.substr(0,u),++m,g()}g()}});var i0=B((d4,n0)=>{var ys=ae();Le();var r0=n0.exports=ys.pem=ys.pem||{};r0.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
|
|
9
|
-
`,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=
|
|
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+=P.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===P.Type.OID){var c=P.derToOid(t.value);n+=c,ue.pki&&ue.pki.oids&&c in ue.pki.oids&&(n+=" ("+ue.pki.oids[c]+") ")}if(t.type===P.Type.INTEGER)try{n+=P.derToInteger(t.value)}catch{n+="0x"+ue.util.bytesToHex(t.value)}else if(t.type===P.Type.BITSTRING){if(t.value.length>1?n+="0x"+ue.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===P.Type.OCTETSTRING)Qf.test(t.value)||(n+="("+t.value+") "),n+="0x"+ue.util.bytesToHex(t.value);else if(t.type===P.Type.UTF8)try{n+=ue.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+ue.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===P.Type.PRINTABLESTRING||t.type===P.Type.IA5String?n+=t.value:Qf.test(t.value)?n+="0x"+ue.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var $a=B((DS,Zf)=>{var De=ne();_e();Zf.exports=De.cipher=De.cipher||{};De.cipher.algorithms=De.cipher.algorithms||{};De.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=De.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new De.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};De.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=De.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new De.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};De.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),De.cipher.algorithms[t]=e};De.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in De.cipher.algorithms?De.cipher.algorithms[t]:null};var za=De.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=De.util.createBuffer(),this.output=t.output||De.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 Ga=B((NS,Jf)=>{var Ne=ne();_e();Ne.cipher=Ne.cipher||{};var G=Jf.exports=Ne.cipher.modes=Ne.cipher.modes||{};G.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)};G.ecb.prototype.start=function(t){};G.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])};G.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])};G.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};G.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)};G.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)};G.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.")};G.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};G.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)};G.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};G.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)};G.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=Ne.util.createBuffer(),this._partialBytes=0};G.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};G.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};G.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};G.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=Ne.util.createBuffer(),this._partialBytes=0};G.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};G.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};G.ofb.prototype.decrypt=G.ofb.prototype.encrypt;G.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=Ne.util.createBuffer(),this._partialBytes=0};G.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};G.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}zo(this._inBlock)};G.ctr.prototype.decrypt=G.ctr.prototype.encrypt;G.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=Ne.util.createBuffer(),this._partialBytes=0,this._R=3774873600};G.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=Ne.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Ne.util.createBuffer(t.additionalData):r=Ne.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Ne.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(Ha(n*8)))}this._inBlock=this._j0.slice(0),zo(this._inBlock),this._partialBytes=0,r=Ne.util.createBuffer(r),this._aDataLength=Ha(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()])};G.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),zo(this._inBlock)};G.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),zo(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};G.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=Ne.util.createBuffer();var n=this._aDataLength.concat(Ha(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};G.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};G.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)};G.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};G.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)};G.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};G.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=Ne.util.createBuffer(t)),Ne.util.isArray(t)&&t.length>4){var r=t;t=Ne.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(!Ne.util.isArray(t)){for(var i=[],o=e/4,n=0;n<o;++n)i.push(t.getInt32());t=i}return t}function zo(t){t[t.length-1]=t[t.length-1]+1&4294967295}function Ha(t){return[t/4294967296|0,t&4294967295]}});var Ho=B((kS,rh)=>{var ae=ne();$a();Ga();_e();rh.exports=ae.aes=ae.aes||{};ae.aes.startEncrypting=function(t,e,r,n){var i=$o({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};ae.aes.createEncryptionCipher=function(t,e){return $o({key:t,output:null,decrypt:!1,mode:e})};ae.aes.startDecrypting=function(t,e,r,n){var i=$o({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};ae.aes.createDecryptionCipher=function(t,e){return $o({key:t,output:null,decrypt:!0,mode:e})};ae.aes.Algorithm=function(t,e){Qa||eh();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Wa(r._w,n,i,!1)},decrypt:function(n,i){return Wa(r._w,n,i,!0)}}}),r._init=!1};ae.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=ae.util.createBuffer(e);else if(ae.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=ae.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!ae.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(!ae.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=th(e,t.decrypt&&!s),this._init=!0}};ae.aes._expandKey=function(t,e){return Qa||eh(),th(t,e)};ae.aes._updateBlock=Wa;Cn("AES-ECB",ae.cipher.modes.ecb);Cn("AES-CBC",ae.cipher.modes.cbc);Cn("AES-CFB",ae.cipher.modes.cfb);Cn("AES-OFB",ae.cipher.modes.ofb);Cn("AES-CTR",ae.cipher.modes.ctr);Cn("AES-GCM",ae.cipher.modes.gcm);function Cn(t,e){var r=function(){return new ae.aes.Algorithm(t,e)};ae.cipher.registerAlgorithm(t,r)}var Qa=!1,Rn=4,We,Ya,jf,Ur,xt;function eh(){Qa=!0,jf=[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;We=new Array(256),Ya=new Array(256),Ur=new Array(4),xt=new Array(4);for(var e=0;e<4;++e)Ur[e]=new Array(256),xt[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,We[r]=a,Ya[a]=r,c=t[a],i=t[r],o=t[i],s=t[o],u=c<<24^a<<16^a<<8^(a^c),l=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var f=0;f<4;++f)Ur[f][r]=u,xt[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 th(t,e){for(var r=t.slice(0),n,i=1,o=r.length,s=o+6+1,a=Rn*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=We[n>>>16&255]<<24^We[n>>>8&255]<<16^We[n&255]<<8^We[n>>>24]^jf[i]<<24,i++):o>6&&c%o===4&&(n=We[n>>>24]<<24^We[n>>>16&255]<<16^We[n>>>8&255]<<8^We[n&255]),r[c]=r[c-o]^n;if(e){var u,l=xt[0],f=xt[1],h=xt[2],p=xt[3],d=r.slice(0);a=r.length;for(var c=0,m=a-Rn;c<a;c+=Rn,m-=Rn)if(c===0||c===a-Rn)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<Rn;++y)u=r[m+y],d[c+(3&-y)]=l[We[u>>>24]]^f[We[u>>>16&255]]^h[We[u>>>8&255]]^p[We[u&255]];r=d}return r}function Wa(t,e,r,n){var i=t.length/4-1,o,s,a,c,u;n?(o=xt[0],s=xt[1],a=xt[2],c=xt[3],u=Ya):(o=Ur[0],s=Ur[1],a=Ur[2],c=Ur[3],u=We);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=ae.cipher.createDecipher(r,t.key):n=ae.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof ae.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var oh=B((OS,ih)=>{var pe=ne();$a();Ga();_e();ih.exports=pe.des=pe.des||{};pe.des.startEncrypting=function(t,e,r,n){var i=Go({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};pe.des.createEncryptionCipher=function(t,e){return Go({key:t,output:null,decrypt:!1,mode:e})};pe.des.startDecrypting=function(t,e,r,n){var i=Go({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};pe.des.createDecryptionCipher=function(t,e){return Go({key:t,output:null,decrypt:!0,mode:e})};pe.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return nh(r._keys,n,i,!1)},decrypt:function(n,i){return nh(r._keys,n,i,!0)}}}),r._init=!1};pe.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=pe.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=A1(e),this._init=!0}};Dt("DES-ECB",pe.cipher.modes.ecb);Dt("DES-CBC",pe.cipher.modes.cbc);Dt("DES-CFB",pe.cipher.modes.cfb);Dt("DES-OFB",pe.cipher.modes.ofb);Dt("DES-CTR",pe.cipher.modes.ctr);Dt("3DES-ECB",pe.cipher.modes.ecb);Dt("3DES-CBC",pe.cipher.modes.cbc);Dt("3DES-CFB",pe.cipher.modes.cfb);Dt("3DES-OFB",pe.cipher.modes.ofb);Dt("3DES-CTR",pe.cipher.modes.ctr);function Dt(t,e){var r=function(){return new pe.des.Algorithm(t,e)};pe.cipher.registerAlgorithm(t,r)}var y1=[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],g1=[-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],x1=[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],w1=[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],v1=[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],E1=[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],b1=[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],_1=[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 A1(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,b,T=0;T<m;T++){var R=t.getInt32(),C=t.getInt32();b=(R>>>4^C)&252645135,C^=b,R^=b<<4,b=(C>>>-16^R)&65535,R^=b,C^=b<<-16,b=(R>>>2^C)&858993459,C^=b,R^=b<<2,b=(C>>>-16^R)&65535,R^=b,C^=b<<-16,b=(R>>>1^C)&1431655765,C^=b,R^=b<<1,b=(C>>>8^R)&16711935,R^=b,C^=b<<8,b=(R>>>1^C)&1431655765,C^=b,R^=b<<1,b=R<<8|C>>>20&240,R=C<<24|C<<8&16711680|C>>>8&65280|C>>>24&240,C=b;for(var F=0;F<g.length;++F){g[F]?(R=R<<2|R>>>26,C=C<<2|C>>>26):(R=R<<1|R>>>27,C=C<<1|C>>>27),R&=-15,C&=-15;var V=e[R>>>28]|r[R>>>24&15]|n[R>>>20&15]|i[R>>>16&15]|o[R>>>12&15]|s[R>>>8&15]|a[R>>>4&15],de=c[C>>>28]|u[C>>>24&15]|l[C>>>20&15]|f[C>>>16&15]|h[C>>>12&15]|p[C>>>8&15]|d[C>>>4&15];b=(de>>>16^V)&65535,y[x++]=V^b,y[x++]=de^b<<16}}return y}function nh(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^(g1[p>>>24&63]|w1[p>>>16&63]|E1[p>>>8&63]|_1[p&63]|y1[d>>>24&63]|x1[d>>>16&63]|v1[d>>>8&63]|b1[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 Go(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=pe.cipher.createDecipher(r,t.key):n=pe.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof pe.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Fr=B((MS,sh)=>{var Yo=ne();sh.exports=Yo.md=Yo.md||{};Yo.md.algorithms=Yo.md.algorithms||{}});var ch=B((US,ah)=>{var Xt=ne();Fr();_e();var S1=ah.exports=Xt.hmac=Xt.hmac||{};S1.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 Xt.md.algorithms)e=Xt.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=Xt.util.createBuffer(s);else if(Xt.util.isArray(s)){var a=s;s=Xt.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=Xt.util.createBuffer(),n=Xt.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 Kr=B(()=>{});var Xa=B((VS,uh)=>{var Qe=ne();ch();Fr();_e();var I1=Qe.pkcs5=Qe.pkcs5||{},Zt;Qe.util.isNodejs&&!Qe.options.usePureJavaScript&&(Zt=Kr());uh.exports=Qe.pbkdf2=I1.pbkdf2=function(t,e,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),Qe.util.isNodejs&&!Qe.options.usePureJavaScript&&Zt.pbkdf2&&(i===null||typeof i!="object")&&(Zt.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),o?Zt.pbkdf2Sync.length===4?Zt.pbkdf2(t,e,r,n,function(b,T){if(b)return o(b);o(null,T.toString("binary"))}):Zt.pbkdf2(t,e,r,n,i,function(b,T){if(b)return o(b);o(null,T.toString("binary"))}):Zt.pbkdf2Sync.length===4?Zt.pbkdf2Sync(t,e,r,n).toString("binary"):Zt.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in Qe.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=Qe.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=Qe.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(Qe.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=Qe.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(Qe.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=Qe.util.xorBytes(h,p,s),d=p,++y,Qe.util.setImmediate(x);f+=m<c?h:h.substr(0,u),++m,g()}g()}});var hh=B((qS,fh)=>{var Qo=ne();_e();var lh=fh.exports=Qo.pem=Qo.pem||{};lh.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+=Wo(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=Wo(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=Wo(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=Wo(t.headers[i]);return t.procType&&(r+=`\r
|
|
10
|
+
`),r+=Qo.util.encode64(t.body,e.maxline||64)+`\r
|
|
11
11
|
`,r+="-----END "+t.type+`-----\r
|
|
12
|
-
`,r};
|
|
12
|
+
`,r};lh.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:Qo.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(R1(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 Wo(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 Kx(t){return t.replace(/^\s+/,"")}});var l0=B((p4,u0)=>{var qt=ae();tn();Le();var s0=u0.exports=qt.sha256=qt.sha256||{};qt.md.sha256=qt.md.algorithms.sha256=s0;s0.create=function(){a0||Vx();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),o0(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(Sc.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};o0(f,r,i);var d=qt.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d.putInt32(f.h5),d.putInt32(f.h6),d.putInt32(f.h7),d},n};var Sc=null,a0=!1,c0=null;function Vx(){Sc=String.fromCharCode(128),Sc+=qt.util.fillString(String.fromCharCode(0),64),c0=[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],a0=!0}function o0(t,e,r){for(var n,i,o,s,a,c,u,l,f,d,p,h,m,y,g,x=r.length();x>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(l=t.h0,f=t.h1,d=t.h2,p=t.h3,h=t.h4,m=t.h5,y=t.h6,g=t.h7,u=0;u<64;++u)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=y^h&(m^y),o=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|d&(l^f),n=g+s+a+c0[u]+e[u],i=o+c,g=y,y=m,m=h,h=p+n>>>0,p=d,d=f,f=l,l=n+i>>>0;t.h0=t.h0+l|0,t.h1=t.h1+f|0,t.h2=t.h2+d|0,t.h3=t.h3+p|0,t.h4=t.h4+h|0,t.h5=t.h5+m|0,t.h6=t.h6+y|0,t.h7=t.h7+g|0,x-=64}}});var h0=B((m4,f0)=>{var zt=ae();Le();var gs=null;zt.util.isNodejs&&!zt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(gs=rn());var qx=f0.exports=zt.prng=zt.prng||{};qx.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(u,l){if(!l)return e.generateSync(u);var f=e.plugin.cipher,d=e.plugin.increment,p=e.plugin.formatKey,h=e.plugin.formatSeed,m=zt.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 zt.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,d(e.seed))),e.seed=h(f(e.key,e.seed)),zt.util.setImmediate(y)}},e.generateSync=function(u){var l=e.plugin.cipher,f=e.plugin.increment,d=e.plugin.formatKey,p=e.plugin.formatSeed;e.key=null;for(var h=zt.util.createBuffer();h.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&s();var m=l(e.key,e.seed);e.generated+=m.length,h.putBytes(m),e.key=d(l(e.key,f(e.seed))),e.seed=p(l(e.key,e.seed))}return h.getBytes(u)};function o(u){if(e.pools[0].messageLength>=32)return a(),u();var l=32-e.pools[0].messageLength<<5;e.seedFile(l,function(f,d){if(f)return u(f);e.collect(d),a(),u()})}function 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 d=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(d),e.generated=0}function c(u){var l=null,f=zt.util.globalScope,d=f.crypto||f.msCrypto;d&&d.getRandomValues&&(l=function(I){return d.getRandomValues(I)});var p=zt.util.createBuffer();if(l)for(;p.length()<u;){var h=Math.max(1,Math.min(u-p.length(),65536)/4),m=new Uint32Array(Math.floor(h));try{l(m);for(var y=0;y<m.length;++y)p.putInt32(m[y])}catch(I){if(!(typeof QuotaExceededError<"u"&&I instanceof QuotaExceededError))throw I}}if(p.length()<u)for(var g,x,E,T=Math.floor(Math.random()*65536);p.length()<u;){x=16807*(T&65535),g=16807*(T>>16),x+=(g&32767)<<16,x+=g>>15,x=(x&2147483647)+(x>>31),T=x&4294967295;for(var y=0;y<3;++y)E=T>>>(y<<3),E^=Math.floor(Math.random()*256),p.putByte(E&255)}return p.getBytes(u)}return gs?(e.seedFile=function(u,l){gs.randomBytes(u,function(f,d){if(f)return l(f);l(null,d.toString())})},e.seedFileSync=function(u){return gs.randomBytes(u).toString()}):(e.seedFile=function(u,l){try{l(null,c(u))}catch(f){l(f)}},e.seedFileSync=c),e.collect=function(u){for(var l=u.length,f=0;f<l;++f)e.pools[e.pool].update(u.substr(f,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,l){for(var f="",d=0;d<l;d+=8)f+=String.fromCharCode(u>>d&255);e.collect(f)},e.registerWorker=function(u){if(u===self)e.seedFile=function(f,d){function p(h){var m=h.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",p),d(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",p),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var d=f.data;d.forge&&d.forge.prng&&e.seedFile(d.forge.prng.needed,function(p,h){u.postMessage({forge:{prng:{err:p,bytes:h}}})})};u.addEventListener("message",l)}},e}});var Xi=B((y4,Ac)=>{var Ve=ae();hs();l0();h0();Le();(function(){if(Ve.random&&Ve.random.getBytes){Ac.exports=Ve.random;return}(function(t){var e={},r=new Array(4),n=Ve.util.createBuffer();e.formatKey=function(f){var d=Ve.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),Ve.aes._expandKey(f,!1)},e.formatSeed=function(f){var d=Ve.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),f},e.cipher=function(f,d){return Ve.aes._updateBlock(f,d,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(f){return++f[3],f},e.md=Ve.md.sha256;function i(){var f=Ve.prng.create(e);return f.getBytes=function(d,p){return f.generate(d,p)},f.getBytesSync=function(d){return f.generate(d)},f}var o=i(),s=null,a=Ve.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(f){return c.getRandomValues(f)}),Ve.options.usePureJavaScript||!Ve.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(!Ve.random)Ve.random=o;else for(var l in o)Ve.random[l]=o[l];Ve.random.createInstance=i,Ac.exports=Ve.random})(typeof jQuery<"u"?jQuery:null)})()});var y0=B((g4,m0)=>{var it=ae();Le();var Ic=[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],d0=[1,2,3,5],zx=function(t,e){return t<<e&65535|(t&65535)>>16-e},$x=function(t,e){return(t&65535)>>e|t<<16-e&65535};m0.exports=it.rc2=it.rc2||{};it.rc2.expandKey=function(t,e){typeof t=="string"&&(t=it.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(Ic[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,Ic[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,Ic[r.at(a+1)^r.at(a+o)]);return r};var p0=function(t,e,r){var n=!1,i=null,o=null,s=null,a,c,u,l,f=[];for(t=it.rc2.expandKey(t,e),u=0;u<64;u++)f.push(t.getInt16Le());r?(a=function(h){for(u=0;u<4;u++)h[u]+=f[l]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),h[u]=zx(h[u],d0[u]),l++},c=function(h){for(u=0;u<4;u++)h[u]+=f[h[(u+3)%4]&63]}):(a=function(h){for(u=3;u>=0;u--)h[u]=$x(h[u],d0[u]),h[u]-=f[l]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),l--},c=function(h){for(u=3;u>=0;u--)h[u]-=f[h[(u+3)%4]&63]});var d=function(h){var m=[];for(u=0;u<4;u++){var y=i.getInt16Le();s!==null&&(r?y^=s.getInt16Le():s.putInt16Le(y)),m.push(y&65535)}l=r?0:63;for(var g=0;g<h.length;g++)for(var x=0;x<h[g][0];x++)h[g][1](m);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(m[u]):m[u]^=s.getInt16Le()),o.putInt16Le(m[u])},p=null;return p={start:function(h,m){h&&typeof h=="string"&&(h=it.util.createBuffer(h)),n=!1,i=it.util.createBuffer(),o=m||new it.util.createBuffer,s=h,p.output=o},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var m=!0;if(r)if(h)m=h(8,i,!r);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(m&&(n=!0,p.update()),!r&&(m=i.length()===0,m))if(h)m=h(8,o,!r);else{var g=o.length(),x=o.at(g-1);x>g?m=!1:o.truncate(x)}return m}},p};it.rc2.startEncrypting=function(t,e,r){var n=it.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};it.rc2.createEncryptionCipher=function(t,e){return p0(t,e,!0)};it.rc2.startDecrypting=function(t,e,r){var n=it.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};it.rc2.createDecryptionCipher=function(t,e){return p0(t,e,!1)}});var bs=B((x4,S0)=>{var Rc=ae();S0.exports=Rc.jsbn=Rc.jsbn||{};var cr,Hx=0xdeadbeefcafe,g0=(Hx&16777215)==15715070;function S(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=S;function ee(){return new S(null)}function Gx(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 Yx(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 x0(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"?(S.prototype.am=x0,cr=28):g0&&navigator.appName=="Microsoft Internet Explorer"?(S.prototype.am=Yx,cr=30):g0&&navigator.appName!="Netscape"?(S.prototype.am=Gx,cr=26):(S.prototype.am=x0,cr=28);S.prototype.DB=cr;S.prototype.DM=(1<<cr)-1;S.prototype.DV=1<<cr;var Cc=52;S.prototype.FV=Math.pow(2,Cc);S.prototype.F1=Cc-cr;S.prototype.F2=2*cr-Cc;var Wx="0123456789abcdefghijklmnopqrstuvwxyz",xs=new Array,Vn,bt;Vn="0".charCodeAt(0);for(bt=0;bt<=9;++bt)xs[Vn++]=bt;Vn="a".charCodeAt(0);for(bt=10;bt<36;++bt)xs[Vn++]=bt;Vn="A".charCodeAt(0);for(bt=10;bt<36;++bt)xs[Vn++]=bt;function w0(t){return Wx.charAt(t)}function b0(t,e){var r=xs[t.charCodeAt(e)];return r??-1}function Qx(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 Xx(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 Ir(t){var e=ee();return e.fromInt(t),e}function Zx(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=r==8?t[n]&255:b0(t,n);if(s<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this.data[this.t++]=s>>this.DB-o):this.data[this.t-1]|=s<<o,o+=r,o>=this.DB&&(o-=this.DB)}r==8&&t[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&S.ZERO.subTo(this,this)}function jx(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function Jx(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%e;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=w0(n));s>=0;)a<e?(n=(this.data[s]&(1<<a)-1)<<e-a,n|=this.data[--s]>>(a+=this.DB-e)):(n=this.data[s]>>(a-=e)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=w0(n));return i?o:"0"}function ew(){var t=ee();return S.ZERO.subTo(this,t),t}function tw(){return this.s<0?this.negate():this}function rw(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 ws(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 nw(){return this.t<=0?0:this.DB*(this.t-1)+ws(this.data[this.t-1]^this.s&this.DM)}function iw(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 ow(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 sw(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 aw(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 cw(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 uw(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&&S.ZERO.subTo(e,e)}function lw(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 fw(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=ee());var o=ee(),s=this.s,a=t.s,c=this.DB-ws(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),d=this.FV/f,p=(1<<this.F1)/f,h=1<<this.F2,m=r.t,y=m-u,g=e??ee();for(o.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),S.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]*d+(r.data[m-1]+h)*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&&S.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&S.ZERO.subTo(r,r)}}}function hw(t){var e=ee();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(S.ZERO)>0&&t.subTo(e,e),e}function nn(t){this.m=t}function dw(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function pw(t){return t}function mw(t){t.divRemTo(this.m,null,t)}function yw(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function gw(t,e){t.squareTo(e),this.reduce(e)}nn.prototype.convert=dw;nn.prototype.revert=pw;nn.prototype.reduce=mw;nn.prototype.mulTo=yw;nn.prototype.sqrTo=gw;function xw(){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 on(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 ww(t){var e=ee();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(S.ZERO)>0&&this.m.subTo(e,e),e}function bw(t){var e=ee();return t.copyTo(e),this.reduce(e),e}function vw(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 Ew(t,e){t.squareTo(e),this.reduce(e)}function _w(t,e,r){t.multiplyTo(e,r),this.reduce(r)}on.prototype.convert=ww;on.prototype.revert=bw;on.prototype.reduce=vw;on.prototype.mulTo=_w;on.prototype.sqrTo=Ew;function Sw(){return(this.t>0?this.data[0]&1:this.s)==0}function Aw(t,e){if(t>4294967295||t<1)return S.ONE;var r=ee(),n=ee(),i=e.convert(this),o=ws(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 Iw(t,e){var r;return t<256||e.isEven()?r=new nn(e):r=new on(e),this.exp(t,r)}S.prototype.copyTo=Qx;S.prototype.fromInt=Xx;S.prototype.fromString=Zx;S.prototype.clamp=jx;S.prototype.dlShiftTo=iw;S.prototype.drShiftTo=ow;S.prototype.lShiftTo=sw;S.prototype.rShiftTo=aw;S.prototype.subTo=cw;S.prototype.multiplyTo=uw;S.prototype.squareTo=lw;S.prototype.divRemTo=fw;S.prototype.invDigit=xw;S.prototype.isEven=Sw;S.prototype.exp=Aw;S.prototype.toString=Jx;S.prototype.negate=ew;S.prototype.abs=tw;S.prototype.compareTo=rw;S.prototype.bitLength=nw;S.prototype.mod=hw;S.prototype.modPowInt=Iw;S.ZERO=Ir(0);S.ONE=Ir(1);function Rw(){var t=ee();return this.copyTo(t),t}function Cw(){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 Tw(){return this.t==0?this.s:this.data[0]<<24>>24}function Bw(){return this.t==0?this.s:this.data[0]<<16>>16}function Lw(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function Pw(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Dw(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=Ir(r),i=ee(),o=ee(),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 Nw(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a<t.length;++a){var c=b0(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=e*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&S.ZERO.subTo(this,this)}function kw(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(S.ONE.shiftLeft(t-1),Tc,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(S.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 Ow(){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 Mw(t){return this.compareTo(t)==0}function Uw(t){return this.compareTo(t)<0?this:t}function Fw(t){return this.compareTo(t)>0?this:t}function Kw(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 Vw(t,e){return t&e}function qw(t){var e=ee();return this.bitwiseTo(t,Vw,e),e}function Tc(t,e){return t|e}function zw(t){var e=ee();return this.bitwiseTo(t,Tc,e),e}function v0(t,e){return t^e}function $w(t){var e=ee();return this.bitwiseTo(t,v0,e),e}function E0(t,e){return t&~e}function Hw(t){var e=ee();return this.bitwiseTo(t,E0,e),e}function Gw(){for(var t=ee(),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 Yw(t){var e=ee();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function Ww(t){var e=ee();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function Qw(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 Xw(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+Qw(this.data[t]);return this.s<0?this.t*this.DB:-1}function Zw(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function jw(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=Zw(this.data[r]^e);return t}function Jw(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function e2(t,e){var r=S.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function t2(t){return this.changeBit(t,Tc)}function r2(t){return this.changeBit(t,E0)}function n2(t){return this.changeBit(t,v0)}function i2(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 o2(t){var e=ee();return this.addTo(t,e),e}function s2(t){var e=ee();return this.subTo(t,e),e}function a2(t){var e=ee();return this.multiplyTo(t,e),e}function c2(t){var e=ee();return this.divRemTo(t,e,null),e}function u2(t){var e=ee();return this.divRemTo(t,null,e),e}function l2(t){var e=ee(),r=ee();return this.divRemTo(t,e,r),new Array(e,r)}function f2(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function h2(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 Zi(){}function _0(t){return t}function d2(t,e,r){t.multiplyTo(e,r)}function p2(t,e){t.squareTo(e)}Zi.prototype.convert=_0;Zi.prototype.revert=_0;Zi.prototype.mulTo=d2;Zi.prototype.sqrTo=p2;function m2(t){return this.exp(t,new Zi)}function y2(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 g2(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 qn(t){this.r2=ee(),this.q3=ee(),S.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function x2(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=ee();return t.copyTo(e),this.reduce(e),e}function w2(t){return t}function b2(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 v2(t,e){t.squareTo(e),this.reduce(e)}function E2(t,e,r){t.multiplyTo(e,r),this.reduce(r)}qn.prototype.convert=x2;qn.prototype.revert=w2;qn.prototype.reduce=b2;qn.prototype.mulTo=E2;qn.prototype.sqrTo=v2;function _2(t,e){var r=t.bitLength(),n,i=Ir(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 nn(e):e.isEven()?o=new qn(e):o=new on(e);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var l=ee();for(o.sqrTo(s[1],l);a<=u;)s[a]=ee(),o.mulTo(l,s[a-2],s[a]),a+=2}var f=t.t-1,d,p=!0,h=ee(),m;for(r=ws(t.data[f])-1;f>=0;){for(r>=c?d=t.data[f]>>r-c&u:(d=(t.data[f]&(1<<r+1)-1)<<c-r,f>0&&(d|=t.data[f-1]>>this.DB+r-c)),a=n;!(d&1);)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),p)s[d].copyTo(i),p=!1;else{for(;a>1;)o.sqrTo(i,h),o.sqrTo(h,i),a-=2;a>0?o.sqrTo(i,h):(m=i,i=h,h=m),o.mulTo(h,s[d],i)}for(;f>=0&&!(t.data[f]&1<<r);)o.sqrTo(i,h),m=i,i=h,h=m,--r<0&&(r=this.DB-1,--f)}return o.revert(i)}function S2(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 A2(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 I2(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return S.ZERO;for(var r=t.clone(),n=this.clone(),i=Ir(1),o=Ir(0),s=Ir(0),a=Ir(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(S.ONE)!=0)return S.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 Rt=[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],R2=(1<<26)/Rt[Rt.length-1];function C2(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=Rt[Rt.length-1]){for(e=0;e<Rt.length;++e)if(r.data[0]==Rt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<Rt.length;){for(var n=Rt[e],i=e+1;i<Rt.length&&n<R2;)n*=Rt[i++];for(n=r.modInt(n);e<i;)if(n%Rt[e++]==0)return!1}return r.millerRabin(t)}function T2(t){var e=this.subtract(S.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=B2(),o,s=0;s<t;++s){do o=new S(this.bitLength(),i);while(o.compareTo(S.ONE)<=0||o.compareTo(e)>=0);var a=o.modPow(n,this);if(a.compareTo(S.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(S.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function B2(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}S.prototype.chunkSize=Lw;S.prototype.toRadix=Dw;S.prototype.fromRadix=Nw;S.prototype.fromNumber=kw;S.prototype.bitwiseTo=Kw;S.prototype.changeBit=e2;S.prototype.addTo=i2;S.prototype.dMultiply=f2;S.prototype.dAddOffset=h2;S.prototype.multiplyLowerTo=y2;S.prototype.multiplyUpperTo=g2;S.prototype.modInt=A2;S.prototype.millerRabin=T2;S.prototype.clone=Rw;S.prototype.intValue=Cw;S.prototype.byteValue=Tw;S.prototype.shortValue=Bw;S.prototype.signum=Pw;S.prototype.toByteArray=Ow;S.prototype.equals=Mw;S.prototype.min=Uw;S.prototype.max=Fw;S.prototype.and=qw;S.prototype.or=zw;S.prototype.xor=$w;S.prototype.andNot=Hw;S.prototype.not=Gw;S.prototype.shiftLeft=Yw;S.prototype.shiftRight=Ww;S.prototype.getLowestSetBit=Xw;S.prototype.bitCount=jw;S.prototype.testBit=Jw;S.prototype.setBit=t2;S.prototype.clearBit=r2;S.prototype.flipBit=n2;S.prototype.add=o2;S.prototype.subtract=s2;S.prototype.multiply=a2;S.prototype.divide=c2;S.prototype.remainder=u2;S.prototype.divideAndRemainder=l2;S.prototype.modPow=_2;S.prototype.modInverse=I2;S.prototype.pow=m2;S.prototype.gcd=S2;S.prototype.isProbablePrime=C2});var T0=B((w4,C0)=>{var $t=ae();tn();Le();var I0=C0.exports=$t.sha1=$t.sha1||{};$t.md.sha1=$t.md.algorithms.sha1=I0;I0.create=function(){R0||L2();var t=null,e=$t.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=$t.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=$t.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=$t.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Bc.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 d=$t.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d},n};var Bc=null,R0=!1;function L2(){Bc=String.fromCharCode(128),Bc+=$t.util.fillString(String.fromCharCode(0),64),R0=!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 P0=B((b4,L0)=>{var Ht=ae();Le();Xi();T0();var B0=L0.exports=Ht.pkcs1=Ht.pkcs1||{};B0.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=Ht.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="",d=c-e.length,p=0;p<d;p++)f+="\0";var h=l.getBytes()+f+""+e;if(!i)i=Ht.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=vs(i,a-o.digestLength-1,s),y=Ht.util.xorBytes(h,m,h.length),g=vs(y,o.digestLength,s),x=Ht.util.xorBytes(i,g,i.length);return"\0"+x+y};B0.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=Ht.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=vs(l,i.digestLength,o),d=Ht.util.xorBytes(u,f,u.length),p=vs(d,s-i.digestLength-1,o),h=Ht.util.xorBytes(l,p,l.length),m=h.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==m.charAt(g);for(var x=1,E=i.digestLength,T=i.digestLength;T<h.length;T++){var I=h.charCodeAt(T),C=I&1^1,O=x?65534:0;y|=I&O,x=x&C,E+=x}if(y||h.charCodeAt(E)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(E+1)};function vs(t,e,r){r||(r=Ht.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=B((v4,Lc)=>{var Rr=ae();Le();bs();Xi();(function(){if(Rr.prime){Lc.exports=Rr.prime;return}var t=Lc.exports=Rr.prime=Rr.prime||{},e=Rr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(f,d){return f|d};t.generateProbablePrime=function(f,d,p){typeof d=="function"&&(p=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var m=d.prng||Rr.random,y={nextBytes:function(g){for(var x=m.getBytesSync(g.length),E=0;E<g.length;++E)g[E]=x.charCodeAt(E)}};if(h.name==="PRIMEINC")return o(f,y,h.options,p);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(f,d,p,h){return"workers"in p?c(f,d,p,h):s(f,d,p,h)}function s(f,d,p,h){var m=u(f,d),y=0,g=l(m.bitLength());"millerRabinTests"in p&&(g=p.millerRabinTests);var x=10;"maxBlockTime"in p&&(x=p.maxBlockTime),a(m,f,d,y,g,x,h)}function a(f,d,p,h,m,y,g){var x=+new Date;do{if(f.bitLength()>d&&(f=u(d,p)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(r[h++%8],0)}while(y<0||+new Date-x<y);Rr.util.setImmediate(function(){a(f,d,p,h,m,y,g)})}function c(f,d,p,h){if(typeof Worker>"u")return s(f,d,p,h);var m=u(f,d),y=p.workers,g=p.workLoad||100,x=g*30/8,E=p.workerScript||"forge/prime.worker.js";if(y===-1)return Rr.util.estimateCores(function(I,C){I&&(C=2),y=C-1,T()});T();function T(){y=Math.max(1,y);for(var I=[],C=0;C<y;++C)I[C]=new Worker(E);for(var O=y,C=0;C<y;++C)I[C].addEventListener("message",se);var U=!1;function se(At){if(!U){--O;var ut=At.data;if(ut.found){for(var Je=0;Je<I.length;++Je)I[Je].terminate();return U=!0,h(null,new e(ut.prime,16))}m.bitLength()>f&&(m=u(f,d));var Mn=m.toString(16);At.target.postMessage({hex:Mn,workLoad:g}),m.dAddOffset(x,0)}}}}function u(f,d){var p=new e(f,d),h=f-1;return p.testBit(h)||p.bitwiseTo(e.ONE.shiftLeft(h),i,p),p.dAddOffset(31-p.mod(n).byteValue(),0),p}function l(f){return f<=100?27:f<=150?18:f<=200?15:f<=250?12:f<=300?9:f<=350?8:f<=400?7:f<=500?6:f<=600?5:f<=800?4:f<=1250?3:2}})()});var _s=B((E4,K0)=>{var F=ae();Qi();bs();as();P0();D0();Xi();Le();typeof X>"u"&&(X=F.jsbn.BigInteger);var X,Pc=F.util.isNodejs?rn():null,b=F.asn1,vt=F.util;F.pki=F.pki||{};K0.exports=F.pki.rsa=F.rsa=F.rsa||{};var q=F.pki,P2=[6,4,2,4,2,4,6,2],D2={name:"PrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},N2={name:"RSAPrivateKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},k2={name:"RSAPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},O2=F.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},M2={name:"DigestInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:b.Class.UNIVERSAL,type:b.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},U2=function(t){var e;if(t.algorithm in q.oids)e=q.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=b.oidToDer(e).getBytes(),i=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[]),o=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[]);o.value.push(b.create(b.Class.UNIVERSAL,b.Type.OID,!1,n)),o.value.push(b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,""));var s=b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(o),i.value.push(s),b.toDer(i).getBytes()},U0=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(X.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(X.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new X(F.util.bytesToHex(F.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(X.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};q.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=F0(t,e,r)):(i=F.util.createBuffer(),i.putBytes(t));for(var s=new X(i.toHex(),16),a=U0(s,e,n),c=a.toString(16),u=F.util.createBuffer(),l=o-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(F.util.hexToBytes(c)),u.getBytes()};q.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 X(F.util.createBuffer(t).toHex(),16);if(s.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=U0(s,e,r),c=a.toString(16),u=F.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(F.util.hexToBytes(c)),n!==!1?Es(u.getBytes(),e,r):u.getBytes()};q.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||F.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 X(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};q.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new X(null);r.fromInt(30);for(var n=0,i=function(f,d){return f|d},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 X(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(X.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(K2(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(P2[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(X.ONE).gcd(t.e).compareTo(X.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(X.ONE),t.q1=t.q.subtract(X.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(X.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:q.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:q.rsa.setPublicKey(t.n,t.e)}}s=+new Date,a+=s-o,o=s}return t.keys!==null};q.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),!F.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(N0("generateKeyPair"))return Pc.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:q.privateKeyFromPem(u),publicKey:q.publicKeyFromPem(c)})});if(k0("generateKey")&&k0("exportKey"))return vt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:M0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return vt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=q.privateKeyFromAsn1(b.fromDer(F.util.createBuffer(a)));n(null,{privateKey:c,publicKey:q.setRsaPublicKey(c.n,c.e)})}});if(O0("generateKey")&&O0("exportKey")){var i=vt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:M0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=vt.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,d=q.privateKeyFromAsn1(b.fromDer(F.util.createBuffer(f)));n(null,{privateKey:d,publicKey:q.setRsaPublicKey(d.n,d.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(N0("generateKeyPairSync")){var o=Pc.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:q.privateKeyFromPem(o.privateKey),publicKey:q.publicKeyFromPem(o.publicKey)}}}var s=q.rsa.createKeyPairGenerationState(t,e,r);if(!n)return q.rsa.stepKeyPairGenerationState(s,0),s.keys;F2(s,r,n)};q.setRsaPublicKey=q.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 F0(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return F.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 q.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=b.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),f={},d=[];if(!b.validate(l,M2,f,d)){var p=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw p.errors=d,p}var h=b.derToOid(f.algorithmIdentifier);if(!(h===F.oids.md2||h===F.oids.md5||h===F.oids.sha1||h===F.oids.sha224||h===F.oids.sha256||h===F.oids.sha384||h===F.oids.sha512||h===F.oids["sha512-224"]||h===F.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=h,p}if((h===F.oids.md2||h===F.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=q.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};q.setRsaPrivateKey=q.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 d=q.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,h){return F.pkcs1.decode_rsa_oaep(h,p,f)}};else if(["RAW","NONE","NULL",null].indexOf(l)!==-1)l={decode:function(p){return p}};else throw new Error('Unsupported encryption scheme: "'+l+'".');return l.decode(d,c,!1)},c.sign=function(u,l){var f=!1;typeof l=="string"&&(l=l.toUpperCase()),l===void 0||l==="RSASSA-PKCS1-V1_5"?(l={encode:U2},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var d=l.encode(u,c.n.bitLength());return q.rsa.encrypt(d,c,f)},c};q.wrapRsaPrivateKey=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,b.integerToDer(0).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(q.oids.rsaEncryption).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")]),b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,b.toDer(t).getBytes())])};q.privateKeyFromAsn1=function(t){var e={},r=[];if(b.validate(t,D2,e,r)&&(t=b.fromDer(F.util.createBuffer(e.privateKey))),e={},r=[],!b.validate(t,N2,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=F.util.createBuffer(e.privateKeyModulus).toHex(),o=F.util.createBuffer(e.privateKeyPublicExponent).toHex(),s=F.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=F.util.createBuffer(e.privateKeyPrime1).toHex(),c=F.util.createBuffer(e.privateKeyPrime2).toHex(),u=F.util.createBuffer(e.privateKeyExponent1).toHex(),l=F.util.createBuffer(e.privateKeyExponent2).toHex(),f=F.util.createBuffer(e.privateKeyCoefficient).toHex(),q.setRsaPrivateKey(new X(i,16),new X(o,16),new X(s,16),new X(a,16),new X(c,16),new X(u,16),new X(l,16),new X(f,16))};q.privateKeyToAsn1=q.privateKeyToRSAPrivateKey=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,b.integerToDer(0).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.n)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.e)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.d)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.p)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.q)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.dP)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.dQ)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.qInv))])};q.publicKeyFromAsn1=function(t){var e={},r=[];if(b.validate(t,O2,e,r)){var n=b.derToOid(e.publicKeyOid);if(n!==q.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!b.validate(t,k2,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=F.util.createBuffer(e.publicKeyModulus).toHex(),s=F.util.createBuffer(e.publicKeyExponent).toHex();return q.setRsaPublicKey(new X(o,16),new X(s,16))};q.publicKeyToAsn1=q.publicKeyToSubjectPublicKeyInfo=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(q.oids.rsaEncryption).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")]),b.create(b.Class.UNIVERSAL,b.Type.BITSTRING,!1,[q.publicKeyToRSAPublicKey(t)])])};q.publicKeyToRSAPublicKey=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.n)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.e))])};function F0(t,e,r){var n=F.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=F.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=F.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 F2(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){F.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(X.ONE).gcd(t.e).compareTo(X.ONE)!==0){t.p=null,i();return}if(t.q.subtract(X.ONE).gcd(t.e).compareTo(X.ONE)!==0){t.q=null,o(t.qBits,s);return}if(t.p1=t.p.subtract(X.ONE),t.q1=t.q.subtract(X.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(X.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:q.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:q.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Gt(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=F.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 K2(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 N0(t){return F.util.isNodejs&&typeof Pc[t]=="function"}function k0(t){return typeof vt.globalScope<"u"&&typeof vt.globalScope.crypto=="object"&&typeof vt.globalScope.crypto.subtle=="object"&&typeof vt.globalScope.crypto.subtle[t]=="function"}function O0(t){return typeof vt.globalScope<"u"&&typeof vt.globalScope.msCrypto=="object"&&typeof vt.globalScope.msCrypto.subtle=="object"&&typeof vt.globalScope.msCrypto.subtle[t]=="function"}function M0(t){for(var e=F.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var G0=B((_4,H0)=>{var P=ae();hs();Qi();Zh();tn();as();_c();i0();Xi();y0();_s();Le();typeof V0>"u"&&(V0=P.jsbn.BigInteger);var V0,_=P.asn1,H=P.pki=P.pki||{};H0.exports=H.pbe=P.pbe=P.pbe||{};var sn=H.oids,V2={name:"EncryptedPrivateKeyInfo",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:_.Class.UNIVERSAL,type:_.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:_.Class.UNIVERSAL,type:_.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},q2={name:"PBES2Algorithms",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:_.Class.UNIVERSAL,type:_.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:_.Class.UNIVERSAL,type:_.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:_.Class.UNIVERSAL,type:_.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:_.Class.UNIVERSAL,type:_.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:_.Class.UNIVERSAL,type:_.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:_.Class.UNIVERSAL,type:_.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:_.Class.UNIVERSAL,type:_.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},z2={name:"pkcs-12PbeParams",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:_.Class.UNIVERSAL,type:_.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:_.Class.UNIVERSAL,type:_.Type.INTEGER,constructed:!1,capture:"iterations"}]};H.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=P.random.getBytesSync(r.saltSize),i=r.count,o=_.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=sn["aes128-CBC"],f=P.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,l=sn["aes192-CBC"],f=P.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,l=sn["aes256-CBC"],f=P.aes.createEncryptionCipher;break;case"des":s=8,u=8,l=sn.desCBC,f=P.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var p="hmacWith"+r.prfAlgorithm.toUpperCase(),h=$0(p),m=P.pkcs5.pbkdf2(e,n,i,s,h),y=P.random.getBytesSync(u),g=f(m);g.start(y),g.update(_.toDer(t)),g.finish(),c=g.output.getBytes();var x=$2(n,o,s,p);a=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(sn.pkcs5PBES2).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(sn.pkcs5PBKDF2).getBytes()),x]),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(l).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){s=24;var E=new P.util.ByteBuffer(n),m=H.pbe.generatePkcs12Key(e,E,1,i,s),y=H.pbe.generatePkcs12Key(e,E,2,i,s),g=P.des.createEncryptionCipher(m);g.start(y),g.update(_.toDer(t)),g.finish(),c=g.output.getBytes(),a=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(sn["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,n),_.create(_.Class.UNIVERSAL,_.Type.INTEGER,!1,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var T=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[a,_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,c)]);return T};H.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!_.validate(t,V2,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=_.derToOid(n.encryptionOid),a=H.pbe.getCipher(s,n.encryptionParams,e),c=P.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=_.fromDer(a.output)),r};H.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:_.toDer(t).getBytes()};return P.pem.encode(r,{maxline:e})};H.encryptedPrivateKeyFromPem=function(t){var e=P.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 _.fromDer(e.body)};H.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=H.wrapRsaPrivateKey(H.privateKeyToAsn1(t));return n=H.encryptPrivateKeyInfo(n,e,r),H.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=P.random.getBytesSync(8),a=P.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=P.pbe.opensslDeriveBytes(e,o.substr(0,8),s),l=a(u);l.start(o),l.update(_.toDer(H.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:P.util.bytesToHex(o).toUpperCase()},body:l.output.getBytes()};return P.pem.encode(f)};H.decryptRsaPrivateKey=function(t,e){var r=null,n=P.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=P.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=P.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=P.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=P.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=P.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(f){return P.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":o=8,s=function(f){return P.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":o=16,s=function(f){return P.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=P.util.hexToBytes(n.dekInfo.parameters),c=P.pbe.opensslDeriveBytes(e,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(P.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=H.decryptPrivateKeyInfo(_.fromDer(r),e):r=_.fromDer(r),r!==null&&(r=H.privateKeyFromAsn1(r)),r};H.pbe.generatePkcs12Key=function(t,e,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in P.md))throw new Error('"sha1" hash algorithm unavailable.');o=P.md.sha1.create()}var c=o.digestLength,u=o.blockLength,l=new P.util.ByteBuffer,f=new P.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)f.putInt16(t.charCodeAt(a));f.putInt16(0)}var d=f.length(),p=e.length(),h=new P.util.ByteBuffer;h.fillWithByte(r,u);var m=u*Math.ceil(p/u),y=new P.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(e.at(a%p));var g=u*Math.ceil(d/u),x=new P.util.ByteBuffer;for(a=0;a<g;a++)x.putByte(f.at(a%d));var E=y;E.putBuffer(x);for(var T=Math.ceil(i/c),I=1;I<=T;I++){var C=new P.util.ByteBuffer;C.putBytes(h.bytes()),C.putBytes(E.bytes());for(var O=0;O<n;O++)o.start(),o.update(C.getBytes()),C=o.digest();var U=new P.util.ByteBuffer;for(a=0;a<u;a++)U.putByte(C.at(a%c));var se=Math.ceil(p/u)+Math.ceil(d/u),At=new P.util.ByteBuffer;for(s=0;s<se;s++){var ut=new P.util.ByteBuffer(E.getBytes(u)),Je=511;for(a=U.length()-1;a>=0;a--)Je=Je>>8,Je+=U.at(a)+ut.at(a),ut.setAt(a,Je&255);At.putBuffer(ut)}E=At,l.putBuffer(C)}return l.truncate(l.length()-i),l};H.pbe.getCipher=function(t,e,r){switch(t){case H.oids.pkcs5PBES2:return H.pbe.getCipherForPBES2(t,e,r);case H.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case H.oids["pbewithSHAAnd40BitRC2-CBC"]:return H.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}};H.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!_.validate(e,q2,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=_.derToOid(n.kdfOid),t!==H.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=_.derToOid(n.encOid),t!==H.oids["aes128-CBC"]&&t!==H.oids["aes192-CBC"]&&t!==H.oids["aes256-CBC"]&&t!==H.oids["des-EDE3-CBC"]&&t!==H.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=P.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(H.oids[t]){case"aes128-CBC":c=16,u=P.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=P.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=P.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=P.des.createDecryptionCipher;break;case"desCBC":c=8,u=P.des.createDecryptionCipher;break}var l=z0(n.prfOid),f=P.pkcs5.pbkdf2(r,s,a,c,l),d=n.encIv,p=u(f);return p.start(d),p};H.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!_.validate(e,z2,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=P.util.createBuffer(n.salt),a=P.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case H.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=P.des.startDecrypting;break;case H.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,y){var g=P.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),d=H.pbe.generatePkcs12Key(r,s,1,a,c,f);f.start();var p=H.pbe.generatePkcs12Key(r,s,2,a,u,f);return l(d,p)};H.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in P.md))throw new Error('"md5" hash algorithm unavailable.');n=P.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 z0(t){var e;if(!t)e="hmacWithSHA1";else if(e=H.oids[_.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=P.md;switch(t){case"hmacWithSHA224":e=P.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 $2(t,e,r,n){var i=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,t),_.create(_.Class.UNIVERSAL,_.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(_.create(_.Class.UNIVERSAL,_.Type.INTEGER,!1,P.util.hexToBytes(r.toString(16))),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(H.oids[n]).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.NULL,!1,"")])),i}});var $d=B((FC,zd)=>{"use strict";zd.exports=Yv;function Yv(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),d=0;d<f.length;)f[d++]=arguments[d];a.apply(null,f)}};try{t.apply(e||null,r)}catch(u){o&&(o=!1,c(u))}})}});var Wd=B(Yd=>{"use strict";var Ns=Yd;Ns.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 ti=new Array(64),Gd=new Array(123);for(Tt=0;Tt<64;)Gd[ti[Tt]=Tt<26?Tt+65:Tt<52?Tt+71:Tt<62?Tt-4:Tt-59|43]=Tt++;var Tt;Ns.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++]=ti[u>>2],c=(u&3)<<4,a=1;break;case 1:o[s++]=ti[c|u>>4],c=(u&15)<<2,a=2;break;case 2:o[s++]=ti[c|u>>6],o[s++]=ti[u&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=ti[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 Hd="invalid encoding";Ns.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=Gd[c])===void 0)throw Error(Hd);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(Hd);return n-i};Ns.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var Xd=B((VC,Qd)=>{"use strict";Qd.exports=ks;function ks(){this._listeners={}}ks.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};ks.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};ks.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 np=B((qC,rp)=>{"use strict";rp.exports=Zd(Zd);function Zd(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,jd),t.writeFloatBE=e.bind(null,Jd);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,ep),t.readFloatBE=r.bind(null,tp)}(),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,jd,0,4),t.writeDoubleBE=e.bind(null,Jd,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,d=4294967296*(u&1048575)+c;return f===2047?d?NaN:l*(1/0):f===0?l*5e-324*d:l*Math.pow(2,f-1075)*(d+4503599627370496)}t.readDoubleLE=r.bind(null,ep,0,4),t.readDoubleBE=r.bind(null,tp,4,0)}(),t}function jd(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 Jd(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 ep(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function tp(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var ip=B((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 sp=B(op=>{"use strict";var vu=op;vu.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};vu.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))};vu.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 cp=B(($C,ap)=>{"use strict";ap.exports=Wv;function Wv(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 lp=B((HC,up)=>{"use strict";up.exports=ze;var uo=hn();function ze(t,e){this.lo=t>>>0,this.hi=e>>>0}var fn=ze.zero=new ze(0,0);fn.toNumber=function(){return 0};fn.zzEncode=fn.zzDecode=function(){return this};fn.length=function(){return 1};var Qv=ze.zeroHash="\0\0\0\0\0\0\0\0";ze.fromNumber=function(e){if(e===0)return fn;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 ze(n,i)};ze.from=function(e){if(typeof e=="number")return ze.fromNumber(e);if(uo.isString(e))if(uo.Long)e=uo.Long.fromString(e);else return ze.fromNumber(parseInt(e,10));return e.low||e.high?new ze(e.low>>>0,e.high>>>0):fn};ze.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};ze.prototype.toLong=function(e){return uo.Long?new uo.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var Mr=String.prototype.charCodeAt;ze.fromHash=function(e){return e===Qv?fn:new ze((Mr.call(e,0)|Mr.call(e,1)<<8|Mr.call(e,2)<<16|Mr.call(e,3)<<24)>>>0,(Mr.call(e,4)|Mr.call(e,5)<<8|Mr.call(e,6)<<16|Mr.call(e,7)<<24)>>>0)};ze.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)};ze.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};ze.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};ze.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 hn=B(Eu=>{"use strict";var M=Eu;M.asPromise=$d();M.base64=Wd();M.EventEmitter=Xd();M.float=np();M.inquire=ip();M.utf8=sp();M.pool=cp();M.LongBits=lp();M.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);M.global=M.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||Eu;M.emptyArray=Object.freeze?Object.freeze([]):[];M.emptyObject=Object.freeze?Object.freeze({}):{};M.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};M.isString=function(e){return typeof e=="string"||e instanceof String};M.isObject=function(e){return e&&typeof e=="object"};M.isset=M.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};M.Buffer=function(){try{var t=M.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch{return null}}();M._Buffer_from=null;M._Buffer_allocUnsafe=null;M.newBuffer=function(e){return typeof e=="number"?M.Buffer?M._Buffer_allocUnsafe(e):new M.Array(e):M.Buffer?M._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};M.Array=typeof Uint8Array<"u"?Uint8Array:Array;M.Long=M.global.dcodeIO&&M.global.dcodeIO.Long||M.global.Long||M.inquire("long");M.key2Re=/^true|false|0|1$/;M.key32Re=/^-?(?:0|[1-9][0-9]*)$/;M.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;M.longToHash=function(e){return e?M.LongBits.from(e).toHash():M.LongBits.zeroHash};M.longFromHash=function(e,r){var n=M.LongBits.fromHash(e);return M.Long?M.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function fp(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}M.merge=fp;M.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function hp(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&&fp(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}M.newError=hp;M.ProtocolError=hp("ProtocolError");M.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]}};M.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};M.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};M._configure=function(){var t=M.Buffer;if(!t){M._Buffer_from=M._Buffer_allocUnsafe=null;return}M._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},M._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var Au=B((YC,gp)=>{"use strict";gp.exports=De;var Xt=hn(),Su,mp=Xt.LongBits,Xv=Xt.utf8;function Bt(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function De(t){this.buf=t,this.pos=0,this.len=t.length}var dp=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new De(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new De(e);throw Error("illegal buffer")},yp=function(){return Xt.Buffer?function(r){return(De.create=function(i){return Xt.Buffer.isBuffer(i)?new Su(i):dp(i)})(r)}:dp};De.create=yp();De.prototype._slice=Xt.Array.prototype.subarray||Xt.Array.prototype.slice;De.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,Bt(this,10);return e}}();De.prototype.int32=function(){return this.uint32()|0};De.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function _u(){var t=new mp(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 Bt(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 Bt(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")}De.prototype.bool=function(){return this.uint32()!==0};function Os(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}De.prototype.fixed32=function(){if(this.pos+4>this.len)throw Bt(this,4);return Os(this.buf,this.pos+=4)};De.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Bt(this,4);return Os(this.buf,this.pos+=4)|0};function pp(){if(this.pos+8>this.len)throw Bt(this,8);return new mp(Os(this.buf,this.pos+=4),Os(this.buf,this.pos+=4))}De.prototype.float=function(){if(this.pos+4>this.len)throw Bt(this,4);var e=Xt.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};De.prototype.double=function(){if(this.pos+8>this.len)throw Bt(this,4);var e=Xt.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};De.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw Bt(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};De.prototype.string=function(){var e=this.bytes();return Xv.read(e,0,e.length)};De.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Bt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Bt(this);while(this.buf[this.pos++]&128);return this};De.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};De._configure=function(t){Su=t,De.create=yp(),Su._configure();var e=Xt.Long?"toLong":"toNumber";Xt.merge(De.prototype,{int64:function(){return _u.call(this)[e](!1)},uint64:function(){return _u.call(this)[e](!0)},sint64:function(){return _u.call(this).zzDecode()[e](!1)},fixed64:function(){return pp.call(this)[e](!0)},sfixed64:function(){return pp.call(this)[e](!1)}})}});var vp=B((WC,bp)=>{"use strict";bp.exports=dn;var wp=Au();(dn.prototype=Object.create(wp.prototype)).constructor=dn;var xp=hn();function dn(t){wp.call(this,t)}dn._configure=function(){xp.Buffer&&(dn.prototype._slice=xp.Buffer.prototype.slice)};dn.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))};dn._configure()});var Pu=B((QC,Ap)=>{"use strict";Ap.exports=te;var Et=hn(),Iu,Ms=Et.LongBits,Ep=Et.base64,_p=Et.utf8;function lo(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function Cu(){}function Zv(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function te(){this.len=0,this.head=new lo(Cu,0,0),this.tail=this.head,this.states=null}var Sp=function(){return Et.Buffer?function(){return(te.create=function(){return new Iu})()}:function(){return new te}};te.create=Sp();te.alloc=function(e){return new Et.Array(e)};Et.Array!==Array&&(te.alloc=Et.pool(te.alloc,Et.Array.prototype.subarray));te.prototype._push=function(e,r,n){return this.tail=this.tail.next=new lo(e,r,n),this.len+=r,this};function Tu(t,e,r){e[r]=t&255}function jv(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function Bu(t,e){this.len=t,this.next=void 0,this.val=e}Bu.prototype=Object.create(lo.prototype);Bu.prototype.fn=jv;te.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new Bu((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};te.prototype.int32=function(e){return e<0?this._push(Lu,10,Ms.fromNumber(e)):this.uint32(e)};te.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function Lu(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}te.prototype.uint64=function(e){var r=Ms.from(e);return this._push(Lu,r.length(),r)};te.prototype.int64=te.prototype.uint64;te.prototype.sint64=function(e){var r=Ms.from(e).zzEncode();return this._push(Lu,r.length(),r)};te.prototype.bool=function(e){return this._push(Tu,1,e?1:0)};function Ru(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}te.prototype.fixed32=function(e){return this._push(Ru,4,e>>>0)};te.prototype.sfixed32=te.prototype.fixed32;te.prototype.fixed64=function(e){var r=Ms.from(e);return this._push(Ru,4,r.lo)._push(Ru,4,r.hi)};te.prototype.sfixed64=te.prototype.fixed64;te.prototype.float=function(e){return this._push(Et.float.writeFloatLE,4,e)};te.prototype.double=function(e){return this._push(Et.float.writeDoubleLE,8,e)};var Jv=Et.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]};te.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(Tu,1,0);if(Et.isString(e)){var n=te.alloc(r=Ep.length(e));Ep.decode(e,n,0),e=n}return this.uint32(r)._push(Jv,r,e)};te.prototype.string=function(e){var r=_p.length(e);return r?this.uint32(r)._push(_p.write,r,e):this._push(Tu,1,0)};te.prototype.fork=function(){return this.states=new Zv(this),this.head=this.tail=new lo(Cu,0,0),this.len=0,this};te.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 lo(Cu,0,0),this.len=0),this};te.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};te.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};te._configure=function(t){Iu=t,te.create=Sp(),Iu._configure()}});var Cp=B((XC,Rp)=>{"use strict";Rp.exports=Zt;var Ip=Pu();(Zt.prototype=Object.create(Ip.prototype)).constructor=Zt;var Ur=hn();function Zt(){Ip.call(this)}Zt._configure=function(){Zt.alloc=Ur._Buffer_allocUnsafe,Zt.writeBytesBuffer=Ur.Buffer&&Ur.Buffer.prototype instanceof Uint8Array&&Ur.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++]}};Zt.prototype.bytes=function(e){Ur.isString(e)&&(e=Ur._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(Zt.writeBytesBuffer,r,e),this};function eE(t,e,r){t.length<40?Ur.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}Zt.prototype.string=function(e){var r=Ur.Buffer.byteLength(e);return this.uint32(r),r&&this._push(eE,r,e),this};Zt._configure()});var qp=B((X8,Vp)=>{var me=ae();tn();Le();var ho=Vp.exports=me.sha512=me.sha512||{};me.md.sha512=me.md.algorithms.sha512=ho;var Fp=me.sha384=me.sha512.sha384=me.sha512.sha384||{};Fp.create=function(){return ho.create("SHA-384")};me.md.sha384=me.md.algorithms.sha384=Fp;me.sha512.sha256=me.sha512.sha256||{create:function(){return ho.create("SHA-512/256")}};me.md["sha512/256"]=me.md.algorithms["sha512/256"]=me.sha512.sha256;me.sha512.sha224=me.sha512.sha224||{create:function(){return ho.create("SHA-512/224")}};me.md["sha512/224"]=me.md.algorithms["sha512/224"]=me.sha512.sha224;ho.create=function(t){if(Kp||uE(),typeof t>"u"&&(t="SHA-512"),!(t in mn))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=mn[t],r=null,n=me.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(t){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=me.util.createBuffer(),r=new Array(e.length);for(var u=0;u<e.length;++u)r[u]=e[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=me.util.encodeUtf8(c));var 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),Up(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=me.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(Ku.substr(0,a.blockLength-l));for(var f,d,p=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)f=a.fullMessageLength[h+1]*8,d=f/4294967296>>>0,p+=d,c.putInt32(p>>>0),p=f>>>0;c.putInt32(p);for(var m=new Array(r.length),h=0;h<r.length;++h)m[h]=r[h].slice(0);Up(m,i,c);var y=me.util.createBuffer(),g;t==="SHA-512"?g=m.length:t==="SHA-384"?g=m.length-2:g=m.length-4;for(var h=0;h<g;++h)y.putInt32(m[h][0]),(h!==g-1||t!=="SHA-512/224")&&y.putInt32(m[h][1]);return y},a};var Ku=null,Kp=!1,Vu=null,mn=null;function uE(){Ku=String.fromCharCode(128),Ku+=me.util.fillString(String.fromCharCode(0),128),Vu=[[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]],mn={},mn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],mn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],mn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],mn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Kp=!0}function Up(t,e,r){for(var n,i,o,s,a,c,u,l,f,d,p,h,m,y,g,x,E,T,I,C,O,U,se,At,ut,Je,Mn,ns,ke,nt,K,sc,ac,cc,uc,bh=r.length();bh>=128;){for(ke=0;ke<16;++ke)e[ke][0]=r.getInt32()>>>0,e[ke][1]=r.getInt32()>>>0;for(;ke<80;++ke)sc=e[ke-2],nt=sc[0],K=sc[1],n=((nt>>>19|K<<13)^(K>>>29|nt<<3)^nt>>>6)>>>0,i=((nt<<13|K>>>19)^(K<<3|nt>>>29)^(nt<<26|K>>>6))>>>0,cc=e[ke-15],nt=cc[0],K=cc[1],o=((nt>>>1|K<<31)^(nt>>>8|K<<24)^nt>>>7)>>>0,s=((nt<<31|K>>>1)^(nt<<24|K>>>8)^(nt<<25|K>>>7))>>>0,ac=e[ke-7],uc=e[ke-16],K=i+ac[1]+s+uc[1],e[ke][0]=n+ac[0]+o+uc[0]+(K/4294967296>>>0)>>>0,e[ke][1]=K>>>0;for(m=t[0][0],y=t[0][1],g=t[1][0],x=t[1][1],E=t[2][0],T=t[2][1],I=t[3][0],C=t[3][1],O=t[4][0],U=t[4][1],se=t[5][0],At=t[5][1],ut=t[6][0],Je=t[6][1],Mn=t[7][0],ns=t[7][1],ke=0;ke<80;++ke)u=((O>>>14|U<<18)^(O>>>18|U<<14)^(U>>>9|O<<23))>>>0,l=((O<<18|U>>>14)^(O<<14|U>>>18)^(U<<23|O>>>9))>>>0,f=(ut^O&(se^ut))>>>0,d=(Je^U&(At^Je))>>>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|E&(m^g))>>>0,h=(y&x|T&(y^x))>>>0,K=ns+l+d+Vu[ke][1]+e[ke][1],n=Mn+u+f+Vu[ke][0]+e[ke][0]+(K/4294967296>>>0)>>>0,i=K>>>0,K=c+h,o=a+p+(K/4294967296>>>0)>>>0,s=K>>>0,Mn=ut,ns=Je,ut=se,Je=At,se=O,At=U,K=C+i,O=I+n+(K/4294967296>>>0)>>>0,U=K>>>0,I=E,C=T,E=g,T=x,g=m,x=y,K=i+s,m=n+o+(K/4294967296>>>0)>>>0,y=K>>>0;K=t[0][1]+y,t[0][0]=t[0][0]+m+(K/4294967296>>>0)>>>0,t[0][1]=K>>>0,K=t[1][1]+x,t[1][0]=t[1][0]+g+(K/4294967296>>>0)>>>0,t[1][1]=K>>>0,K=t[2][1]+T,t[2][0]=t[2][0]+E+(K/4294967296>>>0)>>>0,t[2][1]=K>>>0,K=t[3][1]+C,t[3][0]=t[3][0]+I+(K/4294967296>>>0)>>>0,t[3][1]=K>>>0,K=t[4][1]+U,t[4][0]=t[4][0]+O+(K/4294967296>>>0)>>>0,t[4][1]=K>>>0,K=t[5][1]+At,t[5][0]=t[5][0]+se+(K/4294967296>>>0)>>>0,t[5][1]=K>>>0,K=t[6][1]+Je,t[6][0]=t[6][0]+ut+(K/4294967296>>>0)>>>0,t[6][1]=K>>>0,K=t[7][1]+ns,t[7][0]=t[7][0]+Mn+(K/4294967296>>>0)>>>0,t[7][1]=K>>>0,bh-=128}}});var sl=B((t3,Sm)=>{var hi=1e3,di=hi*60,pi=di*60,wn=pi*24,zE=wn*7,$E=wn*365.25;Sm.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return HE(t);if(r==="number"&&isFinite(t))return e.long?YE(t):GE(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function HE(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*$E;case"weeks":case"week":case"w":return r*zE;case"days":case"day":case"d":return r*wn;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 GE(t){var e=Math.abs(t);return e>=wn?Math.round(t/wn)+"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 YE(t){var e=Math.abs(t);return e>=wn?Qs(t,e,wn,"day"):e>=pi?Qs(t,e,pi,"hour"):e>=di?Qs(t,e,di,"minute"):e>=hi?Qs(t,e,hi,"second"):t+" ms"}function Qs(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var Im=B((r3,Am)=>{function WE(t){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=sl(),r.destroy=u,Object.keys(t).forEach(l=>{r[l]=t[l]}),r.names=[],r.skips=[],r.formatters={};function e(l){let f=0;for(let d=0;d<l.length;d++)f=(f<<5)-f+l.charCodeAt(d),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=e;function r(l){let f,d=null,p,h;function m(...y){if(!m.enabled)return;let g=m,x=Number(new Date),E=x-(f||x);g.diff=E,g.prev=f,g.curr=x,f=x,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let T=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(C,O)=>{if(C==="%%")return"%";T++;let U=r.formatters[O];if(typeof U=="function"){let se=y[T];C=U.call(g,se),y.splice(T,1),T--}return C}),r.formatArgs.call(g,y),(g.log||r.log).apply(g,y)}return m.namespace=l,m.useColors=r.useColors(),m.color=r.selectColor(l),m.extend=n,m.destroy=r.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(p!==r.namespaces&&(p=r.namespaces,h=r.enabled(l)),h),set:y=>{d=y}}),typeof r.init=="function"&&r.init(m),m}function n(l,f){let d=r(this.namespace+(typeof f>"u"?":":f)+l);return d.log=this.log,d}function i(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let f,d=(typeof l=="string"?l:"").split(/[\s,]+/),p=d.length;for(f=0;f<p;f++)d[f]&&(l=d[f].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.slice(1)+"$")):r.names.push(new RegExp("^"+l+"$")))}function 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,d;for(f=0,d=r.skips.length;f<d;f++)if(r.skips[f].test(l))return!1;for(f=0,d=r.names.length;f<d;f++)if(r.names[f].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}Am.exports=WE});var al=B((ht,Xs)=>{ht.formatArgs=XE;ht.save=ZE;ht.load=jE;ht.useColors=QE;ht.storage=JE();ht.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`."))}})();ht.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 QE(){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 XE(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Xs.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)}ht.log=console.debug||console.log||(()=>{});function ZE(t){try{t?ht.storage.setItem("debug",t):ht.storage.removeItem("debug")}catch{}}function jE(){let t;try{t=ht.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function JE(){try{return localStorage}catch{}}Xs.exports=Im()(ht);var{formatters:e_}=Xs.exports;e_.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Om=B((H3,km)=>{"use strict";km.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var qm=B((Km,Vm)=>{"use strict";var ea=Om(),{hasOwnProperty:Um}=Object.prototype,{propertyIsEnumerable:k_}=Object,gi=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),O_=Km,Mm={concatArrays:!1,ignoreUndefined:!1},ta=t=>{let e=[];for(let r in t)Um.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)k_.call(t,n)&&e.push(n)}return e};function xi(t){return Array.isArray(t)?M_(t):ea(t)?U_(t):t}function M_(t){let e=t.slice(0,0);return ta(t).forEach(r=>{gi(e,r,xi(t[r]))}),e}function U_(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return ta(t).forEach(r=>{gi(e,r,xi(t[r]))}),e}var Fm=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?gi(t,i,vl(t[i],e[i],n)):gi(t,i,xi(e[i])))}),t),F_=(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++)Um.call(o,a)&&(s.push(String(a)),o===t?gi(n,i++,o[a]):gi(n,i++,xi(o[a])));n=Fm(n,o,ta(o).filter(a=>!s.includes(a)),r)}),n};function vl(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?F_(t,e,r):!ea(e)||!ea(t)?xi(e):Fm(t,e,ta(e),r)}Vm.exports=function(...t){let e=vl(xi(Mm),this!==O_&&this||{},Mm),r={_:{}};for(let n of t)if(n!==void 0){if(!ea(n))throw new TypeError("`"+n+"` is not an Option Object");r=vl(r,{_:n},e)}return r._}});var Hm=B((Y3,$m)=>{"use strict";function K_(t){return t>=55296&&t<=56319}function V_(t){return t>=56320&&t<=57343}$m.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],K_(s)&&V_(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 Ym=B((W3,Gm)=>{"use strict";function q_(t){return t>=55296&&t<=56319}function z_(t){return t>=56320&&t<=57343}Gm.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),z_(i)?o!=null&&q_(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 Qm=B((Q3,Wm)=>{"use strict";var $_=Hm(),H_=Ym();Wm.exports=$_.bind(null,H_)});var jm=B((X3,Zm)=>{"use strict";var G_=Qm(),Y_=/[\/\?<>\\:\*\|"]/g,W_=/[\x00-\x1f\x80-\x9f]/g,Q_=/^\.+$/,X_=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,Z_=/[\. ]+$/;function Xm(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(Y_,e).replace(W_,e).replace(Q_,e).replace(X_,e).replace(Z_,e);return G_(r,255)}Zm.exports=function(t,e){var r=e&&e.replacement||"",n=Xm(t,r);return r===""?n:Xm(n,"")}});var _y=B((x6,Ey)=>{Ey.exports=Pl;var vy=128,GS=127,YS=~GS,WS=Math.pow(2,31);function Pl(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw Pl.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=WS;)e[r++]=t&255|vy,t/=128;for(;t&YS;)e[r++]=t&255|vy,t>>>=7;return e[r]=t|0,Pl.bytes=r-n+1,e}});var Iy=B((w6,Ay)=>{Ay.exports=Dl;var QS=128,Sy=127;function Dl(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a||i>49)throw Dl.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&Sy)<<i:(s&Sy)*Math.pow(2,i),i+=7}while(s>=QS);return Dl.bytes=o-n,r}});var Cy=B((b6,Ry)=>{var XS=Math.pow(2,7),ZS=Math.pow(2,14),jS=Math.pow(2,21),JS=Math.pow(2,28),eA=Math.pow(2,35),tA=Math.pow(2,42),rA=Math.pow(2,49),nA=Math.pow(2,56),iA=Math.pow(2,63);Ry.exports=function(t){return t<XS?1:t<ZS?2:t<jS?3:t<JS?4:t<eA?5:t<tA?6:t<rA?7:t<nA?8:t<iA?9:10}});var ca=B((v6,Ty)=>{Ty.exports={encode:_y(),decode:Iy(),encodingLength:Cy()}});var rg=B((yP,sf)=>{"use strict";var rI=Object.prototype.hasOwnProperty,rt="~";function Oo(){}Object.create&&(Oo.prototype=Object.create(null),new Oo().__proto__||(rt=!1));function nI(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function tg(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new nI(r,n||t,i),s=rt?rt+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 pa(t,e){--t._eventsCount===0?t._events=new Oo:delete t._events[e]}function Ze(){this._events=new Oo,this._eventsCount=0}Ze.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)rI.call(r,n)&&e.push(rt?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};Ze.prototype.listeners=function(e){var r=rt?rt+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};Ze.prototype.listenerCount=function(e){var r=rt?rt+e:e,n=this._events[r];return n?n.fn?1:n.length:0};Ze.prototype.emit=function(e,r,n,i,o,s){var a=rt?rt+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 d=c.length,p;for(f=0;f<d;f++)switch(c[f].once&&this.removeListener(e,c[f].fn,void 0,!0),u){case 1:c[f].fn.call(c[f].context);break;case 2:c[f].fn.call(c[f].context,r);break;case 3:c[f].fn.call(c[f].context,r,n);break;case 4:c[f].fn.call(c[f].context,r,n,i);break;default:if(!l)for(p=1,l=new Array(u-1);p<u;p++)l[p-1]=arguments[p];c[f].fn.apply(c[f].context,l)}}return!0};Ze.prototype.on=function(e,r,n){return tg(this,e,r,n,!1)};Ze.prototype.once=function(e,r,n){return tg(this,e,r,n,!0)};Ze.prototype.removeListener=function(e,r,n,i){var o=rt?rt+e:e;if(!this._events[o])return this;if(!r)return pa(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&pa(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:pa(this,o)}return this};Ze.prototype.removeAllListeners=function(e){var r;return e?(r=rt?rt+e:e,this._events[r]&&pa(this,r)):(this._events=new Oo,this._eventsCount=0),this};Ze.prototype.off=Ze.prototype.removeListener;Ze.prototype.addListener=Ze.prototype.on;Ze.prefixed=rt;Ze.EventEmitter=Ze;typeof sf<"u"&&(sf.exports=Ze)});var Cf=B((L5,Eg)=>{"use strict";function vg(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function gI(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 vg(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),vg(new i,r)}}Eg.exports=gI});var Cg=B($o=>{(function(){var t,e,r,n,i,o,s,a;a=function(c){var u,l,f,d;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&65280)>>>8,d=c&255,[u,l,f,d].join(".")},s=function(c){var u,l,f,d,p,h;for(u=[],f=d=0;d<=3&&c.length!==0;f=++d){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}h=e(c),p=h[0],l=h[1],c=c.substring(l),u.push(p)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),o=r("a"),i=r("A"),e=function(c){var u,l,f,d,p;for(d=0,u=10,l="9",f=0,c.length>1&&c[f]==="0"&&(c[f+1]==="x"||c[f+1]==="X"?(f+=2,u=16):"0"<=c[f+1]&&c[f+1]<="9"&&(f++,u=8,l="7")),p=f;f<c.length;){if("0"<=c[f]&&c[f]<=l)d=d*u+(r(c[f])-n)>>>0;else if(u===16)if("a"<=c[f]&&c[f]<="f")d=d*u+(10+r(c[f])-o)>>>0;else if("A"<=c[f]&&c[f]<="F")d=d*u+(10+r(c[f])-i)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");f++}if(f===p)throw new Error("empty octet");return[d,f]},t=function(){function c(u,l){var f,d,p,h;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(h=u.split("/",2),u=h[0],l=h[1]),l||(l=32),typeof l=="string"&&l.indexOf(".")>-1){try{this.maskLong=s(l)}catch(m){throw f=m,new Error("Invalid mask: "+l)}for(d=p=32;p>=0;d=--p)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;break}}else if(l||l===0)this.bitmask=parseInt(l,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(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,d;for(d=s(this.first),f=s(this.last),l=0;d<=f;)u(a(d),d,l),l++,d++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),$o.ip2long=s,$o.long2ip=a,$o.Netmask=t}).call($o)});var Pg=B((Lg,ka)=>{(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,h){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let m=0,y=-1,g=(p.match(a.zoneIndex)||[])[0],x,E;for(g&&(g=g.substring(1),p=p.replace(/%.+$/,""));(y=p.indexOf(":",y+1))>=0;)m++;if(p.substr(0,2)==="::"&&m--,p.substr(-2,2)==="::"&&m--,m>h)return null;for(E=h-m,x=":";E--;)x+="0:";return p=p.replace("::",x),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),h=function(){let T=p.split(":"),I=[];for(let C=0;C<T.length;C++)I.push(parseInt(T[C],16));return I}(),{parts:h,zoneId:g}}function u(p,h,m,y){if(p.length!==h.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,x;for(;y>0;){if(x=m-y,x<0&&(x=0),p[g]>>x!==h[g]>>x)return!1;y-=m,g+=1}return!0}function l(p){if(i.test(p))return parseInt(p,16);if(p[0]==="0"&&!isNaN(parseInt(p[1],10))){if(n.test(p))return parseInt(p,8);throw new Error(`ipaddr: cannot parse ${p} as octal`)}return parseInt(p,10)}function f(p,h){for(;p.length<h;)p=`0${p}`;return p}let d={};d.IPv4=function(){function p(h){if(h.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let m,y;for(m=0;m<h.length;m++)if(y=h[m],!(0<=y&&y<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=h}return p.prototype.SpecialRanges={unspecified:[[new p([0,0,0,0]),8]],broadcast:[[new p([255,255,255,255]),32]],multicast:[[new p([224,0,0,0]),4]],linkLocal:[[new p([169,254,0,0]),16]],loopback:[[new p([127,0,0,0]),8]],carrierGradeNat:[[new p([100,64,0,0]),10]],private:[[new p([10,0,0,0]),8],[new p([172,16,0,0]),12],[new p([192,168,0,0]),16]],reserved:[[new p([192,0,0,0]),24],[new p([192,0,2,0]),24],[new p([192,88,99,0]),24],[new p([198,18,0,0]),15],[new p([198,51,100,0]),24],[new p([203,0,113,0]),24],[new p([240,0,0,0]),4]]},p.prototype.kind=function(){return"ipv4"},p.prototype.match=function(h,m){let y;if(m===void 0&&(y=h,h=y[0],m=y[1]),h.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,h.octets,8,m)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,m=!1,y={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},g,x,E;for(g=3;g>=0;g-=1)if(x=this.octets[g],x in y){if(E=y[x],m&&E!==0)return null;E!==8&&(m=!0),h+=E}else return null;return 32-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){return this.octets.slice(0)},p.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},p.prototype.toNormalizedString=function(){return this.toString()},p.prototype.toString=function(){return this.octets.join(".")},p}(),d.IPv4.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),m=h[0].toByteArray(),y=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],x=0;for(;x<4;)g.push(parseInt(m[x],10)|parseInt(y[x],10)^255),x++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.isIPv4=function(p){return this.parser(p)!==null},d.IPv4.isValid=function(p){try{return new this(this.parser(p)),!0}catch{return!1}},d.IPv4.isValidFourPartDecimal=function(p){return!!(d.IPv4.isValid(p)&&p.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(p){let h,m,y,g,x;try{for(h=this.parseCIDR(p),y=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],m=0;m<4;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(p){let h=this.parser(p);if(h===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(h)},d.IPv4.parseCIDR=function(p){let h;if(h=p.match(/^(.+)\/(\d+)$/)){let m=parseInt(h[2]);if(m>=0&&m<=32){let y=[this.parse(h[1]),m];return Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(p){let h,m,y;if(h=p.match(r.fourOctet))return function(){let g=h.slice(1,6),x=[];for(let E=0;E<g.length;E++)m=g[E],x.push(l(m));return x}();if(h=p.match(r.longValue)){if(y=l(h[1]),y>4294967295||y<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],x;for(x=0;x<=24;x+=8)g.push(y>>x&255);return g}().reverse()}else return(h=p.match(r.twoOctet))?function(){let g=h.slice(1,4),x=[];if(y=l(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return x.push(l(g[0])),x.push(y>>16&255),x.push(y>>8&255),x.push(y&255),x}():(h=p.match(r.threeOctet))?function(){let g=h.slice(1,5),x=[];if(y=l(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return x.push(l(g[0])),x.push(l(g[1])),x.push(y>>8&255),x.push(y&255),x}():null},d.IPv4.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");let h=[0,0,0,0],m=0,y=Math.floor(p/8);for(;m<y;)h[m]=255,m++;return y<4&&(h[y]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.IPv6=function(){function p(h,m){let y,g;if(h.length===16)for(this.parts=[],y=0;y<=14;y+=2)this.parts.push(h[y]<<8|h[y+1]);else if(h.length===8)this.parts=h;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(y=0;y<this.parts.length;y++)if(g=this.parts[y],!(0<=g&&g<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");m&&(this.zoneId=m)}return p.prototype.SpecialRanges={unspecified:[new p([0,0,0,0,0,0,0,0]),128],linkLocal:[new p([65152,0,0,0,0,0,0,0]),10],multicast:[new p([65280,0,0,0,0,0,0,0]),8],loopback:[new p([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new p([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new p([0,0,0,0,0,65535,0,0]),96],rfc6145:[new p([0,0,0,0,65535,0,0,0]),96],rfc6052:[new p([100,65435,0,0,0,0,0,0]),96],"6to4":[new p([8194,0,0,0,0,0,0,0]),16],teredo:[new p([8193,0,0,0,0,0,0,0]),32],reserved:[[new p([8193,3512,0,0,0,0,0,0]),32]],benchmarking:[new p([8193,2,0,0,0,0,0,0]),48],amt:[new p([8193,3,0,0,0,0,0,0]),32],as112v6:[new p([8193,4,274,0,0,0,0,0]),48],deprecated:[new p([8193,16,0,0,0,0,0,0]),28],orchid2:[new p([8193,32,0,0,0,0,0,0]),28]},p.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},p.prototype.kind=function(){return"ipv6"},p.prototype.match=function(h,m){let y;if(m===void 0&&(y=h,h=y[0],m=y[1]),h.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,h.parts,16,m)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,m=!1,y={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},g,x;for(let E=7;E>=0;E-=1)if(g=this.parts[E],g in y){if(x=y[g],m&&x!==0)return null;x!==16&&(m=!0),h+=x}else return null;return 128-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let h,m=[],y=this.parts;for(let g=0;g<y.length;g++)h=y[g],m.push(h>>8),m.push(h&255);return m},p.prototype.toFixedLengthString=function(){let h=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(f(this.parts[g].toString(16),4));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),h+m},p.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let h=this.parts.slice(-2),m=h[0],y=h[1];return new d.IPv4([m>>8,m&255,y>>8,y&255])},p.prototype.toNormalizedString=function(){let h=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(this.parts[g].toString(16));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),h+m},p.prototype.toRFC5952String=function(){let h=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),y=0,g=-1,x;for(;x=h.exec(m);)x[0].length>g&&(y=x.index,g=x[0].length);return g<0?m:`${m.substring(0,y)}::${m.substring(y+g)}`},p.prototype.toString=function(){return this.toRFC5952String()},p}(),d.IPv6.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),m=h[0].toByteArray(),y=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],x=0;for(;x<16;)g.push(parseInt(m[x],10)|parseInt(y[x],10)^255),x++;return new this(g)}catch(h){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${h})`)}},d.IPv6.isIPv6=function(p){return this.parser(p)!==null},d.IPv6.isValid=function(p){if(typeof p=="string"&&p.indexOf(":")===-1)return!1;try{let h=this.parser(p);return new this(h.parts,h.zoneId),!0}catch{return!1}},d.IPv6.networkAddressFromCIDR=function(p){let h,m,y,g,x;try{for(h=this.parseCIDR(p),y=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}catch(E){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${E})`)}},d.IPv6.parse=function(p){let h=this.parser(p);if(h.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(h.parts,h.zoneId)},d.IPv6.parseCIDR=function(p){let h,m,y;if((m=p.match(/^(.+)\/(\d+)$/))&&(h=parseInt(m[2]),h>=0&&h<=128))return y=[this.parse(m[1]),h],Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(p){let h,m,y,g,x,E;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))&&(E=y[6]||"",h=c(y[1].slice(0,-1)+E,6),h.parts)){for(x=[parseInt(y[2]),parseInt(y[3]),parseInt(y[4]),parseInt(y[5])],m=0;m<x.length;m++)if(g=x[m],!(0<=g&&g<=255))return null;return h.parts.push(x[0]<<8|x[1]),h.parts.push(x[2]<<8|x[3]),{parts:h.parts,zoneId:h.zoneId}}return null},d.IPv6.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>128)throw new Error("ipaddr: invalid IPv6 prefix length");let h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],m=0,y=Math.floor(p/8);for(;m<y;)h[m]=255,m++;return y<16&&(h[y]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.fromByteArray=function(p){let h=p.length;if(h===4)return new d.IPv4(p);if(h===16)return new d.IPv6(p);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},d.isValid=function(p){return d.IPv6.isValid(p)||d.IPv4.isValid(p)},d.parse=function(p){if(d.IPv6.isValid(p))return d.IPv6.parse(p);if(d.IPv4.isValid(p))return d.IPv4.parse(p);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},d.parseCIDR=function(p){try{return d.IPv6.parseCIDR(p)}catch{try{return d.IPv4.parseCIDR(p)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},d.process=function(p){let h=this.parse(p);return h.kind()==="ipv6"&&h.isIPv4MappedAddress()?h.toIPv4Address():h},d.subnetMatch=function(p,h,m){let y,g,x,E;m==null&&(m="unicast");for(g in h)if(Object.prototype.hasOwnProperty.call(h,g)){for(x=h[g],x[0]&&!(x[0]instanceof Array)&&(x=[x]),y=0;y<x.length;y++)if(E=x[y],p.kind()===E[0].kind()&&p.match.apply(p,E))return g}return m},typeof ka<"u"&&ka.exports?ka.exports=d:t.ipaddr=d})(Lg)});var Kg=B((sD,Fg)=>{"use strict";Fg.exports=Ug;var LI=sl(),Zr=Ug.prototype,PI=new Date%1e9;function DI(){return(Math.random()*1e9>>>0)+PI++}function Ug(t){t=t||{},this.id=t.id||DI(),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)}Zr.has=function(t){return t in this._lookup};Zr.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};Zr.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};Zr.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};Zr.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};Zr.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=LI(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};Zr.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};Zr.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 Ho=B((RD,Wg)=>{Wg.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 Xg=B((TD,Qg)=>{Qg.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 jg=B((BD,Zg)=>{var MI=Xg();Zg.exports=MI});var gt=B((PD,Jg)=>{Jg.exports=class{constructor(e,r,n,i){this.remainingPoints=typeof e>"u"?0:e,this.msBeforeNext=typeof r>"u"?0:r,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(e){return this._msBeforeNext=e,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(e){return this._remainingPoints=e,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(e){return this._consumedPoints=e,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(e){this._isFirstInDuration=!!e}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var ki=B((ND,t1)=>{var Mf=Ho(),UI=jg(),e1=gt();t1.exports=class extends Mf{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed||e.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration||e.inmemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new UI}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 Mf?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 Mf))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 e1(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 e1(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 i1=B((kD,n1)=>{var FI=ki(),KI=gt(),r1="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} ",Uf=class extends FI{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:r1})}_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 KI;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(r1,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)})})}};n1.exports=Uf});var a1=B((OD,s1)=>{var VI=ki(),qI=gt();function o1(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 Go=class extends VI{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=o1(this.client)}):(this._initCollection(),this._driverVersion=o1(this.client))}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?Go.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 qI,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(d=>{l(d)}).catch(d=>{if(d&&d.code===11e3){let p=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},s),h={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},s)};this._collection.findOneAndUpdate(p,h,u).then(m=>{l(m)}).catch(m=>{m&&m.code===11e3?this._upsert(e,r,n,i).then(y=>l(y)).catch(y=>f(y)):f(m)})}else f(d)})})}_get(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e},n);return this._collection.deleteOne(i).then(o=>o.deletedCount>0)}};s1.exports=Go});var u1=B((MD,c1)=>{var zI=ki(),$I=gt(),Ff=class extends zI{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 $I,[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,d;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 R1(t){return t.replace(/^\s+/,"")}});var xh=B((zS,gh)=>{var Nt=ne();Fr();_e();var ph=gh.exports=Nt.sha256=Nt.sha256||{};Nt.md.sha256=Nt.md.algorithms.sha256=ph;ph.create=function(){mh||C1();var t=null,e=Nt.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=Nt.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=Nt.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),dh(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Nt.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Za.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};dh(f,r,i);var h=Nt.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h.putInt32(f.h5),h.putInt32(f.h6),h.putInt32(f.h7),h},n};var Za=null,mh=!1,yh=null;function C1(){Za=String.fromCharCode(128),Za+=Nt.util.fillString(String.fromCharCode(0),64),yh=[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],mh=!0}function dh(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+yh[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 vh=B(($S,wh)=>{var kt=ne();_e();var Xo=null;kt.util.isNodejs&&!kt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Xo=Kr());var T1=wh.exports=kt.prng=kt.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=kt.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 kt.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)),kt.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=kt.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=kt.util.globalScope,h=f.crypto||f.msCrypto;h&&h.getRandomValues&&(l=function(R){return h.getRandomValues(R)});var p=kt.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(R){if(!(typeof QuotaExceededError<"u"&&R instanceof QuotaExceededError))throw R}}if(p.length()<u)for(var g,x,b,T=Math.floor(Math.random()*65536);p.length()<u;){x=16807*(T&65535),g=16807*(T>>16),x+=(g&32767)<<16,x+=g>>15,x=(x&2147483647)+(x>>31),T=x&4294967295;for(var y=0;y<3;++y)b=T>>>(y<<3),b^=Math.floor(Math.random()*256),p.putByte(b&255)}return p.getBytes(u)}return Xo?(e.seedFile=function(u,l){Xo.randomBytes(u,function(f,h){if(f)return l(f);l(null,h.toString())})},e.seedFileSync=function(u){return Xo.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 Pi=B((HS,Ja)=>{var ke=ne();Ho();xh();vh();_e();(function(){if(ke.random&&ke.random.getBytes){Ja.exports=ke.random;return}(function(t){var e={},r=new Array(4),n=ke.util.createBuffer();e.formatKey=function(f){var h=ke.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),ke.aes._expandKey(f,!1)},e.formatSeed=function(f){var h=ke.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 ke.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=ke.md.sha256;function i(){var f=ke.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=ke.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(f){return c.getRandomValues(f)}),ke.options.usePureJavaScript||!ke.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(!ke.random)ke.random=o;else for(var l in o)ke.random[l]=o[l];ke.random.createInstance=i,Ja.exports=ke.random})(typeof jQuery<"u"?jQuery:null)})()});var Ah=B((GS,_h)=>{var je=ne();_e();var ja=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],Eh=[1,2,3,5],B1=function(t,e){return t<<e&65535|(t&65535)>>16-e},P1=function(t,e){return(t&65535)>>e|t<<16-e&65535};_h.exports=je.rc2=je.rc2||{};je.rc2.expandKey=function(t,e){typeof t=="string"&&(t=je.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(ja[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,ja[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,ja[r.at(a+1)^r.at(a+o)]);return r};var bh=function(t,e,r){var n=!1,i=null,o=null,s=null,a,c,u,l,f=[];for(t=je.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]=B1(d[u],Eh[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]=P1(d[u],Eh[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=je.util.createBuffer(d)),n=!1,i=je.util.createBuffer(),o=m||new je.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};je.rc2.startEncrypting=function(t,e,r){var n=je.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};je.rc2.createEncryptionCipher=function(t,e){return bh(t,e,!0)};je.rc2.startDecrypting=function(t,e,r){var n=je.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};je.rc2.createDecryptionCipher=function(t,e){return bh(t,e,!1)}});var jo=B((YS,Lh)=>{var ec=ne();Lh.exports=ec.jsbn=ec.jsbn||{};var Jt,L1=0xdeadbeefcafe,Sh=(L1&16777215)==15715070;function A(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}ec.jsbn.BigInteger=A;function J(){return new A(null)}function D1(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 N1(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 Ih(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"?(A.prototype.am=Ih,Jt=28):Sh&&navigator.appName=="Microsoft Internet Explorer"?(A.prototype.am=N1,Jt=30):Sh&&navigator.appName!="Netscape"?(A.prototype.am=D1,Jt=26):(A.prototype.am=Ih,Jt=28);A.prototype.DB=Jt;A.prototype.DM=(1<<Jt)-1;A.prototype.DV=1<<Jt;var tc=52;A.prototype.FV=Math.pow(2,tc);A.prototype.F1=tc-Jt;A.prototype.F2=2*Jt-tc;var k1="0123456789abcdefghijklmnopqrstuvwxyz",Zo=new Array,Tn,ht;Tn="0".charCodeAt(0);for(ht=0;ht<=9;++ht)Zo[Tn++]=ht;Tn="a".charCodeAt(0);for(ht=10;ht<36;++ht)Zo[Tn++]=ht;Tn="A".charCodeAt(0);for(ht=10;ht<36;++ht)Zo[Tn++]=ht;function Rh(t){return k1.charAt(t)}function Ch(t,e){var r=Zo[t.charCodeAt(e)];return r??-1}function O1(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 M1(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 hr(t){var e=J();return e.fromInt(t),e}function U1(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:Ch(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&&A.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 K1(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=Rh(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+=Rh(n));return i?o:"0"}function V1(){var t=J();return A.ZERO.subTo(this,t),t}function q1(){return this.s<0?this.negate():this}function z1(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 Jo(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 $1(){return this.t<=0?0:this.DB*(this.t-1)+Jo(this.data[this.t-1]^this.s&this.DM)}function H1(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 G1(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 Y1(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 Q1(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 X1(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&&A.ZERO.subTo(e,e)}function Z1(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 J1(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=J());var o=J(),s=this.s,a=t.s,c=this.DB-Jo(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??J();for(o.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),A.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&&A.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&A.ZERO.subTo(r,r)}}}function j1(t){var e=J();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(A.ZERO)>0&&t.subTo(e,e),e}function Vr(t){this.m=t}function ex(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function tx(t){return t}function rx(t){t.divRemTo(this.m,null,t)}function nx(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function ix(t,e){t.squareTo(e),this.reduce(e)}Vr.prototype.convert=ex;Vr.prototype.revert=tx;Vr.prototype.reduce=rx;Vr.prototype.mulTo=nx;Vr.prototype.sqrTo=ix;function ox(){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 qr(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 sx(t){var e=J();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(A.ZERO)>0&&this.m.subTo(e,e),e}function ax(t){var e=J();return t.copyTo(e),this.reduce(e),e}function cx(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 ux(t,e){t.squareTo(e),this.reduce(e)}function lx(t,e,r){t.multiplyTo(e,r),this.reduce(r)}qr.prototype.convert=sx;qr.prototype.revert=ax;qr.prototype.reduce=cx;qr.prototype.mulTo=lx;qr.prototype.sqrTo=ux;function fx(){return(this.t>0?this.data[0]&1:this.s)==0}function hx(t,e){if(t>4294967295||t<1)return A.ONE;var r=J(),n=J(),i=e.convert(this),o=Jo(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 dx(t,e){var r;return t<256||e.isEven()?r=new Vr(e):r=new qr(e),this.exp(t,r)}A.prototype.copyTo=O1;A.prototype.fromInt=M1;A.prototype.fromString=U1;A.prototype.clamp=F1;A.prototype.dlShiftTo=H1;A.prototype.drShiftTo=G1;A.prototype.lShiftTo=Y1;A.prototype.rShiftTo=W1;A.prototype.subTo=Q1;A.prototype.multiplyTo=X1;A.prototype.squareTo=Z1;A.prototype.divRemTo=J1;A.prototype.invDigit=ox;A.prototype.isEven=fx;A.prototype.exp=hx;A.prototype.toString=K1;A.prototype.negate=V1;A.prototype.abs=q1;A.prototype.compareTo=z1;A.prototype.bitLength=$1;A.prototype.mod=j1;A.prototype.modPowInt=dx;A.ZERO=hr(0);A.ONE=hr(1);function px(){var t=J();return this.copyTo(t),t}function mx(){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 yx(){return this.t==0?this.s:this.data[0]<<24>>24}function gx(){return this.t==0?this.s:this.data[0]<<16>>16}function xx(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function wx(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function vx(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=hr(r),i=J(),o=J(),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 Ex(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=Ch(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&&A.ZERO.subTo(this,this)}function bx(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(A.ONE.shiftLeft(t-1),rc,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(A.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 _x(){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 Ax(t){return this.compareTo(t)==0}function Sx(t){return this.compareTo(t)<0?this:t}function Ix(t){return this.compareTo(t)>0?this:t}function Rx(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 Cx(t,e){return t&e}function Tx(t){var e=J();return this.bitwiseTo(t,Cx,e),e}function rc(t,e){return t|e}function Bx(t){var e=J();return this.bitwiseTo(t,rc,e),e}function Th(t,e){return t^e}function Px(t){var e=J();return this.bitwiseTo(t,Th,e),e}function Bh(t,e){return t&~e}function Lx(t){var e=J();return this.bitwiseTo(t,Bh,e),e}function Dx(){for(var t=J(),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 Nx(t){var e=J();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function kx(t){var e=J();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function Ox(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 Mx(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+Ox(this.data[t]);return this.s<0?this.t*this.DB:-1}function Ux(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+=Ux(this.data[r]^e);return t}function Kx(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function Vx(t,e){var r=A.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function qx(t){return this.changeBit(t,rc)}function zx(t){return this.changeBit(t,Bh)}function $x(t){return this.changeBit(t,Th)}function Hx(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 Gx(t){var e=J();return this.addTo(t,e),e}function Yx(t){var e=J();return this.subTo(t,e),e}function Wx(t){var e=J();return this.multiplyTo(t,e),e}function Qx(t){var e=J();return this.divRemTo(t,e,null),e}function Xx(t){var e=J();return this.divRemTo(t,null,e),e}function Zx(t){var e=J(),r=J();return this.divRemTo(t,e,r),new Array(e,r)}function Jx(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function jx(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 Li(){}function Ph(t){return t}function ew(t,e,r){t.multiplyTo(e,r)}function tw(t,e){t.squareTo(e)}Li.prototype.convert=Ph;Li.prototype.revert=Ph;Li.prototype.mulTo=ew;Li.prototype.sqrTo=tw;function rw(t){return this.exp(t,new Li)}function nw(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 iw(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 Bn(t){this.r2=J(),this.q3=J(),A.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function ow(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=J();return t.copyTo(e),this.reduce(e),e}function sw(t){return t}function aw(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 cw(t,e){t.squareTo(e),this.reduce(e)}function uw(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Bn.prototype.convert=ow;Bn.prototype.revert=sw;Bn.prototype.reduce=aw;Bn.prototype.mulTo=uw;Bn.prototype.sqrTo=cw;function lw(t,e){var r=t.bitLength(),n,i=hr(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 Vr(e):e.isEven()?o=new Bn(e):o=new qr(e);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var l=J();for(o.sqrTo(s[1],l);a<=u;)s[a]=J(),o.mulTo(l,s[a-2],s[a]),a+=2}var f=t.t-1,h,p=!0,d=J(),m;for(r=Jo(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 fw(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 hw(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 dw(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return A.ZERO;for(var r=t.clone(),n=this.clone(),i=hr(1),o=hr(0),s=hr(0),a=hr(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(A.ONE)!=0)return A.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 wt=[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],pw=(1<<26)/wt[wt.length-1];function mw(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=wt[wt.length-1]){for(e=0;e<wt.length;++e)if(r.data[0]==wt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<wt.length;){for(var n=wt[e],i=e+1;i<wt.length&&n<pw;)n*=wt[i++];for(n=r.modInt(n);e<i;)if(n%wt[e++]==0)return!1}return r.millerRabin(t)}function yw(t){var e=this.subtract(A.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=gw(),o,s=0;s<t;++s){do o=new A(this.bitLength(),i);while(o.compareTo(A.ONE)<=0||o.compareTo(e)>=0);var a=o.modPow(n,this);if(a.compareTo(A.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(A.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function gw(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}A.prototype.chunkSize=xx;A.prototype.toRadix=vx;A.prototype.fromRadix=Ex;A.prototype.fromNumber=bx;A.prototype.bitwiseTo=Rx;A.prototype.changeBit=Vx;A.prototype.addTo=Hx;A.prototype.dMultiply=Jx;A.prototype.dAddOffset=jx;A.prototype.multiplyLowerTo=nw;A.prototype.multiplyUpperTo=iw;A.prototype.modInt=hw;A.prototype.millerRabin=yw;A.prototype.clone=px;A.prototype.intValue=mx;A.prototype.byteValue=yx;A.prototype.shortValue=gx;A.prototype.signum=wx;A.prototype.toByteArray=_x;A.prototype.equals=Ax;A.prototype.min=Sx;A.prototype.max=Ix;A.prototype.and=Tx;A.prototype.or=Bx;A.prototype.xor=Px;A.prototype.andNot=Lx;A.prototype.not=Dx;A.prototype.shiftLeft=Nx;A.prototype.shiftRight=kx;A.prototype.getLowestSetBit=Mx;A.prototype.bitCount=Fx;A.prototype.testBit=Kx;A.prototype.setBit=qx;A.prototype.clearBit=zx;A.prototype.flipBit=$x;A.prototype.add=Gx;A.prototype.subtract=Yx;A.prototype.multiply=Wx;A.prototype.divide=Qx;A.prototype.remainder=Xx;A.prototype.divideAndRemainder=Zx;A.prototype.modPow=lw;A.prototype.modInverse=dw;A.prototype.pow=rw;A.prototype.gcd=fw;A.prototype.isProbablePrime=mw});var Mh=B((WS,Oh)=>{var Ot=ne();Fr();_e();var Nh=Oh.exports=Ot.sha1=Ot.sha1||{};Ot.md.sha1=Ot.md.algorithms.sha1=Nh;Nh.create=function(){kh||xw();var t=null,e=Ot.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=Ot.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Ot.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),Dh(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Ot.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(nc.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};Dh(f,r,i);var h=Ot.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h},n};var nc=null,kh=!1;function xw(){nc=String.fromCharCode(128),nc+=Ot.util.fillString(String.fromCharCode(0),64),kh=!0}function Dh(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 Kh=B((QS,Fh)=>{var Mt=ne();_e();Pi();Mh();var Uh=Fh.exports=Mt.pkcs1=Mt.pkcs1||{};Uh.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=Mt.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=Mt.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=es(i,a-o.digestLength-1,s),y=Mt.util.xorBytes(d,m,d.length),g=es(y,o.digestLength,s),x=Mt.util.xorBytes(i,g,i.length);return"\0"+x+y};Uh.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=Mt.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=es(l,i.digestLength,o),h=Mt.util.xorBytes(u,f,u.length),p=es(h,s-i.digestLength-1,o),d=Mt.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,b=i.digestLength,T=i.digestLength;T<d.length;T++){var R=d.charCodeAt(T),C=R&1^1,F=x?65534:0;y|=R&F,x=x&C,b+=x}if(y||d.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return d.substring(b+1)};function es(t,e,r){r||(r=Mt.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 Vh=B((XS,ic)=>{var dr=ne();_e();jo();Pi();(function(){if(dr.prime){ic.exports=dr.prime;return}var t=ic.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),b=0;b<g.length;++b)g[b]=x.charCodeAt(b)}};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,b=p.workerScript||"forge/prime.worker.js";if(y===-1)return dr.util.estimateCores(function(R,C){R&&(C=2),y=C-1,T()});T();function T(){y=Math.max(1,y);for(var R=[],C=0;C<y;++C)R[C]=new Worker(b);for(var F=y,C=0;C<y;++C)R[C].addEventListener("message",de);var V=!1;function de(gt){if(!V){--F;var rt=gt.data;if(rt.found){for(var Ye=0;Ye<R.length;++Ye)R[Ye].terminate();return V=!0,d(null,new e(rt.prime,16))}m.bitLength()>f&&(m=u(f,h));var An=m.toString(16);gt.target.postMessage({hex:An,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 rs=B((ZS,Wh)=>{var M=ne();Bi();jo();Ko();Kh();Vh();Pi();_e();typeof W>"u"&&(W=M.jsbn.BigInteger);var W,oc=M.util.isNodejs?Kr():null,v=M.asn1,dt=M.util;M.pki=M.pki||{};Wh.exports=M.pki.rsa=M.rsa=M.rsa||{};var q=M.pki,ww=[6,4,2,4,2,4,6,2],vw={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"}]},Ew={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"}]},bw={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"}]},_w=M.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"}]}]},Aw={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"}]},Sw=function(t){var e;if(t.algorithm in q.oids)e=q.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()},Gh=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(W.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(W.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new W(M.util.bytesToHex(M.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(W.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};q.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=Yh(t,e,r)):(i=M.util.createBuffer(),i.putBytes(t));for(var s=new W(i.toHex(),16),a=Gh(s,e,n),c=a.toString(16),u=M.util.createBuffer(),l=o-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(M.util.hexToBytes(c)),u.getBytes()};q.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 W(M.util.createBuffer(t).toHex(),16);if(s.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Gh(s,e,r),c=a.toString(16),u=M.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(M.util.hexToBytes(c)),n!==!1?ts(u.getBytes(),e,r):u.getBytes()};q.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||M.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 W(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};q.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new W(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 W(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(W.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(Rw(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(ww[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(W.ONE).gcd(t.e).compareTo(W.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(W.ONE),t.q1=t.q.subtract(W.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(W.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:q.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:q.rsa.setPublicKey(t.n,t.e)}}s=+new Date,a+=s-o,o=s}return t.keys!==null};q.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),!M.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(qh("generateKeyPair"))return oc.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:q.privateKeyFromPem(u),publicKey:q.publicKeyFromPem(c)})});if(zh("generateKey")&&zh("exportKey"))return dt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:Hh(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return dt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=q.privateKeyFromAsn1(v.fromDer(M.util.createBuffer(a)));n(null,{privateKey:c,publicKey:q.setRsaPublicKey(c.n,c.e)})}});if($h("generateKey")&&$h("exportKey")){var i=dt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:Hh(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=dt.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,h=q.privateKeyFromAsn1(v.fromDer(M.util.createBuffer(f)));n(null,{privateKey:h,publicKey:q.setRsaPublicKey(h.n,h.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(qh("generateKeyPairSync")){var o=oc.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:q.privateKeyFromPem(o.privateKey),publicKey:q.publicKeyFromPem(o.publicKey)}}}var s=q.rsa.createKeyPairGenerationState(t,e,r);if(!n)return q.rsa.stepKeyPairGenerationState(s,0),s.keys;Iw(s,r,n)};q.setRsaPublicKey=q.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 Yh(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return M.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 q.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=ts(u,r,!0);var l=v.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),f={},h=[];if(!v.validate(l,Aw,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===M.oids.md2||d===M.oids.md5||d===M.oids.sha1||d===M.oids.sha224||d===M.oids.sha256||d===M.oids.sha384||d===M.oids.sha512||d===M.oids["sha512-224"]||d===M.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=d,p}if((d===M.oids.md2||d===M.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=ts(u,r,!0),c===u}});var a=q.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};q.setRsaPrivateKey=q.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=q.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:ts};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(p,d){return M.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:Sw},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var h=l.encode(u,c.n.bitLength());return q.rsa.encrypt(h,c,f)},c};q.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(q.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())])};q.privateKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,vw,e,r)&&(t=v.fromDer(M.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,Ew,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=M.util.createBuffer(e.privateKeyModulus).toHex(),o=M.util.createBuffer(e.privateKeyPublicExponent).toHex(),s=M.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=M.util.createBuffer(e.privateKeyPrime1).toHex(),c=M.util.createBuffer(e.privateKeyPrime2).toHex(),u=M.util.createBuffer(e.privateKeyExponent1).toHex(),l=M.util.createBuffer(e.privateKeyExponent2).toHex(),f=M.util.createBuffer(e.privateKeyCoefficient).toHex(),q.setRsaPrivateKey(new W(i,16),new W(o,16),new W(s,16),new W(a,16),new W(c,16),new W(u,16),new W(l,16),new W(f,16))};q.privateKeyToAsn1=q.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,Ut(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ut(t.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ut(t.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ut(t.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ut(t.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ut(t.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ut(t.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ut(t.qInv))])};q.publicKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,_w,e,r)){var n=v.derToOid(e.publicKeyOid);if(n!==q.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,bw,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=M.util.createBuffer(e.publicKeyModulus).toHex(),s=M.util.createBuffer(e.publicKeyExponent).toHex();return q.setRsaPublicKey(new W(o,16),new W(s,16))};q.publicKeyToAsn1=q.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(q.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[q.publicKeyToRSAPublicKey(t)])])};q.publicKeyToRSAPublicKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ut(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ut(t.e))])};function Yh(t,e,r){var n=M.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=M.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 ts(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),o=M.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 Iw(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){M.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(W.ONE).gcd(t.e).compareTo(W.ONE)!==0){t.p=null,i();return}if(t.q.subtract(W.ONE).gcd(t.e).compareTo(W.ONE)!==0){t.q=null,o(t.qBits,s);return}if(t.p1=t.p.subtract(W.ONE),t.q1=t.q.subtract(W.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(W.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:q.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:q.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Ut(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=M.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 Rw(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 qh(t){return M.util.isNodejs&&typeof oc[t]=="function"}function zh(t){return typeof dt.globalScope<"u"&&typeof dt.globalScope.crypto=="object"&&typeof dt.globalScope.crypto.subtle=="object"&&typeof dt.globalScope.crypto.subtle[t]=="function"}function $h(t){return typeof dt.globalScope<"u"&&typeof dt.globalScope.msCrypto=="object"&&typeof dt.globalScope.msCrypto.subtle=="object"&&typeof dt.globalScope.msCrypto.subtle[t]=="function"}function Hh(t){for(var e=M.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var e0=B((JS,jh)=>{var L=ne();Ho();Bi();oh();Fr();Ko();Xa();hh();Pi();Ah();rs();_e();typeof Qh>"u"&&(Qh=L.jsbn.BigInteger);var Qh,_=L.asn1,$=L.pki=L.pki||{};jh.exports=$.pbe=L.pbe=L.pbe||{};var zr=$.oids,Cw={name:"EncryptedPrivateKeyInfo",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:_.Class.UNIVERSAL,type:_.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:_.Class.UNIVERSAL,type:_.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Tw={name:"PBES2Algorithms",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:_.Class.UNIVERSAL,type:_.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:_.Class.UNIVERSAL,type:_.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:_.Class.UNIVERSAL,type:_.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:_.Class.UNIVERSAL,type:_.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:_.Class.UNIVERSAL,type:_.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:_.Class.UNIVERSAL,type:_.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:_.Class.UNIVERSAL,type:_.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Bw={name:"pkcs-12PbeParams",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:_.Class.UNIVERSAL,type:_.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:_.Class.UNIVERSAL,type:_.Type.INTEGER,constructed:!1,capture:"iterations"}]};$.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=L.random.getBytesSync(r.saltSize),i=r.count,o=_.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=zr["aes128-CBC"],f=L.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,l=zr["aes192-CBC"],f=L.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,l=zr["aes256-CBC"],f=L.aes.createEncryptionCipher;break;case"des":s=8,u=8,l=zr.desCBC,f=L.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=Jh(p),m=L.pkcs5.pbkdf2(e,n,i,s,d),y=L.random.getBytesSync(u),g=f(m);g.start(y),g.update(_.toDer(t)),g.finish(),c=g.output.getBytes();var x=Pw(n,o,s,p);a=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(zr.pkcs5PBES2).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(zr.pkcs5PBKDF2).getBytes()),x]),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(l).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){s=24;var b=new L.util.ByteBuffer(n),m=$.pbe.generatePkcs12Key(e,b,1,i,s),y=$.pbe.generatePkcs12Key(e,b,2,i,s),g=L.des.createEncryptionCipher(m);g.start(y),g.update(_.toDer(t)),g.finish(),c=g.output.getBytes(),a=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(zr["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,n),_.create(_.Class.UNIVERSAL,_.Type.INTEGER,!1,o.getBytes())])])}else{var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var T=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[a,_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,c)]);return T};$.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!_.validate(t,Cw,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=_.derToOid(n.encryptionOid),a=$.pbe.getCipher(s,n.encryptionParams,e),c=L.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=_.fromDer(a.output)),r};$.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:_.toDer(t).getBytes()};return L.pem.encode(r,{maxline:e})};$.encryptedPrivateKeyFromPem=function(t){var e=L.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 _.fromDer(e.body)};$.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=$.wrapRsaPrivateKey($.privateKeyToAsn1(t));return n=$.encryptPrivateKeyInfo(n,e,r),$.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=L.random.getBytesSync(8),a=L.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=L.random.getBytesSync(8),a=L.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=L.pbe.opensslDeriveBytes(e,o.substr(0,8),s),l=a(u);l.start(o),l.update(_.toDer($.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:L.util.bytesToHex(o).toUpperCase()},body:l.output.getBytes()};return L.pem.encode(f)};$.decryptRsaPrivateKey=function(t,e){var r=null,n=L.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=L.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=L.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=L.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=L.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=L.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(f){return L.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":o=8,s=function(f){return L.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":o=16,s=function(f){return L.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=L.util.hexToBytes(n.dekInfo.parameters),c=L.pbe.opensslDeriveBytes(e,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(L.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=$.decryptPrivateKeyInfo(_.fromDer(r),e):r=_.fromDer(r),r!==null&&(r=$.privateKeyFromAsn1(r)),r};$.pbe.generatePkcs12Key=function(t,e,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in L.md))throw new Error('"sha1" hash algorithm unavailable.');o=L.md.sha1.create()}var c=o.digestLength,u=o.blockLength,l=new L.util.ByteBuffer,f=new L.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 L.util.ByteBuffer;d.fillWithByte(r,u);var m=u*Math.ceil(p/u),y=new L.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(e.at(a%p));var g=u*Math.ceil(h/u),x=new L.util.ByteBuffer;for(a=0;a<g;a++)x.putByte(f.at(a%h));var b=y;b.putBuffer(x);for(var T=Math.ceil(i/c),R=1;R<=T;R++){var C=new L.util.ByteBuffer;C.putBytes(d.bytes()),C.putBytes(b.bytes());for(var F=0;F<n;F++)o.start(),o.update(C.getBytes()),C=o.digest();var V=new L.util.ByteBuffer;for(a=0;a<u;a++)V.putByte(C.at(a%c));var de=Math.ceil(p/u)+Math.ceil(h/u),gt=new L.util.ByteBuffer;for(s=0;s<de;s++){var rt=new L.util.ByteBuffer(b.getBytes(u)),Ye=511;for(a=V.length()-1;a>=0;a--)Ye=Ye>>8,Ye+=V.at(a)+rt.at(a),rt.setAt(a,Ye&255);gt.putBuffer(rt)}b=gt,l.putBuffer(C)}return l.truncate(l.length()-i),l};$.pbe.getCipher=function(t,e,r){switch(t){case $.oids.pkcs5PBES2:return $.pbe.getCipherForPBES2(t,e,r);case $.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case $.oids["pbewithSHAAnd40BitRC2-CBC"]:return $.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}};$.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!_.validate(e,Tw,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=_.derToOid(n.kdfOid),t!==$.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=_.derToOid(n.encOid),t!==$.oids["aes128-CBC"]&&t!==$.oids["aes192-CBC"]&&t!==$.oids["aes256-CBC"]&&t!==$.oids["des-EDE3-CBC"]&&t!==$.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=L.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch($.oids[t]){case"aes128-CBC":c=16,u=L.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=L.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=L.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=L.des.createDecryptionCipher;break;case"desCBC":c=8,u=L.des.createDecryptionCipher;break}var l=Zh(n.prfOid),f=L.pkcs5.pbkdf2(r,s,a,c,l),h=n.encIv,p=u(f);return p.start(h),p};$.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!_.validate(e,Bw,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=L.util.createBuffer(n.salt),a=L.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case $.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=L.des.startDecrypting;break;case $.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,y){var g=L.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=Zh(n.prfOid),h=$.pbe.generatePkcs12Key(r,s,1,a,c,f);f.start();var p=$.pbe.generatePkcs12Key(r,s,2,a,u,f);return l(h,p)};$.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in L.md))throw new Error('"md5" hash algorithm unavailable.');n=L.md.md5.create()}e===null&&(e="");for(var i=[Xh(n,t+e)],o=16,s=1;o<r;++s,o+=16)i.push(Xh(n,i[s-1]+t+e));return i.join("").substr(0,r)};function Xh(t,e){return t.start().update(e).digest().getBytes()}function Zh(t){var e;if(!t)e="hmacWithSHA1";else if(e=$.oids[_.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Jh(e)}function Jh(t){var e=L.md;switch(t){case"hmacWithSHA224":e=L.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 Pw(t,e,r,n){var i=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,t),_.create(_.Class.UNIVERSAL,_.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(_.create(_.Class.UNIVERSAL,_.Type.INTEGER,!1,L.util.hexToBytes(r.toString(16))),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer($.oids[n]).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.NULL,!1,"")])),i}});var J0=B((dR,Z0)=>{"use strict";Z0.exports=Nv;function Nv(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 rd=B(td=>{"use strict";var ds=td;ds.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 zn=new Array(64),ed=new Array(123);for(Et=0;Et<64;)ed[zn[Et]=Et<26?Et+65:Et<52?Et+71:Et<62?Et-4:Et-59|43]=Et++;var Et;ds.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++]=zn[u>>2],c=(u&3)<<4,a=1;break;case 1:o[s++]=zn[c|u>>4],c=(u&15)<<2,a=2;break;case 2:o[s++]=zn[c|u>>6],o[s++]=zn[u&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=zn[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 j0="invalid encoding";ds.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=ed[c])===void 0)throw Error(j0);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(j0);return n-i};ds.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var id=B((mR,nd)=>{"use strict";nd.exports=ps;function ps(){this._listeners={}}ps.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};ps.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};ps.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 fd=B((yR,ld)=>{"use strict";ld.exports=od(od);function od(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,sd),t.writeFloatBE=e.bind(null,ad);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,cd),t.readFloatBE=r.bind(null,ud)}(),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,sd,0,4),t.writeDoubleBE=e.bind(null,ad,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,cd,0,4),t.readDoubleBE=r.bind(null,ud,4,0)}(),t}function sd(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 ad(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 cd(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function ud(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var hd=B((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 pd=B(dd=>{"use strict";var Wc=dd;Wc.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};Wc.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))};Wc.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 yd=B((xR,md)=>{"use strict";md.exports=kv;function kv(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 xd=B((wR,gd)=>{"use strict";gd.exports=Me;var $i=Zr();function Me(t,e){this.lo=t>>>0,this.hi=e>>>0}var Xr=Me.zero=new Me(0,0);Xr.toNumber=function(){return 0};Xr.zzEncode=Xr.zzDecode=function(){return this};Xr.length=function(){return 1};var Ov=Me.zeroHash="\0\0\0\0\0\0\0\0";Me.fromNumber=function(e){if(e===0)return Xr;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 Me(n,i)};Me.from=function(e){if(typeof e=="number")return Me.fromNumber(e);if($i.isString(e))if($i.Long)e=$i.Long.fromString(e);else return Me.fromNumber(parseInt(e,10));return e.low||e.high?new Me(e.low>>>0,e.high>>>0):Xr};Me.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};Me.prototype.toLong=function(e){return $i.Long?new $i.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var br=String.prototype.charCodeAt;Me.fromHash=function(e){return e===Ov?Xr:new Me((br.call(e,0)|br.call(e,1)<<8|br.call(e,2)<<16|br.call(e,3)<<24)>>>0,(br.call(e,4)|br.call(e,5)<<8|br.call(e,6)<<16|br.call(e,7)<<24)>>>0)};Me.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)};Me.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};Me.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};Me.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 Zr=B(Qc=>{"use strict";var O=Qc;O.asPromise=J0();O.base64=rd();O.EventEmitter=id();O.float=fd();O.inquire=hd();O.utf8=pd();O.pool=yd();O.LongBits=xd();O.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);O.global=O.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||Qc;O.emptyArray=Object.freeze?Object.freeze([]):[];O.emptyObject=Object.freeze?Object.freeze({}):{};O.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};O.isString=function(e){return typeof e=="string"||e instanceof String};O.isObject=function(e){return e&&typeof e=="object"};O.isset=O.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};O.Buffer=function(){try{var t=O.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch{return null}}();O._Buffer_from=null;O._Buffer_allocUnsafe=null;O.newBuffer=function(e){return typeof e=="number"?O.Buffer?O._Buffer_allocUnsafe(e):new O.Array(e):O.Buffer?O._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};O.Array=typeof Uint8Array<"u"?Uint8Array:Array;O.Long=O.global.dcodeIO&&O.global.dcodeIO.Long||O.global.Long||O.inquire("long");O.key2Re=/^true|false|0|1$/;O.key32Re=/^-?(?:0|[1-9][0-9]*)$/;O.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;O.longToHash=function(e){return e?O.LongBits.from(e).toHash():O.LongBits.zeroHash};O.longFromHash=function(e,r){var n=O.LongBits.fromHash(e);return O.Long?O.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function wd(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}O.merge=wd;O.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function vd(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&&wd(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}O.newError=vd;O.ProtocolError=vd("ProtocolError");O.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]}};O.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};O.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};O._configure=function(){var t=O.Buffer;if(!t){O._Buffer_from=O._Buffer_allocUnsafe=null;return}O._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},O._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var Jc=B((ER,Sd)=>{"use strict";Sd.exports=Re;var qt=Zr(),Zc,_d=qt.LongBits,Mv=qt.utf8;function bt(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function Re(t){this.buf=t,this.pos=0,this.len=t.length}var Ed=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new Re(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new Re(e);throw Error("illegal buffer")},Ad=function(){return qt.Buffer?function(r){return(Re.create=function(i){return qt.Buffer.isBuffer(i)?new Zc(i):Ed(i)})(r)}:Ed};Re.create=Ad();Re.prototype._slice=qt.Array.prototype.subarray||qt.Array.prototype.slice;Re.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,bt(this,10);return e}}();Re.prototype.int32=function(){return this.uint32()|0};Re.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function Xc(){var t=new _d(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 bt(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 bt(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")}Re.prototype.bool=function(){return this.uint32()!==0};function ms(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}Re.prototype.fixed32=function(){if(this.pos+4>this.len)throw bt(this,4);return ms(this.buf,this.pos+=4)};Re.prototype.sfixed32=function(){if(this.pos+4>this.len)throw bt(this,4);return ms(this.buf,this.pos+=4)|0};function bd(){if(this.pos+8>this.len)throw bt(this,8);return new _d(ms(this.buf,this.pos+=4),ms(this.buf,this.pos+=4))}Re.prototype.float=function(){if(this.pos+4>this.len)throw bt(this,4);var e=qt.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};Re.prototype.double=function(){if(this.pos+8>this.len)throw bt(this,4);var e=qt.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};Re.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw bt(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};Re.prototype.string=function(){var e=this.bytes();return Mv.read(e,0,e.length)};Re.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw bt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw bt(this);while(this.buf[this.pos++]&128);return this};Re.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};Re._configure=function(t){Zc=t,Re.create=Ad(),Zc._configure();var e=qt.Long?"toLong":"toNumber";qt.merge(Re.prototype,{int64:function(){return Xc.call(this)[e](!1)},uint64:function(){return Xc.call(this)[e](!0)},sint64:function(){return Xc.call(this).zzDecode()[e](!1)},fixed64:function(){return bd.call(this)[e](!0)},sfixed64:function(){return bd.call(this)[e](!1)}})}});var Td=B((bR,Cd)=>{"use strict";Cd.exports=Jr;var Rd=Jc();(Jr.prototype=Object.create(Rd.prototype)).constructor=Jr;var Id=Zr();function Jr(t){Rd.call(this,t)}Jr._configure=function(){Id.Buffer&&(Jr.prototype._slice=Id.Buffer.prototype.slice)};Jr.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))};Jr._configure()});var ou=B((_R,Dd)=>{"use strict";Dd.exports=j;var pt=Zr(),jc,ys=pt.LongBits,Bd=pt.base64,Pd=pt.utf8;function Hi(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function tu(){}function Uv(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function j(){this.len=0,this.head=new Hi(tu,0,0),this.tail=this.head,this.states=null}var Ld=function(){return pt.Buffer?function(){return(j.create=function(){return new jc})()}:function(){return new j}};j.create=Ld();j.alloc=function(e){return new pt.Array(e)};pt.Array!==Array&&(j.alloc=pt.pool(j.alloc,pt.Array.prototype.subarray));j.prototype._push=function(e,r,n){return this.tail=this.tail.next=new Hi(e,r,n),this.len+=r,this};function ru(t,e,r){e[r]=t&255}function Fv(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function nu(t,e){this.len=t,this.next=void 0,this.val=e}nu.prototype=Object.create(Hi.prototype);nu.prototype.fn=Fv;j.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new nu((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};j.prototype.int32=function(e){return e<0?this._push(iu,10,ys.fromNumber(e)):this.uint32(e)};j.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function iu(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}j.prototype.uint64=function(e){var r=ys.from(e);return this._push(iu,r.length(),r)};j.prototype.int64=j.prototype.uint64;j.prototype.sint64=function(e){var r=ys.from(e).zzEncode();return this._push(iu,r.length(),r)};j.prototype.bool=function(e){return this._push(ru,1,e?1:0)};function eu(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}j.prototype.fixed32=function(e){return this._push(eu,4,e>>>0)};j.prototype.sfixed32=j.prototype.fixed32;j.prototype.fixed64=function(e){var r=ys.from(e);return this._push(eu,4,r.lo)._push(eu,4,r.hi)};j.prototype.sfixed64=j.prototype.fixed64;j.prototype.float=function(e){return this._push(pt.float.writeFloatLE,4,e)};j.prototype.double=function(e){return this._push(pt.float.writeDoubleLE,8,e)};var Kv=pt.Array.prototype.set?function(e,r,n){r.set(e,n)}:function(e,r,n){for(var i=0;i<e.length;++i)r[n+i]=e[i]};j.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(ru,1,0);if(pt.isString(e)){var n=j.alloc(r=Bd.length(e));Bd.decode(e,n,0),e=n}return this.uint32(r)._push(Kv,r,e)};j.prototype.string=function(e){var r=Pd.length(e);return r?this.uint32(r)._push(Pd.write,r,e):this._push(ru,1,0)};j.prototype.fork=function(){return this.states=new Uv(this),this.head=this.tail=new Hi(tu,0,0),this.len=0,this};j.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 Hi(tu,0,0),this.len=0),this};j.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};j.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};j._configure=function(t){jc=t,j.create=Ld(),jc._configure()}});var Od=B((AR,kd)=>{"use strict";kd.exports=zt;var Nd=ou();(zt.prototype=Object.create(Nd.prototype)).constructor=zt;var _r=Zr();function zt(){Nd.call(this)}zt._configure=function(){zt.alloc=_r._Buffer_allocUnsafe,zt.writeBytesBuffer=_r.Buffer&&_r.Buffer.prototype instanceof Uint8Array&&_r.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++]}};zt.prototype.bytes=function(e){_r.isString(e)&&(e=_r._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(zt.writeBytesBuffer,r,e),this};function Vv(t,e,r){t.length<40?_r.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}zt.prototype.string=function(e){var r=_r.Buffer.byteLength(e);return this.uint32(r),r&&this._push(Vv,r,e),this};zt._configure()});var Xd=B((AC,Qd)=>{var fe=ne();Fr();_e();var Yi=Qd.exports=fe.sha512=fe.sha512||{};fe.md.sha512=fe.md.algorithms.sha512=Yi;var Yd=fe.sha384=fe.sha512.sha384=fe.sha512.sha384||{};Yd.create=function(){return Yi.create("SHA-384")};fe.md.sha384=fe.md.algorithms.sha384=Yd;fe.sha512.sha256=fe.sha512.sha256||{create:function(){return Yi.create("SHA-512/256")}};fe.md["sha512/256"]=fe.md.algorithms["sha512/256"]=fe.sha512.sha256;fe.sha512.sha224=fe.sha512.sha224||{create:function(){return Yi.create("SHA-512/224")}};fe.md["sha512/224"]=fe.md.algorithms["sha512/224"]=fe.sha512.sha224;Yi.create=function(t){if(Wd||Xv(),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=fe.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=fe.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=fe.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),Gd(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=fe.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(du.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);Gd(m,i,c);var y=fe.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 du=null,Wd=!1,pu=null,en=null;function Xv(){du=String.fromCharCode(128),du+=fe.util.fillString(String.fromCharCode(0),128),pu=[[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]],Wd=!0}function Gd(t,e,r){for(var n,i,o,s,a,c,u,l,f,h,p,d,m,y,g,x,b,T,R,C,F,V,de,gt,rt,Ye,An,ko,Te,Je,U,Da,Na,ka,Oa,Cf=r.length();Cf>=128;){for(Te=0;Te<16;++Te)e[Te][0]=r.getInt32()>>>0,e[Te][1]=r.getInt32()>>>0;for(;Te<80;++Te)Da=e[Te-2],Je=Da[0],U=Da[1],n=((Je>>>19|U<<13)^(U>>>29|Je<<3)^Je>>>6)>>>0,i=((Je<<13|U>>>19)^(U<<3|Je>>>29)^(Je<<26|U>>>6))>>>0,ka=e[Te-15],Je=ka[0],U=ka[1],o=((Je>>>1|U<<31)^(Je>>>8|U<<24)^Je>>>7)>>>0,s=((Je<<31|U>>>1)^(Je<<24|U>>>8)^(Je<<25|U>>>7))>>>0,Na=e[Te-7],Oa=e[Te-16],U=i+Na[1]+s+Oa[1],e[Te][0]=n+Na[0]+o+Oa[0]+(U/4294967296>>>0)>>>0,e[Te][1]=U>>>0;for(m=t[0][0],y=t[0][1],g=t[1][0],x=t[1][1],b=t[2][0],T=t[2][1],R=t[3][0],C=t[3][1],F=t[4][0],V=t[4][1],de=t[5][0],gt=t[5][1],rt=t[6][0],Ye=t[6][1],An=t[7][0],ko=t[7][1],Te=0;Te<80;++Te)u=((F>>>14|V<<18)^(F>>>18|V<<14)^(V>>>9|F<<23))>>>0,l=((F<<18|V>>>14)^(F<<14|V>>>18)^(V<<23|F>>>9))>>>0,f=(rt^F&(de^rt))>>>0,h=(Ye^V&(gt^Ye))>>>0,a=((m>>>28|y<<4)^(y>>>2|m<<30)^(y>>>7|m<<25))>>>0,c=((m<<4|y>>>28)^(y<<30|m>>>2)^(y<<25|m>>>7))>>>0,p=(m&g|b&(m^g))>>>0,d=(y&x|T&(y^x))>>>0,U=ko+l+h+pu[Te][1]+e[Te][1],n=An+u+f+pu[Te][0]+e[Te][0]+(U/4294967296>>>0)>>>0,i=U>>>0,U=c+d,o=a+p+(U/4294967296>>>0)>>>0,s=U>>>0,An=rt,ko=Ye,rt=de,Ye=gt,de=F,gt=V,U=C+i,F=R+n+(U/4294967296>>>0)>>>0,V=U>>>0,R=b,C=T,b=g,T=x,g=m,x=y,U=i+s,m=n+o+(U/4294967296>>>0)>>>0,y=U>>>0;U=t[0][1]+y,t[0][0]=t[0][0]+m+(U/4294967296>>>0)>>>0,t[0][1]=U>>>0,U=t[1][1]+x,t[1][0]=t[1][0]+g+(U/4294967296>>>0)>>>0,t[1][1]=U>>>0,U=t[2][1]+T,t[2][0]=t[2][0]+b+(U/4294967296>>>0)>>>0,t[2][1]=U>>>0,U=t[3][1]+C,t[3][0]=t[3][0]+R+(U/4294967296>>>0)>>>0,t[3][1]=U>>>0,U=t[4][1]+V,t[4][0]=t[4][0]+F+(U/4294967296>>>0)>>>0,t[4][1]=U>>>0,U=t[5][1]+gt,t[5][0]=t[5][0]+de+(U/4294967296>>>0)>>>0,t[5][1]=U>>>0,U=t[6][1]+Ye,t[6][0]=t[6][0]+rt+(U/4294967296>>>0)>>>0,t[6][1]=U>>>0,U=t[7][1]+ko,t[7][0]=t[7][0]+An+(U/4294967296>>>0)>>>0,t[7][1]=U>>>0,Cf-=128}}});var Du=B((T4,Lp)=>{var ti=1e3,ri=ti*60,ni=ri*60,on=ni*24,BE=on*7,PE=on*365.25;Lp.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return LE(t);if(r==="number"&&isFinite(t))return e.long?NE(t):DE(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function LE(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*PE;case"weeks":case"week":case"w":return r*BE;case"days":case"day":case"d":return r*on;case"hours":case"hour":case"hrs":case"hr":case"h":return r*ni;case"minutes":case"minute":case"mins":case"min":case"m":return r*ri;case"seconds":case"second":case"secs":case"sec":case"s":return r*ti;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function DE(t){var e=Math.abs(t);return e>=on?Math.round(t/on)+"d":e>=ni?Math.round(t/ni)+"h":e>=ri?Math.round(t/ri)+"m":e>=ti?Math.round(t/ti)+"s":t+"ms"}function NE(t){var e=Math.abs(t);return e>=on?Cs(t,e,on,"day"):e>=ni?Cs(t,e,ni,"hour"):e>=ri?Cs(t,e,ri,"minute"):e>=ti?Cs(t,e,ti,"second"):t+" ms"}function Cs(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var Np=B((B4,Dp)=>{function kE(t){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=Du(),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),b=x-(f||x);g.diff=b,g.prev=f,g.curr=x,f=x,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let T=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(C,F)=>{if(C==="%%")return"%";T++;let V=r.formatters[F];if(typeof V=="function"){let de=y[T];C=V.call(g,de),y.splice(T,1),T--}return C}),r.formatArgs.call(g,y),(g.log||r.log).apply(g,y)}return m.namespace=l,m.useColors=r.useColors(),m.color=r.selectColor(l),m.extend=n,m.destroy=r.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(p!==r.namespaces&&(p=r.namespaces,d=r.enabled(l)),d),set:y=>{h=y}}),typeof r.init=="function"&&r.init(m),m}function n(l,f){let h=r(this.namespace+(typeof f>"u"?":":f)+l);return h.log=this.log,h}function i(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let f,h=(typeof l=="string"?l:"").split(/[\s,]+/),p=h.length;for(f=0;f<p;f++)h[f]&&(l=h[f].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.slice(1)+"$")):r.names.push(new RegExp("^"+l+"$")))}function o(){let l=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let f,h;for(f=0,h=r.skips.length;f<h;f++)if(r.skips[f].test(l))return!1;for(f=0,h=r.names.length;f<h;f++)if(r.names[f].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}Dp.exports=kE});var Nu=B((ot,Ts)=>{ot.formatArgs=ME;ot.save=UE;ot.load=FE;ot.useColors=OE;ot.storage=KE();ot.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`."))}})();ot.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 OE(){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 ME(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)}ot.log=console.debug||console.log||(()=>{});function UE(t){try{t?ot.storage.setItem("debug",t):ot.storage.removeItem("debug")}catch{}}function FE(){let t;try{t=ot.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function KE(){try{return localStorage}catch{}}Ts.exports=Np()(ot);var{formatters:VE}=Ts.exports;VE.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var $p=B((wT,zp)=>{"use strict";zp.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var Xp=B((Wp,Qp)=>{"use strict";var Ds=$p(),{hasOwnProperty:Gp}=Object.prototype,{propertyIsEnumerable:bb}=Object,si=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),_b=Wp,Hp={concatArrays:!1,ignoreUndefined:!1},Ns=t=>{let e=[];for(let r in t)Gp.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)bb.call(t,n)&&e.push(n)}return e};function ai(t){return Array.isArray(t)?Ab(t):Ds(t)?Sb(t):t}function Ab(t){let e=t.slice(0,0);return Ns(t).forEach(r=>{si(e,r,ai(t[r]))}),e}function Sb(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return Ns(t).forEach(r=>{si(e,r,ai(t[r]))}),e}var Yp=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?si(t,i,Yu(t[i],e[i],n)):si(t,i,ai(e[i])))}),t),Ib=(t,e,r)=>{let n=t.slice(0,0),i=0;return[t,e].forEach(o=>{let s=[];for(let a=0;a<o.length;a++)Gp.call(o,a)&&(s.push(String(a)),o===t?si(n,i++,o[a]):si(n,i++,ai(o[a])));n=Yp(n,o,Ns(o).filter(a=>!s.includes(a)),r)}),n};function Yu(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?Ib(t,e,r):!Ds(e)||!Ds(t)?ai(e):Yp(t,e,Ns(e),r)}Qp.exports=function(...t){let e=Yu(ai(Hp),this!==_b&&this||{},Hp),r={_:{}};for(let n of t)if(n!==void 0){if(!Ds(n))throw new TypeError("`"+n+"` is not an Option Object");r=Yu(r,{_:n},e)}return r._}});var jp=B((ET,Jp)=>{"use strict";function Rb(t){return t>=55296&&t<=56319}function Cb(t){return t>=56320&&t<=57343}Jp.exports=function(e,r,n){if(typeof r!="string")throw new Error("Input must be string");for(var i=r.length,o=0,s,a,c=0;c<i;c+=1){if(s=r.charCodeAt(c),a=r[c],Rb(s)&&Cb(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),o+=e(a),o===n)return r.slice(0,c+1);if(o>n)return r.slice(0,c-a.length+1)}return r}});var tm=B((bT,em)=>{"use strict";function Tb(t){return t>=55296&&t<=56319}function Bb(t){return t>=56320&&t<=57343}em.exports=function(e){if(typeof e!="string")throw new Error("Input must be string");for(var r=e.length,n=0,i=null,o=null,s=0;s<r;s++)i=e.charCodeAt(s),Bb(i)?o!=null&&Tb(o)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),o=i;return n}});var nm=B((_T,rm)=>{"use strict";var Pb=jp(),Lb=tm();rm.exports=Pb.bind(null,Lb)});var sm=B((AT,om)=>{"use strict";var Db=nm(),Nb=/[\/\?<>\\:\*\|"]/g,kb=/[\x00-\x1f\x80-\x9f]/g,Ob=/^\.+$/,Mb=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,Ub=/[\. ]+$/;function im(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(Nb,e).replace(kb,e).replace(Ob,e).replace(Mb,e).replace(Ub,e);return Db(r,255)}om.exports=function(t,e){var r=e&&e.replacement||"",n=im(t,r);return r===""?n:im(n,"")}});var xm=B((T8,gm)=>{gm.exports=Zu;var ym=128,Xb=127,Zb=~Xb,Jb=Math.pow(2,31);function Zu(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw Zu.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=Jb;)e[r++]=t&255|ym,t/=128;for(;t&Zb;)e[r++]=t&255|ym,t>>>=7;return e[r]=t|0,Zu.bytes=r-n+1,e}});var Em=B((B8,vm)=>{vm.exports=Ju;var jb=128,wm=127;function Ju(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a||i>49)throw Ju.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&wm)<<i:(s&wm)*Math.pow(2,i),i+=7}while(s>=jb);return Ju.bytes=o-n,r}});var _m=B((P8,bm)=>{var e_=Math.pow(2,7),t_=Math.pow(2,14),r_=Math.pow(2,21),n_=Math.pow(2,28),i_=Math.pow(2,35),o_=Math.pow(2,42),s_=Math.pow(2,49),a_=Math.pow(2,56),c_=Math.pow(2,63);bm.exports=function(t){return t<e_?1:t<t_?2:t<r_?3:t<n_?4:t<i_?5:t<o_?6:t<s_?7:t<a_?8:t<c_?9:10}});var ju=B((L8,Am)=>{Am.exports={encode:xm(),decode:Em(),encodingLength:_m()}});var $m=B((cB,dl)=>{"use strict";var P_=Object.prototype.hasOwnProperty,Ze="~";function mo(){}Object.create&&(mo.prototype=Object.create(null),new mo().__proto__||(Ze=!1));function L_(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function zm(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new L_(r,n||t,i),s=Ze?Ze+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 Vs(t,e){--t._eventsCount===0?t._events=new mo:delete t._events[e]}function He(){this._events=new mo,this._eventsCount=0}He.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)P_.call(r,n)&&e.push(Ze?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};He.prototype.listeners=function(e){var r=Ze?Ze+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};He.prototype.listenerCount=function(e){var r=Ze?Ze+e:e,n=this._events[r];return n?n.fn?1:n.length:0};He.prototype.emit=function(e,r,n,i,o,s){var a=Ze?Ze+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};He.prototype.on=function(e,r,n){return zm(this,e,r,n,!1)};He.prototype.once=function(e,r,n){return zm(this,e,r,n,!0)};He.prototype.removeListener=function(e,r,n,i){var o=Ze?Ze+e:e;if(!this._events[o])return this;if(!r)return Vs(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&Vs(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:Vs(this,o)}return this};He.prototype.removeAllListeners=function(e){var r;return e?(r=Ze?Ze+e:e,this._events[r]&&Vs(this,r)):(this._events=new mo,this._eventsCount=0),this};He.prototype.off=He.prototype.removeListener;He.prototype.addListener=He.prototype.on;He.prefixed=Ze;He.EventEmitter=He;typeof dl<"u"&&(dl.exports=He)});var kl=B((_P,ly)=>{"use strict";function uy(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function G_(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 uy(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),uy(new i,r)}}ly.exports=G_});var yy=B(_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 vy=B((wy,ca)=>{(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,b;for(g&&(g=g.substring(1),p=p.replace(/%.+$/,""));(y=p.indexOf(":",y+1))>=0;)m++;if(p.substr(0,2)==="::"&&m--,p.substr(-2,2)==="::"&&m--,m>d)return null;for(b=d-m,x=":";b--;)x+="0:";return p=p.replace("::",x),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),d=function(){let T=p.split(":"),R=[];for(let C=0;C<T.length;C++)R.push(parseInt(T[C],16));return R}(),{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,b;for(g=3;g>=0;g-=1)if(x=this.octets[g],x in y){if(b=y[x],m&&b!==0)return null;b!==8&&(m=!0),d+=b}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 b=0;b<g.length;b++)m=g[b],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 b=7;b>=0;b-=1)if(g=this.parts[b],g in y){if(x=y[g],m&&x!==0)return null;x!==16&&(m=!0),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(b){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${b})`)}},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,b;if(y=p.match(a.deprecatedTransitional))return this.parser(`::ffff:${y[1]}`);if(a.native.test(p))return c(p,8);if((y=p.match(a.transitional))&&(b=y[6]||"",d=c(y[1].slice(0,-1)+b,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,b;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(b=x[y],p.kind()===b[0].kind()&&p.match.apply(p,b))return g}return m},typeof ca<"u"&&ca.exports?ca.exports=h:t.ipaddr=h})(wy)});var Cy=B((JP,Ry)=>{"use strict";Ry.exports=Iy;var sA=Du(),kr=Iy.prototype,aA=new Date%1e9;function cA(){return(Math.random()*1e9>>>0)+aA++}function Iy(t){t=t||{},this.id=t.id||cA(),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)}kr.has=function(t){return t in this._lookup};kr.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};kr.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};kr.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};kr.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};kr.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=sA(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};kr.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};kr.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=B((wL,Oy)=>{Oy.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 Uy=B((EL,My)=>{My.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 Ky=B((bL,Fy)=>{var hA=Uy();Fy.exports=hA});var lt=B((AL,Vy)=>{Vy.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 xi=B((IL,zy)=>{var $l=Ao(),dA=Ky(),qy=lt();zy.exports=class extends $l{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed||e.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration||e.inmemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new dA}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 $l?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 $l))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 qy(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 qy(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 Gy=B((RL,Hy)=>{var pA=xi(),mA=lt(),$y="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} ",Hl=class extends pA{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:$y})}_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 mA;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($y,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)})})}};Hy.exports=Hl});var Qy=B((CL,Wy)=>{var yA=xi(),gA=lt();function Yy(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 Gl=class t extends yA{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=Yy(this.client)}):(this._initCollection(),this._driverVersion=Yy(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 gA,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)}};Wy.exports=Gl});var Zy=B((TL,Xy)=>{var xA=xi(),wA=lt(),Yl=class extends xA{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 wA,[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
|
-
expire = ?;`,
|
|
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);`,
|
|
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"))}};Xy.exports=Yl});var jy=B((BL,Jy)=>{var vA=xi(),EA=lt(),Wl=class extends vA{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 EA,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"))}};l1.exports=Kf});var h1=B(()=>{});var p1=B((qD,d1)=>{d1.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 y1=B(($D,m1)=>{var YI=p1(),Vf=gt();m1.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 Vf(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 YI(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 Vf(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 Vf(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 zf=B((HD,x1)=>{var WI=Ho(),QI=y1(),g1=gt(),qf=class extends WI{constructor(e={}){super(e),this._memoryStorage=new QI}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 g1(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 g1(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)))}};x1.exports=qf});var A1=B((GD,S1)=>{var w1=h1(),XI=rn(),ZI=Ho(),v1=zf(),jI=gt(),St="rate_limiter_flexible",Ui=null,b1=function(t,e,r,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},t.send({channel:St,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},E1=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&E1.call(this,t)},30)},Oi=function(t,e,r,n,i){let o={channel:St,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(o):E1.call(this,o)},_1=function(t,e){if(!e||e.channel!==St||typeof this._rateLimiters[e.keyPrefix]>"u")return!1;let r;switch(e.func){case"consume":r=this._rateLimiters[e.keyPrefix].consume(e.data.key,e.data.arg,e.data.opts);break;case"penalty":r=this._rateLimiters[e.keyPrefix].penalty(e.data.key,e.data.arg,e.data.opts);break;case"reward":r=this._rateLimiters[e.keyPrefix].reward(e.data.key,e.data.arg,e.data.opts);break;case"block":r=this._rateLimiters[e.keyPrefix].block(e.data.key,e.data.arg,e.data.opts);break;case"get":r=this._rateLimiters[e.keyPrefix].get(e.data.key,e.data.opts);break;case"delete":r=this._rateLimiters[e.keyPrefix].delete(e.data.key,e.data.opts);break;default:return!1}r&&r.then(n=>{b1(t,e,"resolve",n)}).catch(n=>{b1(t,e,"reject",n)})},JI=function(t){if(!t||t.channel!==St||t.keyPrefix!==this.keyPrefix)return!1;if(this._promises[t.promiseId]){clearTimeout(this._promises[t.promiseId].timeoutId);let e;switch(t.data===null||t.data===!0||t.data===!1?e=t.data:e=new jI(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]}},eR=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Mi=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=XI.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},$f=class{constructor(){if(Ui)return Ui;this._rateLimiters={},w1.setMaxListeners(0),w1.on("message",(e,r)=>{r&&r.channel===St&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new v1(r.opts)),e.send({channel:St,type:"init",keyPrefix:r.opts.keyPrefix})):_1.call(this,e,r)}),Ui=this}},Hf=class{constructor(e){if(Ui)return Ui;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let o=i.raw;if(o&&o.channel===St&&o.type==="init")typeof this._rateLimiters[o.opts.keyPrefix]>"u"&&(this._rateLimiters[o.opts.keyPrefix]=new v1(o.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:St,channel:St,type:"init",keyPrefix:o.opts.keyPrefix},(s,a)=>{s&&console.log(s,a)});else{let s={send:a=>{let c=a;c.topic=St,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};_1.call(this,s,o)}})}),Ui=this}},Gf=class extends ZI{get timeoutMs(){return this._timeoutMs}set timeoutMs(e){this._timeoutMs=typeof e>"u"?5e3:Math.abs(parseInt(e))}constructor(e={}){super(e),process.setMaxListeners(0),this.timeoutMs=e.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===St&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:JI.call(this,r)}),process.send({channel:St,type:"init",opts:eR.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"consume",s,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"penalty",s,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"reward",s,e,r,n)})}block(e,r,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"block",s,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let o=Mi.call(this,n,i);Oi.call(this,"get",o,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let o=Mi.call(this,n,i);Oi.call(this,"delete",o,e,r)})}};S1.exports={RateLimiterClusterMaster:$f,RateLimiterClusterMasterPM2:Hf,RateLimiterCluster:Gf}});var R1=B((YD,I1)=>{var tR=ki(),rR=gt(),Yf=class extends tR{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new rR;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,(d,p)=>{if(d||!p)if(typeof o.attemptNumber>"u"||o.attemptNumber<3){let h=Object.assign({},o);h.attemptNumber=h.attemptNumber?h.attemptNumber+1:1,this._upsert(e,r,n,i,h).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 h={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(h)})}):this.client.get(`${e}_expire`,(d,p)=>{if(d)a(d);else{let h=p===!1?0:p,m={consumedPoints:f,msBeforeNext:h>=0?Math.max(h-c,0):-1};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)})})})}};I1.exports=Yf});var B1=B((QD,T1)=>{var C1=gt();T1.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 C1(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new C1(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 P1=B((ZD,L1)=>{var nR=Ho();L1.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 nR))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 N1=B((JD,D1)=>{D1.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 U1=B((tN,M1)=>{var k1=N1(),O1=4294967295,Wf="limiter";M1.exports=class{constructor(e,r={maxQueueSize:O1}){this._queueLimiters={KEY_DEFAULT:new Ua(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=Wf){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=Wf){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:O1,key:Wf}){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 k1(`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 k1(`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 K1=B((nN,F1)=>{var Qf=gt();F1.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return new Qf(e.remainingPoints,Math.min(e.msBeforeNext,r.msBeforeNext),e.consumedPoints,e.isFirstInDuration)}consume(e,r=1,n={}){return this._rateLimiter.consume(e,r,n).catch(i=>i instanceof Qf?this._burstLimiter.consume(e,r,n).then(o=>Promise.resolve(this._combineRes(i,o))).catch(o=>o instanceof Qf?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 q1=B((iN,V1)=>{var iR=i1(),oR=a1(),sR=u1(),aR=f1(),{RateLimiterClusterMaster:cR,RateLimiterClusterMasterPM2:uR,RateLimiterCluster:lR}=A1(),fR=zf(),hR=R1(),dR=B1(),pR=P1(),mR=U1(),yR=K1(),gR=gt();V1.exports={RateLimiterRedis:iR,RateLimiterMongo:oR,RateLimiterMySQL:sR,RateLimiterPostgres:aR,RateLimiterMemory:fR,RateLimiterMemcache:hR,RateLimiterClusterMaster:cR,RateLimiterClusterMasterPM2:uR,RateLimiterCluster:lR,RLWrapperBlackAndWhite:dR,RateLimiterUnion:pR,RateLimiterQueue:mR,BurstyRateLimiter:yR,RateLimiterRes:gR}});var XR={};$(XR,{createLibp2p:()=>QR});var sx=z(Hi(),1);var BT=z(Qi(),1),LT=z(G0(),1);var Ss=class extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=Ss.code,this.type=Ss.type}},Cr=Ss;wt(Cr,"code","ABORT_ERR"),wt(Cr,"type","aborted");var v=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Ys=z(ae(),1);function an(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var Mc={};$(Mc,{identity:()=>X2});function H2(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(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var m=0,y=0,g=0,x=h.length;g!==x&&h[g]===0;)g++,m++;for(var E=(x-g)*l+1>>>0,T=new Uint8Array(E);g!==x;){for(var I=h[g],C=0,O=E-1;(I!==0||C<y)&&O!==-1;O--,C++)I+=256*T[O]>>>0,T[O]=I%a>>>0,I=I/a>>>0;if(I!==0)throw new Error("Non-zero carry");y=C,g++}for(var U=E-y;U!==E&&T[U]===0;)U++;for(var se=c.repeat(m);U<E;++U)se+=t.charAt(T[U]);return se}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var y=0,g=0;h[m]===c;)y++,m++;for(var x=(h.length-m)*u+1>>>0,E=new Uint8Array(x);h[m];){var T=r[h.charCodeAt(m)];if(T===255)return;for(var I=0,C=x-1;(T!==0||I<g)&&C!==-1;C--,I++)T+=a*E[C]>>>0,E[C]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");g=I,m++}if(h[m]!==" "){for(var O=x-g;O!==x&&E[O]===0;)O++;for(var U=new Uint8Array(y+(x-O)),se=y;O!==x;)U[se++]=E[O++];return U}}}function p(h){var m=d(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:d,decode:p}}var G2=H2,Y2=G2,Y0=Y2;var C4=new Uint8Array(0);var W0=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},ur=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var Q0=t=>new TextEncoder().encode(t),X0=t=>new TextDecoder().decode(t);var Dc=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")}},Nc=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return j0(this,e)}},kc=class{constructor(e){this.decoders=e}or(e){return j0(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},j0=(t,e)=>new kc({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Oc=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Dc(e,r,n),this.decoder=new Nc(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},zn=({name:t,prefix:e,encode:r,decode:n})=>new Oc(t,e,r,n),Tr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=Y0(r,e);return zn({prefix:t,name:e,encode:n,decode:o=>ur(i(o))})},W2=(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},Q2=(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},Ae=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>zn({prefix:e,name:t,encode(i){return Q2(i,n,r)},decode(i){return W2(i,n,r,t)}});var X2=zn({prefix:"\0",name:"identity",encode:t=>X0(t),decode:t=>Q0(t)});var Uc={};$(Uc,{base2:()=>Z2});var Z2=Ae({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Fc={};$(Fc,{base8:()=>j2});var j2=Ae({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Kc={};$(Kc,{base10:()=>J2});var J2=Tr({prefix:"9",name:"base10",alphabet:"0123456789"});var Vc={};$(Vc,{base16:()=>eb,base16upper:()=>tb});var eb=Ae({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),tb=Ae({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var qc={};$(qc,{base32:()=>$n,base32hex:()=>ob,base32hexpad:()=>ab,base32hexpadupper:()=>cb,base32hexupper:()=>sb,base32pad:()=>nb,base32padupper:()=>ib,base32upper:()=>rb,base32z:()=>ub});var $n=Ae({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),rb=Ae({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),nb=Ae({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ib=Ae({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ob=Ae({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),sb=Ae({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ab=Ae({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),cb=Ae({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),ub=Ae({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var zc={};$(zc,{base36:()=>lb,base36upper:()=>fb});var lb=Tr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),fb=Tr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var $c={};$($c,{base58btc:()=>Yt,base58flickr:()=>hb});var Yt=Tr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),hb=Tr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Hc={};$(Hc,{base64:()=>db,base64pad:()=>pb,base64url:()=>mb,base64urlpad:()=>yb});var db=Ae({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),pb=Ae({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),mb=Ae({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),yb=Ae({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Gc={};$(Gc,{base256emoji:()=>vb});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}"),gb=J0.reduce((t,e,r)=>(t[r]=e,t),[]),xb=J0.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function wb(t){return t.reduce((e,r)=>(e+=gb[r],e),"")}function bb(t){let e=[];for(let r of t){let n=xb[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var vb=zn({prefix:"\u{1F680}",name:"base256emoji",encode:wb,decode:bb});var Xc={};$(Xc,{sha256:()=>Kb,sha512:()=>Vb});var Eb=rd,ed=128,_b=127,Sb=~_b,Ab=Math.pow(2,31);function rd(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Ab;)e[r++]=t&255|ed,t/=128;for(;t&Sb;)e[r++]=t&255|ed,t>>>=7;return e[r]=t|0,rd.bytes=r-n+1,e}var Ib=Yc,Rb=128,td=127;function Yc(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Yc.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&td)<<i:(s&td)*Math.pow(2,i),i+=7}while(s>=Rb);return Yc.bytes=o-n,r}var Cb=Math.pow(2,7),Tb=Math.pow(2,14),Bb=Math.pow(2,21),Lb=Math.pow(2,28),Pb=Math.pow(2,35),Db=Math.pow(2,42),Nb=Math.pow(2,49),kb=Math.pow(2,56),Ob=Math.pow(2,63),Mb=function(t){return t<Cb?1:t<Tb?2:t<Bb?3:t<Lb?4:t<Pb?5:t<Db?6:t<Nb?7:t<kb?8:t<Ob?9:10},Ub={encode:Eb,decode:Ib,encodingLength:Mb},Fb=Ub,ji=Fb;var Ji=(t,e=0)=>[ji.decode(t,e),ji.decode.bytes],Hn=(t,e,r=0)=>(ji.encode(t,e,r),e),Gn=t=>ji.encodingLength(t);var cn=(t,e)=>{let r=e.byteLength,n=Gn(t),i=n+Gn(r),o=new Uint8Array(i+r);return Hn(t,o,0),Hn(r,o,n),o.set(e,i),new Yn(t,r,e,o)},nd=t=>{let e=ur(t),[r,n]=Ji(e),[i,o]=Ji(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Yn(r,i,s,e)},id=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&W0(t.bytes,r.bytes)}},Yn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Qc=({name:t,code:e,encode:r})=>new Wc(t,e,r),Wc=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?cn(this.code,r):r.then(n=>cn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var sd=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Kb=Qc({name:"sha2-256",code:18,encode:sd("SHA-256")}),Vb=Qc({name:"sha2-512",code:19,encode:sd("SHA-512")});var Zc={};$(Zc,{identity:()=>$b});var ad=0,qb="identity",cd=ur,zb=t=>cn(ad,cd(t)),$b={code:ad,name:qb,encode:cd,digest:zb};var Q4=new TextEncoder,X4=new TextDecoder;var ud=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Wb(r,jc(t),e||Yt.encoder);default:return Qb(r,jc(t),e||$n.encoder)}};var ld=new WeakMap,jc=t=>{let e=ld.get(t);if(e==null){let r=new Map;return ld.set(t,r),r}return e},Oe=class{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!==to)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Xb)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return Oe.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=cn(e,r);return Oe.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 Oe.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&id(e.multihash,n.multihash)}toString(e){return ud(this,e)}toJSON(){return{"/":ud(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 Oe)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new Oe(n,i,o,s||fd(n,i,o.bytes))}else if(r[Zb]===!0){let{version:n,multihash:i,code:o}=r,s=nd(i);return Oe.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!==to)throw new Error(`Version 0 CID must use dag-pb (code: ${to}) block encoding`);return new Oe(e,r,n,n.bytes)}case 1:{let i=fd(e,r,n.bytes);return new Oe(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return Oe.create(0,to,e)}static createV1(e,r){return Oe.create(1,e,r)}static decode(e){let[r,n]=Oe.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=Oe.inspectBytes(e),n=r.size-r.multihashSize,i=ur(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Yn(r.multihashCode,r.digestSize,o,i);return[r.version===0?Oe.createV0(s):Oe.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,d]=Ji(e.subarray(r));return r+=d,f},i=n(),o=to;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]=Yb(e,r),o=Oe.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return jc(o).set(n,e),o}},Yb=(t,e)=>{switch(t[0]){case"Q":{let r=e||Yt;return[Yt.prefix,r.decode(`${Yt.prefix}${t}`)]}case Yt.prefix:{let r=e||Yt;return[Yt.prefix,r.decode(t)]}case $n.prefix:{let r=e||$n;return[$n.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)]}}},Wb=(t,e,r)=>{let{prefix:n}=r;if(n!==Yt.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},Qb=(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},to=112,Xb=18,fd=(t,e,r)=>{let n=Gn(t),i=n+Gn(e),o=new Uint8Array(i+r.byteLength);return Hn(t,o,0),Hn(e,o,n),o.set(r,i),o},Zb=Symbol.for("@ipld/js-cid/CID");var Jc={...Mc,...Uc,...Fc,...Kc,...Vc,...qc,...zc,...$c,...Hc,...Gc},sC={...Xc,...Zc};function lr(t=0){return globalThis.Buffer?.alloc!=null?an(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function Ct(t=0){return globalThis.Buffer?.allocUnsafe!=null?an(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function dd(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var hd=dd("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),eu=dd("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=Ct(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),jb={utf8:hd,"utf-8":hd,hex:Jc.base16,latin1:eu,ascii:eu,binary:eu,...Jc},Is=jb;function V(t,e="utf8"){let r=Is[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?an(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var Fu={};$(Fu,{Ed25519PrivateKey:()=>pn,Ed25519PublicKey:()=>fo,generateKeyPair:()=>sE,generateKeyPairFromSeed:()=>Dp,unmarshalEd25519PrivateKey:()=>iE,unmarshalEd25519PublicKey:()=>oE});var ou={};$(ou,{base58btc:()=>$e,base58flickr:()=>iv});function Jb(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(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var m=0,y=0,g=0,x=h.length;g!==x&&h[g]===0;)g++,m++;for(var E=(x-g)*l+1>>>0,T=new Uint8Array(E);g!==x;){for(var I=h[g],C=0,O=E-1;(I!==0||C<y)&&O!==-1;O--,C++)I+=256*T[O]>>>0,T[O]=I%a>>>0,I=I/a>>>0;if(I!==0)throw new Error("Non-zero carry");y=C,g++}for(var U=E-y;U!==E&&T[U]===0;)U++;for(var se=c.repeat(m);U<E;++U)se+=t.charAt(T[U]);return se}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var y=0,g=0;h[m]===c;)y++,m++;for(var x=(h.length-m)*u+1>>>0,E=new Uint8Array(x);h[m];){var T=r[h.charCodeAt(m)];if(T===255)return;for(var I=0,C=x-1;(T!==0||I<g)&&C!==-1;C--,I++)T+=a*E[C]>>>0,E[C]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");g=I,m++}if(h[m]!==" "){for(var O=x-g;O!==x&&E[O]===0;)O++;for(var U=new Uint8Array(y+(x-O)),se=y;O!==x;)U[se++]=E[O++];return U}}}function p(h){var m=d(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:d,decode:p}}var ev=Jb,tv=ev,pd=tv;var gC=new Uint8Array(0);var md=(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 yd=t=>new TextEncoder().encode(t),gd=t=>new TextDecoder().decode(t);var tu=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},ru=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 wd(this,e)}},nu=class{constructor(e){this.decoders=e}or(e){return wd(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`)}},wd=(t,e)=>new nu({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),iu=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new tu(e,r,n),this.decoder=new ru(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Wn=({name:t,prefix:e,encode:r,decode:n})=>new iu(t,e,r,n),Br=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=pd(r,e);return Wn({prefix:t,name:e,encode:n,decode:o=>fr(i(o))})},rv=(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},nv=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Ie=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Wn({prefix:e,name:t,encode(i){return nv(i,n,r)},decode(i){return rv(i,n,r,t)}});var $e=Br({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),iv=Br({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var au={};$(au,{identity:()=>Lr});var ov=Ed,bd=128,sv=127,av=~sv,cv=Math.pow(2,31);function Ed(t,e,r){e=e||[],r=r||0;for(var n=r;t>=cv;)e[r++]=t&255|bd,t/=128;for(;t&av;)e[r++]=t&255|bd,t>>>=7;return e[r]=t|0,Ed.bytes=r-n+1,e}var uv=su,lv=128,vd=127;function su(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw su.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&vd)<<i:(s&vd)*Math.pow(2,i),i+=7}while(s>=lv);return su.bytes=o-n,r}var fv=Math.pow(2,7),hv=Math.pow(2,14),dv=Math.pow(2,21),pv=Math.pow(2,28),mv=Math.pow(2,35),yv=Math.pow(2,42),gv=Math.pow(2,49),xv=Math.pow(2,56),wv=Math.pow(2,63),bv=function(t){return t<fv?1:t<hv?2:t<dv?3:t<pv?4:t<mv?5:t<yv?6:t<gv?7:t<xv?8:t<wv?9:10},vv={encode:ov,decode:uv,encodingLength:bv},Ev=vv,ro=Ev;var no=(t,e=0)=>[ro.decode(t,e),ro.decode.bytes],Qn=(t,e,r=0)=>(ro.encode(t,e,r),e),Xn=t=>ro.encodingLength(t);var Wt=(t,e)=>{let r=e.byteLength,n=Xn(t),i=n+Xn(r),o=new Uint8Array(i+r);return Qn(t,o,0),Qn(r,o,n),o.set(e,i),new Zn(t,r,e,o)},io=t=>{let e=fr(t),[r,n]=no(e),[i,o]=no(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Zn(r,i,s,e)},_d=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&md(t.bytes,r.bytes)}},Zn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Sd=0,_v="identity",Ad=fr,Sv=t=>Wt(Sd,Ad(t)),Lr={code:Sd,name:_v,encode:Ad,digest:Sv};var lu={};$(lu,{sha256:()=>He,sha512:()=>Av});var uu=({name:t,code:e,encode:r})=>new cu(t,e,r),cu=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?Wt(this.code,r):r.then(n=>Wt(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Rd=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),He=uu({name:"sha2-256",code:18,encode:Rd("SHA-256")}),Av=uu({name:"sha2-512",code:19,encode:Rd("SHA-512")});function Ee(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var Iv=z(rn(),1);var qe=BigInt(0),Z=BigInt(1),Nr=BigInt(2),Rv=BigInt(8),Cd=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),pe=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:Cd,n:Cd,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var Dd=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),oo=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),CC=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),Cv=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Tv=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Bv=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Lv=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Q=class{constructor(e,r,n,i){this.x=e,this.y=r,this.z=n,this.t=i}static fromAffine(e){if(!(e instanceof xe))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(xe.ZERO)?Q.ZERO:new Q(e.x,e.y,Z,A(e.x*e.y))}static toAffineBatch(e){let r=Nv(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return this.toAffineBatch(e).map(this.fromAffine)}equals(e){Bd(e);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=e,c=A(r*a),u=A(o*i),l=A(n*a),f=A(s*i);return c===u&&l===f}negate(){return new Q(A(-this.x),this.y,this.z,A(-this.t))}double(){let{x:e,y:r,z:n}=this,{a:i}=pe,o=A(e*e),s=A(r*r),a=A(Nr*A(n*n)),c=A(i*o),u=e+r,l=A(A(u*u)-o-s),f=c+s,d=f-a,p=c-s,h=A(l*d),m=A(f*p),y=A(l*p),g=A(d*f);return new Q(h,m,g,y)}add(e){Bd(e);let{x:r,y:n,z:i,t:o}=this,{x:s,y:a,z:c,t:u}=e,l=A((n-r)*(a+s)),f=A((n+r)*(a-s)),d=A(f-l);if(d===qe)return this.double();let p=A(i*Nr*u),h=A(o*Nr*c),m=h+p,y=f+l,g=h-p,x=A(m*d),E=A(y*g),T=A(m*g),I=A(d*y);return new Q(x,E,I,T)}subtract(e){return this.add(e.negate())}precomputeWindow(e){let r=1+256/e,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(e-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(e,r){!r&&this.equals(Q.BASE)&&(r=xe.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&mu.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Q.normalizeZ(i),mu.set(r,i)));let o=Q.ZERO,s=Q.BASE,a=1+256/n,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let d=0;d<a;d++){let p=d*c,h=Number(e&u);e>>=f,h>c&&(h-=l,e+=Z);let m=p,y=p+Math.abs(h)-1,g=d%2!==0,x=h<0;h===0?s=s.add(Td(g,i[m])):o=o.add(Td(x,i[y]))}return Q.normalizeZ([o,s])[0]}multiply(e,r){return this.wNAF(Ts(e,pe.l),r)}multiplyUnsafe(e){let r=Ts(e,pe.l,!1),n=Q.BASE,i=Q.ZERO;if(r===qe)return i;if(this.equals(i)||r===Z)return this;if(this.equals(n))return this.wNAF(r);let o=i,s=this;for(;r>qe;)r&Z&&(o=o.add(s)),s=s.double(),r>>=Z;return o}isSmallOrder(){return this.multiplyUnsafe(pe.h).equals(Q.ZERO)}isTorsionFree(){let e=this.multiplyUnsafe(pe.l/Nr).double();return pe.l%Nr&&(e=e.add(this)),e.equals(Q.ZERO)}toAffine(e){let{x:r,y:n,z:i}=this,o=this.equals(Q.ZERO);e==null&&(e=o?Rv:Bs(i));let s=A(r*e),a=A(n*e),c=A(i*e);if(o)return xe.ZERO;if(c!==Z)throw new Error("invZ was invalid");return new xe(s,a)}fromRistrettoBytes(){hu()}toRistrettoBytes(){hu()}fromRistrettoHash(){hu()}};Q.BASE=new Q(pe.Gx,pe.Gy,Z,A(pe.Gx*pe.Gy));Q.ZERO=new Q(qe,Z,Z,qe);function Td(t,e){let r=e.negate();return t?r:e}function Bd(t){if(!(t instanceof Q))throw new TypeError("ExtendedPoint expected")}function fu(t){if(!(t instanceof ot))throw new TypeError("RistrettoPoint expected")}function hu(){throw new Error("Legacy method: switch to RistrettoPoint")}var ot=class{constructor(e){this.ep=e}static calcElligatorRistrettoMap(e){let{d:r}=pe,n=A(oo*e*e),i=A((n+Z)*Bv),o=BigInt(-1),s=A((o-r*n)*A(n+r)),{isValid:a,value:c}=gu(i,s),u=A(c*e);Dr(u)||(u=A(-u)),a||(c=u),a||(o=n);let l=A(o*(n-Z)*Lv-s),f=c*c,d=A((c+c)*s),p=A(l*Cv),h=A(Z-f),m=A(Z+f);return new Q(A(d*m),A(h*p),A(p*m),A(d*h))}static hashToCurve(e){e=kr(e,64);let r=du(e.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=du(e.slice(32,64)),o=this.calcElligatorRistrettoMap(i);return new ot(n.add(o))}static fromHex(e){e=kr(e,32);let{a:r,d:n}=pe,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",o=du(e);if(!Ov(so(o),e)||Dr(o))throw new Error(i);let s=A(o*o),a=A(Z+r*s),c=A(Z-r*s),u=A(a*a),l=A(c*c),f=A(r*n*u-l),{isValid:d,value:p}=Pd(A(f*l)),h=A(p*c),m=A(p*h*f),y=A((o+o)*h);Dr(y)&&(y=A(-y));let g=A(a*m),x=A(y*g);if(!d||Dr(x)||g===qe)throw new Error(i);return new ot(new Q(y,g,Z,x))}toRawBytes(){let{x:e,y:r,z:n,t:i}=this.ep,o=A(A(n+r)*A(n-r)),s=A(e*r),a=A(s*s),{value:c}=Pd(A(o*a)),u=A(c*o),l=A(c*s),f=A(u*l*i),d;if(Dr(i*f)){let h=A(r*oo),m=A(e*oo);e=h,r=m,d=A(u*Tv)}else d=l;Dr(e*f)&&(r=A(-r));let p=A((n-r)*d);return Dr(p)&&(p=A(-p)),so(p)}toHex(){return ao(this.toRawBytes())}toString(){return this.toHex()}equals(e){fu(e);let r=this.ep,n=e.ep,i=A(r.x*n.y)===A(r.y*n.x),o=A(r.y*n.y)===A(r.x*n.x);return i||o}add(e){return fu(e),new ot(this.ep.add(e.ep))}subtract(e){return fu(e),new ot(this.ep.subtract(e.ep))}multiply(e){return new ot(this.ep.multiply(e))}multiplyUnsafe(e){return new ot(this.ep.multiplyUnsafe(e))}};ot.BASE=new ot(Q.BASE);ot.ZERO=new ot(Q.ZERO);var mu=new WeakMap,xe=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,mu.delete(this)}static fromHex(e,r=!0){let{d:n,P:i}=pe;e=kr(e,32);let o=e.slice();o[31]=e[31]&-129;let s=co(o);if(r&&s>=i)throw new Error("Expected 0 < hex < P");if(!r&&s>=Dd)throw new Error("Expected 0 < hex < 2**256");let a=A(s*s),c=A(a-Z),u=A(n*a+Z),{isValid:l,value:f}=gu(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let d=(f&Z)===Z;return(e[31]&128)!==0!==d&&(f=A(-f)),new xe(f,s)}static async fromPrivateKey(e){return(await Ls(e)).point}toRawBytes(){let e=so(this.y);return e[31]|=this.x&Z?128:0,e}toHex(){return ao(this.toRawBytes())}toX25519(){let{y:e}=this,r=A((Z+e)*Bs(Z-e));return so(r)}isTorsionFree(){return Q.fromAffine(this).isTorsionFree()}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new xe(A(-this.x),this.y)}add(e){return Q.fromAffine(this).add(Q.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Q.fromAffine(this).multiply(e,this).toAffine()}};xe.BASE=new xe(pe.Gx,pe.Gy);xe.ZERO=new xe(qe,Z);var un=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromHex(e){let r=kr(e,64),n=xe.fromHex(r.slice(0,32),!1),i=co(r.slice(32,64));return new un(n,i)}assertValidity(){let{r:e,s:r}=this;if(!(e instanceof xe))throw new Error("Expected Point instance");return Ts(r,pe.l,!1),this}toRawBytes(){let e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(so(this.s),32),e}toHex(){return ao(this.toRawBytes())}};function Ld(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let o=t[n];r.set(o,i),i+=o.length}return r}var Pv=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function ao(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=Pv[t[r]];return e}function yu(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[r]=o}return e}function Nd(t){let r=t.toString(16).padStart(64,"0");return yu(r)}function so(t){return Nd(t).reverse()}function Dr(t){return(A(t)&Z)===Z}function co(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+ao(Uint8Array.from(t).reverse()))}var Dv=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function du(t){return A(co(t)&Dv)}function A(t,e=pe.P){let r=t%e;return r>=qe?r:e+r}function Bs(t,e=pe.P){if(t===qe||e<=qe)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=A(t,e),n=e,i=qe,o=Z,s=Z,a=qe;for(;r!==qe;){let u=n/r,l=n%r,f=i-s*u,d=o-a*u;n=r,r=l,i=s,o=a,s=f,a=d}if(n!==Z)throw new Error("invert: does not exist");return A(i,e)}function Nv(t,e=pe.P){let r=new Array(t.length),n=t.reduce((o,s,a)=>s===qe?o:(r[a]=o,A(o*s,e)),Z),i=Bs(n,e);return t.reduceRight((o,s,a)=>s===qe?o:(r[a]=A(o*r[a],e),A(o*s,e)),i),r}function Qt(t,e){let{P:r}=pe,n=t;for(;e-- >qe;)n*=n,n%=r;return n}function kv(t){let{P:e}=pe,r=BigInt(5),n=BigInt(10),i=BigInt(20),o=BigInt(40),s=BigInt(80),c=t*t%e*t%e,u=Qt(c,Nr)*c%e,l=Qt(u,Z)*t%e,f=Qt(l,r)*l%e,d=Qt(f,n)*f%e,p=Qt(d,i)*d%e,h=Qt(p,o)*p%e,m=Qt(h,s)*h%e,y=Qt(m,s)*h%e,g=Qt(y,n)*f%e;return{pow_p_5_8:Qt(g,Nr)*t%e,b2:c}}function gu(t,e){let r=A(e*e*e),n=A(r*r*e),i=kv(t*n).pow_p_5_8,o=A(t*r*i),s=A(e*o*o),a=o,c=A(o*oo),u=s===t,l=s===A(-t),f=s===A(-t*oo);return u&&(o=a),(l||f)&&(o=c),Dr(o)&&(o=A(-o)),{isValid:u||l,value:o}}function Pd(t){return gu(Z,t)}function Cs(t){return A(co(t),pe.l)}function Ov(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 kr(t,e){let r=t instanceof Uint8Array?Uint8Array.from(t):yu(t);if(typeof e=="number"&&r.length!==e)throw new Error(`Expected ${e} bytes`);return r}function Ts(t,e,r=!0){if(!e)throw new TypeError("Specify max value");if(typeof t=="number"&&Number.isSafeInteger(t)&&(t=BigInt(t)),typeof t=="bigint"&&t<e){if(r){if(qe<t)return t}else if(qe<=t)return t}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function Mv(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function Uv(t){if(t=typeof t=="bigint"||typeof t=="number"?Nd(Ts(t,Dd)):kr(t),t.length!==32)throw new Error("Expected 32 bytes");return t}function Fv(t){let e=Mv(t.slice(0,32)),r=t.slice(32,64),n=Cs(e),i=xe.BASE.multiply(n),o=i.toRawBytes();return{head:e,prefix:r,scalar:n,point:i,pointBytes:o}}var pu;async function Ls(t){return Fv(await Or.sha512(Uv(t)))}async function xu(t){return(await Ls(t)).pointBytes}async function kd(t,e){t=kr(t);let{prefix:r,scalar:n,pointBytes:i}=await Ls(e),o=Cs(await Or.sha512(r,t)),s=xe.BASE.multiply(o),a=Cs(await Or.sha512(s.toRawBytes(),i,t)),c=A(o+a*n,pe.l);return new un(s,c).toRawBytes()}function Kv(t,e,r){e=kr(e),r instanceof xe||(r=xe.fromHex(r,!1));let{r:n,s:i}=t instanceof un?t.assertValidity():un.fromHex(t),o=Q.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:o,pub:r,msg:e}}function Vv(t,e,r,n){let i=Cs(n),o=Q.fromAffine(t).multiplyUnsafe(i);return Q.fromAffine(e).add(o).subtract(r).multiplyUnsafe(pe.h).equals(Q.ZERO)}async function Od(t,e,r){let{r:n,SB:i,msg:o,pub:s}=Kv(t,e,r),a=await Or.sha512(n.toRawBytes(),s.toRawBytes(),o);return Vv(s,n,i,a)}xe.BASE._setWindowSize(8);var Pr={node:Iv,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},Or={bytesToHex:ao,hexToBytes:yu,concatBytes:Ld,getExtendedPublicKey:Ls,mod:A,invert:Bs,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:t=>{if(t=kr(t),t.length<40||t.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return A(co(t),pe.l-Z)+Z},randomBytes:(t=32)=>{if(Pr.web)return Pr.web.getRandomValues(new Uint8Array(t));if(Pr.node){let{randomBytes:e}=Pr.node;return new Uint8Array(e(t).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Or.randomBytes(32),sha512:async(...t)=>{let e=Ld(...t);if(Pr.web){let r=await Pr.web.subtle.digest("SHA-512",e.buffer);return new Uint8Array(r)}else{if(Pr.node)return Uint8Array.from(Pr.node.createHash("sha512").update(e).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(t=8,e=xe.BASE){let r=e.equals(xe.BASE)?e:new xe(e.x,e.y);return r._setWindowSize(t),r.multiply(Nr),r},sha512Sync:void 0};Object.defineProperties(Or,{sha512Sync:{configurable:!1,get(){return pu},set(t){pu||(pu=t)}}});var Jn=32,hr=64,Ps=32;async function Md(){let t=Or.randomPrivateKey(),e=await xu(t);return{privateKey:Vd(t,e),publicKey:e}}async function Ud(t){if(t.length!==Ps)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=await xu(e);return{privateKey:Vd(e,r),publicKey:r}}async function Fd(t,e){let r=t.subarray(0,Ps);return kd(e,r)}async function Kd(t,e,r){return Od(e,r,t)}function Vd(t,e){let r=new Uint8Array(hr);for(let n=0;n<Ps;n++)r[n]=t[n],r[Ps+n]=e[n];return r}var wu={};$(wu,{base64:()=>ln,base64pad:()=>$v,base64url:()=>Hv,base64urlpad:()=>Gv});var ln=Ie({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),$v=Ie({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Hv=Ie({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Gv=Ie({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function Pe(t,e){e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=Ct(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return an(r)}var st={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 bu={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Ds(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=st.get();r*=8;async function c(f,d){let p=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:h};typeof d=="string"&&(d=V(d));let y;if(d.length===0){y=await a.subtle.importKey("jwk",bu,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},E=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,E,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",bu,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},E=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,E,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,f);return Pe([p,m.iv,new Uint8Array(g)])}async function u(f,d){let p=f.subarray(0,o),h=f.subarray(o,o+n),m=f.subarray(o+n),y={name:e,iv:h};typeof d=="string"&&(d=V(d));let g;if(d.length===0)try{let E={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},T=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(E,T,{name:e,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",bu,{name:"AES-GCM"},!0,["decrypt"])}else{let E={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},T=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(E,T,{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 ei(t,e){let n=await Ds().encrypt(t,e);return ln.encode(n)}var Du=z(Au(),1),Tp=z(vp(),1),Bp=z(hn(),1),Nu=z(Pu(),1),Lp=z(Cp(),1);function tE(){Bp.default._configure(),Du.default._configure(Tp.default),Nu.default._configure(Lp.default)}tE();var Pp=["uint64","int64","sint64","fixed64","sfixed64"];function rE(t){for(let e of Pp){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function ku(t){return rE(new Du.default(t))}function nE(t){for(let e of Pp){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function Ou(){return nE(Nu.default.create())}function Ge(t,e){let r=ku(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function Ye(t,e){let r=Ou();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var ri;(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"})(ri||(ri={}));function Us(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Mu(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 Us("enum",ri.VARINT,r,n)}function We(t,e){return Us("message",ri.LENGTH_DELIMITED,t,e)}var we;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(we||(we={}));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=()=>Mu(Uu)})(we||(we={}));var jt;(function(t){let e;t.codec=()=>(e==null&&(e=We((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),we.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=we.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Ye(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(jt||(jt={}));var Jt;(function(t){let e;t.codec=()=>(e==null&&(e=We((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),we.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=we.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Ye(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(Jt||(Jt={}));var fo=class{_key;constructor(e){this._key=ni(e,Jn)}async verify(e,r){return Kd(this._key,r,e)}marshal(){return this._key}get bytes(){return jt.encode({Type:we.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Ee(this.bytes,e.bytes)}async hash(){let{bytes:e}=await He.digest(this.bytes);return e}},pn=class{_key;_publicKey;constructor(e,r){this._key=ni(e,hr),this._publicKey=ni(r,Jn)}async sign(e){return Fd(this._key,e)}get public(){return new fo(this._publicKey)}marshal(){return this._key}get bytes(){return Jt.encode({Type:we.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Ee(this.bytes,e.bytes)}async hash(){let{bytes:e}=await He.digest(this.bytes);return e}async id(){let e=Lr.digest(this.public.bytes);return $e.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return ei(this.bytes,e);throw new v(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function iE(t){if(t.length>hr){t=ni(t,hr+Jn);let n=t.subarray(0,hr),i=t.subarray(hr,t.length);return new pn(n,i)}t=ni(t,hr);let e=t.subarray(0,hr),r=t.subarray(Jn);return new pn(e,r)}function oE(t){return t=ni(t,Jn),new fo(t)}async function sE(){let{privateKey:t,publicKey:e}=await Md();return new pn(t,e)}async function Dp(t){let{privateKey:e,publicKey:r}=await Ud(t);return new pn(e,r)}function ni(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new v(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}function G(t,e="utf8"){let r=Is[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 E8=z(Le(),1),_8=z(bs(),1),Np=z(ae(),1);function Lt(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=Pe([new Uint8Array(e-r.length),r])}return G(r,"base64url")}function lt(t){let e=kp(t);return new Np.default.jsbn.BigInteger(G(e,"base16"),16)}function kp(t,e){let r=V(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Pe([new Uint8Array(e-r.length),r])}return r}var aE={"P-256":256,"P-384":384,"P-521":521},cE=Object.keys(aE),N8=cE.join(" / ");async function Op(t,e){let r=ln.decode(t);return Ds().decrypt(r,e)}var Xu={};$(Xu,{RsaPrivateKey:()=>li,RsaPublicKey:()=>wo,fromJwk:()=>DE,generateKeyPair:()=>NE,unmarshalRsaPrivateKey:()=>LE,unmarshalRsaPublicKey:()=>PE});var xo=z(ae(),1);var xT=z(qp(),1);var lE=z(rn(),1);var j=BigInt(0),ye=BigInt(1),Kr=BigInt(2),mo=BigInt(3),zp=BigInt(8),Re=Object.freeze({a:j,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:ye,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),$p=(t,e)=>(t+e/Kr)/e,Ks={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){let{n:e}=Re,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-ye*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=$p(o*t,e),c=$p(-n*t,e),u=D(t-a*r-c*i,e),l=D(-a*n-c*o,e),f=u>s,d=l>s;if(f&&(u=e-u),d&&(l=e-l),u>s||l>s)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:d,k2:l}}},Pt=32,si=32,fE=32,Hp=Pt+1,Gp=2*Pt+1;function Yp(t){let{a:e,b:r}=Re,n=D(t*t),i=D(n*t);return D(i+e*t+r)}var Vs=Re.a===j,$s=class extends Error{constructor(e){super(e)}};function Wp(t){if(!(t instanceof re))throw new TypeError("JacobianPoint expected")}var re=class{constructor(e,r,n){this.x=e,this.y=r,this.z=n}static fromAffine(e){if(!(e instanceof ne))throw new TypeError("JacobianPoint#fromAffine: expected Point");return e.equals(ne.ZERO)?re.ZERO:new re(e.x,e.y,ye)}static toAffineBatch(e){let r=yE(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return re.toAffineBatch(e).map(re.fromAffine)}equals(e){Wp(e);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=e,c=D(i*i),u=D(a*a),l=D(r*u),f=D(o*c),d=D(D(n*a)*u),p=D(D(s*i)*c);return l===f&&d===p}negate(){return new re(this.x,D(-this.y),this.z)}double(){let{x:e,y:r,z:n}=this,i=D(e*e),o=D(r*r),s=D(o*o),a=e+o,c=D(Kr*(D(a*a)-i-s)),u=D(mo*i),l=D(u*u),f=D(l-Kr*c),d=D(u*(c-f)-zp*s),p=D(Kr*r*n);return new re(f,d,p)}add(e){Wp(e);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=e;if(o===j||s===j)return this;if(r===j||n===j)return e;let c=D(i*i),u=D(a*a),l=D(r*u),f=D(o*c),d=D(D(n*a)*u),p=D(D(s*i)*c),h=D(f-l),m=D(p-d);if(h===j)return m===j?this.double():re.ZERO;let y=D(h*h),g=D(h*y),x=D(l*y),E=D(m*m-g-Kr*x),T=D(m*(x-E)-d*g),I=D(i*a*h);return new re(E,T,I)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){let r=re.ZERO;if(typeof e=="bigint"&&e===j)return r;let n=Zp(e);if(n===ye)return this;if(!Vs){let f=r,d=this;for(;n>j;)n&ye&&(f=f.add(d)),d=d.double(),n>>=ye;return f}let{k1neg:i,k1:o,k2neg:s,k2:a}=Ks.splitScalar(n),c=r,u=r,l=this;for(;o>j||a>j;)o&ye&&(c=c.add(l)),a&ye&&(u=u.add(l)),l=l.double(),o>>=ye,a>>=ye;return i&&(c=c.negate()),s&&(u=u.negate()),u=new re(D(u.x*Ks.beta),u.y,u.z),c.add(u)}precomputeWindow(e){let r=Vs?128/e+1:256/e+1,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(e-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(e,r){!r&&this.equals(re.BASE)&&(r=ne.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&zu.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=re.normalizeZ(i),zu.set(r,i)));let o=re.ZERO,s=re.BASE,a=1+(Vs?128/n:256/n),c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let d=0;d<a;d++){let p=d*c,h=Number(e&u);e>>=f,h>c&&(h-=l,e+=ye);let m=p,y=p+Math.abs(h)-1,g=d%2!==0,x=h<0;h===0?s=s.add(qs(g,i[m])):o=o.add(qs(x,i[y]))}return{p:o,f:s}}multiply(e,r){let n=Zp(e),i,o;if(Vs){let{k1neg:s,k1:a,k2neg:c,k2:u}=Ks.splitScalar(n),{p:l,f}=this.wNAF(a,r),{p:d,f:p}=this.wNAF(u,r);l=qs(s,l),d=qs(c,d),d=new re(D(d.x*Ks.beta),d.y,d.z),i=l.add(d),o=f.add(p)}else{let{p:s,f:a}=this.wNAF(n,r);i=s,o=a}return re.normalizeZ([i,o])[0]}toAffine(e){let{x:r,y:n,z:i}=this,o=this.equals(re.ZERO);e==null&&(e=o?zp:ui(i));let s=e,a=D(s*s),c=D(a*s),u=D(r*a),l=D(n*c),f=D(i*s);if(o)return ne.ZERO;if(f!==ye)throw new Error("invZ was invalid");return new ne(u,l)}};re.BASE=new re(Re.Gx,Re.Gy,ye);re.ZERO=new re(j,ye,j);function qs(t,e){let r=e.negate();return t?r:e}var zu=new WeakMap,ne=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,zu.delete(this)}hasEvenY(){return this.y%Kr===j}static fromCompressedHex(e){let r=e.length===32,n=Vr(r?e:e.subarray(1));if(!qu(n))throw new Error("Point is not on curve");let i=Yp(n),o=mE(i),s=(o&ye)===ye;r?s&&(o=D(-o)):(e[0]&1)===1!==s&&(o=D(-o));let a=new ne(n,o);return a.assertValidity(),a}static fromUncompressedHex(e){let r=Vr(e.subarray(1,Pt+1)),n=Vr(e.subarray(Pt+1,Pt*2+1)),i=new ne(r,n);return i.assertValidity(),i}static fromHex(e){let r=ci(e),n=r.length,i=r[0];if(n===Pt)return this.fromCompressedHex(r);if(n===Hp&&(i===2||i===3))return this.fromCompressedHex(r);if(n===Gp&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${Hp} compressed bytes or ${Gp} uncompressed bytes, not ${n}`)}static fromPrivateKey(e){return ne.BASE.multiply(Gs(e))}static fromSignature(e,r,n){let{r:i,s:o}=jp(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let s=Gu(ci(e)),{n:a}=Re,c=n===2||n===3?i+a:i,u=ui(c,a),l=D(-s*u,a),f=D(o*u,a),d=n&1?"03":"02",p=ne.fromHex(d+ii(c)),h=ne.BASE.multiplyAndAddUnsafe(p,l,f);if(!h)throw new Error("Cannot recover signature: point at infinify");return h.assertValidity(),h}toRawBytes(e=!1){return yn(this.toHex(e))}toHex(e=!1){let r=ii(this.x);return e?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${ii(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let e="Point is not on elliptic curve",{x:r,y:n}=this;if(!qu(r)||!qu(n))throw new Error(e);let i=D(n*n),o=Yp(r);if(D(i-o)!==j)throw new Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new ne(this.x,D(-this.y))}double(){return re.fromAffine(this).double().toAffine()}add(e){return re.fromAffine(this).add(re.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return re.fromAffine(this).multiply(e,this).toAffine()}multiplyAndAddUnsafe(e,r,n){let i=re.fromAffine(this),o=r===j||r===ye||this!==ne.BASE?i.multiplyUnsafe(r):i.multiply(r),s=re.fromAffine(e).multiplyUnsafe(n),a=o.add(s);return a.equals(re.ZERO)?void 0:a.toAffine()}};ne.BASE=new ne(Re.Gx,Re.Gy);ne.ZERO=new ne(j,j);function Qp(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function Xp(t){if(t.length<2||t[0]!==2)throw new Error(`Invalid signature integer tag: ${ai(t)}`);let e=t[1],r=t.subarray(2,e+2);if(!e||r.length!==e)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:Vr(r),left:t.subarray(e+2)}}function hE(t){if(t.length<2||t[0]!=48)throw new Error(`Invalid signature tag: ${ai(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");let{data:e,left:r}=Xp(t.subarray(2)),{data:n,left:i}=Xp(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${ai(i)}`);return{r:e,s:n}}var er=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromCompact(e){let r=e instanceof Uint8Array,n="Signature.fromCompact";if(typeof e!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?ai(e):e;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new er(Hs(i.slice(0,64)),Hs(i.slice(64,128)))}static fromDER(e){let r=e instanceof Uint8Array;if(typeof e!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=hE(r?e:yn(e));return new er(n,i)}static fromHex(e){return this.fromDER(e)}assertValidity(){let{r:e,s:r}=this;if(!go(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!go(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let e=Re.n>>ye;return this.s>e}normalizeS(){return this.hasHighS()?new er(this.r,D(-this.s,Re.n)):this}toDERRawBytes(){return yn(this.toDERHex())}toDERHex(){let e=Qp(po(this.s)),r=Qp(po(this.r)),n=e.length/2,i=r.length/2,o=po(n),s=po(i);return`30${po(i+n+4)}02${s}${r}02${o}${e}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return yn(this.toCompactHex())}toCompactHex(){return ii(this.r)+ii(this.s)}};function Fr(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let o=t[n];r.set(o,i),i+=o.length}return r}var dE=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function ai(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let r=0;r<t.length;r++)e+=dE[t[r]];return e}var pE=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function ii(t){if(typeof t!="bigint")throw new Error("Expected bigint");if(!(j<=t&&t<pE))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function $u(t){let e=yn(ii(t));if(e.length!==32)throw new Error("Error: expected 32 bytes");return e}function po(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Hs(t){if(typeof t!="string")throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function yn(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[r]=o}return e}function Vr(t){return Hs(ai(t))}function ci(t){return t instanceof Uint8Array?Uint8Array.from(t):yn(t)}function Zp(t){if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if(typeof t=="bigint"&&go(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function D(t,e=Re.P){let r=t%e;return r>=j?r:e+r}function _t(t,e){let{P:r}=Re,n=t;for(;e-- >j;)n*=n,n%=r;return n}function mE(t){let{P:e}=Re,r=BigInt(6),n=BigInt(11),i=BigInt(22),o=BigInt(23),s=BigInt(44),a=BigInt(88),c=t*t*t%e,u=c*c*t%e,l=_t(u,mo)*u%e,f=_t(l,mo)*u%e,d=_t(f,Kr)*c%e,p=_t(d,n)*d%e,h=_t(p,i)*p%e,m=_t(h,s)*h%e,y=_t(m,a)*m%e,g=_t(y,s)*h%e,x=_t(g,mo)*u%e,E=_t(x,o)*p%e,T=_t(E,r)*c%e,I=_t(T,Kr);if(I*I%e!==t)throw new Error("Cannot find square root");return I}function ui(t,e=Re.P){if(t===j||e<=j)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=D(t,e),n=e,i=j,o=ye,s=ye,a=j;for(;r!==j;){let u=n/r,l=n%r,f=i-s*u,d=o-a*u;n=r,r=l,i=s,o=a,s=f,a=d}if(n!==ye)throw new Error("invert: does not exist");return D(i,e)}function yE(t,e=Re.P){let r=new Array(t.length),n=t.reduce((o,s,a)=>s===j?o:(r[a]=o,D(o*s,e)),ye),i=ui(n,e);return t.reduceRight((o,s,a)=>s===j?o:(r[a]=D(o*r[a],e),D(o*s,e)),i),r}function gE(t){let e=t.length*8-si*8,r=Vr(t);return e>0?r>>BigInt(e):r}function Gu(t,e=!1){let r=gE(t);if(e)return r;let{n}=Re;return r>=n?r-n:r}var oi,yo,Hu=class{constructor(e,r){if(this.hashLen=e,this.qByteLen=r,typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof r!="number"||r<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(e).fill(1),this.k=new Uint8Array(e).fill(0),this.counter=0}hmac(...e){return Dt.hmacSha256(this.k,...e)}hmacSync(...e){return yo(this.k,...e)}checkSync(){if(typeof yo!="function")throw new $s("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(e=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),e),this.v=await this.hmac(this.v),e.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),e),this.v=await this.hmac(this.v))}reseedSync(e=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),e),this.v=this.hmacSync(this.v),e.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),e),this.v=this.hmacSync(this.v))}async generate(){this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return Fr(...r)}generateSync(){this.checkSync(),this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return Fr(...r)}};function go(t){return j<t&&t<Re.n}function qu(t){return j<t&&t<Re.P}function xE(t,e,r,n=!0){let{n:i}=Re,o=Gu(t,!0);if(!go(o))return;let s=ui(o,i),a=ne.BASE.multiply(o),c=D(a.x,i);if(c===j)return;let u=D(s*D(e+r*c,i),i);if(u===j)return;let l=new er(c,u),f=(a.x===l.r?0:2)|Number(a.y&ye);return n&&l.hasHighS()&&(l=l.normalizeS(),f^=1),{sig:l,recovery:f}}function Gs(t){let e;if(typeof t=="bigint")e=t;else if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if(typeof t=="string"){if(t.length!==2*si)throw new Error("Expected 32 bytes of private key");e=Hs(t)}else if(t instanceof Uint8Array){if(t.length!==si)throw new Error("Expected 32 bytes of private key");e=Vr(t)}else throw new TypeError("Expected valid private key");if(!go(e))throw new Error("Expected private key: 0 < key < n");return e}function wE(t){return t instanceof ne?(t.assertValidity(),t):ne.fromHex(t)}function jp(t){if(t instanceof er)return t.assertValidity(),t;try{return er.fromDER(t)}catch{return er.fromCompact(t)}}function Yu(t,e=!1){return ne.fromPrivateKey(t).toRawBytes(e)}function Jp(t){let e=t.length>Pt?t.slice(0,Pt):t;return Vr(e)}function bE(t){let e=Jp(t),r=D(e,Re.n);return em(r<j?e:r)}function em(t){return $u(t)}function vE(t,e,r){if(t==null)throw new Error(`sign: expected valid message hash, not "${t}"`);let n=ci(t),i=Gs(e),o=[em(i),bE(n)];if(r!=null){r===!0&&(r=Dt.randomBytes(Pt));let c=ci(r);if(c.length!==Pt)throw new Error(`sign: Expected ${Pt} bytes of extra data`);o.push(c)}let s=Fr(...o),a=Jp(n);return{seed:s,m:a,d:i}}function EE(t,e){let{sig:r,recovery:n}=t,{der:i,recovered:o}=Object.assign({canonical:!0,der:!0},e),s=i?r.toDERRawBytes():r.toCompactRawBytes();return o?[s,n]:s}async function tm(t,e,r={}){let{seed:n,m:i,d:o}=vE(t,e,r.extraEntropy),s=new Hu(fE,si);await s.reseed(n);let a;for(;!(a=xE(await s.generate(),i,o,r.canonical));)await s.reseed();return EE(a,r)}var _E={strict:!0};function rm(t,e,r,n=_E){let i;try{i=jp(t),e=ci(e)}catch{return!1}let{r:o,s}=i;if(n.strict&&i.hasHighS())return!1;let a=Gu(e),c;try{c=wE(r)}catch{return!1}let{n:u}=Re,l=ui(s,u),f=D(a*l,u),d=D(o*l,u),p=ne.BASE.multiplyAndAddUnsafe(c,f,d);return p?D(p.x,u)===o:!1}ne.BASE._setWindowSize(8);var ft={node:lE,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var zs={},Dt={bytesToHex:ai,hexToBytes:yn,concatBytes:Fr,mod:D,invert:ui,isValidPrivateKey(t){try{return Gs(t),!0}catch{return!1}},_bigintTo32Bytes:$u,_normalizePrivateKey:Gs,hashToPrivateKey:t=>{t=ci(t);let e=si+8;if(t.length<e||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=D(Vr(t),Re.n-ye)+ye;return $u(r)},randomBytes:(t=32)=>{if(ft.web)return ft.web.getRandomValues(new Uint8Array(t));if(ft.node){let{randomBytes:e}=ft.node;return Uint8Array.from(e(t))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Dt.hashToPrivateKey(Dt.randomBytes(si+8)),precompute(t=8,e=ne.BASE){let r=e===ne.BASE?e:new ne(e.x,e.y);return r._setWindowSize(t),r.multiply(mo),r},sha256:async(...t)=>{if(ft.web){let e=await ft.web.subtle.digest("SHA-256",Fr(...t));return new Uint8Array(e)}else if(ft.node){let{createHash:e}=ft.node,r=e("sha256");return t.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if(ft.web){let r=await ft.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Fr(...e),i=await ft.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(ft.node){let{createHmac:r}=ft.node,n=r("sha256",t);return e.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(t,...e)=>{let r=zs[t];if(r===void 0){let n=await Dt.sha256(Uint8Array.from(t,i=>i.charCodeAt(0)));r=Fr(n,n),zs[t]=r}return Dt.sha256(r,...e)},taggedHashSync:(t,...e)=>{if(typeof oi!="function")throw new $s("sha256Sync is undefined, you need to set it");let r=zs[t];if(r===void 0){let n=oi(Uint8Array.from(t,i=>i.charCodeAt(0)));r=Fr(n,n),zs[t]=r}return oi(r,...e)},_JacobianPoint:re};Object.defineProperties(Dt,{sha256Sync:{configurable:!1,get(){return oi},set(t){oi||(oi=t)}},hmacSha256Sync:{configurable:!1,get(){return yo},set(t){yo||(yo=t)}}});function gn(t){if(isNaN(t)||t<=0)throw new v("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Dt.randomBytes(t)}var eT=z(_s(),1),Wu=z(ae(),1);function nm(t,e){return e.map(r=>lt(t[r]))}function im(t){return Wu.default.pki.setRsaPrivateKey(...nm(t,["n","e","d","p","q","dp","dq","qi"]))}function om(t){return Wu.default.pki.setRsaPublicKey(...nm(t,["n","e"]))}var xn={};$(xn,{jwkToPkcs1:()=>IE,jwkToPkix:()=>CE,pkcs1ToJwk:()=>AE,pkixToJwk:()=>RE});var nT=z(Qi(),1),iT=z(_s(),1);var dr=z(ae(),1);function AE(t){let e=dr.default.asn1.fromDer(G(t,"ascii")),r=dr.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Lt(r.n),e:Lt(r.e),d:Lt(r.d),p:Lt(r.p),q:Lt(r.q),dp:Lt(r.dP),dq:Lt(r.dQ),qi:Lt(r.qInv),alg:"RS256"}}function IE(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 v("JWK was missing components","ERR_INVALID_PARAMETERS");let e=dr.default.pki.privateKeyToAsn1({n:lt(t.n),e:lt(t.e),d:lt(t.d),p:lt(t.p),q:lt(t.q),dP:lt(t.dp),dQ:lt(t.dq),qInv:lt(t.qi)});return V(dr.default.asn1.toDer(e).getBytes(),"ascii")}function RE(t){let e=dr.default.asn1.fromDer(G(t,"ascii")),r=dr.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Lt(r.n),e:Lt(r.e)}}function CE(t){if(t.n==null||t.e==null)throw new v("JWK was missing components","ERR_INVALID_PARAMETERS");let e=dr.default.pki.publicKeyToAsn1({n:lt(t.n),e:lt(t.e)});return V(dr.default.asn1.toDer(e).getBytes(),"ascii")}async function sm(t){let e=await st.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 um(e);return{privateKey:r[0],publicKey:r[1]}}async function Qu(t){let r=[await st.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await TE(t)],n=await um({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function am(t,e){let r=await st.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await st.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function cm(t,e,r){let n=await st.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return st.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function um(t){if(t.privateKey==null||t.publicKey==null)throw new v("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([st.get().subtle.exportKey("jwk",t.privateKey),st.get().subtle.exportKey("jwk",t.publicKey)])}async function TE(t){return st.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 lm(t,e,r,n){let i=e?om(t):im(t),o=G(Uint8Array.from(r),"ascii"),s=n(o,i);return V(s,"ascii")}function fm(t,e){return lm(t,!0,e,(r,n)=>n.encrypt(r))}function hm(t,e){return lm(t,!1,e,(r,n)=>n.decrypt(r))}var wo=class{_key;constructor(e){this._key=e}async verify(e,r){return cm(this._key,r,e)}marshal(){return xn.jwkToPkix(this._key)}get bytes(){return jt.encode({Type:we.RSA,Data:this.marshal()}).subarray()}encrypt(e){return fm(this._key,e)}equals(e){return Ee(this.bytes,e.bytes)}async hash(){let{bytes:e}=await He.digest(this.bytes);return e}},li=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return gn(16)}async sign(e){return am(this._key,e)}get public(){if(this._publicKey==null)throw new v("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new wo(this._publicKey)}decrypt(e){return hm(this._key,e)}marshal(){return xn.jwkToPkcs1(this._key)}get bytes(){return Jt.encode({Type:we.RSA,Data:this.marshal()}).subarray()}equals(e){return Ee(this.bytes,e.bytes)}async hash(){let{bytes:e}=await He.digest(this.bytes);return e}async id(){let e=await this.public.hash();return G(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new xo.default.util.ByteBuffer(this.marshal()),i=xo.default.asn1.fromDer(n),o=xo.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return xo.default.pki.encryptRsaPrivateKey(o,e,s)}else{if(r==="libp2p-key")return ei(this.bytes,e);throw new v(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function LE(t){let e=xn.pkcs1ToJwk(t),r=await Qu(e);return new li(r.privateKey,r.publicKey)}function PE(t){let e=xn.pkixToJwk(t);return new wo(e)}async function DE(t){let e=await Qu(t);return new li(e.privateKey,e.publicKey)}async function NE(t){let e=await sm(t);return new li(e.privateKey,e.publicKey)}var ju={};$(ju,{Secp256k1PrivateKey:()=>vo,Secp256k1PublicKey:()=>bo,generateKeyPair:()=>UE,unmarshalSecp256k1PrivateKey:()=>OE,unmarshalSecp256k1PublicKey:()=>ME});function dm(){return Dt.randomPrivateKey()}async function pm(t,e){let{digest:r}=await He.digest(e);try{return await tm(r,t)}catch(n){throw new v(String(n),"ERR_INVALID_INPUT")}}async function mm(t,e,r){try{let{digest:n}=await He.digest(r);return rm(e,n,t)}catch(n){throw new v(String(n),"ERR_INVALID_INPUT")}}function ym(t){return ne.fromHex(t).toRawBytes(!0)}function gm(t){try{Yu(t,!0)}catch(e){throw new v(String(e),"ERR_INVALID_PRIVATE_KEY")}}function Zu(t){try{ne.fromHex(t)}catch(e){throw new v(String(e),"ERR_INVALID_PUBLIC_KEY")}}function xm(t){try{return Yu(t,!0)}catch(e){throw new v(String(e),"ERR_INVALID_PRIVATE_KEY")}}var bo=class{_key;constructor(e){Zu(e),this._key=e}async verify(e,r){return mm(this._key,r,e)}marshal(){return ym(this._key)}get bytes(){return jt.encode({Type:we.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Ee(this.bytes,e.bytes)}async hash(){let{bytes:e}=await He.digest(this.bytes);return e}},vo=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??xm(e),gm(this._key),Zu(this._publicKey)}async sign(e){return pm(this._key,e)}get public(){return new bo(this._publicKey)}marshal(){return this._key}get bytes(){return Jt.encode({Type:we.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Ee(this.bytes,e.bytes)}async hash(){let{bytes:e}=await He.digest(this.bytes);return e}async id(){let e=await this.public.hash();return G(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return ei(this.bytes,e);throw new v(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function OE(t){return new vo(t)}function ME(t){return new bo(t)}async function UE(){let t=dm();return new vo(t)}var pr={rsa:Xu,ed25519:Fu,secp256k1:ju};function Ju(t){let e=Object.keys(pr).join(" / ");return new v(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function el(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return pr[t];throw Ju(t)}async function Ws(t,e){return el(t).generateKeyPair(e??2048)}function Eo(t){let e=jt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case we.RSA:return pr.rsa.unmarshalRsaPublicKey(r);case we.Ed25519:return pr.ed25519.unmarshalEd25519PublicKey(r);case we.Secp256k1:return pr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Ju(e.Type??"RSA")}}function wm(t,e){return e=(e??"rsa").toLowerCase(),el(e),t.bytes}async function fi(t){let e=Jt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case we.RSA:return pr.rsa.unmarshalRsaPrivateKey(r);case we.Ed25519:return pr.ed25519.unmarshalEd25519PrivateKey(r);case we.Secp256k1:return pr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Ju(e.Type??"RSA")}}function bm(t,e){return e=(e??"rsa").toLowerCase(),el(e),t.bytes}async function _o(t,e){try{let i=await Op(t,e);return await fi(i)}catch{}let r=Ys.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new v("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=Ys.default.asn1.toDer(Ys.default.pki.privateKeyToAsn1(r));return n=V(n.getBytes(),"ascii"),pr.rsa.unmarshalRsaPrivateKey(n)}var tl=Symbol.for("@libp2p/content-routing");var So=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 nl(e,r))}},rl=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},nl=globalThis.CustomEvent??rl;var il=Symbol.for("@libp2p/peer-discovery");var ol=Symbol.for("@libp2p/peer-routing");var zT=z(hs(),1),KE=z(ae(),1);var Em=z(_c(),1),_m=z(Le(),1),vm={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function Ao(t,e,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(vm).join(" / ");throw new v(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let o=vm[i],s=(0,Em.default)(t,e,r,n,o);return _m.default.encode64(s,null)}var dt=z(al(),1);var cl={};$(cl,{base32:()=>tr,base32hex:()=>i_,base32hexpad:()=>s_,base32hexpadupper:()=>a_,base32hexupper:()=>o_,base32pad:()=>r_,base32padupper:()=>n_,base32upper:()=>t_,base32z:()=>c_});var tr=Ie({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),t_=Ie({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),r_=Ie({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),n_=Ie({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),i_=Ie({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),o_=Ie({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),s_=Ie({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),a_=Ie({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),c_=Ie({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});dt.default.formatters.b=t=>t==null?"undefined":$e.baseEncode(t);dt.default.formatters.t=t=>t==null?"undefined":tr.baseEncode(t);dt.default.formatters.m=t=>t==null?"undefined":ln.baseEncode(t);dt.default.formatters.p=t=>t==null?"undefined":t.toString();dt.default.formatters.c=t=>t==null?"undefined":t.toString();dt.default.formatters.k=t=>t==null?"undefined":t.toString();dt.default.formatters.a=t=>t==null?"undefined":t.toString();function u_(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 W(t){let e=u_(`${t}:trace`);return dt.default.enabled(`${t}:trace`)&&dt.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,dt.default)(`${t}:trace`)),Object.assign((0,dt.default)(t),{error:(0,dt.default)(`${t}:error`),trace:e})}var ul=Symbol.for("@libp2p/peer-id");function Zs(t){return t!=null&&!!t[ul]}var ll={};$(ll,{identity:()=>l_});var l_=Wn({prefix:"\0",name:"identity",encode:t=>gd(t),decode:t=>yd(t)});var fl={};$(fl,{base2:()=>f_});var f_=Ie({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var hl={};$(hl,{base8:()=>h_});var h_=Ie({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var dl={};$(dl,{base10:()=>d_});var d_=Br({prefix:"9",name:"base10",alphabet:"0123456789"});var pl={};$(pl,{base16:()=>p_,base16upper:()=>m_});var p_=Ie({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),m_=Ie({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ml={};$(ml,{base36:()=>y_,base36upper:()=>g_});var y_=Br({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),g_=Br({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var yl={};$(yl,{base256emoji:()=>E_});var Rm=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}"),x_=Rm.reduce((t,e,r)=>(t[r]=e,t),[]),w_=Rm.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function b_(t){return t.reduce((e,r)=>(e+=x_[r],e),"")}function v_(t){let e=[];for(let r of t){let n=w_[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var E_=Wn({prefix:"\u{1F680}",name:"base256emoji",encode:b_,decode:v_});var x3=new TextEncoder,w3=new TextDecoder;var Cm=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return I_(r,gl(t),e||$e.encoder);default:return R_(r,gl(t),e||tr.encoder)}};var Tm=new WeakMap,gl=t=>{let e=Tm.get(t);if(e==null){let r=new Map;return Tm.set(t,r),r}return e},_e=class{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!==Io)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==C_)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return _e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Wt(e,r);return _e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return _e.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&_d(e.multihash,n.multihash)}toString(e){return Cm(this,e)}toJSON(){return{"/":Cm(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 _e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new _e(n,i,o,s||Bm(n,i,o.bytes))}else if(r[T_]===!0){let{version:n,multihash:i,code:o}=r,s=io(i);return _e.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!==Io)throw new Error(`Version 0 CID must use dag-pb (code: ${Io}) block encoding`);return new _e(e,r,n,n.bytes)}case 1:{let i=Bm(e,r,n.bytes);return new _e(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return _e.create(0,Io,e)}static createV1(e,r){return _e.create(1,e,r)}static decode(e){let[r,n]=_e.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=_e.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 Zn(r.multihashCode,r.digestSize,o,i);return[r.version===0?_e.createV0(s):_e.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,d]=no(e.subarray(r));return r+=d,f},i=n(),o=Io;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]=A_(e,r),o=_e.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return gl(o).set(n,e),o}},A_=(t,e)=>{switch(t[0]){case"Q":{let r=e||$e;return[$e.prefix,r.decode(`${$e.prefix}${t}`)]}case $e.prefix:{let r=e||$e;return[$e.prefix,r.decode(t)]}case tr.prefix:{let r=e||tr;return[tr.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)]}}},I_=(t,e,r)=>{let{prefix:n}=r;if(n!==$e.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},R_=(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},Io=112,C_=18,Bm=(t,e,r)=>{let n=Xn(t),i=n+Xn(e),o=new Uint8Array(i+r.byteLength);return Qn(t,o,0),Qn(e,o,n),o.set(r,i),o},T_=Symbol.for("@ipld/js-cid/CID");var xl={...ll,...fl,...hl,...dl,...pl,...cl,...ml,...ou,...wu,...yl},T3={...lu,...au};var B_=Symbol.for("nodejs.util.inspect.custom"),Lm=Object.values(xl).map(t=>t.decoder).reduce((t,e)=>t.or(e),xl.identity.decoder),Pm=114,wl=36,bl=37,Ro=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()})`}[ul]=!0;toString(){return this.string==null&&(this.string=$e.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return _e.createV1(Pm,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return Ee(this.multihash.bytes,e);if(typeof e=="string")return oe(e).equals(this);if(e?.multihash?.bytes!=null)return Ee(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[B_](){return`PeerId(${this.toString()})`}},bn=class extends Ro{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},vn=class extends Ro{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},En=class extends Ro{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function Dm(t){if(t.type==="RSA")return new bn(t);if(t.type==="Ed25519")return new vn(t);if(t.type==="secp256k1")return new En(t);throw new v("Not a PeerId","ERR_INVALID_PARAMETERS")}function oe(t,e){if(e=e??Lm,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=io($e.decode(`z${t}`));return t.startsWith("12D")?new vn({multihash:r}):t.startsWith("16U")?new En({multihash:r}):new bn({multihash:r})}return mi(Lm.decode(t))}function mi(t){try{let e=io(t);if(e.code===Lr.code){if(e.digest.length===wl)return new vn({multihash:e});if(e.digest.length===bl)return new En({multihash:e})}if(e.code===He.code)return new bn({multihash:e})}catch{return L_(_e.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function L_(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Pm)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===He.code)return new bn({multihash:t.multihash});if(e.code===Lr.code){if(e.digest.length===wl)return new vn({multihash:t.multihash});if(e.digest.length===bl)return new En({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function yi(t,e){return t.length===wl?new vn({multihash:Wt(Lr.code,t),privateKey:e}):t.length===bl?new En({multihash:Wt(Lr.code,t),privateKey:e}):new bn({multihash:await He.digest(t),publicKey:t,privateKey:e})}var js=(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 mr="/",Nm=new TextEncoder().encode(mr),Js=Nm[0],Ce=class{_buf;constructor(e,r){if(typeof e=="string")this._buf=V(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]!==Js)throw new Error("Invalid key")}toString(e="utf8"){return G(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new Ce(e.join(mr))}static random(){return new Ce(js().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new Ce(e):typeof e.uint8Array=="function"?new Ce(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Nm),this._buf[0]!==Js){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Js,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Js;)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 Ce.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(mr).slice(1)}type(){return P_(this.baseNamespace())}name(){return D_(this.baseNamespace())}instance(e){return new Ce(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(mr)||(e+=mr),e+=this.type(),new Ce(e)}parent(){let e=this.list();return e.length===1?new Ce(mr):new Ce(e.slice(0,-1).join(mr))}child(e){return this.toString()===mr?e:e.toString()===mr?this:new Ce(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 Ce.withNamespaces([...this.namespaces(),...N_(e.map(r=>r.namespaces()))])}};function P_(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function D_(t){let e=t.split(":");return e[e.length-1]}function N_(t){return[].concat(...t)}var zm=z(qm(),1),qr=zm.default;var Jm=z(jm(),1);var J;(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"})(J||(J={}));var ra=W("libp2p:keychain"),j_="/pkcs8/",ey="/info/",_n=new WeakMap,Sn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},El={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function yr(t){return t==null||typeof t!="string"?!1:t===(0,Jm.default)(t.trim())&&t.length>0}async function ue(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function rr(t){return new Ce(j_+t)}function zr(t){return new Ce(ey+t)}var An=class{components;init;constructor(e,r){if(this.components=e,this.init=qr(El,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<Sn.minKeyLength)throw new Error(`dek.keyLength must be least ${Sn.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<Sn.minSaltLength)throw new Error(`dek.saltLength must be least ${Sn.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<Sn.minIterationCount)throw new Error(`dek.iterationCount must be least ${Sn.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?Ao(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";_n.set(this,{dek:n})}static generateOptions(){let e=Object.assign({},El),r=Math.ceil(Sn.minSaltLength/3)*3;return e.dek.salt=G(gn(r),"base64"),e}static get options(){return El}async createKey(e,r,n=2048){if(!yr(e)||e==="self")throw await ue(),new v("Invalid key name",J.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await ue(),new v("Invalid key type",J.ERR_INVALID_KEY_TYPE);let i=rr(e);if(await this.components.datastore.has(i))throw await ue(),new v("Key name already exists",J.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await ue(),new v("Invalid RSA key size",J.ERR_INVALID_KEY_SIZE);break;default:break}let s;try{let a=await Ws(r,n),c=await a.id(),u=_n.get(this);if(u==null)throw new v("dek missing",J.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);s={name:e,id:c};let d=this.components.datastore.batch();d.put(i,V(f)),d.put(zr(e),V(JSON.stringify(s))),await d.commit()}catch(a){throw await ue(),a}return s}async listKeys(){let e={prefix:ey},r=[];for await(let n of this.components.datastore.query(e))r.push(JSON.parse(G(n.value)));return r}async findKeyById(e){try{let n=(await this.listKeys()).find(i=>i.id===e);if(n==null)throw new v(`Key with id '${e}' does not exist.`,J.ERR_KEY_NOT_FOUND);return n}catch(r){throw await ue(),r}}async findKeyByName(e){if(!yr(e))throw await ue(),new v(`Invalid key name '${e}'`,J.ERR_INVALID_KEY_NAME);let r=zr(e);try{let n=await this.components.datastore.get(r);return JSON.parse(G(n))}catch(n){throw await ue(),ra.error(n),new v(`Key '${e}' does not exist.`,J.ERR_KEY_NOT_FOUND)}}async removeKey(e){if(!yr(e)||e==="self")throw await ue(),new v(`Invalid key name '${e}'`,J.ERR_INVALID_KEY_NAME);let r=rr(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(!yr(e)||e==="self")throw await ue(),new v(`Invalid old key name '${e}'`,J.ERR_OLD_KEY_NAME_INVALID);if(!yr(r)||r==="self")throw await ue(),new v(`Invalid new key name '${r}'`,J.ERR_NEW_KEY_NAME_INVALID);let n=rr(e),i=rr(r),o=zr(e),s=zr(r);if(await this.components.datastore.has(i))throw await ue(),new v(`Key '${r}' already exists`,J.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(o),l=JSON.parse(G(u));l.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(s,V(JSON.stringify(l))),f.delete(n),f.delete(o),await f.commit(),l}catch(c){throw await ue(),c}}async exportKey(e,r){if(!yr(e))throw await ue(),new v(`Invalid key name '${e}'`,J.ERR_INVALID_KEY_NAME);if(r==null)throw await ue(),new v("Password is required",J.ERR_PASSWORD_REQUIRED);let n=rr(e);try{let i=await this.components.datastore.get(n),o=G(i),s=_n.get(this);if(s==null)throw new v("dek missing",J.ERR_INVALID_PARAMETERS);let a=s.dek;return await(await _o(o,a)).export(r)}catch(i){throw await ue(),i}}async exportPeerId(e){let r="temporary-password",n=await this.exportKey(e,r),i=await _o(n,r);return yi(i.public.bytes,i.bytes)}async importKey(e,r,n){if(!yr(e)||e==="self")throw await ue(),new v(`Invalid key name '${e}'`,J.ERR_INVALID_KEY_NAME);if(r==null)throw await ue(),new v("PEM encoded key is required",J.ERR_PEM_REQUIRED);let i=rr(e);if(await this.components.datastore.has(i))throw await ue(),new v(`Key '${e}' already exists`,J.ERR_KEY_ALREADY_EXISTS);let s;try{s=await _o(r,n)}catch{throw await ue(),new v("Cannot read the key, most likely the password is wrong",J.ERR_CANNOT_READ_KEY)}let a;try{a=await s.id();let l=_n.get(this);if(l==null)throw new v("dek missing",J.ERR_INVALID_PARAMETERS);let f=l.dek;r=await s.export(f)}catch(l){throw await ue(),l}let c={name:e,id:a},u=this.components.datastore.batch();return u.put(i,V(r)),u.put(zr(e),V(JSON.stringify(c))),await u.commit(),c}async importPeer(e,r){try{if(!yr(e))throw new v(`Invalid key name '${e}'`,J.ERR_INVALID_KEY_NAME);if(r==null)throw new v("PeerId is required",J.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new v("PeerId.privKey is required",J.ERR_MISSING_PRIVATE_KEY);let n=await fi(r.privateKey),i=rr(e);if(await this.components.datastore.has(i))throw await ue(),new v(`Key '${e}' already exists`,J.ERR_KEY_ALREADY_EXISTS);let s=_n.get(this);if(s==null)throw new v("dek missing",J.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,V(c)),l.put(zr(e),V(JSON.stringify(u))),await l.commit(),u}catch(n){throw await ue(),n}}async getPrivateKey(e){if(!yr(e))throw await ue(),new v(`Invalid key name '${e}'`,J.ERR_INVALID_KEY_NAME);try{let r=rr(e),n=await this.components.datastore.get(r);return G(n)}catch(r){throw await ue(),ra.error(r),new v(`Key '${e}' does not exist.`,J.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(e,r){if(typeof e!="string")throw await ue(),new v(`Invalid old pass type '${typeof e}'`,J.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await ue(),new v(`Invalid new pass type '${typeof r}'`,J.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await ue(),new v(`Invalid pass length ${r.length}`,J.ERR_INVALID_PASS_LENGTH);ra("recreating keychain");let n=_n.get(this);if(n==null)throw new v("dek missing",J.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let o=r!=null&&this.init.dek?.salt!=null?Ao(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";_n.set(this,{dek:o});let s=await this.listKeys();for(let a of s){let c=await this.components.datastore.get(rr(a.name)),u=G(c),l=await _o(u,i),f=o.toString(),d=await l.export(f),p=this.components.datastore.batch(),h={name:a.name,id:a.id};p.put(rr(a.name),V(d)),p.put(zr(a.name),V(JSON.stringify(h))),await p.commit()}ra("keychain reconstructed")}};function gr(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 Nt=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 gr(this.map.entries(),e=>[oe(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,oe(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 gr(this.map.keys(),e=>oe(e))}values(){return this.map.values()}get size(){return this.map.size}};var kt=class{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 gr(this.set.entries(),e=>{let r=oe(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=oe(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return gr(this.set.values(),e=>oe(e))}intersection(e){let r=new kt;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new kt;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new kt;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var wi=class{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return gr(this.list.entries(),e=>oe(e[1]))}concat(e){let r=new wi(this);for(let n of e)r.push(n);return r}entries(){return gr(this.list.entries(),e=>[e[0],oe(e[1])])}every(e){return this.list.every((r,n)=>e(oe(r),n,this))}filter(e){let r=new wi;return this.list.forEach((n,i)=>{let o=oe(n);e(o,i,this)&&r.push(o)}),r}find(e){let r=this.list.find((n,i)=>e(oe(n),i,this));if(r!=null)return oe(r)}findIndex(e){return this.list.findIndex((r,n)=>e(oe(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(oe(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 oe(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return oe(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 _l;(function(t){let e;t.codec=()=>(e==null&&(e=We((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=>Ye(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(_l||(_l={}));var ty=async()=>{let t=await Ws("Ed25519"),e=await J_(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function J_(t){return yi(wm(t.public),bm(t))}function na(t){return t instanceof Uint8Array?{get(e){return t[e]},set(e,r){t[e]=r}}:{get(e){return t.get(e)},set(e,r){t.set(e,r)}}}var ry=4294967296,pt=class{constructor(e=0,r=0){this.hi=e,this.lo=r}toBigInt(e){if(e===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(e){return Number(this.toBigInt(e))}zzDecode(){let e=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^e)>>>0,n=(this.hi>>>1^e)>>>0;return new pt(n,r)}zzEncode(){let e=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^e)>>>0,n=(this.lo<<1^e)>>>0;return new pt(r,n)}toBytes(e,r=0){let n=na(e);for(;this.hi>0;)n.set(r++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(r++,this.lo&127|128),this.lo=this.lo>>>7;n.set(r++,this.lo)}static fromBigInt(e){if(e===0n)return new pt;let r=e<0;r&&(e=-e);let n=Number(e>>32n)|0,i=Number(e-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>ry&&(i=0,++n>ry&&(n=0))),new pt(n,i)}static fromNumber(e){if(e===0)return new pt;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new pt(i,n)}static fromBytes(e,r=0){let n=na(e),i=new pt,o=0;if(e.length-r>4){for(;o<4;++o)if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i;if(i.lo=(i.lo|(n.get(r)&127)<<28)>>>0,i.hi=(i.hi|(n.get(r)&127)>>4)>>>0,n.get(r++)<128)return i;o=0}else for(;o<4;++o){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i}if(e.length-r>4){for(;o<5;++o)if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}else if(r<e.byteLength)for(;o<5;++o){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var eS=Math.pow(2,7),tS=Math.pow(2,14),rS=Math.pow(2,21),nS=Math.pow(2,28),iS=Math.pow(2,35),oS=Math.pow(2,42),sS=Math.pow(2,49),aS=Math.pow(2,56),cS=Math.pow(2,63),Ot={encodingLength(t){return t<eS?1:t<tS?2:t<rS?3:t<nS?4:t<iS?5:t<oS?6:t<sS?7:t<aS?8:t<cS?9:10},encode(t,e,r=0){if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return e==null&&(e=Ct(Ot.encodingLength(t))),pt.fromNumber(t).toBytes(e,r),e},decode(t,e=0){return pt.fromBytes(t,e).toNumber(!0)}};var iy=Symbol.for("@achingbrain/uint8arraylist");function ny(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 ia(t){return!!t?.[iy]}var Te=class{constructor(...e){Object.defineProperty(this,iy,{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(ia(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(ia(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=ny(this.bufs,e);return r.buf[r.index]}set(e,r){let n=ny(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(ia(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 Pe(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Pe(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),o=new Te;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(!ia(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 d=u;d>=0;d--){let p=this.get(f+d);if(n[d]!==p){l=Math.max(1,d-a[p]);break}}if(l===0)return f}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=Ct(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=lr(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=lr(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=lr(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=Ct(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=lr(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=lr(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=lr(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=lr(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=lr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof Te)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Ee(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new Te;return n.bufs=e,r==null&&(r=e.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};var oy={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Co;(function(t){let e;t.codec=()=>(e==null&&(e=We((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=>Ye(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(Co||(Co={}));var To=class{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=Co.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return Ee(this.marshal(),e.marshal())}async validate(e){let r=sy(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return Eo(this.peerId.publicKey).verify(r.subarray(),this.signature)}},xr=To;wt(xr,"createFromProtobuf",async e=>{let r=Co.decode(e),n=await yi(r.publicKey);return new To({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})}),wt(xr,"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=sy(n,i,o),c=await(await fi(r.privateKey)).sign(s.subarray());return new To({peerId:r,payloadType:i,payload:o,signature:c})}),wt(xr,"openAndCertify",async(e,r)=>{let n=await To.createFromProtobuf(e);if(!await n.validate(r))throw new v("envelope signature is not valid for the given domain",oy.ERR_SIGNATURE_NOT_VALID);return n});var sy=(t,e,r)=>{let n=V(t),i=Ot.encode(n.byteLength),o=Ot.encode(e.length),s=Ot.encode(r.length);return new Te(i,n,o,e,s,r)};function ay(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 oa=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Cl={};$(Cl,{base58btc:()=>at,base58flickr:()=>pS});function uS(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(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var m=0,y=0,g=0,x=h.length;g!==x&&h[g]===0;)g++,m++;for(var E=(x-g)*l+1>>>0,T=new Uint8Array(E);g!==x;){for(var I=h[g],C=0,O=E-1;(I!==0||C<y)&&O!==-1;O--,C++)I+=256*T[O]>>>0,T[O]=I%a>>>0,I=I/a>>>0;if(I!==0)throw new Error("Non-zero carry");y=C,g++}for(var U=E-y;U!==E&&T[U]===0;)U++;for(var se=c.repeat(m);U<E;++U)se+=t.charAt(T[U]);return se}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var y=0,g=0;h[m]===c;)y++,m++;for(var x=(h.length-m)*u+1>>>0,E=new Uint8Array(x);h[m];){var T=r[h.charCodeAt(m)];if(T===255)return;for(var I=0,C=x-1;(T!==0||I<g)&&C!==-1;C--,I++)T+=a*E[C]>>>0,E[C]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");g=I,m++}if(h[m]!==" "){for(var O=x-g;O!==x&&E[O]===0;)O++;for(var U=new Uint8Array(y+(x-O)),se=y;O!==x;)U[se++]=E[O++];return U}}}function p(h){var m=d(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:d,decode:p}}var lS=uS,fS=lS,cy=fS;var i6=new Uint8Array(0);var uy=(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},wr=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 ly=t=>new TextEncoder().encode(t),fy=t=>new TextDecoder().decode(t);var Sl=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")}},Al=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 dy(this,e)}},Il=class{constructor(e){this.decoders=e}or(e){return dy(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`)}},dy=(t,e)=>new Il({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Rl=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Sl(e,r,n),this.decoder=new Al(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},bi=({name:t,prefix:e,encode:r,decode:n})=>new Rl(t,e,r,n),$r=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=cy(r,e);return bi({prefix:t,name:e,encode:n,decode:o=>wr(i(o))})},hS=(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},dS=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Be=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>bi({prefix:e,name:t,encode(i){return dS(i,n,r)},decode(i){return hS(i,n,r,t)}});var at=$r({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),pS=$r({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var mS=yy,py=128,yS=127,gS=~yS,xS=Math.pow(2,31);function yy(t,e,r){e=e||[],r=r||0;for(var n=r;t>=xS;)e[r++]=t&255|py,t/=128;for(;t&gS;)e[r++]=t&255|py,t>>>=7;return e[r]=t|0,yy.bytes=r-n+1,e}var wS=Tl,bS=128,my=127;function Tl(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Tl.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&my)<<i:(s&my)*Math.pow(2,i),i+=7}while(s>=bS);return Tl.bytes=o-n,r}var vS=Math.pow(2,7),ES=Math.pow(2,14),_S=Math.pow(2,21),SS=Math.pow(2,28),AS=Math.pow(2,35),IS=Math.pow(2,42),RS=Math.pow(2,49),CS=Math.pow(2,56),TS=Math.pow(2,63),BS=function(t){return t<vS?1:t<ES?2:t<_S?3:t<SS?4:t<AS?5:t<IS?6:t<RS?7:t<CS?8:t<TS?9:10},LS={encode:mS,decode:wS,encodingLength:BS},PS=LS,Bo=PS;var Lo=(t,e=0)=>[Bo.decode(t,e),Bo.decode.bytes],vi=(t,e,r=0)=>(Bo.encode(t,e,r),e),Ei=t=>Bo.encodingLength(t);var In=(t,e)=>{let r=e.byteLength,n=Ei(t),i=n+Ei(r),o=new Uint8Array(i+r);return vi(t,o,0),vi(r,o,n),o.set(e,i),new _i(t,r,e,o)},aa=t=>{let e=wr(t),[r,n]=Lo(e),[i,o]=Lo(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new _i(r,i,s,e)},gy=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&uy(t.bytes,r.bytes)}},_i=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Bl={};$(Bl,{base32:()=>br,base32hex:()=>OS,base32hexpad:()=>US,base32hexpadupper:()=>FS,base32hexupper:()=>MS,base32pad:()=>NS,base32padupper:()=>kS,base32upper:()=>DS,base32z:()=>KS});var br=Be({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),DS=Be({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),NS=Be({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),kS=Be({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),OS=Be({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),MS=Be({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),US=Be({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),FS=Be({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),KS=Be({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var xy=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return qS(r,Ll(t),e||at.encoder);default:return zS(r,Ll(t),e||br.encoder)}};var wy=new WeakMap,Ll=t=>{let e=wy.get(t);if(e==null){let r=new Map;return wy.set(t,r),r}return e},be=class{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!==Po)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==$S)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return be.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=In(e,r);return be.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 be.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&gy(e.multihash,n.multihash)}toString(e){return xy(this,e)}toJSON(){return{"/":xy(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 be)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new be(n,i,o,s||by(n,i,o.bytes))}else if(r[HS]===!0){let{version:n,multihash:i,code:o}=r,s=aa(i);return be.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!==Po)throw new Error(`Version 0 CID must use dag-pb (code: ${Po}) block encoding`);return new be(e,r,n,n.bytes)}case 1:{let i=by(e,r,n.bytes);return new be(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return be.create(0,Po,e)}static createV1(e,r){return be.create(1,e,r)}static decode(e){let[r,n]=be.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=be.inspectBytes(e),n=r.size-r.multihashSize,i=wr(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 _i(r.multihashCode,r.digestSize,o,i);return[r.version===0?be.createV0(s):be.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,d]=Lo(e.subarray(r));return r+=d,f},i=n(),o=Po;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]=VS(e,r),o=be.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ll(o).set(n,e),o}},VS=(t,e)=>{switch(t[0]){case"Q":{let r=e||at;return[at.prefix,r.decode(`${at.prefix}${t}`)]}case at.prefix:{let r=e||at;return[at.prefix,r.decode(t)]}case br.prefix:{let r=e||br;return[br.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)]}}},qS=(t,e,r)=>{let{prefix:n}=r;if(n!==at.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},zS=(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},Po=112,$S=18,by=(t,e,r)=>{let n=Ei(t),i=n+Ei(e),o=new Uint8Array(i+r.byteLength);return vi(t,o,0),vi(e,o,n),o.set(r,i),o},HS=Symbol.for("@ipld/js-cid/CID");var nf=z(ca(),1);var Ri=z(ca(),1);var ua=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 d=Number.parseInt(f,e);if(!Number.isNaN(d))return d});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 By=45,oA=15,Ai=new ua;function Nl(t){if(!(t.length>oA))return Ai.new(t).parseWith(()=>Ai.readIPv4Addr())}function kl(t){if(!(t.length>By))return Ai.new(t).parseWith(()=>Ai.readIPv6Addr())}function la(t){if(!(t.length>By))return Ai.new(t).parseWith(()=>Ai.readIPAddr())}var L6=parseInt("0xFFFF",16),P6=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Ol={};$(Ol,{identity:()=>lA});var lA=bi({prefix:"\0",name:"identity",encode:t=>fy(t),decode:t=>ly(t)});var Ml={};$(Ml,{base2:()=>fA});var fA=Be({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ul={};$(Ul,{base8:()=>hA});var hA=Be({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Fl={};$(Fl,{base10:()=>dA});var dA=$r({prefix:"9",name:"base10",alphabet:"0123456789"});var Kl={};$(Kl,{base16:()=>pA,base16upper:()=>mA});var pA=Be({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),mA=Be({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Vl={};$(Vl,{base36:()=>yA,base36upper:()=>gA});var yA=$r({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),gA=$r({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ql={};$(ql,{base64:()=>xA,base64pad:()=>wA,base64url:()=>bA,base64urlpad:()=>vA});var xA=Be({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),wA=Be({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),bA=Be({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),vA=Be({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var zl={};$(zl,{base256emoji:()=>IA});var Dy=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}"),EA=Dy.reduce((t,e,r)=>(t[r]=e,t),[]),_A=Dy.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function SA(t){return t.reduce((e,r)=>(e+=EA[r],e),"")}function AA(t){let e=[];for(let r of t){let n=_A[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var IA=bi({prefix:"\u{1F680}",name:"base256emoji",encode:SA,decode:AA});var Gl={};$(Gl,{sha256:()=>RA,sha512:()=>CA});var Hl=({name:t,code:e,encode:r})=>new $l(t,e,r),$l=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?In(this.code,r):r.then(n=>In(this.code,n))}else throw Error("Unknown type, must be binary type")}};var ky=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),RA=Hl({name:"sha2-256",code:18,encode:ky("SHA-256")}),CA=Hl({name:"sha2-512",code:19,encode:ky("SHA-512")});var Yl={};$(Yl,{identity:()=>LA});var Oy=0,TA="identity",My=wr,BA=t=>In(Oy,My(t)),LA={code:Oy,name:TA,encode:My,digest:BA};var hL=new TextEncoder,dL=new TextDecoder;var Uy={...Ol,...Ml,...Ul,...Fl,...Kl,...Bl,...Vl,...Cl,...ql,...zl},xL={...Gl,...Yl};var nr=z(ca(),1);function Fy(t){return!!Nl(t)}function Ky(t){return!!kl(t)}function Ii(t){return!!la(t)}var Vy=Fy,NA=Ky,Wl=function(t){let e=0;if(t=t.toString().trim(),Vy(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(NA(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=Vy(r[n]),s;o&&(s=Wl(r[n]),r[n]=G(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,G(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")},qy=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 Do={},Ql={},OA=[[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"]];OA.forEach(t=>{let e=MA(...t);Ql[e.code]=e,Do[e.name]=e});function MA(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function le(t){if(typeof t=="number"){if(Ql[t]!=null)return Ql[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Do[t]!=null)return Do[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var kL=le("ip4"),OL=le("ip6"),ML=le("ipcidr");function Yy(t,e){switch(le(t).code){case 4:case 41:return FA(e);case 42:return Hy(e);case 6:case 273:case 33:case 132:return Qy(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Hy(e);case 421:return zA(e);case 444:return Gy(e);case 445:return Gy(e);case 466:return qA(e);default:return G(e,"base16")}}function Wy(t,e){switch(le(t).code){case 4:return zy(e);case 41:return zy(e);case 42:return $y(e);case 6:case 273:case 33:case 132:return Zl(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return $y(e);case 421:return KA(e);case 444:return $A(e);case 445:return HA(e);case 466:return VA(e);default:return V(e,"base16")}}var Xl=Object.values(Uy).map(t=>t.decoder),UA=function(){let t=Xl[0].or(Xl[1]);return Xl.slice(2).forEach(e=>t=t.or(e)),t}();function zy(t){if(!Ii(t))throw new Error("invalid ip address");return Wl(t)}function FA(t){let e=qy(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!Ii(e))throw new Error("invalid ip address");return e}function Zl(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Qy(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function $y(t){let e=V(t),r=Uint8Array.from(nr.default.encode(e.length));return Pe([r,e],r.length+e.length)}function Hy(t){let e=nr.default.decode(t);if(t=t.slice(nr.default.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return G(t)}function KA(t){let e;t[0]==="Q"||t[0]==="1"?e=aa(at.decode(`z${t}`)).bytes:e=be.parse(t).multihash.bytes;let r=Uint8Array.from(nr.default.encode(e.length));return Pe([r,e],r.length+e.length)}function VA(t){let e=UA.decode(t),r=Uint8Array.from(nr.default.encode(e.length));return Pe([r,e],r.length+e.length)}function qA(t){let e=nr.default.decode(t),r=t.slice(nr.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return"u"+G(r,"base64url")}function zA(t){let e=nr.default.decode(t),r=t.slice(nr.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return G(r,"base58btc")}function $A(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=br.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=Zl(n);return Pe([r,i],r.length+i.length)}function HA(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=br.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=Zl(n);return Pe([r,i],r.length+i.length)}function Gy(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=G(e,"base32"),i=Qy(r);return`${n}:${i}`}function GA(t){let e=[],r=t.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],o=le(i);if(o.size===0){e.push([i]);continue}if(n++,n>=r.length)throw Zy("invalid address: "+t);if(o.path===!0){e.push([i,rf(r.slice(n).join("/"))]);break}e.push([i,r[n]])}return e}function YA(t){let e=[];return t.map(r=>{let n=da(r);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),rf(e.join("/"))}function WA(t){return t.map(e=>{Array.isArray(e)||(e=[e]);let r=da(e);return e.length>1?[r.code,Wy(r.code,e[1])]:[r.code]})}function jl(t){return t.map(e=>{let r=da(e);return e[1]!=null?[r.code,Yy(r.code,e[1])]:[r.code]})}function Jl(t){return ha(Pe(t.map(e=>{let r=da(e),n=Uint8Array.from(Ri.default.encode(r.code));return e.length>1&&e[1]!=null&&(n=Pe([n,e[1]])),n})))}function ef(t,e){return t.size>0?t.size/8:t.size===0?0:Ri.default.decode(e)+(Ri.default.decode.bytes??0)}function fa(t){let e=[],r=0;for(;r<t.length;){let n=Ri.default.decode(t,r),i=Ri.default.decode.bytes??0,o=le(n),s=ef(o,t.slice(r+i));if(s===0){e.push([n]),r+=i;continue}let a=t.slice(r+i,r+i+s);if(r+=s+i,r>t.length)throw Zy("Invalid address Uint8Array: "+G(t,"base16"));e.push([n,a])}return e}function tf(t){let e=fa(t),r=jl(e);return YA(r)}function QA(t){t=rf(t);let e=GA(t),r=WA(e);return Jl(r)}function Xy(t){return QA(t)}function ha(t){let e=XA(t);if(e!=null)throw e;return Uint8Array.from(t)}function XA(t){try{fa(t)}catch(e){return e}}function rf(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Zy(t){return new Error("Error parsing address: "+t)}function da(t){return le(t[0])}var jA=Symbol.for("nodejs.util.inspect.custom"),JA=[le("dns").code,le("dns4").code,le("dns6").code,le("dnsaddr").code],of=new Map,jy=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Rn(t){return!!t?.[jy]}var vr=class{bytes;#e;#t;#n;#r;[jy]=!0;constructor(e){if(e==null&&(e=""),e instanceof Uint8Array)this.bytes=ha(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=Xy(e)}else if(Rn(e))this.bytes=ha(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return this.#e==null&&(this.#e=tf(this.bytes)),this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,o="",s=le("tcp"),a=le("udp"),c=le("ip4"),u=le("ip6"),l=le("dns6"),f=le("ip6zone");for(let[p,h]of this.stringTuples())p===f.code&&(o=`%${h??""}`),JA.includes(p)&&(r=s.name,i=443,n=`${h??""}${o}`,e=p===l.code?6:4),(p===s.code||p===a.code)&&(r=le(p).name,i=parseInt(h??"")),(p===c.code||p===u.code)&&(r=le(p).name,n=`${h??""}${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.protoCodes().map(e=>Object.assign({},le(e)))}protoCodes(){let e=[],r=this.bytes,n=0;for(;n<r.length;){let i=nf.default.decode(r,n),o=nf.default.decode.bytes??0,s=le(i),a=ef(s,r.slice(n+o));n+=a+o,e.push(i)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return this.#t==null&&(this.#t=fa(this.bytes)),this.#t}stringTuples(){return this.#n==null&&(this.#n=jl(this.tuples())),this.#n}encapsulate(e){return e=new vr(e),new vr(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 vr(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 vr(Jl(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===Do.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?G(at.decode(`z${n}`),"base58btc"):G(be.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){if(this.#r===void 0)try{this.#r=this.stringTuples().filter(e=>le(e[0]).path===!0)[0][1],this.#r==null&&(this.#r=null)}catch{this.#r=null}return this.#r}equals(e){return Ee(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=of.get(r.name);if(n==null)throw new oa(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(o=>new vr(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)}[jA](){return`Multiaddr(${tf(this.bytes)})`}};function Ue(t){return new vr(t)}var Jy="libp2p-peer-record",eg=Uint8Array.from([3,1]);var No;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=We((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=>Ye(o,n.codec()),n.decode=o=>Ge(o,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=We((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=>Ye(n,t.codec()),t.decode=n=>Ge(n,t.codec())})(No||(No={}));var Ci=class{peerId;multiaddrs;seqNumber;domain=Ci.DOMAIN;codec=Ci.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=No.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))})),this.marshaled}equals(e){return!(!(e instanceof Ci)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!ay(this.multiaddrs,e.multiaddrs))}},ir=Ci;wt(ir,"createFromProtobuf",e=>{let r=No.decode(e),n=mi(r.peerId),i=(r.addresses??[]).map(s=>Ue(s.multiaddr)),o=r.seq;return new Ci({peerId:n,multiaddrs:i,seqNumber:o})}),wt(ir,"DOMAIN",Jy),wt(ir,"CODEC",eg);function eI(t){return t[Symbol.asyncIterator]!=null}function tI(t){if(eI(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 ko=tI;var fg=z(rg(),1);var Mo=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},af=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},ng=t=>globalThis.DOMException===void 0?new af(t):new DOMException(t),ig=t=>{let e=t.reason===void 0?ng("This operation was aborted."):t.reason;return e instanceof Error?e:ng(e)};function cf(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(ig(c)),c.addEventListener("abort",()=>{a(ig(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 Mo(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 uf(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 Cn=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)},Er,Uo=class{constructor(){Er.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&Cn(this,Er,"f")[this.size-1].priority>=r.priority){Cn(this,Er,"f").push(n);return}let i=uf(Cn(this,Er,"f"),n,(o,s)=>s.priority-o.priority);Cn(this,Er,"f").splice(i,0,n)}dequeue(){let e=Cn(this,Er,"f").shift();return e?.run}filter(e){return Cn(this,Er,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return Cn(this,Er,"f").length}};Er=new WeakMap;var Se=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},k=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)},Ne,Ko,Vo,Gr,ba,qo,ma,Mt,Fo,mt,ya,yt,zo,Hr,ga,og,sg,ug,ag,cg,xa,lf,ff,va,lg,wa,Ea=class extends Error{},Ut=class extends fg.default{constructor(e){var r,n,i,o;if(super(),Ne.add(this),Ko.set(this,void 0),Vo.set(this,void 0),Gr.set(this,0),ba.set(this,void 0),qo.set(this,void 0),ma.set(this,0),Mt.set(this,void 0),Fo.set(this,void 0),mt.set(this,void 0),ya.set(this,void 0),yt.set(this,0),zo.set(this,void 0),Hr.set(this,void 0),ga.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:Uo,...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})`);Se(this,Ko,e.carryoverConcurrencyCount,"f"),Se(this,Vo,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),Se(this,ba,e.intervalCap,"f"),Se(this,qo,e.interval,"f"),Se(this,mt,new e.queueClass,"f"),Se(this,ya,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,Se(this,ga,e.throwOnTimeout===!0,"f"),Se(this,Hr,e.autoStart===!1,"f")}get concurrency(){return k(this,zo,"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})`);Se(this,zo,e,"f"),k(this,Ne,"m",va).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,ga,"f"),...r},new Promise((n,i)=>{k(this,mt,"f").enqueue(async()=>{var o,s,a;Se(this,yt,(s=k(this,yt,"f"),s++,s),"f"),Se(this,Gr,(a=k(this,Gr,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new Ea("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=cf(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,k(this,Ne,"m",lg).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof Mo&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{k(this,Ne,"m",ug).call(this)}},r),this.emit("add"),k(this,Ne,"m",xa).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return k(this,Hr,"f")?(Se(this,Hr,!1,"f"),k(this,Ne,"m",va).call(this),this):this}pause(){Se(this,Hr,!0,"f")}clear(){Se(this,mt,new(k(this,ya,"f")),"f")}async onEmpty(){k(this,mt,"f").size!==0&&await k(this,Ne,"m",wa).call(this,"empty")}async onSizeLessThan(e){k(this,mt,"f").size<e||await k(this,Ne,"m",wa).call(this,"next",()=>k(this,mt,"f").size<e)}async onIdle(){k(this,yt,"f")===0&&k(this,mt,"f").size===0||await k(this,Ne,"m",wa).call(this,"idle")}get size(){return k(this,mt,"f").size}sizeBy(e){return k(this,mt,"f").filter(e).length}get pending(){return k(this,yt,"f")}get isPaused(){return k(this,Hr,"f")}};Ko=new WeakMap,Vo=new WeakMap,Gr=new WeakMap,ba=new WeakMap,qo=new WeakMap,ma=new WeakMap,Mt=new WeakMap,Fo=new WeakMap,mt=new WeakMap,ya=new WeakMap,yt=new WeakMap,zo=new WeakMap,Hr=new WeakMap,ga=new WeakMap,Ne=new WeakSet,og=function(){return k(this,Vo,"f")||k(this,Gr,"f")<k(this,ba,"f")},sg=function(){return k(this,yt,"f")<k(this,zo,"f")},ug=function(){var e;Se(this,yt,(e=k(this,yt,"f"),e--,e),"f"),k(this,Ne,"m",xa).call(this),this.emit("next")},ag=function(){k(this,Ne,"m",ff).call(this),k(this,Ne,"m",lf).call(this),Se(this,Fo,void 0,"f")},cg=function(){let e=Date.now();if(k(this,Mt,"f")===void 0){let r=k(this,ma,"f")-e;if(r<0)Se(this,Gr,k(this,Ko,"f")?k(this,yt,"f"):0,"f");else return k(this,Fo,"f")===void 0&&Se(this,Fo,setTimeout(()=>{k(this,Ne,"m",ag).call(this)},r),"f"),!0}return!1},xa=function(){if(k(this,mt,"f").size===0)return k(this,Mt,"f")&&clearInterval(k(this,Mt,"f")),Se(this,Mt,void 0,"f"),this.emit("empty"),k(this,yt,"f")===0&&this.emit("idle"),!1;if(!k(this,Hr,"f")){let e=!k(this,Ne,"a",cg);if(k(this,Ne,"a",og)&&k(this,Ne,"a",sg)){let r=k(this,mt,"f").dequeue();return r?(this.emit("active"),r(),e&&k(this,Ne,"m",lf).call(this),!0):!1}}return!1},lf=function(){k(this,Vo,"f")||k(this,Mt,"f")!==void 0||(Se(this,Mt,setInterval(()=>{k(this,Ne,"m",ff).call(this)},k(this,qo,"f")),"f"),Se(this,ma,Date.now()+k(this,qo,"f"),"f"))},ff=function(){k(this,Gr,"f")===0&&k(this,yt,"f")===0&&k(this,Mt,"f")&&(clearInterval(k(this,Mt,"f")),Se(this,Mt,void 0,"f")),Se(this,Gr,k(this,Ko,"f")?k(this,yt,"f"):0,"f"),k(this,Ne,"m",va).call(this)},va=function(){for(;k(this,Ne,"m",xa).call(this););},lg=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new Ea("The task was aborted."))},{once:!0})})},wa=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var hf=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},df=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},hg=t=>globalThis.DOMException===void 0?new df(t):new DOMException(t),dg=t=>{let e=t.reason===void 0?hg("This operation was aborted."):t.reason;return e instanceof Error?e:hg(e)};function pf(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:d}=e;d.aborted&&l(dg(d)),d.addEventListener("abort",()=>{l(dg(d))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new hf;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(d){l(d)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?u():i instanceof Error?l(i):(f.message=i??`Promise timed out after ${r} milliseconds`,l(f))},r),(async()=>{try{u(await t)}catch(d){l(d)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}var mf="lock:worker:request-read",yf="lock:worker:release-read",gf="lock:master:grant-read",xf="lock:worker:request-write",wf="lock:worker:release-write",bf="lock:master:grant-write";var Yr={},Ti=t=>{t.addEventListener("message",e=>{Ti.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{Ti.dispatchEvent("message",t,e)})};Ti.addEventListener=(t,e)=>{Yr[t]==null&&(Yr[t]=[]),Yr[t].push(e)};Ti.removeEventListener=(t,e)=>{Yr[t]!=null&&(Yr[t]=Yr[t].filter(r=>r===e))};Ti.dispatchEvent=function(t,e,r){Yr[t]!=null&&Yr[t].forEach(n=>n(e,r))};var vf=Ti;var pg=(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)}))}}))},mg=(t,e,r,n)=>async()=>{let i=js();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)})},iI={singleProcess:!1},yg=t=>{if(t=Object.assign({},iI,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return vf.addEventListener("message",pg(r,"requestReadLock",mf,yf,gf)),vf.addEventListener("message",pg(r,"requestWriteLock",xf,wf,bf)),r}return{isWorker:!0,readLock:r=>mg(r,mf,gf,yf),writeLock:r=>mg(r,xf,bf,wf)}};var Tn={},Wr;async function Ef(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>await pf((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var oI=(t,e)=>{if(Wr.isWorker===!0)return{readLock:Wr.readLock(t,e),writeLock:Wr.writeLock(t,e)};let r=new Ut({concurrency:1}),n;return{async readLock(){if(n!=null)return await Ef(n,e);n=new Ut({concurrency:e.concurrency,autoStart:!1});let i=n,o=Ef(n,e);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await o},async writeLock(){return n=null,await Ef(r,e)}}},sI={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function _f(t){let e=Object.assign({},sI,t);return Wr==null&&(Wr=yg(e),Wr.isWorker!==!0&&(Wr.addEventListener("requestReadLock",r=>{Tn[r.data.name]!=null&&Tn[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),Wr.addEventListener("requestWriteLock",async r=>{Tn[r.data.name]!=null&&Tn[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),Tn[e.name]==null&&(Tn[e.name]=oI(e.name,e)),Tn[e.name]}var Qe={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var Bi;(function(t){let e;(function(i){let o;i.codec=()=>(o==null&&(o=We((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=>Ye(s,i.codec()),i.decode=s=>Ge(s,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let o;i.codec=()=>(o==null&&(o=We((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),Sa.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=Sa.codec().decode(s,s.uint32());break;default:s.skipType(l&7);break}}return c})),o),i.encode=s=>Ye(s,i.codec()),i.decode=s=>Ge(s,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=We((i,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),i.addresses!=null)for(let a of i.addresses)o.uint32(10),_a.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(_a.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=>Ye(i,t.codec()),t.decode=i=>Ge(i,t.codec())})(Bi||(Bi={}));var _a;(function(t){let e;t.codec=()=>(e==null&&(e=We((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=>Ye(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(_a||(_a={}));var Sa;(function(t){let e;t.codec=()=>(e==null&&(e=We((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=>Ye(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(Sa||(Sa={}));function Li(t,e){let r=Bi.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=Dm({...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:Ue(o),isCertified:s??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}var Sf="/peers/";function Pi(t){if(!Zs(t)||t.type==null)throw new v("Invalid PeerId",Qe.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new Ce(`${Sf}${e}`)}async function gg(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=Ue(i.multiaddr)),!Rn(i.multiaddr))throw new v("Multiaddr was invalid",Qe.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 Ia(t,e,r,n){if(e==null)throw new v("Invalid PeerData",Qe.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!Ee(e.publicKey,t.publicKey))throw new v("publicKey bytes do not match peer id publicKey bytes",Qe.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new v("peer id did not match existing peer id",Qe.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=Aa(f,{validate:xg})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=Aa(f,{validate:wg,map:bg})}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[d,p]of f)p==null?a.delete(d):a.set(d,p);a=Aa([...a.entries()],{validate:xg})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),d=new Map(c);for(let[p,h]of f)h==null?d.delete(p):d.set(p,h);c=Aa([...d.entries()],{validate:wg,map:bg})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await gg(t,n.addressFilter??(async()=>!0),o),protocols:[...s.values()].sort((f,d)=>f.localeCompare(d)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete l.publicKey,l}function Aa(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 xg(t,e){if(typeof t!="string")throw new v("Metadata key must be a string",Qe.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new v("Metadata value must be a Uint8Array",Qe.ERR_INVALID_PARAMETERS)}function wg(t,e){if(typeof t!="string")throw new v("Tag name must be a string",Qe.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new v("Tag value must be an integer",Qe.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new v("Tag value must be between 0-100",Qe.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new v("Tag ttl must be an integer",Qe.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new v("Tag ttl must be between greater than 0",Qe.ERR_INVALID_PARAMETERS)}}function bg(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 Ra(t,e,r){let n=t.toString().split("/")[2],i=tr.decode(n),o=mi(i),s=r.get(o);if(s!=null)return s;let a=Li(o,e);return r.set(o,a),a}function aI(t,e){return t==null?{}:{prefix:Sf,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(Ra(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(Ra(n.key,n.value,e),Ra(i.key,i.value,e)))}}var Ca=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=_f({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(Pi(e))}async delete(e){if(this.peerId.equals(e))throw new v("Cannot delete self peer",Qe.ERR_INVALID_PARAMETERS);await this.datastore.delete(Pi(e))}async load(e){let r=await this.datastore.get(Pi(e));return Li(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await Ia(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 Ia(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 Ia(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,o,n,i)}async*all(e){let r=new Nt;for await(let{key:n,value:i}of this.datastore.query(aI(e??{},r))){let o=Ra(n,i,r);o.id.equals(this.peerId)||(yield o)}}async#e(e){try{let r=await this.datastore.get(Pi(e)),n=Li(e,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}}async#t(e,r,n,i){let o=Bi.encode(r);return n!=null&&Ee(o,n)?{peer:Li(e,o),previous:i,updated:!1}:(await this.datastore.put(Pi(e),o),{peer:Li(e,o),previous:i,updated:!0})}};var he=W("libp2p:peer-store"),Ta=class{store;events;peerId;constructor(e,r={}){this.events=e.events,this.peerId=e.peerId,this.store=new Ca(e,r)}async forEach(e,r){he.trace("forEach await read lock");let n=await this.store.lock.readLock();he.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{he.trace("forEach release read lock"),n()}}async all(e){he.trace("all await read lock");let r=await this.store.lock.readLock();he.trace("all got read lock");try{return await ko(this.store.all(e))}finally{he.trace("all release read lock"),r()}}async delete(e){he.trace("delete await write lock");let r=await this.store.lock.writeLock();he.trace("delete got write lock");try{await this.store.delete(e)}finally{he.trace("delete release write lock"),r()}}async has(e){he.trace("has await read lock");let r=await this.store.lock.readLock();he.trace("has got read lock");try{return await this.store.has(e)}finally{he.trace("has release read lock"),r()}}async get(e){he.trace("get await read lock");let r=await this.store.lock.readLock();he.trace("get got read lock");try{return await this.store.load(e)}finally{he.trace("get release read lock"),r()}}async save(e,r){he.trace("save await write lock");let n=await this.store.lock.writeLock();he.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{he.trace("save release write lock"),n()}}async patch(e,r){he.trace("patch await write lock");let n=await this.store.lock.writeLock();he.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{he.trace("patch release write lock"),n()}}async merge(e,r){he.trace("merge await write lock");let n=await this.store.lock.writeLock();he.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{he.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await xr.openAndCertify(e,ir.DOMAIN);if(r?.equals(n.peerId)===!1)return he("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=ir.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 xr.createFromProtobuf(o.peerRecordEnvelope),a=ir.createFromProtobuf(s.payload);if(a.seqNumber>=i.seqNumber)return he("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 cI(t){return t[Symbol.asyncIterator]!=null}function uI(t){if(cI(t))return(async()=>{for await(let e of t);})();for(let e of t);}var Af=uI;function lI(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 Ba=lI;function fI(t){return t[Symbol.asyncIterator]!=null}function hI(t,e){if(fI(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=Ba(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 Ft=hI;function dI(t){return t[Symbol.asyncIterator]!=null}function pI(t,e){return dI(t)?async function*(){yield*(await ko(t)).sort(e)}():function*(){yield*ko(t).sort(e)}()}var If=pI;function mI(t){return t[Symbol.asyncIterator]!=null}function yI(t,e){return mI(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 Rf=yI;var La=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 Af(this.putMany(e,n)),e=[],await Af(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=Ft(n,o=>o.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>Ft(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>If(i,o),n)),e.offset!=null){let i=0,o=e.offset;n=Ft(n,()=>i++>=o)}return e.limit!=null&&(n=Rf(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=Ft(n,o=>o.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>Ft(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>If(i,o),n)),e.offset!=null){let i=e.offset,o=0;n=Ft(n,()=>o++>=i)}return e.limit!=null&&(n=Rf(n,e.limit)),n}};var _g=z(Cf(),1);function Sg(t){return t=t??new Error("Not Found"),(0,_g.default)(t,"ERR_NOT_FOUND")}var Pa=class extends La{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 Sg();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 Ce(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new Ce(e)}};function Ag(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var wI=W("libp2p:address-manager"),bI=t=>t;function Tf(t,e){let r=t.getPeerId();return r!=null&&oe(r).equals(e)&&(t=t.decapsulate(Ue(`/p2p/${e.toString()}`))),t}var Da=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??bI,this._updatePeerStoreAddresses=Ag(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])=>Ue(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=>{wI.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>Ue(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>Ue(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>Ue(e))}addObservedAddr(e){e=Tf(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=Tf(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=Tf(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=>Ue(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};function Ig(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var Bf=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=>Ig(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")}},vI=["metrics","connectionProtector"],EI=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function Rg(t={}){let e=new Bf(t);return new Proxy(e,{get(n,i,o){if(typeof i=="string"&&!EI.includes(i)){let s=e.components[i];if(s==null&&!vI.includes(i))throw new v(`${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 Ng=z(Cg(),1);var Tg="[a-fA-F\\d:]",Qr=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${Tg})|(?<=${Tg})(?=\\s|$))`:"",Kt="(?: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}",Me="[a-fA-F\\d]{1,4}",Na=`
|
|
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"))}};Jy.exports=Wl});var eg=B(()=>{});var rg=B((NL,tg)=>{tg.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 ig=B((OL,ng)=>{var bA=rg(),Ql=lt();ng.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 Ql(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 bA(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 Ql(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 Ql(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 Zl=B((ML,sg)=>{var _A=Ao(),AA=ig(),og=lt(),Xl=class extends _A{constructor(e={}){super(e),this._memoryStorage=new AA}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 og(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 og(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)))}};sg.exports=Xl});var dg=B((UL,hg)=>{var ag=eg(),SA=Kr(),IA=Ao(),ug=Zl(),RA=lt(),yt="rate_limiter_flexible",Ei=null,cg=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:yt,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},lg=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&lg.call(this,t)},30)},wi=function(t,e,r,n,i){let o={channel:yt,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(o):lg.call(this,o)},fg=function(t,e){if(!e||e.channel!==yt||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=>{cg(t,e,"resolve",n)}).catch(n=>{cg(t,e,"reject",n)})},CA=function(t){if(!t||t.channel!==yt||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 RA(t.data.remainingPoints,t.data.msBeforeNext,t.data.consumedPoints,t.data.isFirstInDuration),t.type){case"resolve":this._promises[t.promiseId].resolve(e);break;case"reject":this._promises[t.promiseId].reject(e);break;default:throw new Error(`RateLimiterCluster: no such message type '${t.type}'`)}delete this._promises[t.promiseId]}},TA=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},vi=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=SA.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},Jl=class{constructor(){if(Ei)return Ei;this._rateLimiters={},ag.setMaxListeners(0),ag.on("message",(e,r)=>{r&&r.channel===yt&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new ug(r.opts)),e.send({channel:yt,type:"init",keyPrefix:r.opts.keyPrefix})):fg.call(this,e,r)}),Ei=this}},jl=class{constructor(e){if(Ei)return Ei;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let o=i.raw;if(o&&o.channel===yt&&o.type==="init")typeof this._rateLimiters[o.opts.keyPrefix]>"u"&&(this._rateLimiters[o.opts.keyPrefix]=new ug(o.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:yt,channel:yt,type:"init",keyPrefix:o.opts.keyPrefix},(s,a)=>{s&&console.log(s,a)});else{let s={send:a=>{let c=a;c.topic=yt,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};fg.call(this,s,o)}})}),Ei=this}},ef=class extends IA{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===yt&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:CA.call(this,r)}),process.send({channel:yt,type:"init",opts:TA.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=vi.call(this,i,o);wi.call(this,"consume",s,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,o)=>{let s=vi.call(this,i,o);wi.call(this,"penalty",s,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,o)=>{let s=vi.call(this,i,o);wi.call(this,"reward",s,e,r,n)})}block(e,r,n={}){return new Promise((i,o)=>{let s=vi.call(this,i,o);wi.call(this,"block",s,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let o=vi.call(this,n,i);wi.call(this,"get",o,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let o=vi.call(this,n,i);wi.call(this,"delete",o,e,r)})}};hg.exports={RateLimiterClusterMaster:Jl,RateLimiterClusterMasterPM2:jl,RateLimiterCluster:ef}});var mg=B((FL,pg)=>{var BA=xi(),PA=lt(),tf=class extends BA{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new PA;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)})})})}};pg.exports=tf});var xg=B((VL,gg)=>{var yg=lt();gg.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 yg(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new yg(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 vg=B((zL,wg)=>{var LA=Ao();wg.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 LA))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 bg=B((HL,Eg)=>{Eg.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 Ig=B((YL,Sg)=>{var _g=bg(),Ag=4294967295,rf="limiter";Sg.exports=class{constructor(e,r={maxQueueSize:Ag}){this._queueLimiters={KEY_DEFAULT:new fa(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=rf){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=rf){return this._queueLimiters[r]||(this._queueLimiters[r]=new fa(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var fa=class{constructor(e,r={maxQueueSize:Ag,key:rf}){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 _g(`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 _g(`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 Cg=B((QL,Rg)=>{var nf=lt();Rg.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return e?new nf(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 nf?this._burstLimiter.consume(e,r,n).then(o=>Promise.resolve(this._combineRes(i,o))).catch(o=>o instanceof nf?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 Bg=B((XL,Tg)=>{var DA=Gy(),NA=Qy(),kA=Zy(),OA=jy(),{RateLimiterClusterMaster:MA,RateLimiterClusterMasterPM2:UA,RateLimiterCluster:FA}=dg(),KA=Zl(),VA=mg(),qA=xg(),zA=vg(),$A=Ig(),HA=Cg(),GA=lt();Tg.exports={RateLimiterRedis:DA,RateLimiterMongo:NA,RateLimiterMySQL:kA,RateLimiterPostgres:OA,RateLimiterMemory:KA,RateLimiterMemcache:VA,RateLimiterClusterMaster:MA,RateLimiterClusterMasterPM2:UA,RateLimiterCluster:FA,RLWrapperBlackAndWhite:qA,RateLimiterUnion:zA,RateLimiterQueue:$A,BurstyRateLimiter:HA,RateLimiterRes:GA}});var SS={};re(SS,{createLibp2p:()=>AS});var Wg=z(In(),1);var i4=z(Bi(),1),o4=z(e0(),1);var Pn=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"},E=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Is=z(ne(),1);function $r(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var lc={};re(lc,{identity:()=>Mw});function Lw(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 b=(x-g)*l+1>>>0,T=new Uint8Array(b);g!==x;){for(var R=d[g],C=0,F=b-1;(R!==0||C<y)&&F!==-1;F--,C++)R+=256*T[F]>>>0,T[F]=R%a>>>0,R=R/a>>>0;if(R!==0)throw new Error("Non-zero carry");y=C,g++}for(var V=b-y;V!==b&&T[V]===0;)V++;for(var de=c.repeat(m);V<b;++V)de+=t.charAt(T[V]);return de}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,b=new Uint8Array(x);d[m];){var T=r[d.charCodeAt(m)];if(T===255)return;for(var R=0,C=x-1;(T!==0||R<g)&&C!==-1;C--,R++)T+=a*b[C]>>>0,b[C]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");g=R,m++}if(d[m]!==" "){for(var F=x-g;F!==x&&b[F]===0;)F++;for(var V=new Uint8Array(y+(x-F)),de=y;F!==x;)V[de++]=b[F++];return V}}}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 Dw=Lw,Nw=Dw,t0=Nw;var rI=new Uint8Array(0);var r0=(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},jt=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var n0=t=>new TextEncoder().encode(t),i0=t=>new TextDecoder().decode(t);var sc=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},ac=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return s0(this,e)}},cc=class{constructor(e){this.decoders=e}or(e){return s0(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`)}},s0=(t,e)=>new cc({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),uc=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new sc(e,r,n),this.decoder=new ac(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Ln=({name:t,prefix:e,encode:r,decode:n})=>new uc(t,e,r,n),pr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=t0(r,e);return Ln({prefix:t,name:e,encode:n,decode:o=>jt(i(o))})},kw=(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},Ow=(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},ve=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Ln({prefix:e,name:t,encode(i){return Ow(i,n,r)},decode(i){return kw(i,n,r,t)}});var Mw=Ln({prefix:"\0",name:"identity",encode:t=>i0(t),decode:t=>n0(t)});var fc={};re(fc,{base2:()=>Uw});var Uw=ve({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var hc={};re(hc,{base8:()=>Fw});var Fw=ve({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var dc={};re(dc,{base10:()=>Kw});var Kw=pr({prefix:"9",name:"base10",alphabet:"0123456789"});var pc={};re(pc,{base16:()=>Vw,base16upper:()=>qw});var Vw=ve({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),qw=ve({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var mc={};re(mc,{base32:()=>Dn,base32hex:()=>Gw,base32hexpad:()=>Ww,base32hexpadupper:()=>Qw,base32hexupper:()=>Yw,base32pad:()=>$w,base32padupper:()=>Hw,base32upper:()=>zw,base32z:()=>Xw});var Dn=ve({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),zw=ve({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),$w=ve({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Hw=ve({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Gw=ve({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Yw=ve({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Ww=ve({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Qw=ve({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Xw=ve({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var yc={};re(yc,{base36:()=>Zw,base36upper:()=>Jw});var Zw=pr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Jw=pr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var gc={};re(gc,{base58btc:()=>Ft,base58flickr:()=>jw});var Ft=pr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),jw=pr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var xc={};re(xc,{base64:()=>e2,base64pad:()=>t2,base64url:()=>r2,base64urlpad:()=>n2});var e2=ve({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),t2=ve({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),r2=ve({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),n2=ve({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var wc={};re(wc,{base256emoji:()=>c2});var a0=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}"),i2=a0.reduce((t,e,r)=>(t[r]=e,t),[]),o2=a0.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function s2(t){return t.reduce((e,r)=>(e+=i2[r],e),"")}function a2(t){let e=[];for(let r of t){let n=o2[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var c2=Ln({prefix:"\u{1F680}",name:"base256emoji",encode:s2,decode:a2});var _c={};re(_c,{sha256:()=>R2,sha512:()=>C2});var u2=l0,c0=128,l2=127,f2=~l2,h2=Math.pow(2,31);function l0(t,e,r){e=e||[],r=r||0;for(var n=r;t>=h2;)e[r++]=t&255|c0,t/=128;for(;t&f2;)e[r++]=t&255|c0,t>>>=7;return e[r]=t|0,l0.bytes=r-n+1,e}var d2=vc,p2=128,u0=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&u0)<<i:(s&u0)*Math.pow(2,i),i+=7}while(s>=p2);return vc.bytes=o-n,r}var m2=Math.pow(2,7),y2=Math.pow(2,14),g2=Math.pow(2,21),x2=Math.pow(2,28),w2=Math.pow(2,35),v2=Math.pow(2,42),E2=Math.pow(2,49),b2=Math.pow(2,56),_2=Math.pow(2,63),A2=function(t){return t<m2?1:t<y2?2:t<g2?3:t<x2?4:t<w2?5:t<v2?6:t<E2?7:t<b2?8:t<_2?9:10},S2={encode:u2,decode:d2,encodingLength:A2},I2=S2,Di=I2;var Ni=(t,e=0)=>[Di.decode(t,e),Di.decode.bytes],Nn=(t,e,r=0)=>(Di.encode(t,e,r),e),kn=t=>Di.encodingLength(t);var Hr=(t,e)=>{let r=e.byteLength,n=kn(t),i=n+kn(r),o=new Uint8Array(i+r);return Nn(t,o,0),Nn(r,o,n),o.set(e,i),new On(t,r,e,o)},f0=t=>{let e=jt(t),[r,n]=Ni(e),[i,o]=Ni(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new On(r,i,s,e)},h0=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&r0(t.bytes,r.bytes)}},On=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var bc=({name:t,code:e,encode:r})=>new Ec(t,e,r),Ec=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?Hr(this.code,r):r.then(n=>Hr(this.code,n))}else throw Error("Unknown type, must be binary type")}};var p0=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),R2=bc({name:"sha2-256",code:18,encode:p0("SHA-256")}),C2=bc({name:"sha2-512",code:19,encode:p0("SHA-512")});var Ac={};re(Ac,{identity:()=>P2});var m0=0,T2="identity",y0=jt,B2=t=>Hr(m0,y0(t)),P2={code:m0,name:T2,encode:y0,digest:B2};var _I=new TextEncoder,AI=new TextDecoder;var g0=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return k2(r,Sc(t),e||Ft.encoder);default:return O2(r,Sc(t),e||Dn.encoder)}};var x0=new WeakMap,Sc=t=>{let e=x0.get(t);if(e==null){let r=new Map;return x0.set(t,r),r}return e},is=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!==Oi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==M2)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=Hr(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&&h0(e.multihash,n.multihash)}toString(e){return g0(this,e)}toJSON(){return{"/":g0(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||w0(n,i,o.bytes))}else if(r[U2]===!0){let{version:n,multihash:i,code:o}=r,s=f0(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!==Oi)throw new Error(`Version 0 CID must use dag-pb (code: ${Oi}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=w0(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Oi,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=jt(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 On(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]=Ni(e.subarray(r));return r+=h,f},i=n(),o=Oi;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]=N2(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Sc(o).set(n,e),o}},N2=(t,e)=>{switch(t[0]){case"Q":{let r=e||Ft;return[Ft.prefix,r.decode(`${Ft.prefix}${t}`)]}case Ft.prefix:{let r=e||Ft;return[Ft.prefix,r.decode(t)]}case Dn.prefix:{let r=e||Dn;return[Dn.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)]}}},k2=(t,e,r)=>{let{prefix:n}=r;if(n!==Ft.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},O2=(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},Oi=112,M2=18,w0=(t,e,r)=>{let n=kn(t),i=n+kn(e),o=new Uint8Array(i+r.byteLength);return Nn(t,o,0),Nn(e,o,n),o.set(r,i),o},U2=Symbol.for("@ipld/js-cid/CID");var Ic={...lc,...fc,...hc,...dc,...pc,...mc,...yc,...gc,...xc,...wc},NI={..._c,...Ac};function er(t=0){return globalThis.Buffer?.alloc!=null?$r(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function vt(t=0){return globalThis.Buffer?.allocUnsafe!=null?$r(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function E0(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var v0=E0("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Rc=E0("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=vt(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),F2={utf8:v0,"utf-8":v0,hex:Ic.base16,latin1:Rc,ascii:Rc,binary:Rc,...Ic},os=F2;function K(t,e="utf8"){let r=os[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?$r(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var hu={};re(hu,{Ed25519PrivateKey:()=>jr,Ed25519PublicKey:()=>Gi,generateKeyPair:()=>Yv,generateKeyPairFromSeed:()=>Vd,unmarshalEd25519PrivateKey:()=>Hv,unmarshalEd25519PublicKey:()=>Gv});var Lc={};re(Lc,{base58btc:()=>Ae,base58flickr:()=>H2});function K2(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 b=(x-g)*l+1>>>0,T=new Uint8Array(b);g!==x;){for(var R=d[g],C=0,F=b-1;(R!==0||C<y)&&F!==-1;F--,C++)R+=256*T[F]>>>0,T[F]=R%a>>>0,R=R/a>>>0;if(R!==0)throw new Error("Non-zero carry");y=C,g++}for(var V=b-y;V!==b&&T[V]===0;)V++;for(var de=c.repeat(m);V<b;++V)de+=t.charAt(T[V]);return de}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,b=new Uint8Array(x);d[m];){var T=r[d.charCodeAt(m)];if(T===255)return;for(var R=0,C=x-1;(T!==0||R<g)&&C!==-1;C--,R++)T+=a*b[C]>>>0,b[C]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");g=R,m++}if(d[m]!==" "){for(var F=x-g;F!==x&&b[F]===0;)F++;for(var V=new Uint8Array(y+(x-F)),de=y;F!==x;)V[de++]=b[F++];return V}}}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 V2=K2,q2=V2,b0=q2;var HI=new Uint8Array(0);var _0=(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},tr=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 A0=t=>new TextEncoder().encode(t),S0=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")}},Tc=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 R0(this,e)}},Bc=class{constructor(e){this.decoders=e}or(e){return R0(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`)}},R0=(t,e)=>new Bc({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Pc=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 Tc(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Mn=({name:t,prefix:e,encode:r,decode:n})=>new Pc(t,e,r,n),mr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=b0(r,e);return Mn({prefix:t,name:e,encode:n,decode:o=>tr(i(o))})},z2=(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},$2=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Ee=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Mn({prefix:e,name:t,encode(i){return $2(i,n,r)},decode(i){return z2(i,n,r,t)}});var Ae=mr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),H2=mr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Nc={};re(Nc,{identity:()=>yr});var G2=B0,C0=128,Y2=127,W2=~Y2,Q2=Math.pow(2,31);function B0(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Q2;)e[r++]=t&255|C0,t/=128;for(;t&W2;)e[r++]=t&255|C0,t>>>=7;return e[r]=t|0,B0.bytes=r-n+1,e}var X2=Dc,Z2=128,T0=127;function Dc(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Dc.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&T0)<<i:(s&T0)*Math.pow(2,i),i+=7}while(s>=Z2);return Dc.bytes=o-n,r}var J2=Math.pow(2,7),j2=Math.pow(2,14),ev=Math.pow(2,21),tv=Math.pow(2,28),rv=Math.pow(2,35),nv=Math.pow(2,42),iv=Math.pow(2,49),ov=Math.pow(2,56),sv=Math.pow(2,63),av=function(t){return t<J2?1:t<j2?2:t<ev?3:t<tv?4:t<rv?5:t<nv?6:t<iv?7:t<ov?8:t<sv?9:10},cv={encode:G2,decode:X2,encodingLength:av},uv=cv,Mi=uv;var Ui=(t,e=0)=>[Mi.decode(t,e),Mi.decode.bytes],Un=(t,e,r=0)=>(Mi.encode(t,e,r),e),Fn=t=>Mi.encodingLength(t);var Kt=(t,e)=>{let r=e.byteLength,n=Fn(t),i=n+Fn(r),o=new Uint8Array(i+r);return Un(t,o,0),Un(r,o,n),o.set(e,i),new Kn(t,r,e,o)},Gr=t=>{let e=tr(t),[r,n]=Ui(e),[i,o]=Ui(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Kn(r,i,s,e)},P0=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&_0(t.bytes,r.bytes)}},Kn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var L0=0,lv="identity",D0=tr,fv=t=>Kt(L0,D0(t)),yr={code:L0,name:lv,encode:D0,digest:fv};var Mc={};re(Mc,{sha256:()=>Fe,sha512:()=>hv});var Oc=({name:t,code:e,encode:r})=>new kc(t,e,r),kc=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?Kt(this.code,r):r.then(n=>Kt(this.code,n))}else throw Error("Unknown type, must be binary type")}};var k0=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Fe=Oc({name:"sha2-256",code:18,encode:k0("SHA-256")}),hv=Oc({name:"sha2-512",code:19,encode:k0("SHA-512")});function ge(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var dv=z(Kr(),1);var Oe=BigInt(0),Q=BigInt(1),wr=BigInt(2),pv=BigInt(8),O0=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),le=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:O0,n:O0,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var V0=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),Fi=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),rR=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),mv=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),yv=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),gv=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),xv=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Pe=class t{constructor(e,r,n,i){this.x=e,this.y=r,this.z=n,this.t=i}static fromAffine(e){if(!(e instanceof Se))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(Se.ZERO)?t.ZERO:new t(e.x,e.y,Q,S(e.x*e.y))}static toAffineBatch(e){let r=Ev(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return this.toAffineBatch(e).map(this.fromAffine)}equals(e){U0(e);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=e,c=S(r*a),u=S(o*i),l=S(n*a),f=S(s*i);return c===u&&l===f}negate(){return new t(S(-this.x),this.y,this.z,S(-this.t))}double(){let{x:e,y:r,z:n}=this,{a:i}=le,o=S(e*e),s=S(r*r),a=S(wr*S(n*n)),c=S(i*o),u=e+r,l=S(S(u*u)-o-s),f=c+s,h=f-a,p=c-s,d=S(l*h),m=S(f*p),y=S(l*p),g=S(h*f);return new t(d,m,g,y)}add(e){U0(e);let{x:r,y:n,z:i,t:o}=this,{x:s,y:a,z:c,t:u}=e,l=S((n-r)*(a+s)),f=S((n+r)*(a-s)),h=S(f-l);if(h===Oe)return this.double();let p=S(i*wr*u),d=S(o*wr*c),m=d+p,y=f+l,g=d-p,x=S(m*h),b=S(y*g),T=S(m*g),R=S(h*y);return new t(x,b,R,T)}subtract(e){return this.add(e.negate())}precomputeWindow(e){let r=1+256/e,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(e-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(e,r){!r&&this.equals(t.BASE)&&(r=Se.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&qc.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=t.normalizeZ(i),qc.set(r,i)));let o=t.ZERO,s=t.BASE,a=1+256/n,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<a;h++){let p=h*c,d=Number(e&u);e>>=f,d>c&&(d-=l,e+=Q);let m=p,y=p+Math.abs(d)-1,g=h%2!==0,x=d<0;d===0?s=s.add(M0(g,i[m])):o=o.add(M0(x,i[y]))}return t.normalizeZ([o,s])[0]}multiply(e,r){return this.wNAF(cs(e,le.l),r)}multiplyUnsafe(e){let r=cs(e,le.l,!1),n=t.BASE,i=t.ZERO;if(r===Oe)return i;if(this.equals(i)||r===Q)return this;if(this.equals(n))return this.wNAF(r);let o=i,s=this;for(;r>Oe;)r&Q&&(o=o.add(s)),s=s.double(),r>>=Q;return o}isSmallOrder(){return this.multiplyUnsafe(le.h).equals(t.ZERO)}isTorsionFree(){let e=this.multiplyUnsafe(le.l/wr).double();return le.l%wr&&(e=e.add(this)),e.equals(t.ZERO)}toAffine(e){let{x:r,y:n,z:i}=this,o=this.equals(t.ZERO);e==null&&(e=o?pv:us(i));let s=S(r*e),a=S(n*e),c=S(i*e);if(o)return Se.ZERO;if(c!==Q)throw new Error("invZ was invalid");return new Se(s,a)}fromRistrettoBytes(){Fc()}toRistrettoBytes(){Fc()}fromRistrettoHash(){Fc()}};Pe.BASE=new Pe(le.Gx,le.Gy,Q,S(le.Gx*le.Gy));Pe.ZERO=new Pe(Oe,Q,Q,Oe);function M0(t,e){let r=e.negate();return t?r:e}function U0(t){if(!(t instanceof Pe))throw new TypeError("ExtendedPoint expected")}function Uc(t){if(!(t instanceof Wr))throw new TypeError("RistrettoPoint expected")}function Fc(){throw new Error("Legacy method: switch to RistrettoPoint")}var Wr=class t{constructor(e){this.ep=e}static calcElligatorRistrettoMap(e){let{d:r}=le,n=S(Fi*e*e),i=S((n+Q)*gv),o=BigInt(-1),s=S((o-r*n)*S(n+r)),{isValid:a,value:c}=$c(i,s),u=S(c*e);xr(u)||(u=S(-u)),a||(c=u),a||(o=n);let l=S(o*(n-Q)*xv-s),f=c*c,h=S((c+c)*s),p=S(l*mv),d=S(Q-f),m=S(Q+f);return new Pe(S(h*m),S(d*p),S(p*m),S(h*d))}static hashToCurve(e){e=vr(e,64);let r=Kc(e.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=Kc(e.slice(32,64)),o=this.calcElligatorRistrettoMap(i);return new t(n.add(o))}static fromHex(e){e=vr(e,32);let{a:r,d:n}=le,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",o=Kc(e);if(!_v(Vi(o),e)||xr(o))throw new Error(i);let s=S(o*o),a=S(Q+r*s),c=S(Q-r*s),u=S(a*a),l=S(c*c),f=S(r*n*u-l),{isValid:h,value:p}=K0(S(f*l)),d=S(p*c),m=S(p*d*f),y=S((o+o)*d);xr(y)&&(y=S(-y));let g=S(a*m),x=S(y*g);if(!h||xr(x)||g===Oe)throw new Error(i);return new t(new Pe(y,g,Q,x))}toRawBytes(){let{x:e,y:r,z:n,t:i}=this.ep,o=S(S(n+r)*S(n-r)),s=S(e*r),a=S(s*s),{value:c}=K0(S(o*a)),u=S(c*o),l=S(c*s),f=S(u*l*i),h;if(xr(i*f)){let d=S(r*Fi),m=S(e*Fi);e=d,r=m,h=S(u*yv)}else h=l;xr(e*f)&&(r=S(-r));let p=S((n-r)*h);return xr(p)&&(p=S(-p)),Vi(p)}toHex(){return qi(this.toRawBytes())}toString(){return this.toHex()}equals(e){Uc(e);let r=this.ep,n=e.ep,i=S(r.x*n.y)===S(r.y*n.x),o=S(r.y*n.y)===S(r.x*n.x);return i||o}add(e){return Uc(e),new t(this.ep.add(e.ep))}subtract(e){return Uc(e),new t(this.ep.subtract(e.ep))}multiply(e){return new t(this.ep.multiply(e))}multiplyUnsafe(e){return new t(this.ep.multiplyUnsafe(e))}};Wr.BASE=new Wr(Pe.BASE);Wr.ZERO=new Wr(Pe.ZERO);var qc=new WeakMap,Se=class t{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,qc.delete(this)}static fromHex(e,r=!0){let{d:n,P:i}=le;e=vr(e,32);let o=e.slice();o[31]=e[31]&-129;let s=zi(o);if(r&&s>=i)throw new Error("Expected 0 < hex < P");if(!r&&s>=V0)throw new Error("Expected 0 < hex < 2**256");let a=S(s*s),c=S(a-Q),u=S(n*a+Q),{isValid:l,value:f}=$c(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let h=(f&Q)===Q;return(e[31]&128)!==0!==h&&(f=S(-f)),new t(f,s)}static async fromPrivateKey(e){return(await ls(e)).point}toRawBytes(){let e=Vi(this.y);return e[31]|=this.x&Q?128:0,e}toHex(){return qi(this.toRawBytes())}toX25519(){let{y:e}=this,r=S((Q+e)*us(Q-e));return Vi(r)}isTorsionFree(){return Pe.fromAffine(this).isTorsionFree()}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new t(S(-this.x),this.y)}add(e){return Pe.fromAffine(this).add(Pe.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Pe.fromAffine(this).multiply(e,this).toAffine()}};Se.BASE=new Se(le.Gx,le.Gy);Se.ZERO=new Se(Oe,Q);var Ki=class t{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromHex(e){let r=vr(e,64),n=Se.fromHex(r.slice(0,32),!1),i=zi(r.slice(32,64));return new t(n,i)}assertValidity(){let{r:e,s:r}=this;if(!(e instanceof Se))throw new Error("Expected Point instance");return cs(r,le.l,!1),this}toRawBytes(){let e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(Vi(this.s),32),e}toHex(){return qi(this.toRawBytes())}};function F0(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let o=t[n];r.set(o,i),i+=o.length}return r}var wv=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function qi(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=wv[t[r]];return e}function zc(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[r]=o}return e}function q0(t){let r=t.toString(16).padStart(64,"0");return zc(r)}function Vi(t){return q0(t).reverse()}function xr(t){return(S(t)&Q)===Q}function zi(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+qi(Uint8Array.from(t).reverse()))}var vv=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Kc(t){return S(zi(t)&vv)}function S(t,e=le.P){let r=t%e;return r>=Oe?r:e+r}function us(t,e=le.P){if(t===Oe||e<=Oe)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=S(t,e),n=e,i=Oe,o=Q,s=Q,a=Oe;for(;r!==Oe;){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!==Q)throw new Error("invert: does not exist");return S(i,e)}function Ev(t,e=le.P){let r=new Array(t.length),n=t.reduce((o,s,a)=>s===Oe?o:(r[a]=o,S(o*s,e)),Q),i=us(n,e);return t.reduceRight((o,s,a)=>s===Oe?o:(r[a]=S(o*r[a],e),S(o*s,e)),i),r}function Vt(t,e){let{P:r}=le,n=t;for(;e-- >Oe;)n*=n,n%=r;return n}function bv(t){let{P:e}=le,r=BigInt(5),n=BigInt(10),i=BigInt(20),o=BigInt(40),s=BigInt(80),c=t*t%e*t%e,u=Vt(c,wr)*c%e,l=Vt(u,Q)*t%e,f=Vt(l,r)*l%e,h=Vt(f,n)*f%e,p=Vt(h,i)*h%e,d=Vt(p,o)*p%e,m=Vt(d,s)*d%e,y=Vt(m,s)*d%e,g=Vt(y,n)*f%e;return{pow_p_5_8:Vt(g,wr)*t%e,b2:c}}function $c(t,e){let r=S(e*e*e),n=S(r*r*e),i=bv(t*n).pow_p_5_8,o=S(t*r*i),s=S(e*o*o),a=o,c=S(o*Fi),u=s===t,l=s===S(-t),f=s===S(-t*Fi);return u&&(o=a),(l||f)&&(o=c),xr(o)&&(o=S(-o)),{isValid:u||l,value:o}}function K0(t){return $c(Q,t)}function as(t){return S(zi(t),le.l)}function _v(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 vr(t,e){let r=t instanceof Uint8Array?Uint8Array.from(t):zc(t);if(typeof e=="number"&&r.length!==e)throw new Error(`Expected ${e} bytes`);return r}function cs(t,e,r=!0){if(!e)throw new TypeError("Specify max value");if(typeof t=="number"&&Number.isSafeInteger(t)&&(t=BigInt(t)),typeof t=="bigint"&&t<e){if(r){if(Oe<t)return t}else if(Oe<=t)return t}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function Av(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function Sv(t){if(t=typeof t=="bigint"||typeof t=="number"?q0(cs(t,V0)):vr(t),t.length!==32)throw new Error("Expected 32 bytes");return t}function Iv(t){let e=Av(t.slice(0,32)),r=t.slice(32,64),n=as(e),i=Se.BASE.multiply(n),o=i.toRawBytes();return{head:e,prefix:r,scalar:n,point:i,pointBytes:o}}var Vc;async function ls(t){return Iv(await Er.sha512(Sv(t)))}async function Hc(t){return(await ls(t)).pointBytes}async function z0(t,e){t=vr(t);let{prefix:r,scalar:n,pointBytes:i}=await ls(e),o=as(await Er.sha512(r,t)),s=Se.BASE.multiply(o),a=as(await Er.sha512(s.toRawBytes(),i,t)),c=S(o+a*n,le.l);return new Ki(s,c).toRawBytes()}function Rv(t,e,r){e=vr(e),r instanceof Se||(r=Se.fromHex(r,!1));let{r:n,s:i}=t instanceof Ki?t.assertValidity():Ki.fromHex(t),o=Pe.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:o,pub:r,msg:e}}function Cv(t,e,r,n){let i=as(n),o=Pe.fromAffine(t).multiplyUnsafe(i);return Pe.fromAffine(e).add(o).subtract(r).multiplyUnsafe(le.h).equals(Pe.ZERO)}async function $0(t,e,r){let{r:n,SB:i,msg:o,pub:s}=Rv(t,e,r),a=await Er.sha512(n.toRawBytes(),s.toRawBytes(),o);return Cv(s,n,i,a)}Se.BASE._setWindowSize(8);var gr={node:dv,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},Er={bytesToHex:qi,hexToBytes:zc,concatBytes:F0,getExtendedPublicKey:ls,mod:S,invert:us,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:t=>{if(t=vr(t),t.length<40||t.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return S(zi(t),le.l-Q)+Q},randomBytes:(t=32)=>{if(gr.web)return gr.web.getRandomValues(new Uint8Array(t));if(gr.node){let{randomBytes:e}=gr.node;return new Uint8Array(e(t).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Er.randomBytes(32),sha512:async(...t)=>{let e=F0(...t);if(gr.web){let r=await gr.web.subtle.digest("SHA-512",e.buffer);return new Uint8Array(r)}else{if(gr.node)return Uint8Array.from(gr.node.createHash("sha512").update(e).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(t=8,e=Se.BASE){let r=e.equals(Se.BASE)?e:new Se(e.x,e.y);return r._setWindowSize(t),r.multiply(wr),r},sha512Sync:void 0};Object.defineProperties(Er,{sha512Sync:{configurable:!1,get(){return Vc},set(t){Vc||(Vc=t)}}});var Vn=32,rr=64,fs=32;async function H0(){let t=Er.randomPrivateKey(),e=await Hc(t);return{privateKey:Q0(t,e),publicKey:e}}async function G0(t){if(t.length!==fs)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=await Hc(e);return{privateKey:Q0(e,r),publicKey:r}}async function Y0(t,e){let r=t.subarray(0,fs);return z0(e,r)}async function W0(t,e,r){return $0(e,r,t)}function Q0(t,e){let r=new Uint8Array(rr);for(let n=0;n<fs;n++)r[n]=t[n],r[fs+n]=e[n];return r}var Gc={};re(Gc,{base64:()=>Qr,base64pad:()=>Pv,base64url:()=>Lv,base64urlpad:()=>Dv});var Qr=Ee({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Pv=Ee({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Lv=Ee({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Dv=Ee({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function Ie(t,e){e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=vt(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return $r(r)}var et={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 Yc={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function hs(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=et.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=K(h));let y;if(h.length===0){y=await a.subtle.importKey("jwk",Yc,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},b=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",Yc,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},b=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,f);return Ie([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=K(h));let g;if(h.length===0)try{let b={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},T=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,T,{name:e,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",Yc,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},T=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,T,{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 qn(t,e){let n=await hs().encrypt(t,e);return Qr.encode(n)}var su=z(Jc(),1),Md=z(Td(),1),Ud=z(Zr(),1),au=z(ou(),1),Fd=z(Od(),1);function qv(){Ud.default._configure(),su.default._configure(Md.default),au.default._configure(Fd.default)}qv();var Kd=["uint64","int64","sint64","fixed64","sfixed64"];function zv(t){for(let e of Kd){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function cu(t){return zv(new su.default(t))}function $v(t){for(let e of Kd){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function uu(){return $v(au.default.create())}function Ke(t,e){let r=cu(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function Ve(t,e){let r=uu();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var $n;(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"})($n||($n={}));function gs(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function lu(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 gs("enum",$n.VARINT,r,n)}function qe(t,e){return gs("message",$n.LENGTH_DELIMITED,t,e)}var me;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(me||(me={}));var fu;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(fu||(fu={}));(function(t){t.codec=()=>lu(fu)})(me||(me={}));var $t;(function(t){let e;t.codec=()=>(e==null&&(e=qe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),me.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=me.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Ve(r,t.codec()),t.decode=r=>Ke(r,t.codec())})($t||($t={}));var Ht;(function(t){let e;t.codec=()=>(e==null&&(e=qe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),me.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=me.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Ve(r,t.codec()),t.decode=r=>Ke(r,t.codec())})(Ht||(Ht={}));var Gi=class{_key;constructor(e){this._key=Hn(e,Vn)}async verify(e,r){return W0(this._key,r,e)}marshal(){return this._key}get bytes(){return $t.encode({Type:me.Ed25519,Data:this.marshal()}).subarray()}equals(e){return ge(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Fe.digest(this.bytes);return e}},jr=class{_key;_publicKey;constructor(e,r){this._key=Hn(e,rr),this._publicKey=Hn(r,Vn)}async sign(e){return Y0(this._key,e)}get public(){return new Gi(this._publicKey)}marshal(){return this._key}get bytes(){return Ht.encode({Type:me.Ed25519,Data:this.marshal()}).subarray()}equals(e){return ge(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Fe.digest(this.bytes);return e}async id(){let e=yr.digest(this.public.bytes);return Ae.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return qn(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Hv(t){if(t.length>rr){t=Hn(t,rr+Vn);let n=t.subarray(0,rr),i=t.subarray(rr,t.length);return new jr(n,i)}t=Hn(t,rr);let e=t.subarray(0,rr),r=t.subarray(Vn);return new jr(e,r)}function Gv(t){return t=Hn(t,Vn),new Gi(t)}async function Yv(){let{privateKey:t,publicKey:e}=await H0();return new jr(t,e)}async function Vd(t){let{privateKey:e,publicKey:r}=await G0(t);return new jr(e,r)}function Hn(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new E(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}function H(t,e="utf8"){let r=os[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 XR=z(_e(),1),ZR=z(jo(),1),qd=z(ne(),1);function _t(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=Ie([new Uint8Array(e-r.length),r])}return H(r,"base64url")}function nt(t){let e=zd(t);return new qd.default.jsbn.BigInteger(H(e,"base16"),16)}function zd(t,e){let r=K(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ie([new Uint8Array(e-r.length),r])}return r}var Wv={"P-256":256,"P-384":384,"P-521":521},Qv=Object.keys(Wv),cC=Qv.join(" / ");async function $d(t,e){let r=Qr.decode(t);return hs().decrypt(r,e)}var _u={};re(_u,{RsaPrivateKey:()=>jn,RsaPublicKey:()=>ji,fromJwk:()=>vE,generateKeyPair:()=>EE,unmarshalRsaPrivateKey:()=>xE,unmarshalRsaPublicKey:()=>wE});var Ji=z(ne(),1);var GC=z(Xd(),1);var Zv=z(Kr(),1);var X=BigInt(0),he=BigInt(1),Sr=BigInt(2),Qi=BigInt(3),Zd=BigInt(8),be=Object.freeze({a:X,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:he,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),Jd=(t,e)=>(t+e/Sr)/e,ws={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){let{n:e}=be,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-he*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=Jd(o*t,e),c=Jd(-n*t,e),u=D(t-a*r-c*i,e),l=D(-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("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:h,k2:l}}},At=32,Qn=32,Jv=32,jd=At+1,ep=2*At+1;function tp(t){let{a:e,b:r}=be,n=D(t*t),i=D(n*t);return D(i+e*t+r)}var vs=be.a===X,_s=class extends Error{constructor(e){super(e)}};function rp(t){if(!(t instanceof Xe))throw new TypeError("JacobianPoint expected")}var Xe=class t{constructor(e,r,n){this.x=e,this.y=r,this.z=n}static fromAffine(e){if(!(e instanceof xe))throw new TypeError("JacobianPoint#fromAffine: expected Point");return e.equals(xe.ZERO)?t.ZERO:new t(e.x,e.y,he)}static toAffineBatch(e){let r=nE(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return t.toAffineBatch(e).map(t.fromAffine)}equals(e){rp(e);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=e,c=D(i*i),u=D(a*a),l=D(r*u),f=D(o*c),h=D(D(n*a)*u),p=D(D(s*i)*c);return l===f&&h===p}negate(){return new t(this.x,D(-this.y),this.z)}double(){let{x:e,y:r,z:n}=this,i=D(e*e),o=D(r*r),s=D(o*o),a=e+o,c=D(Sr*(D(a*a)-i-s)),u=D(Qi*i),l=D(u*u),f=D(l-Sr*c),h=D(u*(c-f)-Zd*s),p=D(Sr*r*n);return new t(f,h,p)}add(e){rp(e);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=e;if(o===X||s===X)return this;if(r===X||n===X)return e;let c=D(i*i),u=D(a*a),l=D(r*u),f=D(o*c),h=D(D(n*a)*u),p=D(D(s*i)*c),d=D(f-l),m=D(p-h);if(d===X)return m===X?this.double():t.ZERO;let y=D(d*d),g=D(d*y),x=D(l*y),b=D(m*m-g-Sr*x),T=D(m*(x-b)-h*g),R=D(i*a*d);return new t(b,T,R)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){let r=t.ZERO;if(typeof e=="bigint"&&e===X)return r;let n=op(e);if(n===he)return this;if(!vs){let f=r,h=this;for(;n>X;)n&he&&(f=f.add(h)),h=h.double(),n>>=he;return f}let{k1neg:i,k1:o,k2neg:s,k2:a}=ws.splitScalar(n),c=r,u=r,l=this;for(;o>X||a>X;)o&he&&(c=c.add(l)),a&he&&(u=u.add(l)),l=l.double(),o>>=he,a>>=he;return i&&(c=c.negate()),s&&(u=u.negate()),u=new t(D(u.x*ws.beta),u.y,u.z),c.add(u)}precomputeWindow(e){let r=vs?128/e+1:256/e+1,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(e-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(e,r){!r&&this.equals(t.BASE)&&(r=xe.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&yu.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=t.normalizeZ(i),yu.set(r,i)));let o=t.ZERO,s=t.BASE,a=1+(vs?128/n:256/n),c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<a;h++){let p=h*c,d=Number(e&u);e>>=f,d>c&&(d-=l,e+=he);let m=p,y=p+Math.abs(d)-1,g=h%2!==0,x=d<0;d===0?s=s.add(Es(g,i[m])):o=o.add(Es(x,i[y]))}return{p:o,f:s}}multiply(e,r){let n=op(e),i,o;if(vs){let{k1neg:s,k1:a,k2neg:c,k2:u}=ws.splitScalar(n),{p:l,f}=this.wNAF(a,r),{p:h,f:p}=this.wNAF(u,r);l=Es(s,l),h=Es(c,h),h=new t(D(h.x*ws.beta),h.y,h.z),i=l.add(h),o=f.add(p)}else{let{p:s,f:a}=this.wNAF(n,r);i=s,o=a}return t.normalizeZ([i,o])[0]}toAffine(e){let{x:r,y:n,z:i}=this,o=this.equals(t.ZERO);e==null&&(e=o?Zd:Jn(i));let s=e,a=D(s*s),c=D(a*s),u=D(r*a),l=D(n*c),f=D(i*s);if(o)return xe.ZERO;if(f!==he)throw new Error("invZ was invalid");return new xe(u,l)}};Xe.BASE=new Xe(be.Gx,be.Gy,he);Xe.ZERO=new Xe(X,he,X);function Es(t,e){let r=e.negate();return t?r:e}var yu=new WeakMap,xe=class t{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,yu.delete(this)}hasEvenY(){return this.y%Sr===X}static fromCompressedHex(e){let r=e.length===32,n=Ir(r?e:e.subarray(1));if(!mu(n))throw new Error("Point is not on curve");let i=tp(n),o=rE(i),s=(o&he)===he;r?s&&(o=D(-o)):(e[0]&1)===1!==s&&(o=D(-o));let a=new t(n,o);return a.assertValidity(),a}static fromUncompressedHex(e){let r=Ir(e.subarray(1,At+1)),n=Ir(e.subarray(At+1,At*2+1)),i=new t(r,n);return i.assertValidity(),i}static fromHex(e){let r=Zn(e),n=r.length,i=r[0];if(n===At)return this.fromCompressedHex(r);if(n===jd&&(i===2||i===3))return this.fromCompressedHex(r);if(n===ep&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${jd} compressed bytes or ${ep} uncompressed bytes, not ${n}`)}static fromPrivateKey(e){return t.BASE.multiply(Ss(e))}static fromSignature(e,r,n){let{r:i,s:o}=sp(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let s=wu(Zn(e)),{n:a}=be,c=n===2||n===3?i+a:i,u=Jn(c,a),l=D(-s*u,a),f=D(o*u,a),h=n&1?"03":"02",p=t.fromHex(h+Yn(c)),d=t.BASE.multiplyAndAddUnsafe(p,l,f);if(!d)throw new Error("Cannot recover signature: point at infinify");return d.assertValidity(),d}toRawBytes(e=!1){return tn(this.toHex(e))}toHex(e=!1){let r=Yn(this.x);return e?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${Yn(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let e="Point is not on elliptic curve",{x:r,y:n}=this;if(!mu(r)||!mu(n))throw new Error(e);let i=D(n*n),o=tp(r);if(D(i-o)!==X)throw new Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new t(this.x,D(-this.y))}double(){return Xe.fromAffine(this).double().toAffine()}add(e){return Xe.fromAffine(this).add(Xe.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Xe.fromAffine(this).multiply(e,this).toAffine()}multiplyAndAddUnsafe(e,r,n){let i=Xe.fromAffine(this),o=r===X||r===he||this!==t.BASE?i.multiplyUnsafe(r):i.multiply(r),s=Xe.fromAffine(e).multiplyUnsafe(n),a=o.add(s);return a.equals(Xe.ZERO)?void 0:a.toAffine()}};xe.BASE=new xe(be.Gx,be.Gy);xe.ZERO=new xe(X,X);function np(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function ip(t){if(t.length<2||t[0]!==2)throw new Error(`Invalid signature integer tag: ${Xn(t)}`);let e=t[1],r=t.subarray(2,e+2);if(!e||r.length!==e)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:Ir(r),left:t.subarray(e+2)}}function jv(t){if(t.length<2||t[0]!=48)throw new Error(`Invalid signature tag: ${Xn(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");let{data:e,left:r}=ip(t.subarray(2)),{data:n,left:i}=ip(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Xn(i)}`);return{r:e,s:n}}var Gn=class t{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromCompact(e){let r=e instanceof Uint8Array,n="Signature.fromCompact";if(typeof e!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?Xn(e):e;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new t(As(i.slice(0,64)),As(i.slice(64,128)))}static fromDER(e){let r=e instanceof Uint8Array;if(typeof e!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=jv(r?e:tn(e));return new t(n,i)}static fromHex(e){return this.fromDER(e)}assertValidity(){let{r:e,s:r}=this;if(!Zi(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Zi(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let e=be.n>>he;return this.s>e}normalizeS(){return this.hasHighS()?new t(this.r,D(-this.s,be.n)):this}toDERRawBytes(){return tn(this.toDERHex())}toDERHex(){let e=np(Wi(this.s)),r=np(Wi(this.r)),n=e.length/2,i=r.length/2,o=Wi(n),s=Wi(i);return`30${Wi(i+n+4)}02${s}${r}02${o}${e}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return tn(this.toCompactHex())}toCompactHex(){return Yn(this.r)+Yn(this.s)}};function Ar(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let o=t[n];r.set(o,i),i+=o.length}return r}var eE=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Xn(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let r=0;r<t.length;r++)e+=eE[t[r]];return e}var tE=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Yn(t){if(typeof t!="bigint")throw new Error("Expected bigint");if(!(X<=t&&t<tE))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function gu(t){let e=tn(Yn(t));if(e.length!==32)throw new Error("Error: expected 32 bytes");return e}function Wi(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function As(t){if(typeof t!="string")throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function tn(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[r]=o}return e}function Ir(t){return As(Xn(t))}function Zn(t){return t instanceof Uint8Array?Uint8Array.from(t):tn(t)}function op(t){if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if(typeof t=="bigint"&&Zi(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function D(t,e=be.P){let r=t%e;return r>=X?r:e+r}function mt(t,e){let{P:r}=be,n=t;for(;e-- >X;)n*=n,n%=r;return n}function rE(t){let{P:e}=be,r=BigInt(6),n=BigInt(11),i=BigInt(22),o=BigInt(23),s=BigInt(44),a=BigInt(88),c=t*t*t%e,u=c*c*t%e,l=mt(u,Qi)*u%e,f=mt(l,Qi)*u%e,h=mt(f,Sr)*c%e,p=mt(h,n)*h%e,d=mt(p,i)*p%e,m=mt(d,s)*d%e,y=mt(m,a)*m%e,g=mt(y,s)*d%e,x=mt(g,Qi)*u%e,b=mt(x,o)*p%e,T=mt(b,r)*c%e,R=mt(T,Sr);if(R*R%e!==t)throw new Error("Cannot find square root");return R}function Jn(t,e=be.P){if(t===X||e<=X)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=D(t,e),n=e,i=X,o=he,s=he,a=X;for(;r!==X;){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!==he)throw new Error("invert: does not exist");return D(i,e)}function nE(t,e=be.P){let r=new Array(t.length),n=t.reduce((o,s,a)=>s===X?o:(r[a]=o,D(o*s,e)),he),i=Jn(n,e);return t.reduceRight((o,s,a)=>s===X?o:(r[a]=D(o*r[a],e),D(o*s,e)),i),r}function iE(t){let e=t.length*8-Qn*8,r=Ir(t);return e>0?r>>BigInt(e):r}function wu(t,e=!1){let r=iE(t);if(e)return r;let{n}=be;return r>=n?r-n:r}var Wn,Xi,xu=class{constructor(e,r){if(this.hashLen=e,this.qByteLen=r,typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof r!="number"||r<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(e).fill(1),this.k=new Uint8Array(e).fill(0),this.counter=0}hmac(...e){return St.hmacSha256(this.k,...e)}hmacSync(...e){return Xi(this.k,...e)}checkSync(){if(typeof Xi!="function")throw new _s("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(e=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),e),this.v=await this.hmac(this.v),e.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),e),this.v=await this.hmac(this.v))}reseedSync(e=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),e),this.v=this.hmacSync(this.v),e.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),e),this.v=this.hmacSync(this.v))}async generate(){this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return Ar(...r)}generateSync(){this.checkSync(),this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return Ar(...r)}};function Zi(t){return X<t&&t<be.n}function mu(t){return X<t&&t<be.P}function oE(t,e,r,n=!0){let{n:i}=be,o=wu(t,!0);if(!Zi(o))return;let s=Jn(o,i),a=xe.BASE.multiply(o),c=D(a.x,i);if(c===X)return;let u=D(s*D(e+r*c,i),i);if(u===X)return;let l=new Gn(c,u),f=(a.x===l.r?0:2)|Number(a.y&he);return n&&l.hasHighS()&&(l=l.normalizeS(),f^=1),{sig:l,recovery:f}}function Ss(t){let e;if(typeof t=="bigint")e=t;else if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if(typeof t=="string"){if(t.length!==2*Qn)throw new Error("Expected 32 bytes of private key");e=As(t)}else if(t instanceof Uint8Array){if(t.length!==Qn)throw new Error("Expected 32 bytes of private key");e=Ir(t)}else throw new TypeError("Expected valid private key");if(!Zi(e))throw new Error("Expected private key: 0 < key < n");return e}function sE(t){return t instanceof xe?(t.assertValidity(),t):xe.fromHex(t)}function sp(t){if(t instanceof Gn)return t.assertValidity(),t;try{return Gn.fromDER(t)}catch{return Gn.fromCompact(t)}}function vu(t,e=!1){return xe.fromPrivateKey(t).toRawBytes(e)}function ap(t){let e=t.length>At?t.slice(0,At):t;return Ir(e)}function aE(t){let e=ap(t),r=D(e,be.n);return cp(r<X?e:r)}function cp(t){return gu(t)}function cE(t,e,r){if(t==null)throw new Error(`sign: expected valid message hash, not "${t}"`);let n=Zn(t),i=Ss(e),o=[cp(i),aE(n)];if(r!=null){r===!0&&(r=St.randomBytes(At));let c=Zn(r);if(c.length!==At)throw new Error(`sign: Expected ${At} bytes of extra data`);o.push(c)}let s=Ar(...o),a=ap(n);return{seed:s,m:a,d:i}}function uE(t,e){let{sig:r,recovery:n}=t,{der:i,recovered:o}=Object.assign({canonical:!0,der:!0},e),s=i?r.toDERRawBytes():r.toCompactRawBytes();return o?[s,n]:s}async function up(t,e,r={}){let{seed:n,m:i,d:o}=cE(t,e,r.extraEntropy),s=new xu(Jv,Qn);await s.reseed(n);let a;for(;!(a=oE(await s.generate(),i,o,r.canonical));)await s.reseed();return uE(a,r)}var lE={strict:!0};function lp(t,e,r,n=lE){let i;try{i=sp(t),e=Zn(e)}catch{return!1}let{r:o,s}=i;if(n.strict&&i.hasHighS())return!1;let a=wu(e),c;try{c=sE(r)}catch{return!1}let{n:u}=be,l=Jn(s,u),f=D(a*l,u),h=D(o*l,u),p=xe.BASE.multiplyAndAddUnsafe(c,f,h);return p?D(p.x,u)===o:!1}xe.BASE._setWindowSize(8);var it={node:Zv,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var bs={},St={bytesToHex:Xn,hexToBytes:tn,concatBytes:Ar,mod:D,invert:Jn,isValidPrivateKey(t){try{return Ss(t),!0}catch{return!1}},_bigintTo32Bytes:gu,_normalizePrivateKey:Ss,hashToPrivateKey:t=>{t=Zn(t);let e=Qn+8;if(t.length<e||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=D(Ir(t),be.n-he)+he;return gu(r)},randomBytes:(t=32)=>{if(it.web)return it.web.getRandomValues(new Uint8Array(t));if(it.node){let{randomBytes:e}=it.node;return Uint8Array.from(e(t))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>St.hashToPrivateKey(St.randomBytes(Qn+8)),precompute(t=8,e=xe.BASE){let r=e===xe.BASE?e:new xe(e.x,e.y);return r._setWindowSize(t),r.multiply(Qi),r},sha256:async(...t)=>{if(it.web){let e=await it.web.subtle.digest("SHA-256",Ar(...t));return new Uint8Array(e)}else if(it.node){let{createHash:e}=it.node,r=e("sha256");return t.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if(it.web){let r=await it.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Ar(...e),i=await it.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(it.node){let{createHmac:r}=it.node,n=r("sha256",t);return e.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(t,...e)=>{let r=bs[t];if(r===void 0){let n=await St.sha256(Uint8Array.from(t,i=>i.charCodeAt(0)));r=Ar(n,n),bs[t]=r}return St.sha256(r,...e)},taggedHashSync:(t,...e)=>{if(typeof Wn!="function")throw new _s("sha256Sync is undefined, you need to set it");let r=bs[t];if(r===void 0){let n=Wn(Uint8Array.from(t,i=>i.charCodeAt(0)));r=Ar(n,n),bs[t]=r}return Wn(r,...e)},_JacobianPoint:Xe};Object.defineProperties(St,{sha256Sync:{configurable:!1,get(){return Wn},set(t){Wn||(Wn=t)}},hmacSha256Sync:{configurable:!1,get(){return Xi},set(t){Xi||(Xi=t)}}});function rn(t){if(isNaN(t)||t<=0)throw new E("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return St.randomBytes(t)}var CC=z(rs(),1),Eu=z(ne(),1);function fp(t,e){return e.map(r=>nt(t[r]))}function hp(t){return Eu.default.pki.setRsaPrivateKey(...fp(t,["n","e","d","p","q","dp","dq","qi"]))}function dp(t){return Eu.default.pki.setRsaPublicKey(...fp(t,["n","e"]))}var nn={};re(nn,{jwkToPkcs1:()=>dE,jwkToPkix:()=>mE,pkcs1ToJwk:()=>hE,pkixToJwk:()=>pE});var PC=z(Bi(),1),LC=z(rs(),1);var nr=z(ne(),1);function hE(t){let e=nr.default.asn1.fromDer(H(t,"ascii")),r=nr.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:_t(r.n),e:_t(r.e),d:_t(r.d),p:_t(r.p),q:_t(r.q),dp:_t(r.dP),dq:_t(r.dQ),qi:_t(r.qInv),alg:"RS256"}}function dE(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 E("JWK was missing components","ERR_INVALID_PARAMETERS");let e=nr.default.pki.privateKeyToAsn1({n:nt(t.n),e:nt(t.e),d:nt(t.d),p:nt(t.p),q:nt(t.q),dP:nt(t.dp),dQ:nt(t.dq),qInv:nt(t.qi)});return K(nr.default.asn1.toDer(e).getBytes(),"ascii")}function pE(t){let e=nr.default.asn1.fromDer(H(t,"ascii")),r=nr.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:_t(r.n),e:_t(r.e)}}function mE(t){if(t.n==null||t.e==null)throw new E("JWK was missing components","ERR_INVALID_PARAMETERS");let e=nr.default.pki.publicKeyToAsn1({n:nt(t.n),e:nt(t.e)});return K(nr.default.asn1.toDer(e).getBytes(),"ascii")}async function pp(t){let e=await et.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 gp(e);return{privateKey:r[0],publicKey:r[1]}}async function bu(t){let r=[await et.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await yE(t)],n=await gp({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function mp(t,e){let r=await et.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await et.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function yp(t,e,r){let n=await et.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return et.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function gp(t){if(t.privateKey==null||t.publicKey==null)throw new E("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([et.get().subtle.exportKey("jwk",t.privateKey),et.get().subtle.exportKey("jwk",t.publicKey)])}async function yE(t){return et.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 xp(t,e,r,n){let i=e?dp(t):hp(t),o=H(Uint8Array.from(r),"ascii"),s=n(o,i);return K(s,"ascii")}function wp(t,e){return xp(t,!0,e,(r,n)=>n.encrypt(r))}function vp(t,e){return xp(t,!1,e,(r,n)=>n.decrypt(r))}var ji=class{_key;constructor(e){this._key=e}async verify(e,r){return yp(this._key,r,e)}marshal(){return nn.jwkToPkix(this._key)}get bytes(){return $t.encode({Type:me.RSA,Data:this.marshal()}).subarray()}encrypt(e){return wp(this._key,e)}equals(e){return ge(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Fe.digest(this.bytes);return e}},jn=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return rn(16)}async sign(e){return mp(this._key,e)}get public(){if(this._publicKey==null)throw new E("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new ji(this._publicKey)}decrypt(e){return vp(this._key,e)}marshal(){return nn.jwkToPkcs1(this._key)}get bytes(){return Ht.encode({Type:me.RSA,Data:this.marshal()}).subarray()}equals(e){return ge(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Fe.digest(this.bytes);return e}async id(){let e=await this.public.hash();return H(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new Ji.default.util.ByteBuffer(this.marshal()),i=Ji.default.asn1.fromDer(n),o=Ji.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Ji.default.pki.encryptRsaPrivateKey(o,e,s)}else{if(r==="libp2p-key")return qn(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function xE(t){let e=nn.pkcs1ToJwk(t),r=await bu(e);return new jn(r.privateKey,r.publicKey)}function wE(t){let e=nn.pkixToJwk(t);return new ji(e)}async function vE(t){let e=await bu(t);return new jn(e.privateKey,e.publicKey)}async function EE(t){let e=await pp(t);return new jn(e.privateKey,e.publicKey)}var Su={};re(Su,{Secp256k1PrivateKey:()=>to,Secp256k1PublicKey:()=>eo,generateKeyPair:()=>SE,unmarshalSecp256k1PrivateKey:()=>_E,unmarshalSecp256k1PublicKey:()=>AE});function Ep(){return St.randomPrivateKey()}async function bp(t,e){let{digest:r}=await Fe.digest(e);try{return await up(r,t)}catch(n){throw new E(String(n),"ERR_INVALID_INPUT")}}async function _p(t,e,r){try{let{digest:n}=await Fe.digest(r);return lp(e,n,t)}catch(n){throw new E(String(n),"ERR_INVALID_INPUT")}}function Ap(t){return xe.fromHex(t).toRawBytes(!0)}function Sp(t){try{vu(t,!0)}catch(e){throw new E(String(e),"ERR_INVALID_PRIVATE_KEY")}}function Au(t){try{xe.fromHex(t)}catch(e){throw new E(String(e),"ERR_INVALID_PUBLIC_KEY")}}function Ip(t){try{return vu(t,!0)}catch(e){throw new E(String(e),"ERR_INVALID_PRIVATE_KEY")}}var eo=class{_key;constructor(e){Au(e),this._key=e}async verify(e,r){return _p(this._key,r,e)}marshal(){return Ap(this._key)}get bytes(){return $t.encode({Type:me.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return ge(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Fe.digest(this.bytes);return e}},to=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??Ip(e),Sp(this._key),Au(this._publicKey)}async sign(e){return bp(this._key,e)}get public(){return new eo(this._publicKey)}marshal(){return this._key}get bytes(){return Ht.encode({Type:me.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return ge(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Fe.digest(this.bytes);return e}async id(){let e=await this.public.hash();return H(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return qn(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function _E(t){return new to(t)}function AE(t){return new eo(t)}async function SE(){let t=Ep();return new to(t)}var ir={rsa:_u,ed25519:hu,secp256k1:Su};function Iu(t){let e=Object.keys(ir).join(" / ");return new E(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Ru(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return ir[t];throw Iu(t)}async function Rs(t,e){return Ru(t).generateKeyPair(e??2048)}function ro(t){let e=$t.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case me.RSA:return ir.rsa.unmarshalRsaPublicKey(r);case me.Ed25519:return ir.ed25519.unmarshalEd25519PublicKey(r);case me.Secp256k1:return ir.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Iu(e.Type??"RSA")}}function Rp(t,e){return e=(e??"rsa").toLowerCase(),Ru(e),t.bytes}async function ei(t){let e=Ht.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case me.RSA:return ir.rsa.unmarshalRsaPrivateKey(r);case me.Ed25519:return ir.ed25519.unmarshalEd25519PrivateKey(r);case me.Secp256k1:return ir.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Iu(e.Type??"RSA")}}function Cp(t,e){return e=(e??"rsa").toLowerCase(),Ru(e),t.bytes}async function no(t,e){try{let i=await $d(t,e);return await ei(i)}catch{}let r=Is.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new E("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=K(n.getBytes(),"ascii"),ir.rsa.unmarshalRsaPrivateKey(n)}var Cu=Symbol.for("@libp2p/content-routing");var io=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 Bu(e,r))}},Tu=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},Bu=globalThis.CustomEvent??Tu;var Pu=Symbol.for("@libp2p/peer-discovery");var Lu=Symbol.for("@libp2p/peer-routing");var g4=z(Ho(),1),RE=z(ne(),1);var Bp=z(Xa(),1),Pp=z(_e(),1),Tp={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function oo(t,e,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(Tp).join(" / ");throw new E(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let o=Tp[i],s=(0,Bp.default)(t,e,r,n,o);return Pp.default.encode64(s,null)}var at=z(Nu(),1);var ku={};re(ku,{base32:()=>st,base32hex:()=>HE,base32hexpad:()=>YE,base32hexpadupper:()=>WE,base32hexupper:()=>GE,base32pad:()=>zE,base32padupper:()=>$E,base32upper:()=>qE,base32z:()=>QE});var st=Ee({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),qE=Ee({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),zE=Ee({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),$E=Ee({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),HE=Ee({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),GE=Ee({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),YE=Ee({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),WE=Ee({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),QE=Ee({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});at.default.formatters.b=t=>t==null?"undefined":Ae.baseEncode(t);at.default.formatters.t=t=>t==null?"undefined":st.baseEncode(t);at.default.formatters.m=t=>t==null?"undefined":Qr.baseEncode(t);at.default.formatters.p=t=>t==null?"undefined":t.toString();at.default.formatters.c=t=>t==null?"undefined":t.toString();at.default.formatters.k=t=>t==null?"undefined":t.toString();at.default.formatters.a=t=>t==null?"undefined":t.toString();function XE(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 Y(t){let e=XE(`${t}:trace`);return at.default.enabled(`${t}:trace`)&&at.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,at.default)(`${t}:trace`)),Object.assign((0,at.default)(t),{error:(0,at.default)(`${t}:error`),trace:e})}var Ou=Symbol.for("@libp2p/peer-id");function Bs(t){return t!=null&&!!t[Ou]}var Mu={};re(Mu,{identity:()=>ZE});var ZE=Mn({prefix:"\0",name:"identity",encode:t=>S0(t),decode:t=>A0(t)});var Uu={};re(Uu,{base2:()=>JE});var JE=Ee({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Fu={};re(Fu,{base8:()=>jE});var jE=Ee({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ku={};re(Ku,{base10:()=>eb});var eb=mr({prefix:"9",name:"base10",alphabet:"0123456789"});var Vu={};re(Vu,{base16:()=>tb,base16upper:()=>rb});var tb=Ee({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),rb=Ee({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var qu={};re(qu,{base36:()=>nb,base36upper:()=>ib});var nb=mr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ib=mr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var zu={};re(zu,{base256emoji:()=>ub});var kp=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}"),ob=kp.reduce((t,e,r)=>(t[r]=e,t),[]),sb=kp.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function ab(t){return t.reduce((e,r)=>(e+=ob[r],e),"")}function cb(t){let e=[];for(let r of t){let n=sb[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var ub=Mn({prefix:"\u{1F680}",name:"base256emoji",encode:ab,decode:cb});var G4=new TextEncoder,Y4=new TextDecoder;var Op=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return db(r,$u(t),e||Ae.encoder);default:return pb(r,$u(t),e||st.encoder)}};var Mp=new WeakMap,$u=t=>{let e=Mp.get(t);if(e==null){let r=new Map;return Mp.set(t,r),r}return e},It=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!==so)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==mb)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=Kt(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&&P0(e.multihash,n.multihash)}toString(e){return Op(this,e)}toJSON(){return{"/":Op(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||Up(n,i,o.bytes))}else if(r[yb]===!0){let{version:n,multihash:i,code:o}=r,s=Gr(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!==so)throw new Error(`Version 0 CID must use dag-pb (code: ${so}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=Up(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,so,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=tr(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 Kn(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]=Ui(e.subarray(r));return r+=h,f},i=n(),o=so;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]=hb(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 $u(o).set(n,e),o}},hb=(t,e)=>{switch(t[0]){case"Q":{let r=e||Ae;return[Ae.prefix,r.decode(`${Ae.prefix}${t}`)]}case Ae.prefix:{let r=e||Ae;return[Ae.prefix,r.decode(t)]}case st.prefix:{let r=e||st;return[st.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)]}}},db=(t,e,r)=>{let{prefix:n}=r;if(n!==Ae.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},pb=(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},so=112,mb=18,Up=(t,e,r)=>{let n=Fn(t),i=n+Fn(e),o=new Uint8Array(i+r.byteLength);return Un(t,o,0),Un(e,o,n),o.set(r,i),o},yb=Symbol.for("@ipld/js-cid/CID");var ao={...Mu,...Uu,...Fu,...Ku,...Vu,...ku,...qu,...Lc,...Gc,...zu},nT={...Mc,...Nc};var gb=Symbol.for("nodejs.util.inspect.custom"),Fp=Object.values(ao).map(t=>t.decoder).reduce((t,e)=>t.or(e),ao.identity.decoder),Kp=114,Hu=36,Gu=37,co=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()})`}[Ou]=!0;toString(){return this.string==null&&(this.string=Ae.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return It.createV1(Kp,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return ge(this.multihash.bytes,e);if(typeof e=="string")return te(e).equals(this);if(e?.multihash?.bytes!=null)return ge(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[gb](){return`PeerId(${this.toString()})`}},sn=class extends co{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},an=class extends co{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},cn=class extends co{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function Vp(t){if(t.type==="RSA")return new sn(t);if(t.type==="Ed25519")return new an(t);if(t.type==="secp256k1")return new cn(t);throw new E("Not a PeerId","ERR_INVALID_PARAMETERS")}function te(t,e){if(e=e??Fp,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=Gr(Ae.decode(`z${t}`));return t.startsWith("12D")?new an({multihash:r}):t.startsWith("16U")?new cn({multihash:r}):new sn({multihash:r})}return ii(Fp.decode(t))}function ii(t){try{let e=Gr(t);if(e.code===yr.code){if(e.digest.length===Hu)return new an({multihash:e});if(e.digest.length===Gu)return new cn({multihash:e})}if(e.code===Fe.code)return new sn({multihash:e})}catch{return xb(It.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function xb(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Kp)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Fe.code)return new sn({multihash:t.multihash});if(e.code===yr.code){if(e.digest.length===Hu)return new an({multihash:t.multihash});if(e.digest.length===Gu)return new cn({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function oi(t,e){return t.length===Hu?new an({multihash:Kt(yr.code,t),privateKey:e}):t.length===Gu?new cn({multihash:Kt(yr.code,t),privateKey:e}):new sn({multihash:await Fe.digest(t),publicKey:t,privateKey:e})}var Ps=(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 or="/",qp=new TextEncoder().encode(or),Ls=qp[0],Gt=class t{_buf;constructor(e,r){if(typeof e=="string")this._buf=K(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]!==Ls)throw new Error("Invalid key")}toString(e="utf8"){return H(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new t(e.join(or))}static random(){return new t(Ps().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=qp),this._buf[0]!==Ls){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Ls,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Ls;)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(or).slice(1)}type(){return wb(this.baseNamespace())}name(){return vb(this.baseNamespace())}instance(e){return new t(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(or)||(e+=or),e+=this.type(),new t(e)}parent(){let e=this.list();return e.length===1?new t(or):new t(e.slice(0,-1).join(or))}child(e){return this.toString()===or?e:e.toString()===or?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(),...Eb(e.map(r=>r.namespaces()))])}};function wb(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function vb(t){let e=t.split(":");return e[e.length-1]}function Eb(t){return[].concat(...t)}var Zp=z(Xp(),1),Rr=Zp.default;var am=z(sm(),1);var Z;(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"})(Z||(Z={}));var ks=Y("libp2p:keychain"),Fb="/pkcs8/",cm="/info/",un=new WeakMap,ln={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Wu={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function sr(t){return t==null||typeof t!="string"?!1:t===(0,am.default)(t.trim())&&t.length>0}async function oe(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function Yt(t){return new Gt(Fb+t)}function Cr(t){return new Gt(cm+t)}var fn=class{components;init;constructor(e,r){if(this.components=e,this.init=Rr(Wu,r),this.init.pass!=null&&this.init.pass?.length<20)throw new Error("pass must be least 20 characters");if(this.init.dek?.keyLength!=null&&this.init.dek.keyLength<ln.minKeyLength)throw new Error(`dek.keyLength must be least ${ln.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<ln.minSaltLength)throw new Error(`dek.saltLength must be least ${ln.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<ln.minIterationCount)throw new Error(`dek.iterationCount must be least ${ln.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?oo(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";un.set(this,{dek:n})}static generateOptions(){let e=Object.assign({},Wu),r=Math.ceil(ln.minSaltLength/3)*3;return e.dek.salt=H(rn(r),"base64"),e}static get options(){return Wu}async createKey(e,r,n=2048){if(!sr(e)||e==="self")throw await oe(),new E("Invalid key name",Z.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await oe(),new E("Invalid key type",Z.ERR_INVALID_KEY_TYPE);let i=Yt(e);if(await this.components.datastore.has(i))throw await oe(),new E("Key name already exists",Z.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await oe(),new E("Invalid RSA key size",Z.ERR_INVALID_KEY_SIZE);break;default:break}let s;try{let a=await Rs(r,n),c=await a.id(),u=un.get(this);if(u==null)throw new E("dek missing",Z.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,K(f)),h.put(Cr(e),K(JSON.stringify(s))),await h.commit()}catch(a){throw await oe(),a}return s}async listKeys(){let e={prefix:cm},r=[];for await(let n of this.components.datastore.query(e))r.push(JSON.parse(H(n.value)));return r}async findKeyById(e){try{let n=(await this.listKeys()).find(i=>i.id===e);if(n==null)throw new E(`Key with id '${e}' does not exist.`,Z.ERR_KEY_NOT_FOUND);return n}catch(r){throw await oe(),r}}async findKeyByName(e){if(!sr(e))throw await oe(),new E(`Invalid key name '${e}'`,Z.ERR_INVALID_KEY_NAME);let r=Cr(e);try{let n=await this.components.datastore.get(r);return JSON.parse(H(n))}catch(n){throw await oe(),ks.error(n),new E(`Key '${e}' does not exist.`,Z.ERR_KEY_NOT_FOUND)}}async removeKey(e){if(!sr(e)||e==="self")throw await oe(),new E(`Invalid key name '${e}'`,Z.ERR_INVALID_KEY_NAME);let r=Yt(e),n=await this.findKeyByName(e),i=this.components.datastore.batch();return i.delete(r),i.delete(Cr(e)),await i.commit(),n}async renameKey(e,r){if(!sr(e)||e==="self")throw await oe(),new E(`Invalid old key name '${e}'`,Z.ERR_OLD_KEY_NAME_INVALID);if(!sr(r)||r==="self")throw await oe(),new E(`Invalid new key name '${r}'`,Z.ERR_NEW_KEY_NAME_INVALID);let n=Yt(e),i=Yt(r),o=Cr(e),s=Cr(r);if(await this.components.datastore.has(i))throw await oe(),new E(`Key '${r}' already exists`,Z.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(o),l=JSON.parse(H(u));l.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(s,K(JSON.stringify(l))),f.delete(n),f.delete(o),await f.commit(),l}catch(c){throw await oe(),c}}async exportKey(e,r){if(!sr(e))throw await oe(),new E(`Invalid key name '${e}'`,Z.ERR_INVALID_KEY_NAME);if(r==null)throw await oe(),new E("Password is required",Z.ERR_PASSWORD_REQUIRED);let n=Yt(e);try{let i=await this.components.datastore.get(n),o=H(i),s=un.get(this);if(s==null)throw new E("dek missing",Z.ERR_INVALID_PARAMETERS);let a=s.dek;return await(await no(o,a)).export(r)}catch(i){throw await oe(),i}}async exportPeerId(e){let r="temporary-password",n=await this.exportKey(e,r),i=await no(n,r);return oi(i.public.bytes,i.bytes)}async importKey(e,r,n){if(!sr(e)||e==="self")throw await oe(),new E(`Invalid key name '${e}'`,Z.ERR_INVALID_KEY_NAME);if(r==null)throw await oe(),new E("PEM encoded key is required",Z.ERR_PEM_REQUIRED);let i=Yt(e);if(await this.components.datastore.has(i))throw await oe(),new E(`Key '${e}' already exists`,Z.ERR_KEY_ALREADY_EXISTS);let s;try{s=await no(r,n)}catch{throw await oe(),new E("Cannot read the key, most likely the password is wrong",Z.ERR_CANNOT_READ_KEY)}let a;try{a=await s.id();let l=un.get(this);if(l==null)throw new E("dek missing",Z.ERR_INVALID_PARAMETERS);let f=l.dek;r=await s.export(f)}catch(l){throw await oe(),l}let c={name:e,id:a},u=this.components.datastore.batch();return u.put(i,K(r)),u.put(Cr(e),K(JSON.stringify(c))),await u.commit(),c}async importPeer(e,r){try{if(!sr(e))throw new E(`Invalid key name '${e}'`,Z.ERR_INVALID_KEY_NAME);if(r==null)throw new E("PeerId is required",Z.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new E("PeerId.privKey is required",Z.ERR_MISSING_PRIVATE_KEY);let n=await ei(r.privateKey),i=Yt(e);if(await this.components.datastore.has(i))throw await oe(),new E(`Key '${e}' already exists`,Z.ERR_KEY_ALREADY_EXISTS);let s=un.get(this);if(s==null)throw new E("dek missing",Z.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,K(c)),l.put(Cr(e),K(JSON.stringify(u))),await l.commit(),u}catch(n){throw await oe(),n}}async getPrivateKey(e){if(!sr(e))throw await oe(),new E(`Invalid key name '${e}'`,Z.ERR_INVALID_KEY_NAME);try{let r=Yt(e),n=await this.components.datastore.get(r);return H(n)}catch(r){throw await oe(),ks.error(r),new E(`Key '${e}' does not exist.`,Z.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(e,r){if(typeof e!="string")throw await oe(),new E(`Invalid old pass type '${typeof e}'`,Z.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await oe(),new E(`Invalid new pass type '${typeof r}'`,Z.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await oe(),new E(`Invalid pass length ${r.length}`,Z.ERR_INVALID_PASS_LENGTH);ks("recreating keychain");let n=un.get(this);if(n==null)throw new E("dek missing",Z.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let o=r!=null&&this.init.dek?.salt!=null?oo(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";un.set(this,{dek:o});let s=await this.listKeys();for(let a of s){let c=await this.components.datastore.get(Yt(a.name)),u=H(c),l=await no(u,i),f=o.toString(),h=await l.export(f),p=this.components.datastore.batch(),d={name:a.name,id:a.id};p.put(Yt(a.name),K(h)),p.put(Cr(a.name),K(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 Rt=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=>[te(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,te(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=>te(e))}values(){return this.map.values()}get size(){return this.map.size}};var hn=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=te(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=te(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return ar(this.set.values(),e=>te(e))}intersection(e){let r=new t;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new t;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new t;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var Qu=class t{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return ar(this.list.entries(),e=>te(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],te(e[1])])}every(e){return this.list.every((r,n)=>e(te(r),n,this))}filter(e){let r=new t;return this.list.forEach((n,i)=>{let o=te(n);e(o,i,this)&&r.push(o)}),r}find(e){let r=this.list.find((n,i)=>e(te(n),i,this));if(r!=null)return te(r)}findIndex(e){return this.list.findIndex((r,n)=>e(te(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(te(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 te(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return te(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}get length(){return this.list.length}};var Xu;(function(t){let e;t.codec=()=>(e==null&&(e=qe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.id!=null&&(n.uint32(10),n.bytes(r.id)),r.pubKey!=null&&(n.uint32(18),n.bytes(r.pubKey)),r.privKey!=null&&(n.uint32(26),n.bytes(r.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},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=>Ve(r,t.codec()),t.decode=r=>Ke(r,t.codec())})(Xu||(Xu={}));var um=async()=>{let t=await Rs("Ed25519"),e=await Kb(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function Kb(t){return oi(Rp(t.public),Cp(t))}function Os(t){return t instanceof Uint8Array?{get(e){return t[e]},set(e,r){t[e]=r}}:{get(e){return t.get(e)},set(e,r){t.set(e,r)}}}var lm=4294967296,uo=class t{constructor(e=0,r=0){this.hi=e,this.lo=r}toBigInt(e){if(e===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(e){return Number(this.toBigInt(e))}zzDecode(){let e=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^e)>>>0,n=(this.hi>>>1^e)>>>0;return new t(n,r)}zzEncode(){let e=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^e)>>>0,n=(this.lo<<1^e)>>>0;return new t(r,n)}toBytes(e,r=0){let n=Os(e);for(;this.hi>0;)n.set(r++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(r++,this.lo&127|128),this.lo=this.lo>>>7;n.set(r++,this.lo)}static fromBigInt(e){if(e===0n)return new t;let r=e<0;r&&(e=-e);let n=Number(e>>32n)|0,i=Number(e-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>lm&&(i=0,++n>lm&&(n=0))),new t(n,i)}static fromNumber(e){if(e===0)return new t;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new t(i,n)}static fromBytes(e,r=0){let n=Os(e),i=new t,o=0;if(e.length-r>4){for(;o<4;++o)if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i;if(i.lo=(i.lo|(n.get(r)&127)<<28)>>>0,i.hi=(i.hi|(n.get(r)&127)>>4)>>>0,n.get(r++)<128)return i;o=0}else for(;o<4;++o){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i}if(e.length-r>4){for(;o<5;++o)if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}else if(r<e.byteLength)for(;o<5;++o){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var Vb=Math.pow(2,7),qb=Math.pow(2,14),zb=Math.pow(2,21),$b=Math.pow(2,28),Hb=Math.pow(2,35),Gb=Math.pow(2,42),Yb=Math.pow(2,49),Wb=Math.pow(2,56),Qb=Math.pow(2,63),Ct={encodingLength(t){return t<Vb?1:t<qb?2:t<zb?3:t<$b?4:t<Hb?5:t<Gb?6:t<Yb?7:t<Wb?8:t<Qb?9:10},encode(t,e,r=0){if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return e==null&&(e=vt(Ct.encodingLength(t))),uo.fromNumber(t).toBytes(e,r),e},decode(t,e=0){return uo.fromBytes(t,e).toNumber(!0)}};var hm=Symbol.for("@achingbrain/uint8arraylist");function fm(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?.[hm]}var Ue=class t{constructor(...e){Object.defineProperty(this,hm,{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=fm(this.bufs,e);return r.buf[r.index]}set(e,r){let n=fm(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 Ie(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Ie(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=vt(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=er(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=er(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=er(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=vt(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=er(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=er(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=er(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=er(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=er(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(!ge(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 dm={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var lo;(function(t){let e;t.codec=()=>(e==null&&(e=qe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},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=>Ve(r,t.codec()),t.decode=r=>Ke(r,t.codec())})(lo||(lo={}));var ci=class t{static createFromProtobuf=async e=>{let r=lo.decode(e),n=await oi(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=pm(n,i,o),c=await(await ei(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 E("envelope signature is not valid for the given domain",dm.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=lo.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return ge(this.marshal(),e.marshal())}async validate(e){let r=pm(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return ro(this.peerId.publicKey).verify(r.subarray(),this.signature)}},pm=(t,e,r)=>{let n=K(t),i=Ct.encode(n.byteLength),o=Ct.encode(e.length),s=Ct.encode(r.length);return new Ue(i,n,o,e,s,r)};function mm(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 extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var fi=z(ju(),1);var Fs=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 Sm=45,u_=15,ui=new Fs;function el(t){if(!(t.length>u_))return ui.new(t).parseWith(()=>ui.readIPv4Addr())}function tl(t){if(!(t.length>Sm))return ui.new(t).parseWith(()=>ui.readIPv6Addr())}function Ks(t){if(!(t.length>Sm))return ui.new(t).parseWith(()=>ui.readIPAddr())}var q8=parseInt("0xFFFF",16),z8=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Wt=z(ju(),1);function Cm(t){return!!el(t)}function Tm(t){return!!tl(t)}function li(t){return!!Ks(t)}var Bm=Cm,p_=Tm,rl=function(t){let e=0;if(t=t.toString().trim(),Bm(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(p_(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=Bm(r[n]),s;o&&(s=rl(r[n]),r[n]=H(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,H(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")},Pm=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 fo={},nl={},y_=[[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"]];y_.forEach(t=>{let e=g_(...t);nl[e.code]=e,fo[e.name]=e});function g_(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function se(t){if(typeof t=="number"){if(nl[t]!=null)return nl[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(fo[t]!=null)return fo[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var I3=se("ip4"),R3=se("ip6"),C3=se("ipcidr");function ol(t,e){switch(se(t).code){case 4:case 41:return w_(e);case 42:return Nm(e);case 6:case 273:case 33:case 132:return Om(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Nm(e);case 421:return __(e);case 444:return km(e);case 445:return km(e);case 466:return b_(e);default:return H(e,"base16")}}function sl(t,e){switch(se(t).code){case 4:return Lm(e);case 41:return Lm(e);case 42:return Dm(e);case 6:case 273:case 33:case 132:return al(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Dm(e);case 421:return v_(e);case 444:return A_(e);case 445:return S_(e);case 466:return E_(e);default:return K(e,"base16")}}var il=Object.values(ao).map(t=>t.decoder),x_=function(){let t=il[0].or(il[1]);return il.slice(2).forEach(e=>t=t.or(e)),t}();function Lm(t){if(!li(t))throw new Error("invalid ip address");return rl(t)}function w_(t){let e=Pm(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!li(e))throw new Error("invalid ip address");return e}function al(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Om(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Dm(t){let e=K(t),r=Uint8Array.from(Wt.default.encode(e.length));return Ie([r,e],r.length+e.length)}function Nm(t){let e=Wt.default.decode(t);if(t=t.slice(Wt.default.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return H(t)}function v_(t){let e;t[0]==="Q"||t[0]==="1"?e=Gr(Ae.decode(`z${t}`)).bytes:e=It.parse(t).multihash.bytes;let r=Uint8Array.from(Wt.default.encode(e.length));return Ie([r,e],r.length+e.length)}function E_(t){let e=x_.decode(t),r=Uint8Array.from(Wt.default.encode(e.length));return Ie([r,e],r.length+e.length)}function b_(t){let e=Wt.default.decode(t),r=t.slice(Wt.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return"u"+H(r,"base64url")}function __(t){let e=Wt.default.decode(t),r=t.slice(Wt.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return H(r,"base58btc")}function A_(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=st.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=al(n);return Ie([r,i],r.length+i.length)}function S_(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=st.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=al(n);return Ie([r,i],r.length+i.length)}function km(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=H(e,"base32"),i=Om(r);return`${n}:${i}`}function Mm(t){t=cl(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=se(s);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw Fm("invalid address: "+t);if(a.path===!0){n=cl(i.slice(o).join("/")),e.push([a.code,sl(a.code,n)]),r.push([a.code,n]);break}let c=sl(a.code,i[o]);e.push([a.code,c]),r.push([a.code,ol(a.code,c)])}return{string:Um(r),bytes:ll(e),tuples:e,stringTuples:r,path:n}}function ul(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let o=fi.default.decode(t,i),s=fi.default.decode.bytes??0,a=se(o),c=I_(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 Fm("Invalid address Uint8Array: "+H(t,"base16"));e.push([o,u]);let l=ol(o,u);if(r.push([o,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(t),string:Um(r),tuples:e,stringTuples:r,path:n}}function Um(t){let e=[];return t.map(r=>{let n=se(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),cl(e.join("/"))}function ll(t){return Ie(t.map(e=>{let r=se(e[0]),n=Uint8Array.from(fi.default.encode(r.code));return e.length>1&&e[1]!=null&&(n=Ie([n,e[1]])),n}))}function I_(t,e){return t.size>0?t.size/8:t.size===0?0:fi.default.decode(e)+(fi.default.decode.bytes??0)}function cl(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Fm(t){return new Error("Error parsing address: "+t)}var R_=Symbol.for("nodejs.util.inspect.custom"),C_=[se("dns").code,se("dns4").code,se("dns6").code,se("dnsaddr").code],hl=new Map,Km=Symbol.for("@multiformats/js-multiaddr/multiaddr");function dn(t){return!!t?.[Km]}var fl=class t{bytes;#e;#t;#r;#n;[Km]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=ul(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=Mm(e)}else if(dn(e))r=ul(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=se("tcp"),a=se("udp"),c=se("ip4"),u=se("ip6"),l=se("dns6"),f=se("ip6zone");for(let[p,d]of this.stringTuples())p===f.code&&(o=`%${d??""}`),C_.includes(p)&&(r=s.name,i=443,n=`${d??""}${o}`,e=p===l.code?6:4),(p===s.code||p===a.code)&&(r=se(p).name,i=parseInt(d??"")),(p===c.code||p===u.code)&&(r=se(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({},se(e)))}protoCodes(){return this.#t.map(([e])=>e)}protoNames(){return this.#t.map(([e])=>se(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(ll(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===fo.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?H(Ae.decode(`z${n}`),"base58btc"):H(It.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(e){return ge(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=hl.get(r.name);if(n==null)throw new Us(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(o=>new t(o))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[R_](){return`Multiaddr(${this.#e})`}};function Le(t){return new fl(t)}var Vm="libp2p-peer-record",qm=Uint8Array.from([3,1]);var ho;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=qe((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=>Ve(o,n.codec()),n.decode=o=>Ke(o,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=qe((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=>Ve(n,t.codec()),t.decode=n=>Ke(n,t.codec())})(ho||(ho={}));var pn=class t{static createFromProtobuf=e=>{let r=ho.decode(e),n=ii(r.peerId),i=(r.addresses??[]).map(s=>Le(s.multiaddr)),o=r.seq;return new t({peerId:n,multiaddrs:i,seqNumber:o})};static DOMAIN=Vm;static CODEC=qm;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=ho.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||!mm(this.multiaddrs,e.multiaddrs))}};function T_(t){return t[Symbol.asyncIterator]!=null}function B_(t){if(T_(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 po=B_;var jm=z($m(),1);var yo=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},pl=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},Hm=t=>globalThis.DOMException===void 0?new pl(t):new DOMException(t),Gm=t=>{let e=t.reason===void 0?Hm("This operation was aborted."):t.reason;return e instanceof Error?e:Hm(e)};function ml(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(Gm(c)),c.addEventListener("abort",()=>{a(Gm(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 yo(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 yl(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 mn=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)},cr,go=class{constructor(){cr.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&mn(this,cr,"f")[this.size-1].priority>=r.priority){mn(this,cr,"f").push(n);return}let i=yl(mn(this,cr,"f"),n,(o,s)=>s.priority-o.priority);mn(this,cr,"f").splice(i,0,n)}dequeue(){let e=mn(this,cr,"f").shift();return e?.run}filter(e){return mn(this,cr,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return mn(this,cr,"f").length}};cr=new WeakMap;var we=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},k=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)},Ce,wo,vo,Br,Ys,Eo,qs,Tt,xo,ct,zs,ut,bo,Tr,$s,Ym,Wm,Zm,Qm,Xm,Hs,gl,xl,Ws,Jm,Gs,Qs=class extends Error{},Bt=class extends jm.default{constructor(e){var r,n,i,o;if(super(),Ce.add(this),wo.set(this,void 0),vo.set(this,void 0),Br.set(this,0),Ys.set(this,void 0),Eo.set(this,void 0),qs.set(this,0),Tt.set(this,void 0),xo.set(this,void 0),ct.set(this,void 0),zs.set(this,void 0),ut.set(this,0),bo.set(this,void 0),Tr.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:go,...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})`);we(this,wo,e.carryoverConcurrencyCount,"f"),we(this,vo,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),we(this,Ys,e.intervalCap,"f"),we(this,Eo,e.interval,"f"),we(this,ct,new e.queueClass,"f"),we(this,zs,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,we(this,$s,e.throwOnTimeout===!0,"f"),we(this,Tr,e.autoStart===!1,"f")}get concurrency(){return k(this,bo,"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})`);we(this,bo,e,"f"),k(this,Ce,"m",Ws).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,$s,"f"),...r},new Promise((n,i)=>{k(this,ct,"f").enqueue(async()=>{var o,s,a;we(this,ut,(s=k(this,ut,"f"),s++,s),"f"),we(this,Br,(a=k(this,Br,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new Qs("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=ml(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,k(this,Ce,"m",Jm).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof yo&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{k(this,Ce,"m",Zm).call(this)}},r),this.emit("add"),k(this,Ce,"m",Hs).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return k(this,Tr,"f")?(we(this,Tr,!1,"f"),k(this,Ce,"m",Ws).call(this),this):this}pause(){we(this,Tr,!0,"f")}clear(){we(this,ct,new(k(this,zs,"f")),"f")}async onEmpty(){k(this,ct,"f").size!==0&&await k(this,Ce,"m",Gs).call(this,"empty")}async onSizeLessThan(e){k(this,ct,"f").size<e||await k(this,Ce,"m",Gs).call(this,"next",()=>k(this,ct,"f").size<e)}async onIdle(){k(this,ut,"f")===0&&k(this,ct,"f").size===0||await k(this,Ce,"m",Gs).call(this,"idle")}get size(){return k(this,ct,"f").size}sizeBy(e){return k(this,ct,"f").filter(e).length}get pending(){return k(this,ut,"f")}get isPaused(){return k(this,Tr,"f")}};wo=new WeakMap,vo=new WeakMap,Br=new WeakMap,Ys=new WeakMap,Eo=new WeakMap,qs=new WeakMap,Tt=new WeakMap,xo=new WeakMap,ct=new WeakMap,zs=new WeakMap,ut=new WeakMap,bo=new WeakMap,Tr=new WeakMap,$s=new WeakMap,Ce=new WeakSet,Ym=function(){return k(this,vo,"f")||k(this,Br,"f")<k(this,Ys,"f")},Wm=function(){return k(this,ut,"f")<k(this,bo,"f")},Zm=function(){var e;we(this,ut,(e=k(this,ut,"f"),e--,e),"f"),k(this,Ce,"m",Hs).call(this),this.emit("next")},Qm=function(){k(this,Ce,"m",xl).call(this),k(this,Ce,"m",gl).call(this),we(this,xo,void 0,"f")},Xm=function(){let e=Date.now();if(k(this,Tt,"f")===void 0){let r=k(this,qs,"f")-e;if(r<0)we(this,Br,k(this,wo,"f")?k(this,ut,"f"):0,"f");else return k(this,xo,"f")===void 0&&we(this,xo,setTimeout(()=>{k(this,Ce,"m",Qm).call(this)},r),"f"),!0}return!1},Hs=function(){if(k(this,ct,"f").size===0)return k(this,Tt,"f")&&clearInterval(k(this,Tt,"f")),we(this,Tt,void 0,"f"),this.emit("empty"),k(this,ut,"f")===0&&this.emit("idle"),!1;if(!k(this,Tr,"f")){let e=!k(this,Ce,"a",Xm);if(k(this,Ce,"a",Ym)&&k(this,Ce,"a",Wm)){let r=k(this,ct,"f").dequeue();return r?(this.emit("active"),r(),e&&k(this,Ce,"m",gl).call(this),!0):!1}}return!1},gl=function(){k(this,vo,"f")||k(this,Tt,"f")!==void 0||(we(this,Tt,setInterval(()=>{k(this,Ce,"m",xl).call(this)},k(this,Eo,"f")),"f"),we(this,qs,Date.now()+k(this,Eo,"f"),"f"))},xl=function(){k(this,Br,"f")===0&&k(this,ut,"f")===0&&k(this,Tt,"f")&&(clearInterval(k(this,Tt,"f")),we(this,Tt,void 0,"f")),we(this,Br,k(this,wo,"f")?k(this,ut,"f"):0,"f"),k(this,Ce,"m",Ws).call(this)},Ws=function(){for(;k(this,Ce,"m",Hs).call(this););},Jm=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new Qs("The task was aborted."))},{once:!0})})},Gs=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var wl=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},vl=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},ey=t=>globalThis.DOMException===void 0?new vl(t):new DOMException(t),ty=t=>{let e=t.reason===void 0?ey("This operation was aborted."):t.reason;return e instanceof Error?e:ey(e)};function El(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(ty(h)),h.addEventListener("abort",()=>{l(ty(h))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new wl;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 bl="lock:worker:request-read",_l="lock:worker:release-read",Al="lock:master:grant-read",Sl="lock:worker:request-write",Il="lock:worker:release-write",Rl="lock:master:grant-write";var Pr={},hi=t=>{t.addEventListener("message",e=>{hi.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{hi.dispatchEvent("message",t,e)})};hi.addEventListener=(t,e)=>{Pr[t]==null&&(Pr[t]=[]),Pr[t].push(e)};hi.removeEventListener=(t,e)=>{Pr[t]!=null&&(Pr[t]=Pr[t].filter(r=>r===e))};hi.dispatchEvent=function(t,e,r){Pr[t]!=null&&Pr[t].forEach(n=>n(e,r))};var Cl=hi;var ry=(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)}))}}))},ny=(t,e,r,n)=>async()=>{let i=Ps();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)})},D_={singleProcess:!1},iy=t=>{if(t=Object.assign({},D_,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return Cl.addEventListener("message",ry(r,"requestReadLock",bl,_l,Al)),Cl.addEventListener("message",ry(r,"requestWriteLock",Sl,Il,Rl)),r}return{isWorker:!0,readLock:r=>ny(r,bl,Al,_l),writeLock:r=>ny(r,Sl,Rl,Il)}};var yn={},Lr;async function Tl(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>await El((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var N_=(t,e)=>{if(Lr.isWorker===!0)return{readLock:Lr.readLock(t,e),writeLock:Lr.writeLock(t,e)};let r=new Bt({concurrency:1}),n;return{async readLock(){if(n!=null)return await Tl(n,e);n=new Bt({concurrency:e.concurrency,autoStart:!1});let i=n,o=Tl(n,e);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await o},async writeLock(){return n=null,await Tl(r,e)}}},k_={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Bl(t){let e=Object.assign({},k_,t);return Lr==null&&(Lr=iy(e),Lr.isWorker!==!0&&(Lr.addEventListener("requestReadLock",r=>{yn[r.data.name]!=null&&yn[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),Lr.addEventListener("requestWriteLock",async r=>{yn[r.data.name]!=null&&yn[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),yn[e.name]==null&&(yn[e.name]=N_(e.name,e)),yn[e.name]}var ze={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var di;(function(t){let e;(function(i){let o;i.codec=()=>(o==null&&(o=qe((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=>Ve(s,i.codec()),i.decode=s=>Ke(s,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let o;i.codec=()=>(o==null&&(o=qe((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),Zs.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=Zs.codec().decode(s,s.uint32());break;default:s.skipType(l&7);break}}return c})),o),i.encode=s=>Ve(s,i.codec()),i.decode=s=>Ke(s,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=qe((i,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),i.addresses!=null)for(let a of i.addresses)o.uint32(10),Xs.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(Xs.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=>Ve(i,t.codec()),t.decode=i=>Ke(i,t.codec())})(di||(di={}));var Xs;(function(t){let e;t.codec=()=>(e==null&&(e=qe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.multiaddr!=null&&r.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(r.multiaddr)),r.isCertified!=null&&(n.uint32(16),n.bool(r.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={multiaddr:new Uint8Array(0)},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=>Ve(r,t.codec()),t.decode=r=>Ke(r,t.codec())})(Xs||(Xs={}));var Zs;(function(t){let e;t.codec=()=>(e==null&&(e=qe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.value!=null&&r.value!==0&&(n.uint32(8),n.uint32(r.value)),r.expiry!=null&&(n.uint32(16),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={value:0},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=>Ve(r,t.codec()),t.decode=r=>Ke(r,t.codec())})(Zs||(Zs={}));function pi(t,e){let r=di.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=Vp({...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:Le(o),isCertified:s??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}var Pl="/peers/";function mi(t){if(!Bs(t)||t.type==null)throw new E("Invalid PeerId",ze.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new Gt(`${Pl}${e}`)}async function oy(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=Le(i.multiaddr)),!dn(i.multiaddr))throw new E("Multiaddr was invalid",ze.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 E("Invalid PeerData",ze.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!ge(e.publicKey,t.publicKey))throw new E("publicKey bytes do not match peer id publicKey bytes",ze.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new E("peer id did not match existing peer id",ze.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=Js(f,{validate:sy})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=Js(f,{validate:ay,map:cy})}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=Js([...a.entries()],{validate:sy})}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=Js([...h.entries()],{validate:ay,map:cy})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await oy(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 Js(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 sy(t,e){if(typeof t!="string")throw new E("Metadata key must be a string",ze.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new E("Metadata value must be a Uint8Array",ze.ERR_INVALID_PARAMETERS)}function ay(t,e){if(typeof t!="string")throw new E("Tag name must be a string",ze.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new E("Tag value must be an integer",ze.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new E("Tag value must be between 0-100",ze.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new E("Tag ttl must be an integer",ze.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new E("Tag ttl must be between greater than 0",ze.ERR_INVALID_PARAMETERS)}}function cy(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 ea(t,e,r){let n=t.toString().split("/")[2],i=st.decode(n),o=ii(i),s=r.get(o);if(s!=null)return s;let a=pi(o,e);return r.set(o,a),a}function O_(t,e){return t==null?{}:{prefix:Pl,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(ea(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(ea(n.key,n.value,e),ea(i.key,i.value,e)))}}var ta=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=Bl({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(mi(e))}async delete(e){if(this.peerId.equals(e))throw new E("Cannot delete self peer",ze.ERR_INVALID_PARAMETERS);await this.datastore.delete(mi(e))}async load(e){let r=await this.datastore.get(mi(e));return pi(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 Rt;for await(let{key:n,value:i}of this.datastore.query(O_(e??{},r))){let o=ea(n,i,r);o.id.equals(this.peerId)||(yield o)}}async#e(e){try{let r=await this.datastore.get(mi(e)),n=pi(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=di.encode(r);return n!=null&&ge(o,n)?{peer:pi(e,o),previous:i,updated:!1}:(await this.datastore.put(mi(e),o),{peer:pi(e,o),previous:i,updated:!0})}};var ce=Y("libp2p:peer-store"),ra=class{store;events;peerId;constructor(e,r={}){this.events=e.events,this.peerId=e.peerId,this.store=new ta(e,r)}async forEach(e,r){ce.trace("forEach await read lock");let n=await this.store.lock.readLock();ce.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{ce.trace("forEach release read lock"),n()}}async all(e){ce.trace("all await read lock");let r=await this.store.lock.readLock();ce.trace("all got read lock");try{return await po(this.store.all(e))}finally{ce.trace("all release read lock"),r()}}async delete(e){ce.trace("delete await write lock");let r=await this.store.lock.writeLock();ce.trace("delete got write lock");try{await this.store.delete(e)}finally{ce.trace("delete release write lock"),r()}}async has(e){ce.trace("has await read lock");let r=await this.store.lock.readLock();ce.trace("has got read lock");try{return await this.store.has(e)}finally{ce.trace("has release read lock"),r()}}async get(e){ce.trace("get await read lock");let r=await this.store.lock.readLock();ce.trace("get got read lock");try{return await this.store.load(e)}finally{ce.trace("get release read lock"),r()}}async save(e,r){ce.trace("save await write lock");let n=await this.store.lock.writeLock();ce.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{ce.trace("save release write lock"),n()}}async patch(e,r){ce.trace("patch await write lock");let n=await this.store.lock.writeLock();ce.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{ce.trace("patch release write lock"),n()}}async merge(e,r){ce.trace("merge await write lock");let n=await this.store.lock.writeLock();ce.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{ce.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await ci.openAndCertify(e,pn.DOMAIN);if(r?.equals(n.peerId)===!1)return ce("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 ci.createFromProtobuf(o.peerRecordEnvelope),a=pn.createFromProtobuf(s.payload);if(a.seqNumber>=i.seqNumber)return ce("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 M_(t){return t[Symbol.asyncIterator]!=null}function U_(t){if(M_(t))return(async()=>{for await(let e of t);})();for(let e of t);}var Ll=U_;function F_(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 na=F_;function K_(t){return t[Symbol.asyncIterator]!=null}function V_(t,e){if(K_(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=na(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 Pt=V_;function q_(t){return t[Symbol.asyncIterator]!=null}function z_(t,e){return q_(t)?async function*(){yield*(await po(t)).sort(e)}():function*(){yield*po(t).sort(e)}()}var Dl=z_;function $_(t){return t[Symbol.asyncIterator]!=null}function H_(t,e){return $_(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 Nl=H_;var ia=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 Ll(this.putMany(e,n)),e=[],await Ll(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=Pt(n,o=>o.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>Pt(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>Dl(i,o),n)),e.offset!=null){let i=0,o=e.offset;n=Pt(n,()=>i++>=o)}return e.limit!=null&&(n=Nl(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=Pt(n,o=>o.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>Pt(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>Dl(i,o),n)),e.offset!=null){let i=e.offset,o=0;n=Pt(n,()=>o++>=i)}return e.limit!=null&&(n=Nl(n,e.limit)),n}};var fy=z(kl(),1);function hy(t){return t=t??new Error("Not Found"),(0,fy.default)(t,"ERR_NOT_FOUND")}var oa=class extends ia{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 hy();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 Gt(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new Gt(e)}};function dy(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var W_=Y("libp2p:address-manager"),Q_=t=>t;function Ol(t,e){let r=t.getPeerId();return r!=null&&te(r).equals(e)&&(t=t.decapsulate(Le(`/p2p/${e.toString()}`))),t}var sa=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??Q_,this._updatePeerStoreAddresses=dy(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])=>Le(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=>{W_.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>Le(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>Le(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>Le(e))}addObservedAddr(e){e=Ol(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=Ol(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=Ol(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=>Le(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};function py(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var Ml=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=>py(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")}},X_=["metrics","connectionProtector"],Z_=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function my(t={}){let e=new Ml(t);return new Proxy(e,{get(n,i,o){if(typeof i=="string"&&!Z_.includes(i)){let s=e.components[i];if(s==null&&!X_.includes(i))throw new E(`${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 by=z(yy(),1);var gy="[a-fA-F\\d:]",Dr=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${gy})|(?<=${gy})(?=\\s|$))`:"",Lt="(?: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}",Be="[a-fA-F\\d]{1,4}",aa=`
|
|
38
38
|
(?:
|
|
39
|
-
(?:${
|
|
40
|
-
(?:${
|
|
41
|
-
(?:${
|
|
42
|
-
(?:${
|
|
43
|
-
(?:${
|
|
44
|
-
(?:${
|
|
45
|
-
(?:${
|
|
46
|
-
(?::(?:(?::${
|
|
39
|
+
(?:${Be}:){7}(?:${Be}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
40
|
+
(?:${Be}:){6}(?:${Lt}|:${Be}|:)| // 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
|
+
(?:${Be}:){5}(?::${Lt}|(?::${Be}){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
|
+
(?:${Be}:){4}(?:(?::${Be}){0,1}:${Lt}|(?::${Be}){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
|
+
(?:${Be}:){3}(?:(?::${Be}){0,2}:${Lt}|(?::${Be}){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
|
+
(?:${Be}:){2}(?:(?::${Be}){0,3}:${Lt}|(?::${Be}){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
|
+
(?:${Be}:){1}(?:(?::${Be}){0,4}:${Lt}|(?::${Be}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
46
|
+
(?::(?:(?::${Be}){0,5}:${Lt}|(?::${Be}){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(),_I=new RegExp(`(?:^${Kt}$)|(?:^${Na}$)`),SI=new RegExp(`^${Kt}$`),AI=new RegExp(`^${Na}$`),Lf=t=>t&&t.exact?_I:new RegExp(`(?:${Qr(t)}${Kt}${Qr(t)})|(?:${Qr(t)}${Na}${Qr(t)})`,"g");Lf.v4=t=>t&&t.exact?SI:new RegExp(`${Qr(t)}${Kt}${Qr(t)}`,"g");Lf.v6=t=>t&&t.exact?AI:new RegExp(`${Qr(t)}${Na}${Qr(t)}`,"g");var Bg=Lf;var kg=z(Pg(),1),{isValid:II,parse:RI}=kg.default,CI=["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"],TI=CI.map(t=>new Ng.Netmask(t));function BI(t){for(let e of TI)if(e.contains(t))return!0;return!1}function Dg(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 Og=t=>{if(II(t)){let e=RI(t);if(e.kind()==="ipv4")return BI(e.toNormalizedString());if(e.kind()==="ipv6")return Dg(t)}else if(Ii(t)&&Bg.v6().test(t))return Dg(t)};var Oa=Og;function Mg(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!Oa(`${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 eD=Symbol.for("@libp2p/transport");var Xr;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Xr||(Xr={}));function Pf(t){try{let{address:e}=t.nodeAddress();return!!Oa(e)}catch{return!0}}function Di(t,e){let r=Pf(t.multiaddr),n=Pf(e.multiaddr);return r&&!n?1:!r&&n||t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}var Nf=z(al(),1),kf=z(Kg(),1);var Vg=globalThis.fetch,qg=globalThis.Headers,aD=globalThis.Request,cD=globalThis.Response;function Ma(t,e,r){return`${t}?name=${e}&type=${r}`}async function zg(t,e){return await(await Vg(t,{headers:new qg({accept:"application/dns-json"}),signal:e})).json()}function Bn(t,e){return`${e}_${t}`}var Df=Object.assign((0,Nf.default)("dns-over-http-resolver"),{error:(0,Nf.default)("dns-over-http-resolver:error")}),Of=class{constructor(e={}){this._cache=new kf.default({max:e?.maxCache??100}),this._TXTcache=new kf.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??zg,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(Bn(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(Ma(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(Bn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Df.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(Bn(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(Ma(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(Bn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Df.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(Bn(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(Ma(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(Bn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Df.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()}},$g=Of;var Hg=$g;var{code:kI}=le("dnsaddr");async function Ni(t,e={}){let r=new Hg;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===kI)??[];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 or;(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"})(or||(or={}));var N;(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"})(N||(N={}));var OI={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:Ni},addressSorter:Di},transportManager:{faultTolerance:Xr.FATAL_ALL}};function Gg(t){let e=qr(OI,t);if(e.transports==null||e.transports.length<1)throw new v(or.ERR_TRANSPORTS_REQUIRED,N.ERR_TRANSPORTS_REQUIRED);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new v(or.ERR_PROTECTOR_REQUIRED,N.ERR_PROTECTOR_REQUIRED);return e}var Yg="keep-alive";var G1=z(q1(),1);var xR=W("libp2p:get-peer");function Fa(t){if(Zs(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:oe(r),t.forEach(n=>{if(!Rn(n))throw xR.error("multiaddr %s was invalid",n),new v("Invalid Multiaddr",N.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new v("Multiaddrs must all have the same peer id or have no peer id",N.ERR_INVALID_PARAMETERS)}else{let o=oe(i);if(e==null||!e.equals(o))throw new v("Multiaddrs must all have the same peer id or have no peer id",N.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function wR(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 Xf=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new v("missing peer id",N.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=wR(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}},Ka=class extends Ut{constructor(e={}){super({...e,queueClass:Xf})}hasJob(e){return this.sizeBy({peerId:e})>0}};var Xe=W("libp2p:connection-manager:auto-dial"),Yo={minConnections:50,maxQueueLength:100,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3},Va=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialInterval;started;running;constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??Yo.minConnections,this.autoDialPriority=r.autoDialPriority??Yo.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??Yo.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??Yo.maxQueueLength,this.started=!1,this.running=!1,this.queue=new Ka({concurrency:r.autoDialConcurrency??Yo.autoDialConcurrency}),this.queue.addListener("error",n=>{Xe.error("error during auto-dial",n)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(n=>{Xe.error(n)})})}isStarted(){return this.started}start(){this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(e=>{Xe.error("error while autodialing",e)})},this.autoDialIntervalMs),this.started=!0}afterStart(){this.autoDial().catch(e=>{Xe.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){Xe.trace("have enough connections %d/%d",r,this.minConnections);return}if(this.queue.size>this.autoDialMaxQueueLength){Xe("not enough connections %d/%d but auto dial queue is full",r,this.minConnections);return}if(this.running){Xe("not enough connections %d/%d - but skipping autodial as it is already running",r,this.minConnections);return}this.running=!0,Xe("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=new kt(this.connectionManager.getDialQueue().map(c=>c.peerId).filter(Boolean)),i=await this.peerStore.all({filters:[c=>c.addresses.length===0?(Xe.trace("not autodialing %p because they have no addresses"),!1):e.has(c.id)?(Xe.trace("not autodialing %p because they are already connected"),!1):n.has(c.id)?(Xe.trace("not autodialing %p because they are already being dialed"),!1):this.queue.hasJob(c.id)?(Xe.trace("not autodialing %p because they are already being autodialed"),!1):!0]}),o=i.sort(()=>Math.random()>.5?1:-1),s=new Nt;for(let c of o)s.has(c.id)||s.set(c.id,[...c.tags.values()].reduce((u,l)=>u+l.value,0));let a=o.sort((c,u)=>{let l=s.get(c.id)??0,f=s.get(u.id)??0;return l>f?-1:l<f?1:0});Xe("selected %d/%d peers to dial",a.length,i.length);for(let c of a)this.queue.add(async()=>{let u=this.connectionManager.getConnectionsMap().size;if(u>=this.minConnections){Xe("got enough connections now %d/%d",u,this.minConnections),this.queue.clear();return}Xe("connecting to a peerStore stored peer %p",c.id),await this.connectionManager.openConnection(c.id,{priority:this.autoDialPriority})},{peerId:c.id}).catch(u=>{Xe.error("could not connect to peerStore stored peer",u)});this.running=!1,this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(c=>{Xe.error("error while autodialing",c)})},this.autoDialIntervalMs))}};var Fi=W("libp2p:connection-manager:connection-pruner"),z1={maxConnections:300,allow:[]},qa=class{maxConnections;connectionManager;peerStore;allow;events;constructor(e,r={}){this.maxConnections=r.maxConnections??z1.maxConnections,this.allow=r.allow??z1.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{Fi.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(Fi("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;Fi("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new Nt;for(let a of e){let c=a.remotePeer;if(!i.has(c)){i.set(c,0);try{let u=await this.peerStore.get(c);i.set(c,[...u.tags.values()].reduce((l,f)=>l+f.value,0))}catch(u){u.code!=="ERR_NOT_FOUND"&&Fi.error("error loading peer tags",u)}}}let o=e.sort((a,c)=>{let u=i.get(a.remotePeer)??0,l=i.get(c.remotePeer)??0;if(u>l)return 1;if(u<l)return-1;let f=a.stat.timeline.open,d=c.stat.timeline.open;return f<d?1:f>d?-1:0}),s=[];for(let a of o)if(Fi("too many connections open - closing a connection to %p",a.remotePeer),this.allow.some(u=>a.remoteAddr.toString().startsWith(u.toString()))||s.push(a),s.length===n)break;await Promise.all(s.map(async a=>{try{await a.close()}catch(c){Fi.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:s})}};var ih=z(Hi(),1);function Ki(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 rh=z(Hi(),1);var $1=W("libp2p:connection-manager:utils");async function nh(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await vR(t,e),s=(await Promise.all(n.map(async a=>nh(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return $1("resolved %s to",t,s.map(a=>a.toString())),s}async function vR(t,e){try{return t=Ue(t.toString()),await t.resolve(e)}catch(r){return $1.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function H1(...t){let e=[];for(let n of t)if(n!=null){try{(0,rh.setMaxListeners)?.(1/0,n)}catch{}e.push(n)}let r=Ki(e);try{(0,rh.setMaxListeners)?.(1/0,r)}catch{}return r}var je=W("libp2p:connection-manager:dial-queue"),Wo={addressSorter:Di,maxParallelDials:100,maxPeerAddrsToDial:25,maxParallelDialsPerPeer:10,dialTimeout:3e4,resolvers:{dnsaddr:Ni}},za=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;maxParallelDialsPerPeer;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;constructor(e,r={}){this.addressSorter=r.addressSorter??Wo.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??Wo.maxPeerAddrsToDial,this.maxParallelDialsPerPeer=r.maxParallelDialsPerPeer??Wo.maxParallelDialsPerPeer,this.dialTimeout=r.dialTimeout??Wo.dialTimeout,this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController;try{(0,ih.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??{}))of.set(n,i);this.queue=new Ut({concurrency:r.maxParallelDials??Wo.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=>{je.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 je("joining existing dial target for %p",n),s.clear(),c.promise;je("creating dial target for",a.map(({multiaddr:l})=>l.toString()));let u={id:_R(),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(l=>{throw je.error("dial failed to %s",u.multiaddrs.map(f=>f.toString()).join(", "),l),s.aborted?new v(l.message,N.ERR_TIMEOUT):l}),this.pendingDials.push(u),u.promise}createDialAbortControllers(e){let r=Ki([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);try{(0,ih.setMaxListeners)?.(1/0,r)}catch{}return r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new v("Tried to dial self",N.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new v("The dial request is blocked by gater.allowDialPeer",N.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){je("loading multiaddrs for %p",e);try{let l=await this.peerStore.get(e);r.push(...l.addresses),je("loaded multiaddrs for %p",e,r.map(({multiaddr:f})=>f.toString()))}catch(l){if(l.code!==N.ERR_NOT_FOUND)throw l}}}let i=(await Promise.all(r.map(async l=>{let f=await nh(l.multiaddr,n);return f.length===1&&f[0].equals(l.multiaddr)?l:f.map(d=>({multiaddr:d,isCertified:!1}))}))).flat(),o=i.filter(l=>!!this.transportManager.transportForMultiaddr(l.multiaddr)),s=new Map;for(let l of o){let f=l.multiaddr.toString(),d=s.get(f);if(d!=null){d.isCertified=d.isCertified||l.isCertified||!1;continue}s.set(f,l)}let a=[...s.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(je("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:l})=>l.toString())),je("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:l})=>l.toString()))),a.length===0)throw new v("The dial request has no valid addresses",N.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new v("dial with more addresses than allowed",N.ERR_TOO_MANY_ADDRESSES);if(e!=null){let l=`/p2p/${e.toString()}`;a=a.map(f=>{let d=f.multiaddr.getPeerId();return f.multiaddr.protos().pop()?.path===!0?f:d!==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 v("The connection gater denied all addresses in the dial request",N.ERR_NO_VALID_ADDRESSES);return u}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new Ut({concurrency:this.maxParallelDialsPerPeer});i.on("error",s=>{je.error("error dialling",s)});let o=await Promise.any(e.multiaddrs.map(async(s,a)=>{let c=n[a];if(c==null)throw new v("dialAction did not come with an AbortController",N.ERR_INVALID_PARAMETERS);let u=H1(c.signal,r.signal);u.addEventListener("abort",()=>{je("dial to %a aborted",s)});let l=jr();return await i.add(async()=>{if(u.aborted){je("dial to %a was aborted before reaching the head of the peer dial queue",s),l.reject(new Cr);return}await this.queue.add(async()=>{try{if(u.aborted){je("dial to %a was aborted before reaching the head of the dial queue",s),l.reject(new Cr);return}e.status="active";let f=await this.transportManager.dial(s,{...r,signal:u});if(c.signal.aborted){je("multiple dials succeeded, closing superfluous connection"),f.close().catch(d=>{je.error("error closing superfluous connection",d)}),l.reject(new Cr);return}n[a]=void 0,n.forEach(d=>{d!==void 0&&d.abort()}),je("dial to %a succeeded",s),l.resolve(f)}catch(f){je.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 v("successful dial led to empty object returned from peer dial queue",N.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 _R(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var xt=W("libp2p:connection-manager"),IR=50,Ln={minConnections:50,maxConnections:300,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0,autoDialMaxQueueLength:100},$a=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;constructor(e,r={}){this.maxConnections=r.maxConnections??Ln.maxConnections;let n=r.minConnections??Ln.minConnections;if(this.maxConnections<n)throw new v("Connection Manager maxConnections must be greater than minConnections",N.ERR_INVALID_PARAMETERS);this.connections=new Nt,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=>Ue(i)),this.deny=(r.deny??[]).map(i=>Ue(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??Ln.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new G1.RateLimiterMemory({points:r.inboundConnectionThreshold??Ln.inboundConnectionThreshold,duration:1}),this.autoDial=new Va({connectionManager:this,peerStore:e.peerStore,events:e.events},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??Ln.autoDialConcurrency,autoDialPriority:r.autoDialPriority??Ln.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??Ln.autoDialMaxQueueLength}),this.connectionPruner=new qa({connectionManager:this,peerStore:e.peerStore,events:e.events},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new za({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater},{addressSorter:r.addressSorter??Di,maxParallelDials:r.maxParallelDials??100,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:Ni}})}isStarted(){return this.started}async start(){this.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let e={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.stat.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.stat.direction} ${i.stat.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.stat.direction} ${s.stat.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,xt("started")}async afterStart(){Promise.resolve().then(async()=>{let e=await this.peerStore.all({filters:[r=>r.tags.has(Yg)]});await Promise.all(e.map(async r=>{await this.openConnection(r.id).catch(n=>{xt.error(n)})}))}).catch(e=>{xt.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){xt.error(i)}})());xt("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),xt("stopped")}onConnect(e){this._onConnect(e).catch(r=>{xt.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 v("Not started",N.ERR_NODE_NOT_STARTED);let{peerId:n}=Fa(e);if(n!=null){xt("dial %p",n);let a=this.getConnections(n);if(a.length>0)return xt("had an existing connection to %p",n),a[0]}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??IR}),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){let r=this.connections.get(e)??[];await Promise.all(r.map(async n=>{await n.close()}))}async acceptIncomingConnection(e){if(this.deny.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return xt("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 xt("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 xt("connection from %a refused - inboundConnectionThreshold exceeded by host %s",e.remoteAddr,i),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(xt("connection from %a refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var Ha=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}},Vi=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Ha(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 Ha(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 ch=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Pn(t={}){return RR(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 RR(t,e){e=e??{};let r=e.onEnd,n=new Vi,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(E){g(E)}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 Vi,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})},d=y=>s?i:(s=!0,y!=null?l(y):u({done:!0})),p=()=>(n=new Vi,d(),{done:!0}),h=y=>(d(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:p,throw:h,push:f,end:d,get readableLength(){return n.size},onEmpty:async y=>{let g=y?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let x,E;g!=null&&(x=new Promise((T,I)=>{E=()=>{I(new ch)},g.addEventListener("abort",E)}));try{await Promise.race([a.promise,x])}finally{E!=null&&g!=null&&g?.removeEventListener("abort",E)}}},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 CR(t){return t[Symbol.asyncIterator]!=null}function TR(...t){let e=[];for(let r of t)CR(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Pn({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 Jr=TR;function Dn(t,...e){if(t==null)throw new Error("Empty pipeline");if(uh(t)){let n=t;t=()=>n.source}else if(W1(t)||Y1(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&uh(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++)uh(r[n])&&(r[n]=LR(r[n]));return BR(...r)}var BR=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},Y1=t=>t?.[Symbol.asyncIterator]!=null,W1=t=>t?.[Symbol.iterator]!=null,uh=t=>t==null?!1:t.sink!=null&&t.source!=null,LR=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Pn({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=t.source;if(Y1(o))i=async function*(){yield*o,n.end()};else if(W1(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Jr(n,i())}return t.source};function PR(t){return t[Symbol.asyncIterator]!=null}function DR(t,e){if(PR(t))return async function*(){for await(let a of t)yield e(a)}();let r=Ba(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 Q1=DR;async function*Qo(t,e){yield*Q1(t,async r=>(await e.merge(r.id,{multiaddrs:r.multiaddrs}),r))}function Ga(t){let e=new Set;return Ft(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*Ya(t,e=1){let r=0;for await(let n of t)r++,yield n;if(r<e)throw new v(`more peers required, seen: ${r} min: ${e}`,"NOT_FOUND")}var Wa=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 v("No content routers available",N.ERR_NO_ROUTERS_AVAILABLE);yield*Dn(Jr(...this.routers.map(n=>n.findProviders(e,r))),n=>Qo(n,this.components.peerStore),n=>Ga(n),n=>Ya(n))}async provide(e,r={}){if(this.routers.length===0)throw new v("No content routers available",N.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 v(or.NOT_STARTED_YET,N.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 v(or.NOT_STARTED_YET,N.DHT_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};function NR(t){return t[Symbol.asyncIterator]!=null}function kR(t){if(NR(t))return(async()=>{for await(let e of t)return e})();for(let e of t)return e}var Qa=kR;var OR=W("libp2p:peer-routing"),Xa=class{components;routers;constructor(e,r){this.components=e,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new v("No peer routers available",N.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.components.peerId.toString())throw new v("Should not try to find self",N.ERR_FIND_SELF);let n=await Dn(Jr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(o){OR.error(o)}}())),i=>Ft(i,Boolean),i=>Qo(i,this.components.peerStore),async i=>Qa(i));if(n!=null)return n;throw new v(or.NOT_FOUND,N.ERR_NOT_FOUND)}async*getClosestPeers(e,r){if(this.routers.length===0)throw new v("No peer routers available",N.ERR_NO_ROUTERS_AVAILABLE);yield*Dn(Jr(...this.routers.map(n=>n.getClosestPeers(e,r))),n=>Qo(n,this.components.peerStore),n=>Ga(n),n=>Ya(n))}};var lh=W("libp2p:registrar"),fh=32,hh=64,Za=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 v(`No handler registered for protocol ${e}`,N.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 v(`Handler already registered for protocol ${e}`,N.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=qr.bind({ignoreUndefined:!0})({maxInboundStreams:fh,maxOutboundStreams:hh},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 v("invalid topology",N.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!==N.ERR_NOT_FOUND&&lh.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){lh("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!==N.ERR_NOT_FOUND&&lh.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 dh=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 X1(t){let{name:e,metrics:r}=t,n;return r!=null?n=new dh({name:e,metrics:r}):n=new Map,n}var Nn=W("libp2p:transports"),ja=class{components;transports;listeners;faultTolerance;started;constructor(e,r={}){this.components=e,this.started=!1,this.transports=new Map,this.listeners=X1({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??Xr.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new v("Transport must have a valid tag",N.ERR_INVALID_KEY);if(this.transports.has(r))throw new v(`There is already a transport with the tag ${r}`,N.ERR_DUPLICATE_TRANSPORT);Nn("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(Nn("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),Nn("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 v(`No transport available for address ${String(e)}`,N.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=N.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(e==null||e.length===0){Nn("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){Nn("creating listener for %s on %a",n,u);let l=i.createListener({upgrader:this.components.upgrader}),f=this.listeners.get(n)??[];f==null&&(f=[],this.listeners.set(n,f)),f.push(l),l.addEventListener("listening",()=>{this.components.events.safeDispatchEvent("transport:listening",{detail:l})}),l.addEventListener("close",()=>{let d=f.findIndex(p=>p===l);f.splice(d,1),this.components.events.safeDispatchEvent("transport:close",{detail:l})}),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!==Xr.NO_FATAL)throw new v(`Transport (${n}) could not listen on any available address`,N.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===Xr.FATAL_ALL)throw new v(n,N.ERR_NO_VALID_ADDRESSES);Nn(`libp2p in dial mode only: ${n}`)}}async remove(e){Nn("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 xh=z(Hi(),1);var _r="/multistream/1.0.0";function ph(t){let e=async function*(){let r=yield,n=new Te;for await(let i of t){if(r==null){n.append(i),r=yield n,n=new Te;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 Te);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 Ja(t){let e=Pn(),r=ph(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 Xo=class extends Error{constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Z1(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 ec(t,e,r){let n=r??{},i=Z1(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 Xo(l,f)}let u=new Promise((l,f)=>{s=()=>{let{abortMessage:d,abortCode:p}=n;f(new Xo(d,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(d=>{n.onReturnError!=null&&n.onReturnError(d)})}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 MR(t,e,r){return n=>t(ec(n,e,r))}function j1(t,e,r){return{sink:MR(t.sink,e,{...r,onAbort:void 0}),source:ec(t.source,e,r)}}function tc(t){return t[Symbol.asyncIterator]!=null}var rc=t=>{let e=Ot.encodingLength(t),r=Ct(e);return Ot.encode(t,r),rc.bytes=e,r};rc.bytes=0;function nc(t,e){e=e??{};let r=e.lengthEncoder??rc;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return tc(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}nc.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??rc;return new Te(r(t.byteLength),t)};var qi=z(Cf(),1);var UR=8,FR=1024*1024*4,kn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(kn||(kn={}));var mh=t=>{let e=Ot.decode(t);return mh.bytes=Ot.encodingLength(e),e};mh.bytes=0;function Zo(t,e){let r=new Te,n=kn.LENGTH,i=-1,o=e?.lengthDecoder??mh,s=e?.maxLengthLength??UR,a=e?.maxDataLength??FR;function*c(){for(;r.byteLength>0;){if(n===kn.LENGTH)try{if(i=o(r),i<0)throw(0,qi.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,qi.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=kn.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,qi.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===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 tc(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,qi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,qi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Zo.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 Zo(n,{...e??{},onLength:o=>{r=o}})};var qR=W("libp2p:mss"),J1=V(`
|
|
49
|
-
`);function jo(t){let e=new Te(t,J1);return nc.single(e)}function On(t,e,r={}){let n=jo(e);r.writeBytes===!0?t.push(n.subarray()):t.push(n)}function ex(t,e,r={}){let n=new Te;for(let i of e)n.append(jo(i));r.writeBytes===!0?t.push(n.subarray()):t.push(n)}async function zR(t,e){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>t.next(r)},i=n;e?.signal!=null&&(i=ec(n,e.signal));let o=a=>{r=a},s=await Dn(i,a=>Zo(a,{onLength:o,maxDataLength:1024}),async a=>Qa(a));if(s==null||s.length===0)throw new v("no buffer returned","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(s.get(s.byteLength-1)!==J1[0])throw qR.error("Invalid mss message - missing newline - %s",s.subarray()),new v("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return s.sublist(0,-1)}async function zi(t,e){let r=await zR(t,e);return G(r.subarray())}var Jo=W("libp2p:mss:select");async function es(t,e,r={}){e=Array.isArray(e)?[...e]:[e];let{reader:n,writer:i,rest:o,stream:s}=Ja(t),a=e.shift();if(a==null)throw new Error("At least one protocol must be specified");Jo.trace('select: write ["%s", "%s"]',_r,a);let c=V(_r),u=V(a);ex(i,[c,u],r);let l=await zi(n,r);if(Jo.trace('select: read "%s"',l),l===_r&&(l=await zi(n,r),Jo.trace('select: read "%s"',l)),l===a)return o(),{stream:s,protocol:a};for(let f of e){Jo.trace('select: write "%s"',f),On(i,V(f),r);let d=await zi(n,r);if(Jo.trace('select: read "%s" for "%s"',d,f),d===f)return o(),{stream:s,protocol:f}}throw o(),new v("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}var ts=W("libp2p:mss:handle");async function rs(t,e,r){e=Array.isArray(e)?e:[e];let{writer:n,reader:i,rest:o,stream:s}=Ja(t);for(;;){let a=await zi(i,r);if(ts.trace('read "%s"',a),a===_r){ts.trace('respond with "%s" for "%s"',_r,a),On(n,V(_r),r);continue}if(e.includes(a))return On(n,V(a),r),ts.trace('respond with "%s" for "%s"',a,a),o(),{stream:s,protocol:a};if(a==="ls"){On(n,new Te(...e.map(c=>jo(V(c)))),r),ts.trace('respond with "%s" for %s',e,a);continue}On(n,V("na"),r),ts('respond with "na" for "%s"',a)}}var rx=Symbol.for("@libp2p/connection");var nx="OPEN",yh="CLOSING",ic="CLOSED";var HR=W("libp2p:connection"),gh=class{id;remoteAddr;remotePeer;stat;tags;_newStream;_close;_getStreams;_closing;constructor(e){let{remoteAddr:r,remotePeer:n,newStream:i,close:o,getStreams:s,stat:a}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.stat={...a,status:nx},this._newStream=i,this._close=o,this._getStreams=s,this.tags=[],this._closing=!1}[Symbol.toStringTag]="Connection";[rx]=!0;get streams(){return this._getStreams()}async newStream(e,r){if(this.stat.status===yh)throw new v("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===ic)throw new v("the connection is closed","ERR_CONNECTION_CLOSED");Array.isArray(e)||(e=[e]);let n=await this._newStream(e,r);return n.stat.direction="outbound",n}addStream(e){e.stat.direction="inbound"}removeStream(e){}async close(){if(!(this.stat.status===ic||this._closing)){this.stat.status=yh;try{this.streams.forEach(e=>{e.close()})}catch(e){HR.error(e)}this._closing=!0,await this._close(),this._closing=!1,this.stat.timeline.close=Date.now(),this.stat.status=ic}}};function ix(t){return new gh(t)}var ve=W("libp2p:upgrader");function YR(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==N.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return fh}function WR(t,e,r={}){try{let{options:n}=e.getHandler(t);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==N.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return r.maxOutboundStreams??hh}function ox(t,e,r){let n=0;return r.streams.forEach(i=>{i.stat.direction===e&&i.stat.protocol===t&&n++}),n}var oc=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 v(`The multiaddr connection is blocked by gater.${n}`,N.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new v("connection denied",N.ERR_CONNECTION_DENIED);let i,o,s,a,c,u=Ki([AbortSignal.timeout(this.inboundUpgradeTimeout)]);try{(0,xh.setMaxListeners)?.(1/0,u)}catch{}try{let l=j1(e,u);if(e.source=l.source,e.sink=l.sink,await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new v("The multiaddr connection is blocked by gater.acceptConnection",N.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),ve("starting the inbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let d=this.components.connectionProtector;d!=null&&(ve("protecting the inbound connection"),f=await d.protect(e))}try{if(i=f,r?.skipEncryption!==!0){({conn:i,remotePeer:o,protocol:c}=await this._encryptInbound(f));let d={...f,...i};await this.shouldBlockConnection(o,d,"denyInboundEncryptedConnection")}else{let d=e.remoteAddr.getPeerId();if(d==null)throw new v("inbound connection that skipped encryption must have a peer id",N.ERR_INVALID_MULTIADDR);let p=oe(d);c="native",o=p}if(s=i,r?.muxerFactory!=null)a=r.muxerFactory;else if(this.muxers.size>0){let d=await this._multiplexInbound({...f,...i},this.muxers);a=d.muxerFactory,s=d.stream}}catch(d){throw ve.error("Failed to upgrade inbound connection",d),d}return await this.shouldBlockConnection(o,e,"denyInboundUpgradedConnection"),ve("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:s,muxerFactory:a,remotePeer:o})}finally{this.components.connectionManager.afterUpgradeInbound(),u.clear()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=oe(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let o,s,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),ve("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 v("Encryption was skipped but no peer id was passed",N.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 ve.error("Failed to upgrade outbound connection",f),await e.close(f),f}return await this.shouldBlockConnection(s,e,"denyOutboundUpgradedConnection"),ve("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:s})}_createConnection(e){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:o,remotePeer:s,muxerFactory:a}=e,c,u,l;a!=null&&(c=a.createStreamMuxer({direction:n,onIncomingStream:p=>{l!=null&&Promise.resolve().then(async()=>{let h=this.components.registrar.getProtocols(),{stream:m,protocol:y}=await rs(p,h);if(ve("%s: incoming stream opened on %s",n,y),l==null)return;let g=YR(y,this.components.registrar);if(ox(y,"inbound",l)===g){let E=new v(`Too many inbound protocol streams for protocol "${y}" - limit ${g}`,N.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw p.abort(E),E}p.source=m.source,p.sink=m.sink,p.stat.protocol=y,await this.components.peerStore.merge(s,{protocols:[y]}),l.addStream(p),this.components.metrics?.trackProtocolStream(p,l),this._onStream({connection:l,stream:p,protocol:y})}).catch(h=>{ve.error(h),p.stat.timeline.close==null&&p.close()})},onStreamEnd:p=>{l?.removeStream(p.id)}}),u=async(p,h={})=>{if(c==null)throw new v("Stream is not multiplexed",N.ERR_MUXER_UNAVAILABLE);ve("%s: starting new stream on %s",n,p);let m=await c.newStream();try{if(h.signal==null){ve("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",p),h.signal=AbortSignal.timeout(3e4);try{(0,xh.setMaxListeners)?.(1/0,h.signal)}catch{}}let{stream:y,protocol:g}=await es(m,p,h),x=WR(g,this.components.registrar,h);if(ox(g,"outbound",l)>=x){let T=new v(`Too many outbound protocol streams for protocol "${g}" - limit ${x}`,N.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(T),T}return await this.components.peerStore.merge(s,{protocols:[g]}),m.source=y.source,m.sink=y.sink,m.stat.protocol=g,this.components.metrics?.trackProtocolStream(m,l),m}catch(y){throw ve.error("could not create new stream",y),m.stat.timeline.close==null&&m.close(),y.code!=null?y:new v(String(y),N.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([c.sink(o.source),o.sink(c.source)]).catch(p=>{ve.error(p)}));let f=i.timeline;i.timeline=new Proxy(f,{set:(...p)=>(l!=null&&p[1]==="close"&&p[2]!=null&&f.close==null&&(async()=>{try{l.stat.status==="OPEN"&&await l.close()}catch(h){ve.error(h)}finally{this.events.safeDispatchEvent("connection:close",{detail:l})}})().catch(h=>{ve.error(h)}),Reflect.set(...p))}),i.timeline.upgraded=Date.now();let d=()=>{throw new v("connection is not multiplexed",N.ERR_CONNECTION_NOT_MULTIPLEXED)};return l=ix({remoteAddr:i.remoteAddr,remotePeer:s,stat:{status:"OPEN",direction:n,timeline:i.timeline,multiplexer:c?.protocol,encryption:r},newStream:u??d,getStreams:()=>c!=null?c.streams:d(),close:async()=>{await i.close(),c?.close()}}),this.events.safeDispatchEvent("connection:open",{detail:l}),l}_onStream(e){let{connection:r,stream:n,protocol:i}=e,{handler:o}=this.components.registrar.getHandler(i);o({connection:r,stream:n})}async _encryptInbound(e){let r=Array.from(this.connectionEncryption.keys());ve("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await rs(e,r,{writeBytes:!0}),o=this.connectionEncryption.get(i);if(o==null)throw new Error(`no crypto module found for ${i}`);return ve("encrypting inbound connection..."),{...await o.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw new v(String(n),N.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());ve("selecting outbound crypto protocol",n);try{let{stream:i,protocol:o}=await es(e,n,{writeBytes:!0}),s=this.connectionEncryption.get(o);if(s==null)throw new Error(`no crypto module found for ${o}`);return ve("encrypting outbound connection to %p",r),{...await s.secureOutbound(this.components.peerId,i,r),protocol:o}}catch(i){throw new v(String(i),N.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());ve("outbound selecting muxer %s",n);try{let{stream:i,protocol:o}=await es(e,n,{writeBytes:!0});ve("%s selected as muxer protocol",o);let s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw ve.error("error multiplexing outbound stream",i),new v(String(i),N.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());ve("inbound handling muxers %s",n);try{let{stream:i,protocol:o}=await rs(e,n,{writeBytes:!0}),s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw ve.error("error multiplexing inbound stream",i),new v(String(i),N.ERR_MUXER_UNAVAILABLE)}}};var ct=W("libp2p"),wh=class extends So{peerId;peerStore;contentRouting;peerRouting;keychain;metrics;services;components;#e;constructor(e){super();let r=new So,n=r.dispatchEvent.bind(r);r.dispatchEvent=c=>{let u=n(c),l=this.dispatchEvent(new nl(c.type,{detail:c.detail}));return u||l};try{(0,sx.setMaxListeners)?.(1/0,r)}catch{}this.#e=!1,this.peerId=e.peerId,this.services={};let i=this.components=Rg({peerId:e.peerId,events:r,datastore:e.datastore??new Pa,connectionGater:Mg(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=>{c.detail.previous==null&&this.safeDispatchEvent("peer:discovery",{detail:c.detail.peer})}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new oc(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 ja(this.components,e.transportManager)),this.configureComponent("connectionManager",new $a(this.components,e.connectionManager)),this.configureComponent("registrar",new Za(this.components)),this.configureComponent("addressManager",new Da(this.components,e.addresses));let o=An.generateOptions();this.keychain=this.configureComponent("keyChain",new An(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 Xa(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 Wa(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){ct.error("service factory %s returned null or undefined instance",c);continue}this.services[c]=l,this.configureComponent(c,l),l[tl]!=null&&(ct("registering service %s for content routing",c),a.push(l[tl])),l[ol]!=null&&(ct("registering service %s for peer routing",c),s.push(l[ol])),l[il]!=null&&(ct("registering service %s for peer discovery",c),l[il].addEventListener("peer",f=>{this.#t(f)}))}}configureComponent(e,r){return r==null&&ct.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(this.#e)return;this.#e=!0,ct("libp2p is starting"),(await this.keychain.listKeys()).find(r=>r.name==="self")==null&&(ct("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}),ct("libp2p has started")}catch(r){throw ct.error("An error occurred starting libp2p",r),await this.stop(),r}}async stop(){this.#e&&(ct("libp2p is stopping"),this.#e=!1,await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.safeDispatchEvent("stop",{detail:this}),ct("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 kt;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 v("no protocols were provided to open a stream",N.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new v("no protocols were provided to open a stream",N.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){Rn(e)&&(e=oe(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e)}async getPublicKey(e,r={}){if(ct("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=Pe([V("/pk/"),e.multihash.digest]),o=await this.contentRouting.get(i,r);return Eo(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()){ct.error(new Error(N.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs,protocols:r.protocols}).catch(n=>{ct.error(n)})}};async function ax(t){if(t.peerId==null){let e=t.datastore;if(e!=null)try{let r=new An({datastore:e},qr(An.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 ty()),new wh(Gg(t))}async function QR(t){let e=await ax(t);return t.start!==!1&&await e.start(),e}return px(XR);})();
|
|
48
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),J_=new RegExp(`(?:^${Lt}$)|(?:^${aa}$)`),j_=new RegExp(`^${Lt}$`),eA=new RegExp(`^${aa}$`),Ul=t=>t&&t.exact?J_:new RegExp(`(?:${Dr(t)}${Lt}${Dr(t)})|(?:${Dr(t)}${aa}${Dr(t)})`,"g");Ul.v4=t=>t&&t.exact?j_:new RegExp(`${Dr(t)}${Lt}${Dr(t)}`,"g");Ul.v6=t=>t&&t.exact?eA:new RegExp(`${Dr(t)}${aa}${Dr(t)}`,"g");var xy=Ul;var _y=z(vy(),1),{isValid:tA,parse:rA}=_y.default,nA=["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"],iA=nA.map(t=>new by.Netmask(t));function oA(t){for(let e of iA)if(e.contains(t))return!0;return!1}function Ey(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 Ay=t=>{if(tA(t)){let e=rA(t);if(e.kind()==="ipv4")return oA(e.toNormalizedString());if(e.kind()==="ipv6")return Ey(t)}else if(li(t)&&xy.v6().test(t))return Ey(t)};var ua=Ay;function Sy(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!ua(`${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 GP=Symbol.for("@libp2p/transport");var Nr;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Nr||(Nr={}));function Fl(t){try{let{address:e}=t.nodeAddress();return!!ua(e)}catch{return!0}}function yi(t,e){let r=Fl(t.multiaddr),n=Fl(e.multiaddr);return r&&!n?1:!r&&n||t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}var Vl=z(Nu(),1),ql=z(Cy(),1);var Ty=globalThis.fetch,By=globalThis.Headers,jP=globalThis.Request,eL=globalThis.Response;function la(t,e,r){return`${t}?name=${e}&type=${r}`}async function Py(t,e){return await(await Ty(t,{headers:new By({accept:"application/dns-json"}),signal:e})).json()}function gn(t,e){return`${e}_${t}`}var Kl=Object.assign((0,Vl.default)("dns-over-http-resolver"),{error:(0,Vl.default)("dns-over-http-resolver:error")}),zl=class{constructor(e={}){this._cache=new ql.default({max:e?.maxCache??100}),this._TXTcache=new ql.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??Py,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(gn(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(la(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(gn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Kl.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(gn(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(la(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(gn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Kl.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(gn(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(la(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(gn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Kl.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()}},Ly=zl;var Dy=Ly;var{code:lA}=se("dnsaddr");async function gi(t,e={}){let r=new Dy;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===lA)??[];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 Qt;(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"})(Qt||(Qt={}));var N;(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"})(N||(N={}));var fA={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:gi},addressSorter:yi},transportManager:{faultTolerance:Nr.FATAL_ALL}};function Ny(t){let e=Rr(fA,t);if(e.transports==null||e.transports.length<1)throw new E(Qt.ERR_TRANSPORTS_REQUIRED,N.ERR_TRANSPORTS_REQUIRED);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new E(Qt.ERR_PROTECTOR_REQUIRED,N.ERR_PROTECTOR_REQUIRED);return e}var ky="keep-alive";var Ng=z(Bg(),1);var YA=Y("libp2p:get-peer");function ha(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:te(r),t.forEach(n=>{if(!dn(n))throw YA.error("multiaddr %s was invalid",n),new E("Invalid Multiaddr",N.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new E("Multiaddrs must all have the same peer id or have no peer id",N.ERR_INVALID_PARAMETERS)}else{let o=te(i);if(e==null||!e.equals(o))throw new E("Multiaddrs must all have the same peer id or have no peer id",N.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function WA(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var of=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new E("missing peer id",N.ERR_INVALID_PARAMETERS);let o={priority:i,peerId:n,run:e};if(this.size>0&&this.#e[this.size-1].priority>=i){this.#e.push(o);return}let s=WA(this.#e,o,(a,c)=>c.priority-a.priority);this.#e.splice(s,0,o)}dequeue(){return this.#e.shift()?.run}filter(e){if(e.peerId!=null){let r=e.peerId;return this.#e.filter(n=>r.equals(n.peerId)).map(n=>n.run)}return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}},da=class extends Bt{constructor(e={}){super({...e,queueClass:of})}hasJob(e){return this.sizeBy({peerId:e})>0}};var $e=Y("libp2p:connection-manager:auto-dial"),So={minConnections:50,maxQueueLength:100,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3},pa=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialInterval;started;running;constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??So.minConnections,this.autoDialPriority=r.autoDialPriority??So.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??So.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??So.maxQueueLength,this.started=!1,this.running=!1,this.queue=new da({concurrency:r.autoDialConcurrency??So.autoDialConcurrency}),this.queue.addListener("error",n=>{$e.error("error during auto-dial",n)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(n=>{$e.error(n)})})}isStarted(){return this.started}start(){this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(e=>{$e.error("error while autodialing",e)})},this.autoDialIntervalMs),this.started=!0}afterStart(){this.autoDial().catch(e=>{$e.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&&$e.trace("have enough connections %d/%d",r,this.minConnections);return}if(this.queue.size>this.autoDialMaxQueueLength){$e("not enough connections %d/%d but auto dial queue is full",r,this.minConnections);return}if(this.running){$e("not enough connections %d/%d - but skipping autodial as it is already running",r,this.minConnections);return}this.running=!0,$e("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=new hn(this.connectionManager.getDialQueue().map(c=>c.peerId).filter(Boolean)),i=await this.peerStore.all({filters:[c=>c.addresses.length===0?($e.trace("not autodialing %p because they have no addresses"),!1):e.has(c.id)?($e.trace("not autodialing %p because they are already connected"),!1):n.has(c.id)?($e.trace("not autodialing %p because they are already being dialed"),!1):this.queue.hasJob(c.id)?($e.trace("not autodialing %p because they are already being autodialed"),!1):!0]}),o=i.sort(()=>Math.random()>.5?1:-1),s=new Rt;for(let c of o)s.has(c.id)||s.set(c.id,[...c.tags.values()].reduce((u,l)=>u+l.value,0));let a=o.sort((c,u)=>{let l=s.get(c.id)??0,f=s.get(u.id)??0;return l>f?-1:l<f?1:0});$e("selected %d/%d peers to dial",a.length,i.length);for(let c of a)this.queue.add(async()=>{let u=this.connectionManager.getConnectionsMap().size;if(u>=this.minConnections){$e("got enough connections now %d/%d",u,this.minConnections),this.queue.clear();return}$e("connecting to a peerStore stored peer %p",c.id),await this.connectionManager.openConnection(c.id,{priority:this.autoDialPriority})},{peerId:c.id}).catch(u=>{$e.error("could not connect to peerStore stored peer",u)});this.running=!1,this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(c=>{$e.error("error while autodialing",c)})},this.autoDialIntervalMs))}};var bi=Y("libp2p:connection-manager:connection-pruner"),Pg={maxConnections:300,allow:[]},ma=class{maxConnections;connectionManager;peerStore;allow;events;constructor(e,r={}){this.maxConnections=r.maxConnections??Pg.maxConnections,this.allow=r.allow??Pg.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{bi.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(bi("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;bi("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new Rt;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"&&bi.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(bi("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){bi.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:s})}};var df=z(In(),1);function _i(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 Or(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var ff=z(In(),1);var Lg=Y("libp2p:connection-manager:utils");async function hf(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await XA(t,e),s=(await Promise.all(n.map(async a=>hf(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return Lg("resolved %s to",t,s.map(a=>a.toString())),s}async function XA(t,e){try{return t=Le(t.toString()),await t.resolve(e)}catch(r){return Lg.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function Dg(...t){let e=[];for(let n of t)if(n!=null){try{(0,ff.setMaxListeners)?.(1/0,n)}catch{}e.push(n)}let r=_i(e);try{(0,ff.setMaxListeners)?.(1/0,r)}catch{}return r}var Ge=Y("libp2p:connection-manager:dial-queue"),Io={addressSorter:yi,maxParallelDials:100,maxPeerAddrsToDial:25,maxParallelDialsPerPeer:10,dialTimeout:3e4,resolvers:{dnsaddr:gi}},ya=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,df.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??{}))hl.set(n,i);this.queue=new Bt({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=>{Ge.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}=ha(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 Ge("joining existing dial target for %p",n),s.clear(),c.promise;Ge("creating dial target for",a.map(({multiaddr:l})=>l.toString()));let u={id:JA(),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(l=>{throw Ge.error("dial failed to %s",u.multiaddrs.map(f=>f.toString()).join(", "),l),s.aborted?new E(l.message,N.ERR_TIMEOUT):l}),this.pendingDials.push(u),u.promise}createDialAbortControllers(e){let r=_i([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);try{(0,df.setMaxListeners)?.(1/0,r)}catch{}return r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new E("Tried to dial self",N.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new E("The dial request is blocked by gater.allowDialPeer",N.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){Ge("loading multiaddrs for %p",e);try{let l=await this.peerStore.get(e);r.push(...l.addresses),Ge("loaded multiaddrs for %p",e,r.map(({multiaddr:f})=>f.toString()))}catch(l){if(l.code!==N.ERR_NOT_FOUND)throw l}}}let i=(await Promise.all(r.map(async l=>{let f=await hf(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=>!!this.transportManager.transportForMultiaddr(l.multiaddr)),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)&&(Ge("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:l})=>l.toString())),Ge("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:l})=>l.toString()))),a.length===0)throw new E("The dial request has no valid addresses",N.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new E("dial with more addresses than allowed",N.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 E("The connection gater denied all addresses in the dial request",N.ERR_NO_VALID_ADDRESSES);return u}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new Bt({concurrency:this.maxParallelDialsPerPeer});i.on("error",s=>{Ge.error("error dialling",s)});let o=await Promise.any(e.multiaddrs.map(async(s,a)=>{let c=n[a];if(c==null)throw new E("dialAction did not come with an AbortController",N.ERR_INVALID_PARAMETERS);let u=Dg(c.signal,r.signal);u.addEventListener("abort",()=>{Ge("dial to %a aborted",s)});let l=Or();return await i.add(async()=>{if(u.aborted){Ge("dial to %a was aborted before reaching the head of the peer dial queue",s),l.reject(new Pn);return}await this.queue.add(async()=>{try{if(u.aborted){Ge("dial to %a was aborted before reaching the head of the dial queue",s),l.reject(new Pn);return}e.status="active";let f=await this.transportManager.dial(s,{...r,signal:u});if(c.signal.aborted){Ge("multiple dials succeeded, closing superfluous connection"),f.close().catch(h=>{Ge.error("error closing superfluous connection",h)}),l.reject(new Pn);return}n[a]=void 0,n.forEach(h=>{h!==void 0&&h.abort()}),Ge("dial to %a succeeded",s),l.resolve(f)}catch(f){Ge.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 E("successful dial led to empty object returned from peer dial queue",N.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 JA(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var ft=Y("libp2p:connection-manager"),tS=50,xn={minConnections:50,maxConnections:300,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0,autoDialMaxQueueLength:100},ga=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;constructor(e,r={}){this.maxConnections=r.maxConnections??xn.maxConnections;let n=r.minConnections??xn.minConnections;if(this.maxConnections<n)throw new E("Connection Manager maxConnections must be greater than minConnections",N.ERR_INVALID_PARAMETERS);this.connections=new Rt,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=>Le(i)),this.deny=(r.deny??[]).map(i=>Le(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??xn.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new Ng.RateLimiterMemory({points:r.inboundConnectionThreshold??xn.inboundConnectionThreshold,duration:1}),this.autoDial=new pa({connectionManager:this,peerStore:e.peerStore,events:e.events},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??xn.autoDialConcurrency,autoDialPriority:r.autoDialPriority??xn.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??xn.autoDialMaxQueueLength}),this.connectionPruner=new ma({connectionManager:this,peerStore:e.peerStore,events:e.events},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new ya({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater},{addressSorter:r.addressSorter??yi,maxParallelDials:r.maxParallelDials??100,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:gi}})}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,ft("started")}async afterStart(){Promise.resolve().then(async()=>{let e=await this.peerStore.all({filters:[r=>r.tags.has(ky)]});await Promise.all(e.map(async r=>{await this.openConnection(r.id).catch(n=>{ft.error(n)})}))}).catch(e=>{ft.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){ft.error(i)}})());ft("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),ft("stopped")}onConnect(e){this._onConnect(e).catch(r=>{ft.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 E("Not started",N.ERR_NODE_NOT_STARTED);r.signal?.throwIfAborted();let{peerId:n}=ha(e);if(n!=null){ft("dial %p",n);let a=this.getConnections(n);if(a.length>0)return ft("had an existing connection to %p",n),a[0]}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??tS}),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 ft("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 ft("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 ft("connection from %a refused - inboundConnectionThreshold exceeded by host %s",e.remoteAddr,i),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(ft("connection from %a refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var xa=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}},Ai=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new xa(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 xa(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 gf=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function wn(t={}){return rS(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 rS(t,e){e=e??{};let r=e.onEnd,n=new Ai,i,o,s,a=Or(),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(b){g(b)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Or()})}},u=y=>o!=null?o(y):(n.push(y),i),l=y=>(n=new Ai,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 Ai,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,b;g!=null&&(x=new Promise((T,R)=>{b=()=>{R(new gf)},g.addEventListener("abort",b)}));try{await Promise.race([a.promise,x])}finally{b!=null&&g!=null&&g?.removeEventListener("abort",b)}}},r==null)return i;let m=i;return i={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(y){return m.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return m.return(),r!=null&&(r(),r=void 0),{done:!0}},push:f,end(y){return m.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return m.readableLength}},i}function nS(t){return t[Symbol.asyncIterator]!=null}function iS(...t){let e=[];for(let r of t)nS(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=wn({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 Mr=iS;function vn(t,...e){if(t==null)throw new Error("Empty pipeline");if(xf(t)){let n=t;t=()=>n.source}else if(Og(t)||kg(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&xf(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++)xf(r[n])&&(r[n]=sS(r[n]));return oS(...r)}var oS=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},kg=t=>t?.[Symbol.asyncIterator]!=null,Og=t=>t?.[Symbol.iterator]!=null,xf=t=>t==null?!1:t.sink!=null&&t.source!=null,sS=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=wn({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=t.source;if(kg(o))i=async function*(){yield*o,n.end()};else if(Og(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Mr(n,i())}return t.source};function aS(t){return t[Symbol.asyncIterator]!=null}function cS(t,e){if(aS(t))return async function*(){for await(let a of t)yield e(a)}();let r=na(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 Mg=cS;async function*Ro(t,e){yield*Mg(t,async r=>(await e.merge(r.id,{multiaddrs:r.multiaddrs}),r))}function wa(t){let e=new Set;return Pt(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*va(t,e=1){let r=0;for await(let n of t)r++,yield n;if(r<e)throw new E(`more peers required, seen: ${r} min: ${e}`,"NOT_FOUND")}var Ea=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 E("No content routers available",N.ERR_NO_ROUTERS_AVAILABLE);yield*vn(Mr(...this.routers.map(n=>n.findProviders(e,r))),n=>Ro(n,this.components.peerStore),n=>wa(n),n=>va(n))}async provide(e,r={}){if(this.routers.length===0)throw new E("No content routers available",N.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 E(Qt.NOT_STARTED_YET,N.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 E(Qt.NOT_STARTED_YET,N.DHT_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};function uS(t){return t[Symbol.asyncIterator]!=null}function lS(t){if(uS(t))return(async()=>{for await(let e of t)return e})();for(let e of t)return e}var ba=lS;var fS=Y("libp2p:peer-routing"),_a=class{components;routers;constructor(e,r){this.components=e,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new E("No peer routers available",N.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.components.peerId.toString())throw new E("Should not try to find self",N.ERR_FIND_SELF);let n=await vn(Mr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(o){fS.error(o)}}())),i=>Pt(i,Boolean),i=>Ro(i,this.components.peerStore),async i=>ba(i));if(n!=null)return n;throw new E(Qt.NOT_FOUND,N.ERR_NOT_FOUND)}async*getClosestPeers(e,r){if(this.routers.length===0)throw new E("No peer routers available",N.ERR_NO_ROUTERS_AVAILABLE);yield*vn(Mr(...this.routers.map(n=>n.getClosestPeers(e,r))),n=>Ro(n,this.components.peerStore),n=>wa(n),n=>va(n))}};var wf=Y("libp2p:registrar"),vf=32,Ef=64,Aa=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 E(`No handler registered for protocol ${e}`,N.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 E(`Handler already registered for protocol ${e}`,N.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=Rr.bind({ignoreUndefined:!0})({maxInboundStreams:vf,maxOutboundStreams:Ef},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 E("invalid topology",N.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!==N.ERR_NOT_FOUND&&wf.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){wf("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!==N.ERR_NOT_FOUND&&wf.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 bf=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 Ug(t){let{name:e,metrics:r}=t,n;return r!=null?n=new bf({name:e,metrics:r}):n=new Map,n}var En=Y("libp2p:transports"),Sa=class{components;transports;listeners;faultTolerance;started;constructor(e,r={}){this.components=e,this.started=!1,this.transports=new Map,this.listeners=Ug({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??Nr.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new E("Transport must have a valid tag",N.ERR_INVALID_KEY);if(this.transports.has(r))throw new E(`There is already a transport with the tag ${r}`,N.ERR_DUPLICATE_TRANSPORT);En("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(En("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),En("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 E(`No transport available for address ${String(e)}`,N.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=N.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 E("Not started",N.ERR_NODE_NOT_STARTED);if(e==null||e.length===0){En("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){En("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!==Nr.NO_FATAL)throw new E(`Transport (${n}) could not listen on any available address`,N.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===Nr.FATAL_ALL)throw new E(n,N.ERR_NO_VALID_ADDRESSES);En(`libp2p in dial mode only: ${n}`)}}async remove(e){En("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 If=z(In(),1);var ur="/multistream/1.0.0";function _f(t){let e=async function*(){let r=yield,n=new Ue;for await(let i of t){if(r==null){n.append(i),r=yield n,n=new Ue;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 Ue);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 Ia(t){let e=wn(),r=_f(t.source),n=Or(),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 Fg(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 Ra(t,e,r){let n=r??{},i=Fg(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 hS(t,e,r){return n=>t(Ra(n,e,r))}function Kg(t,e,r){return{sink:hS(t.sink,e,{...r,onAbort:void 0}),source:Ra(t.source,e,r)}}function Ca(t){return t[Symbol.asyncIterator]!=null}var Ta=t=>{let e=Ct.encodingLength(t),r=vt(e);return Ct.encode(t,r),Ta.bytes=e,r};Ta.bytes=0;function Ba(t,e){e=e??{};let r=e.lengthEncoder??Ta;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return Ca(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}Ba.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Ta;return new Ue(r(t.byteLength),t)};var Si=z(kl(),1);var dS=8,pS=1024*1024*4,bn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(bn||(bn={}));var Af=t=>{let e=Ct.decode(t);return Af.bytes=Ct.encodingLength(e),e};Af.bytes=0;function To(t,e){let r=new Ue,n=bn.LENGTH,i=-1,o=e?.lengthDecoder??Af,s=e?.maxLengthLength??dS,a=e?.maxDataLength??pS;function*c(){for(;r.byteLength>0;){if(n===bn.LENGTH)try{if(i=o(r),i<0)throw(0,Si.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Si.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=bn.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,Si.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===bn.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=bn.LENGTH}}}return Ca(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,Si.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,Si.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 gS=Y("libp2p:mss"),Vg=K(`
|
|
49
|
+
`);function Bo(t){let e=new Ue(t,Vg);return Ba.single(e)}function _n(t,e,r={}){let n=Bo(e);r.writeBytes===!0?t.push(n.subarray()):t.push(n)}function qg(t,e,r={}){let n=new Ue;for(let i of e)n.append(Bo(i));r.writeBytes===!0?t.push(n.subarray()):t.push(n)}async function xS(t,e){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>t.next(r)},i=n;e?.signal!=null&&(i=Ra(n,e.signal));let o=a=>{r=a},s=await vn(i,a=>To(a,{onLength:o,maxDataLength:1024}),async a=>ba(a));if(s==null||s.length===0)throw new E("no buffer returned","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(s.get(s.byteLength-1)!==Vg[0])throw gS.error("Invalid mss message - missing newline - %s",s.subarray()),new E("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return s.sublist(0,-1)}async function Ii(t,e){let r=await xS(t,e);return H(r.subarray())}var Po=Y("libp2p:mss:select");async function Lo(t,e,r={}){e=Array.isArray(e)?[...e]:[e];let{reader:n,writer:i,rest:o,stream:s}=Ia(t),a=e.shift();if(a==null)throw new Error("At least one protocol must be specified");Po.trace('select: write ["%s", "%s"]',ur,a);let c=K(ur),u=K(a);qg(i,[c,u],r);let l=await Ii(n,r);if(Po.trace('select: read "%s"',l),l===ur&&(l=await Ii(n,r),Po.trace('select: read "%s"',l)),l===a)return o(),{stream:s,protocol:a};for(let f of e){Po.trace('select: write "%s"',f),_n(i,K(f),r);let h=await Ii(n,r);if(Po.trace('select: read "%s" for "%s"',h,f),h===f)return o(),{stream:s,protocol:f}}throw o(),new E("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}var Do=Y("libp2p:mss:handle");async function No(t,e,r){e=Array.isArray(e)?e:[e];let{writer:n,reader:i,rest:o,stream:s}=Ia(t);for(;;){let a=await Ii(i,r);if(Do.trace('read "%s"',a),a===ur){Do.trace('respond with "%s" for "%s"',ur,a),_n(n,K(ur),r);continue}if(e.includes(a))return _n(n,K(a),r),Do.trace('respond with "%s" for "%s"',a,a),o(),{stream:s,protocol:a};if(a==="ls"){_n(n,new Ue(...e.map(c=>Bo(K(c)))),r),Do.trace('respond with "%s" for %s',e,a);continue}_n(n,K("na"),r),Do('respond with "na" for "%s"',a)}}var Hg=z(In(),1);var $g=Symbol.for("@libp2p/connection");var Pa=Y("libp2p:connection"),vS=500,Sf=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";[$g]=!0;get streams(){return this._getStreams()}async newStream(e,r){if(this.status==="closing")throw new E("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.status==="closed")throw new E("the connection is closed","ERR_CONNECTION_CLOSED");if(Array.isArray(e)||(e=[e]),this.transient&&r?.runOnTransientConnection!==!0)throw new E("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");let n=await this._newStream(e,r);return n.direction="outbound",n}addStream(e){e.direction="inbound"}removeStream(e){}async close(e={}){if(!(this.status==="closed"||this.status==="closing")){Pa("closing connection to %a",this.remoteAddr),this.status="closing",e.signal=e?.signal??AbortSignal.timeout(vS);try{(0,Hg.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){Pa.error("error encountered during graceful close of connection to %a",this.remoteAddr,r),this.abort(r)}}}abort(e){Pa.error("aborting connection to %a due to error",this.remoteAddr,e),this.status="closing",this.streams.forEach(r=>{r.abort(e)}),Pa.error("all streams aborted",this.streams.length),this._abort(e),this.timeline.close=Date.now(),this.status="closed"}};function Gg(t){return new Sf(t)}var ye=Y("libp2p:upgrader");function bS(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==N.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return vf}function _S(t,e,r={}){try{let{options:n}=e.getHandler(t);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==N.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return r.maxOutboundStreams??Ef}function Yg(t,e,r){let n=0;return r.streams.forEach(i=>{i.direction===e&&i.protocol===t&&n++}),n}var La=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 E(`The multiaddr connection is blocked by gater.${n}`,N.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new E("connection denied",N.ERR_CONNECTION_DENIED);let i,o,s,a,c,u=_i([AbortSignal.timeout(this.inboundUpgradeTimeout)]);try{(0,If.setMaxListeners)?.(1/0,u)}catch{}try{let l=Kg(e,u);if(e.source=l.source,e.sink=l.sink,await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new E("The multiaddr connection is blocked by gater.acceptConnection",N.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),ye("starting the inbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let h=this.components.connectionProtector;h!=null&&(ye("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 E("inbound connection that skipped encryption must have a peer id",N.ERR_INVALID_MULTIADDR);let p=te(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 ye.error("Failed to upgrade inbound connection",h),h}return await this.shouldBlockConnection(o,e,"denyInboundUpgradedConnection"),ye("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(),u.clear()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=te(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let o,s,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),ye("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 E("Encryption was skipped but no peer id was passed",N.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 ye.error("Failed to upgrade outbound connection",f),await e.close(f),f}return await this.shouldBlockConnection(s,e,"denyOutboundUpgradedConnection"),ye("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(ye("%s: incoming stream opened on %s",n,g),f==null)return;let x=bS(g,this.components.registrar);if(Yg(g,"inbound",f)===x){let T=new E(`Too many inbound protocol streams for protocol "${g}" - limit ${x}`,N.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw d.abort(T),T}d.source=y.source,d.sink=y.sink,d.protocol=g,await this.components.peerStore.merge(s,{protocols:[g]}),f.addStream(d),this.components.metrics?.trackProtocolStream(d,f),this._onStream({connection:f,stream:d,protocol:g})}).catch(async m=>{ye.error(m),d.timeline.close==null&&await d.close()})},onStreamEnd:d=>{f?.removeStream(d.id)}}),l=async(d,m={})=>{if(u==null)throw new E("Stream is not multiplexed",N.ERR_MUXER_UNAVAILABLE);ye("%s: starting new stream on %s",n,d);let y=await u.newStream();try{if(m.signal==null){ye("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",d),m.signal=AbortSignal.timeout(3e4);try{(0,If.setMaxListeners)?.(1/0,m.signal)}catch{}}let{stream:g,protocol:x}=await Lo(y,d,m),b=_S(x,this.components.registrar,m);if(Yg(x,"outbound",f)>=b){let R=new E(`Too many outbound protocol streams for protocol "${x}" - limit ${b}`,N.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw y.abort(R),R}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 ye.error("could not create new stream",g),y.timeline.close==null&&y.abort(g),g.code!=null?g:new E(String(g),N.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([u.sink(o.source),o.sink(u.source)]).catch(d=>{ye.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){ye.error(m)}finally{this.events.safeDispatchEvent("connection:close",{detail:f})}})().catch(m=>{ye.error(m)}),Reflect.set(...d))}),i.timeline.upgraded=Date.now();let p=()=>{throw new E("connection is not multiplexed",N.ERR_CONNECTION_NOT_MULTIPLEXED)};return f=Gg({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 E("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());ye("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 ye("encrypting inbound connection..."),{...await o.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw new E(String(n),N.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());ye("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 ye("encrypting outbound connection to %p",r),{...await s.secureOutbound(this.components.peerId,i,r),protocol:o}}catch(i){throw new E(String(i),N.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());ye("outbound selecting muxer %s",n);try{let{stream:i,protocol:o}=await Lo(e,n,{writeBytes:!0});ye("%s selected as muxer protocol",o);let s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw ye.error("error multiplexing outbound stream",i),new E(String(i),N.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());ye("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 ye.error("error multiplexing inbound stream",i),new E(String(i),N.ERR_MUXER_UNAVAILABLE)}}};var tt=Y("libp2p"),Rf=class extends io{peerId;peerStore;contentRouting;peerRouting;keychain;metrics;services;components;#e;constructor(e){super();let r=new io,n=r.dispatchEvent.bind(r);r.dispatchEvent=c=>{let u=n(c),l=this.dispatchEvent(new Bu(c.type,{detail:c.detail}));return u||l};try{(0,Wg.setMaxListeners)?.(1/0,r)}catch{}this.#e=!1,this.peerId=e.peerId,this.services={};let i=this.components=my({peerId:e.peerId,events:r,datastore:e.datastore??new oa,connectionGater:Sy(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new ra(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=>{c.detail.previous==null&&this.safeDispatchEvent("peer:discovery",{detail:c.detail.peer})}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new La(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 Sa(this.components,e.transportManager)),this.configureComponent("connectionManager",new ga(this.components,e.connectionManager)),this.configureComponent("registrar",new Aa(this.components)),this.configureComponent("addressManager",new sa(this.components,e.addresses));let o=fn.generateOptions();this.keychain=this.configureComponent("keyChain",new fn(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 _a(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 Ea(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){tt.error("service factory %s returned null or undefined instance",c);continue}this.services[c]=l,this.configureComponent(c,l),l[Cu]!=null&&(tt("registering service %s for content routing",c),a.push(l[Cu])),l[Lu]!=null&&(tt("registering service %s for peer routing",c),s.push(l[Lu])),l[Pu]!=null&&(tt("registering service %s for peer discovery",c),l[Pu].addEventListener("peer",f=>{this.#t(f)}))}}configureComponent(e,r){return r==null&&tt.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(this.#e)return;this.#e=!0,tt("libp2p is starting"),(await this.keychain.listKeys()).find(r=>r.name==="self")==null&&(tt("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}),tt("libp2p has started")}catch(r){throw tt.error("An error occurred starting libp2p",r),await this.stop(),r}}async stop(){this.#e&&(tt("libp2p is stopping"),this.#e=!1,await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.safeDispatchEvent("stop",{detail:this}),tt("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 hn;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 E("no protocols were provided to open a stream",N.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new E("no protocols were provided to open a stream",N.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={}){dn(e)&&(e=te(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e,r)}async getPublicKey(e,r={}){if(tt("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=Ie([K("/pk/"),e.multihash.digest]),o=await this.contentRouting.get(i,r);return ro(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()){tt.error(new Error(N.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs,protocols:r.protocols}).catch(n=>{tt.error(n)})}};async function Qg(t){if(t.peerId==null){let e=t.datastore;if(e!=null)try{let r=new fn({datastore:e},Rr(fn.generateOptions(),t.keychain));t.peerId=await r.exportPeerId("self")}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}}return t.peerId==null&&(t.peerId=await um()),new Rf(Ny(t))}async function AS(t){let e=await Qg(t);return t.start!==!1&&await e.start(),e}return t1(SS);})();
|
|
50
50
|
/*! Bundled license information:
|
|
51
51
|
|
|
52
52
|
@noble/ed25519/lib/esm/index.js:
|