libp2p 0.46.0-e66f4891 → 0.46.0-ef83dd1d
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 +26 -26
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/package.json +24 -24
- 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};Xa.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=Zf[e];if(!r){r=Zf[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,s=e.charAt(0),o=[0],n=0;n<t.length;n++){var a=r[t.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<o.length;++c)u+=o[c]*i,o[c]=u&255,u>>=8;for(;u>0;)o.push(u&255),u>>=8}for(var l=0;t[l]===s&&l<t.length-1;++l)o.push(0);return typeof Buffer<"u"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function R1(t,e){var r=0,n=e.length,i=e.charAt(0),s=[0];for(r=0;r<t.length();++r){for(var o=0,a=t.at(r);o<s.length;++o)a+=s[o]<<8,s[o]=a%n,a=a/n|0;for(;a>0;)s.push(a%n),a=a/n|0}var c="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)c+=i;for(r=s.length-1;r>=0;--r)c+=e[s[r]];return c}});var _e=B((hI,nh)=>{var eh=ne(),th=jf(),w=nh.exports=eh.util=eh.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){w.nextTick=process.nextTick,typeof setImmediate=="function"?w.setImmediate=setImmediate:w.setImmediate=w.nextTick;return}if(typeof setImmediate=="function"){w.setImmediate=function(){return setImmediate.apply(void 0,arguments)},w.nextTick=function(a){return setImmediate(a)};return}if(w.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(l){l()})}};var o=a,t="forge.setImmediate",e=[];w.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var s=w.setImmediate;w.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}w.nextTick=w.setImmediate})();w.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;w.globalScope=function(){return w.isNodejs?globalThis:typeof self>"u"?window:self}();w.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};w.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};w.isArrayBufferView=function(t){return t&&w.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Mi(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}w.ByteBuffer=Za;function Za(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 Za||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}w.ByteStringBuffer=Za;var C1=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>C1&&(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){Mi(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){Mi(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 T1(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=T1;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};w.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};w.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};w.DataBuffer.prototype.putBytes=function(t,e){if(w.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(w.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof w.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&w.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof w.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var s;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.hex.decode(t,s,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.base64.decode(t,s,this.write),this;if(e==="utf8"&&(t=w.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(s),this;if(e==="utf16")return this.accommodate(t.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};w.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};w.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};w.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};w.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};w.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};w.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};w.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(t,e){Mi(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 Mi(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){Mi(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};w.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};w.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};w.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};w.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};w.DataBuffer.prototype.copy=function(){return new w.DataBuffer(this)};w.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};w.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};w.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};w.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};w.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return w.binary.raw.encode(e);if(t==="hex")return w.binary.hex.encode(e);if(t==="base64")return w.binary.base64.encode(e);if(t==="utf8")return w.text.utf8.decode(e);if(t==="utf16")return w.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};w.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=w.encodeUtf8(t)),new w.ByteBuffer(t)};w.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};w.xorBytes=function(t,e,r){for(var n="",i="",s="",o=0,a=0;r>0;--r,++o)i=t.charCodeAt(o)^e.charCodeAt(o),a>=10&&(n+=s,s="",a=0),s+=String.fromCharCode(i),++a;return n+=s,n};w.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};w.bytesToHex=function(t){return w.createBuffer(t).toHex()};w.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var fr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",hr=[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],rh="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.encode64=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.length;)i=t.charCodeAt(a++),s=t.charCodeAt(a++),o=t.charCodeAt(a++),r+=fr.charAt(i>>2),r+=fr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=fr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":fr.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
4
|
-
`,r=r.substr(e));return n+=r,n};w.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,s
|
|
5
|
-
`,r=r.substr(e));return n+=r,n};w.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,s,o,a,c=0,u=r;c<t.length;)i=hr[t.charCodeAt(c++)-43],s=hr[t.charCodeAt(c++)-43],o=hr[t.charCodeAt(c++)-43],a=hr[t.charCodeAt(c++)-43],n[u++]=i<<2|s>>4,o!==64&&(n[u++]=(s&15)<<4|o>>2,a!==64&&(n[u++]=(o&3)<<6|a));return e?u-r:n.subarray(0,u)};w.binary.base58.encode=function(t,e){return w.binary.baseN.encode(t,rh,e)};w.binary.base58.decode=function(t,e){return w.binary.baseN.decode(t,rh,e)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(t,e,r){t=w.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);return e?i-r:n};w.text.utf8.decode=function(t){return w.decodeUtf8(String.fromCharCode.apply(null,t))};w.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var s=r,o=r,a=0;a<t.length;++a)i[o++]=t.charCodeAt(a),s+=2;return e?s-r:n};w.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};w.deflate=function(t,e,r){if(e=w.decode64(t.deflate(w.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};w.inflate=function(t,e,r){var n=t.inflate(w.encode64(e)).rval;return n===null?null:w.decode64(n)};var Ja=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}},ja=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},B1=function(t,e,r,n){var i=ja(t,e);i===null&&(i={}),i[r]=n,Ja(t,e,i)},P1=function(t,e,r){var n=ja(t,e);return n!==null&&(n=r in n?n[r]:null),n},L1=function(t,e,r){var n=ja(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var s in n){i=!1;break}i&&(n=null),Ja(t,e,n)}},D1=function(t,e){Ja(t,e,null)},Ys=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,s=!1,o=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),s=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};w.setItem=function(t,e,r,n,i){Ys(B1,arguments,i)};w.getItem=function(t,e,r,n){return Ys(P1,arguments,n)};w.removeItem=function(t,e,r,n){Ys(L1,arguments,n)};w.clearItems=function(t,e,r){Ys(D1,arguments,r)};w.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};w.format=function(t){for(var e=/%./g,r,n,i=0,s=[],o=0;r=e.exec(t);){n=t.substring(o,e.lastIndex-2),n.length>0&&s.push(n),o=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?s.push(arguments[i+++1]):s.push("<?>");break;case"%":s.push("%");break;default:s.push("<%"+a+"?>")}}return s.push(t.substring(o)),s.join("")};w.formatNumber=function(t,e,r,n){var i=t,s=isNaN(e=Math.abs(e))?2:e,o=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",l=u.length>3?u.length%3:0;return c+(l?u.substr(0,l)+a:"")+u.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-u).toFixed(s).slice(2):"")};w.formatSize=function(t){return t>=1073741824?t=w.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=w.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=w.formatNumber(t/1024,0)+" KiB":t=w.formatNumber(t,0)+" bytes",t};w.bytesFromIP=function(t){return t.indexOf(".")!==-1?w.bytesFromIPv4(t):t.indexOf(":")!==-1?w.bytesFromIPv6(t):null};w.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=w.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};w.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(o){return o.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=w.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=w.hexToBytes(t[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};w.bytesToIP=function(t){return t.length===4?w.bytesToIPv4(t):t.length===16?w.bytesToIPv6(t):null};w.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};w.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var s=w.bytesToHex(t[i]+t[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=r[r.length-1],a=e.length;!o||a!==o.end+1?r.push({start:a,end:a}):(o.end=a,o.end-o.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(s)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};w.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in w&&!t.update)return e(null,w.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return w.cores=navigator.hardwareConcurrency,e(null,w.cores);if(typeof Worker>"u")return w.cores=1,e(null,w.cores);if(typeof Blob>"u")return w.cores=2,e(null,w.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(o){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(o,a,c){if(a===0){var u=Math.floor(o.reduce(function(l,f){return l+f},0)/o.length);return w.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,w.cores)}i(c,function(l,f){o.push(s(c,f)),n(o,a-1,c)})}function i(o,a){for(var c=[],u=[],l=0;l<o;++l){var f=new Worker(r);f.addEventListener("message",function(h){if(u.push(h.data),u.length===o){for(var p=0;p<o;++p)c[p].terminate();a(null,u)}}),c.push(f)}for(var l=0;l<o;++l)c[l].postMessage(l)}function s(o,a){for(var c=[],u=0;u<o;++u)for(var l=a[u],f=c[u]=[],h=0;h<o;++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 Ws=B((dI,ih)=>{var Fi=ne();Fi.pki=Fi.pki||{};var ec=ih.exports=Fi.pki.oids=Fi.oids=Fi.oids||{};function I(t,e){ec[t]=e,ec[e]=t}function ee(t,e){ec[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 Ki=B((pI,oh)=>{var le=ne();_e();Ws();var P=oh.exports=le.asn1=le.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(le.util.isArray(n)){for(var s=[],o=0;o<n.length;++o)n[o]!==void 0&&s.push(n[o]);n=s}var a={tagClass:t,type:e,constructed:r,composed:r||le.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(le.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(le.util.isArray(t)){if(!le.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 Ui(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 N1=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var s=r&127;Ui(t,e,s),n=t.getInt(s<<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=le.util.createBuffer(t));var r=t.length(),n=Qs(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 Qs(t,e,r,n){var i;Ui(t,e,2);var s=t.getByte();e--;var o=s&192,a=s&31;i=t.length();var c=N1(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=(s&32)===32;if(h)if(l=[],c===void 0)for(;;){if(Ui(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),l.push(Qs(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(Qs(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&o===P.Class.UNIVERSAL&&a===P.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&o===P.Class.UNIVERSAL&&a===P.Type.BITSTRING&&c>1){var p=t.read,d=e,m=0;if(a===P.Type.BITSTRING&&(Ui(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},g=Qs(t,e,r+1,y),x=i-t.length();e-=x,a==P.Type.BITSTRING&&x++;var E=g.tagClass;x===c&&(E===P.Class.UNIVERSAL||E===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)Ui(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(o,a,h,l,T)}P.toDer=function(t){var e=le.util.createBuffer(),r=t.tagClass|t.type,n=le.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 s=0;s<t.value.length;++s)t.value[s]!==void 0&&n.putBuffer(P.toDer(t.value[s]))}else if(t.type===P.Type.BMPSTRING)for(var s=0;s<t.value.length;++s)n.putInt16(t.value.charCodeAt(s));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 o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);e.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)e.putByte(a.charCodeAt(s))}return e.putBuffer(n),e};P.oidToDer=function(t){var e=t.split("."),r=le.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,s,o,a=2;a<e.length;++a){n=!0,i=[],s=parseInt(e[a],10);do o=s&127,s=s>>>7,n||(o|=128),i.push(o),n=!1;while(s>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};P.derToOid=function(t){var e;typeof t=="string"&&(t=le.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),s=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var l=parseInt(t.substr(u+1,2),10),f=parseInt(t.substr(u+4,2),10),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),s=parseInt(t.substr(8,2),10),o=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,l=!1;t.charAt(t.length-1)==="Z"&&(l=!0);var f=t.length-5,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(s,o,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(s,o,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=le.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=le.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&&le.util.isArray(e.value))for(var s=0,o=0;i&&o<e.value.length;++o)i=e.value[o].optional||!1,t.value[s]&&(i=P.validate(t.value[s],e.value[o],r,n),i?++s:e.value[o].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var sh=/[^\\u0000-\\u00ff]/;P.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
|
6
|
-
`);for(var i="",
|
|
2
|
+
"use strict";var Libp2P=(()=>{var 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 Ci(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}w.ByteBuffer=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){Ci(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};w.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};w.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};w.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};w.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};w.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};w.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};w.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};w.ByteStringBuffer.prototype.getInt=function(t){Ci(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};w.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};w.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};w.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var t=w.createBuffer(this.data);return t.read=this.read,t};w.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};w.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};w.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};w.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function 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){Ci(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};w.DataBuffer.prototype.putSignedInt=function(t,e){return Ci(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};w.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};w.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};w.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};w.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};w.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};w.DataBuffer.prototype.getInt=function(t){Ci(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};w.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};w.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};w.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};w.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};w.DataBuffer.prototype.copy=function(){return new w.DataBuffer(this)};w.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};w.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};w.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};w.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};w.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return w.binary.raw.encode(e);if(t==="hex")return w.binary.hex.encode(e);if(t==="base64")return w.binary.base64.encode(e);if(t==="utf8")return w.text.utf8.decode(e);if(t==="utf16")return w.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};w.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=w.encodeUtf8(t)),new w.ByteBuffer(t)};w.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};w.xorBytes=function(t,e,r){for(var n="",i="",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 Ti=ne();Ti.pki=Ti.pki||{};var qa=Wf.exports=Ti.pki.oids=Ti.oids=Ti.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 Pi=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 Bi(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;Bi(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;Bi(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(Bi(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&&(Bi(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)Bi(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 o=0,a="",s=0;s<t.value.length;++s)t.value[s]!==void 0&&(o+=1,a+=P.prettyPrint(t.value[s],e+1,r),s+1<t.value.length&&(a+=","));n+=i+"Sub values: "+o+a}else{if(n+=i+"Value: ",t.type===P.Type.OID){var c=P.derToOid(t.value);n+=c,le.pki&&le.pki.oids&&c in le.pki.oids&&(n+=" ("+le.pki.oids[c]+") ")}if(t.type===P.Type.INTEGER)try{n+=P.derToInteger(t.value)}catch{n+="0x"+le.util.bytesToHex(t.value)}else if(t.type===P.Type.BITSTRING){if(t.value.length>1?n+="0x"+le.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)sh.test(t.value)||(n+="("+t.value+") "),n+="0x"+le.util.bytesToHex(t.value);else if(t.type===P.Type.UTF8)try{n+=le.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+le.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===P.Type.PRINTABLESTRING||t.type===P.Type.IA5String?n+=t.value:sh.test(t.value)?n+="0x"+le.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var rc=B((mI,ah)=>{var De=ne();_e();ah.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 tc=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)};tc.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)};tc.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()};tc.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 ic=B((yI,ch)=>{var Ne=ne();_e();Ne.cipher=Ne.cipher||{};var G=ch.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=Xs(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=Xs(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 s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};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 s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};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=Xs(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 s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};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=Xs(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 s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}Zs(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(nc(n*8)))}this._inBlock=this._j0.slice(0),Zs(this._inBlock),this._partialBytes=0,r=Ne.util.createBuffer(r),this._aDataLength=nc(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 s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s<=0||r){if(r){var o=n%this.blockSize;this._cipherLength+=o,this._partialOutput.truncate(this.blockSize-o)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),Zs(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),Zs(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(nc(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var s=0;s<this._ints;++s)this.tag.putInt32(this._s[s]^i[s]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};G.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var s=t[i/32|0]&1<<31-i%32;s&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};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,s=this._m[r][i];e[0]^=s[0],e[1]^=s[1],e[2]^=s[2],e[3]^=s[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,s=new Array(i),o=0;o<i;++o){var a=[0,0,0,0],c=o/n|0,u=(n-1-o%n)*e;a[c]=1<<e-1<<u,s[o]=this.generateSubHashTable(this.multiply(a,t),e)}return s};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 s=n>>>1;s>0;)this.pow(i[2*s],i[s]=[]),s>>=1;for(s=2;s<n;){for(var o=1;o<s;++o){var a=i[s],c=i[o];i[s+o]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}s*=2}for(i[0]=[0,0,0,0],s=n+1;s<r;++s){var u=i[s^n];i[s]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function Xs(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=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function Zs(t){t[t.length-1]=t[t.length-1]+1&4294967295}function nc(t){return[t/4294967296|0,t&4294967295]}});var js=B((gI,hh)=>{var ce=ne();rc();ic();_e();hh.exports=ce.aes=ce.aes||{};ce.aes.startEncrypting=function(t,e,r,n){var i=Js({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};ce.aes.createEncryptionCipher=function(t,e){return Js({key:t,output:null,decrypt:!1,mode:e})};ce.aes.startDecrypting=function(t,e,r,n){var i=Js({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};ce.aes.createDecryptionCipher=function(t,e){return Js({key:t,output:null,decrypt:!0,mode:e})};ce.aes.Algorithm=function(t,e){ac||lh();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return oc(r._w,n,i,!1)},decrypt:function(n,i){return oc(r._w,n,i,!0)}}}),r._init=!1};ce.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=ce.util.createBuffer(e);else if(ce.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=ce.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!ce.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(!ce.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var s=this.mode.name,o=["CFB","OFB","CTR","GCM"].indexOf(s)!==-1;this._w=fh(e,t.decrypt&&!o),this._init=!0}};ce.aes._expandKey=function(t,e){return ac||lh(),fh(t,e)};ce.aes._updateBlock=oc;Pn("AES-ECB",ce.cipher.modes.ecb);Pn("AES-CBC",ce.cipher.modes.cbc);Pn("AES-CFB",ce.cipher.modes.cfb);Pn("AES-OFB",ce.cipher.modes.ofb);Pn("AES-CTR",ce.cipher.modes.ctr);Pn("AES-GCM",ce.cipher.modes.gcm);function Pn(t,e){var r=function(){return new ce.aes.Algorithm(t,e)};ce.cipher.registerAlgorithm(t,r)}var ac=!1,Bn=4,We,sc,uh,Ur,wt;function lh(){ac=!0,uh=[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),sc=new Array(256),Ur=new Array(4),wt=new Array(4);for(var e=0;e<4;++e)Ur[e]=new Array(256),wt[e]=new Array(256);for(var r=0,n=0,i,s,o,a,c,u,l,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,We[r]=a,sc[a]=r,c=t[a],i=t[r],s=t[i],o=t[s],u=c<<24^a<<16^a<<8^(a^c),l=(i^s^o)<<24^(r^o)<<16^(r^s^o)<<8^(r^i^o);for(var f=0;f<4;++f)Ur[f][r]=u,wt[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;r===0?r=n=1:(r=i^t[t[t[i^o]]],n^=t[t[n]])}}function fh(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=Bn*o,c=s;c<a;++c)n=r[c-1],c%s===0?(n=We[n>>>16&255]<<24^We[n>>>8&255]<<16^We[n&255]<<8^We[n>>>24]^uh[i]<<24,i++):s>6&&c%s===4&&(n=We[n>>>24]<<24^We[n>>>16&255]<<16^We[n>>>8&255]<<8^We[n&255]),r[c]=r[c-s]^n;if(e){var u,l=wt[0],f=wt[1],h=wt[2],p=wt[3],d=r.slice(0);a=r.length;for(var c=0,m=a-Bn;c<a;c+=Bn,m-=Bn)if(c===0||c===a-Bn)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<Bn;++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 oc(t,e,r,n){var i=t.length/4-1,s,o,a,c,u;n?(s=wt[0],o=wt[1],a=wt[2],c=wt[3],u=sc):(s=Ur[0],o=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=s[l>>>24]^o[f>>>16&255]^a[h>>>8&255]^c[p&255]^t[++g],m=s[f>>>24]^o[h>>>16&255]^a[p>>>8&255]^c[l&255]^t[++g],y=s[h>>>24]^o[p>>>16&255]^a[l>>>8&255]^c[f&255]^t[++g],p=s[p>>>24]^o[l>>>16&255]^a[f>>>8&255]^c[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 Js(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=ce.cipher.createDecipher(r,t.key):n=ce.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof ce.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var mh=B((xI,ph)=>{var pe=ne();rc();ic();_e();ph.exports=pe.des=pe.des||{};pe.des.startEncrypting=function(t,e,r,n){var i=eo({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};pe.des.createEncryptionCipher=function(t,e){return eo({key:t,output:null,decrypt:!1,mode:e})};pe.des.startDecrypting=function(t,e,r,n){var i=eo({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};pe.des.createDecryptionCipher=function(t,e){return eo({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 dh(r._keys,n,i,!1)},decrypt:function(n,i){return dh(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=z1(e),this._init=!0}};Nt("DES-ECB",pe.cipher.modes.ecb);Nt("DES-CBC",pe.cipher.modes.cbc);Nt("DES-CFB",pe.cipher.modes.cfb);Nt("DES-OFB",pe.cipher.modes.ofb);Nt("DES-CTR",pe.cipher.modes.ctr);Nt("3DES-ECB",pe.cipher.modes.ecb);Nt("3DES-CBC",pe.cipher.modes.cbc);Nt("3DES-CFB",pe.cipher.modes.cfb);Nt("3DES-OFB",pe.cipher.modes.ofb);Nt("3DES-CTR",pe.cipher.modes.ctr);function Nt(t,e){var r=function(){return new pe.des.Algorithm(t,e)};pe.cipher.registerAlgorithm(t,r)}var k1=[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],O1=[-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],M1=[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],F1=[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],U1=[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],K1=[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],V1=[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],q1=[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 z1(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],o=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],l=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],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,E,T=0;T<m;T++){var R=t.getInt32(),C=t.getInt32();E=(R>>>4^C)&252645135,C^=E,R^=E<<4,E=(C>>>-16^R)&65535,R^=E,C^=E<<-16,E=(R>>>2^C)&858993459,C^=E,R^=E<<2,E=(C>>>-16^R)&65535,R^=E,C^=E<<-16,E=(R>>>1^C)&1431655765,C^=E,R^=E<<1,E=(C>>>8^R)&16711935,R^=E,C^=E<<8,E=(R>>>1^C)&1431655765,C^=E,R^=E<<1,E=R<<8|C>>>20&240,R=C<<24|C<<8&16711680|C>>>8&65280|C>>>24&240,C=E;for(var U=0;U<g.length;++U){g[U]?(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 K=e[R>>>28]|r[R>>>24&15]|n[R>>>20&15]|i[R>>>16&15]|s[R>>>12&15]|o[R>>>8&15]|a[R>>>4&15],ae=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];E=(ae>>>16^K)&65535,y[x++]=K^E,y[x++]=ae^E<<16}}return y}function dh(t,e,r,n){var i=t.length===32?3:9,s;i===3?s=n?[30,-2,-2]:[0,32,2]:s=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var o,a=e[0],c=e[1];o=(a>>>4^c)&252645135,c^=o,a^=o<<4,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var l=s[u+1],f=s[u+2],h=s[u];h!=l;h+=f){var p=c^t[h],d=(c>>>4|c<<28)^t[h+1];o=a,a=c,c=o^(O1[p>>>24&63]|F1[p>>>16&63]|K1[p>>>8&63]|q1[p&63]|k1[d>>>24&63]|M1[d>>>16&63]|U1[d>>>8&63]|V1[d&63])}o=a,a=c,c=o}a=a>>>1|a<<31,c=c>>>1|c<<31,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(a>>>4^c)&252645135,c^=o,a^=o<<4,r[0]=a,r[1]=c}function eo(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(s,o){var a=null;o instanceof pe.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Kr=B((wI,yh)=>{var to=ne();yh.exports=to.md=to.md||{};to.md.algorithms=to.md.algorithms||{}});var xh=B((vI,gh)=>{var Zt=ne();Kr();_e();var $1=gh.exports=Zt.hmac=Zt.hmac||{};$1.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(s,o){if(s!==null)if(typeof s=="string")if(s=s.toLowerCase(),s in Zt.md.algorithms)e=Zt.md.algorithms[s].create();else throw new Error('Unknown hash algorithm "'+s+'"');else e=s;if(o===null)o=t;else{if(typeof o=="string")o=Zt.util.createBuffer(o);else if(Zt.util.isArray(o)){var a=o;o=Zt.util.createBuffer();for(var c=0;c<a.length;++c)o.putByte(a[c])}var u=o.length();u>e.blockLength&&(e.start(),e.update(o.bytes()),o=e.digest()),r=Zt.util.createBuffer(),n=Zt.util.createBuffer(),u=o.length();for(var c=0;c<u;++c){var a=o.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<e.blockLength)for(var a=e.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);t=o,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(s){e.update(s)},i.getMac=function(){var s=e.digest().bytes();return e.start(),e.update(n),e.update(s),e.digest()},i.digest=i.getMac,i}});var Vr=B(()=>{});var cc=B((_I,wh)=>{var Qe=ne();xh();Kr();_e();var H1=Qe.pkcs5=Qe.pkcs5||{},Jt;Qe.util.isNodejs&&!Qe.options.usePureJavaScript&&(Jt=Vr());wh.exports=Qe.pbkdf2=H1.pbkdf2=function(t,e,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),Qe.util.isNodejs&&!Qe.options.usePureJavaScript&&Jt.pbkdf2&&(i===null||typeof i!="object")&&(Jt.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),s?Jt.pbkdf2Sync.length===4?Jt.pbkdf2(t,e,r,n,function(E,T){if(E)return s(E);s(null,T.toString("binary"))}):Jt.pbkdf2(t,e,r,n,i,function(E,T){if(E)return s(E);s(null,T.toString("binary"))}):Jt.pbkdf2Sync.length===4?Jt.pbkdf2Sync(t,e,r,n).toString("binary"):Jt.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 o=i.digestLength;if(n>4294967295*o){var a=new Error("Derived key is too long.");if(s)return s(a);throw a}var c=Math.ceil(n/o),u=n-(c-1)*o,l=Qe.hmac.create();l.start(i,t);var f="",h,p,d;if(!s){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,o),d=p;f+=m<c?h:h.substr(0,u)}return f}var m=1,y;function g(){if(m>c)return s(null,f);l.start(null,null),l.update(e),l.update(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,o),d=p,++y,Qe.util.setImmediate(x);f+=m<c?h:h.substr(0,u),++m,g()}g()}});var Eh=B((AI,bh)=>{var no=ne();_e();var vh=bh.exports=no.pem=no.pem||{};vh.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};
|
|
13
|
-
`;for(var
|
|
14
|
-
`+e.substr(
|
|
15
|
-
`+a+e.substr(o+1),s=i-o-1,o=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(o=i);return e}function G1(t){return t.replace(/^\s+/,"")}});var Ch=B((SI,Rh)=>{var kt=ne();Kr();_e();var Ah=Rh.exports=kt.sha256=kt.sha256||{};kt.md.sha256=kt.md.algorithms.sha256=Ah;Ah.create=function(){Sh||Y1();var t=null,e=kt.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=kt.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=kt.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),_h(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=kt.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(uc.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};_h(f,r,i);var h=kt.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 uc=null,Sh=!1,Ih=null;function Y1(){uc=String.fromCharCode(128),uc+=kt.util.fillString(String.fromCharCode(0),64),Ih=[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],Sh=!0}function _h(t,e,r){for(var n,i,s,o,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)o=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),a=y^d&(m^y),s=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|h&(l^f),n=g+o+a+Ih[u]+e[u],i=s+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 Bh=B((II,Th)=>{var Ot=ne();_e();var io=null;Ot.util.isNodejs&&!Ot.options.usePureJavaScript&&!process.versions["node-webkit"]&&(io=Vr());var W1=Th.exports=Ot.prng=Ot.prng||{};W1.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=Ot.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 Ot.util.nextTick(function(){s(y)});var x=f(e.key,e.seed);e.generated+=x.length,m.putBytes(x),e.key=p(f(e.key,h(e.seed))),e.seed=d(f(e.key,e.seed)),Ot.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=Ot.util.createBuffer();d.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&o();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 s(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 o(){if(e.pools[0].messageLength>=32)return a();var u=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(u)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var u=e.plugin.md.create();u.update(e.keyBytes);for(var l=1,f=0;f<32;++f)e.reseeds%l===0&&(u.update(e.pools[f].digest().getBytes()),e.pools[f].start()),l=l<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var 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=Ot.util.globalScope,h=f.crypto||f.msCrypto;h&&h.getRandomValues&&(l=function(R){return h.getRandomValues(R)});var p=Ot.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,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 io?(e.seedFile=function(u,l){io.randomBytes(u,function(f,h){if(f)return l(f);l(null,h.toString())})},e.seedFileSync=function(u){return io.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 Vi=B((RI,lc)=>{var ke=ne();js();Ch();Bh();_e();(function(){if(ke.random&&ke.random.getBytes){lc.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 s=i(),o=null,a=ke.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),ke.options.usePureJavaScript||!ke.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch{}s.collect(u),u=null}t&&(t().mousemove(function(f){s.collectInt(f.clientX,16),s.collectInt(f.clientY,16)}),t().keypress(function(f){s.collectInt(f.charCode,8)}))}if(!ke.random)ke.random=s;else for(var l in s)ke.random[l]=s[l];ke.random.createInstance=i,lc.exports=ke.random})(typeof jQuery<"u"?jQuery:null)})()});var Nh=B((CI,Dh)=>{var je=ne();_e();var fc=[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],Ph=[1,2,3,5],Q1=function(t,e){return t<<e&65535|(t&65535)>>16-e},X1=function(t,e){return(t&65535)>>e|t<<16-e&65535};Dh.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,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(fc[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,fc[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,fc[r.at(a+1)^r.at(a+s)]);return r};var Lh=function(t,e,r){var n=!1,i=null,s=null,o=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]=Q1(d[u],Ph[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]=X1(d[u],Ph[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();o!==null&&(r?y^=o.getInt16Le():o.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++)o!==null&&(r?o.putInt16Le(m[u]):m[u]^=o.getInt16Le()),s.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(),s=m||new je.util.createBuffer,o=d,p.output=s},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,s,!r);else{var g=s.length(),x=s.at(g-1);x>g?m=!1:s.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 Lh(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 Lh(t,e,!1)}});var ao=B((TI,qh)=>{var hc=ne();qh.exports=hc.jsbn=hc.jsbn||{};var jt,Z1=0xdeadbeefcafe,kh=(Z1&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))}hc.jsbn.BigInteger=A;function J(){return new A(null)}function J1(t,e,r,n,i,s){for(;--s>=0;){var o=e*this.data[t++]+r.data[n]+i;i=Math.floor(o/67108864),r.data[n++]=o&67108863}return i}function j1(t,e,r,n,i,s){for(var o=e&32767,a=e>>15;--s>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,l=a*c+u*o;c=o*c+((l&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(l>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function Oh(t,e,r,n,i,s){for(var o=e&16383,a=e>>14;--s>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,l=a*c+u*o;c=o*c+((l&16383)<<14)+r.data[n]+i,i=(c>>28)+(l>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(A.prototype.am=Oh,jt=28):kh&&navigator.appName=="Microsoft Internet Explorer"?(A.prototype.am=j1,jt=30):kh&&navigator.appName!="Netscape"?(A.prototype.am=J1,jt=26):(A.prototype.am=Oh,jt=28);A.prototype.DB=jt;A.prototype.DM=(1<<jt)-1;A.prototype.DV=1<<jt;var dc=52;A.prototype.FV=Math.pow(2,dc);A.prototype.F1=dc-jt;A.prototype.F2=2*jt-dc;var ex="0123456789abcdefghijklmnopqrstuvwxyz",so=new Array,Ln,dt;Ln="0".charCodeAt(0);for(dt=0;dt<=9;++dt)so[Ln++]=dt;Ln="a".charCodeAt(0);for(dt=10;dt<36;++dt)so[Ln++]=dt;Ln="A".charCodeAt(0);for(dt=10;dt<36;++dt)so[Ln++]=dt;function Mh(t){return ex.charAt(t)}function Fh(t,e){var r=so[t.charCodeAt(e)];return r??-1}function tx(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 rx(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 dr(t){var e=J();return e.fromInt(t),e}function nx(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,s=0;--n>=0;){var o=r==8?t[n]&255:Fh(t,n);if(o<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,s==0?this.data[this.t++]=o:s+r>this.DB?(this.data[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this.data[this.t++]=o>>this.DB-s):this.data[this.t-1]|=o<<s,s+=r,s>=this.DB&&(s-=this.DB)}r==8&&t[0]&128&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&A.ZERO.subTo(this,this)}function ix(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function sx(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,s="",o=this.t,a=this.DB-o*this.DB%e;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=Mh(n));o>=0;)a<e?(n=(this.data[o]&(1<<a)-1)<<e-a,n|=this.data[--o]>>(a+=this.DB-e)):(n=this.data[o]>>(a-=e)&r,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=Mh(n));return i?s:"0"}function ox(){var t=J();return A.ZERO.subTo(this,t),t}function ax(){return this.s<0?this.negate():this}function cx(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 oo(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 ux(){return this.t<=0?0:this.DB*(this.t-1)+oo(this.data[this.t-1]^this.s&this.DM)}function lx(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 fx(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 hx(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,s=Math.floor(t/this.DB),o=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<r;for(a=s-1;a>=0;--a)e.data[a]=0;e.data[s]=o,e.t=this.t+s+1,e.s=this.s,e.clamp()}function dx(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,s=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var o=r+1;o<this.t;++o)e.data[o-r-1]|=(this.data[o]&s)<<i,e.data[o-r]=this.data[o]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&s)<<i),e.t=this.t-r,e.clamp()}function px(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 mx(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 yx(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 gx(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 s=J(),o=this.s,a=t.s,c=this.DB-oo(n.data[n.t-1]);c>0?(n.lShiftTo(c,s),i.lShiftTo(c,r)):(n.copyTo(s),i.copyTo(r));var u=s.t,l=s.data[u-1];if(l!=0){var f=l*(1<<this.F1)+(u>1?s.data[u-2]>>this.F2:0),h=this.FV/f,p=(1<<this.F1)/f,d=1<<this.F2,m=r.t,y=m-u,g=e??J();for(s.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),A.ONE.dlShiftTo(u,g),g.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--y>=0;){var x=r.data[--m]==l?this.DM:Math.floor(r.data[m]*h+(r.data[m-1]+d)*p);if((r.data[m]+=s.am(0,x,r,y,0,u))<x)for(s.dlShiftTo(y,g),r.subTo(g,r);r.data[m]<--x;)r.subTo(g,r)}e!=null&&(r.drShiftTo(u,e),o!=a&&A.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&A.ZERO.subTo(r,r)}}}function xx(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 qr(t){this.m=t}function wx(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function vx(t){return t}function bx(t){t.divRemTo(this.m,null,t)}function Ex(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function _x(t,e){t.squareTo(e),this.reduce(e)}qr.prototype.convert=wx;qr.prototype.revert=vx;qr.prototype.reduce=bx;qr.prototype.mulTo=Ex;qr.prototype.sqrTo=_x;function Ax(){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 zr(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 Ix(t){var e=J();return t.copyTo(e),this.reduce(e),e}function Rx(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 Cx(t,e){t.squareTo(e),this.reduce(e)}function Tx(t,e,r){t.multiplyTo(e,r),this.reduce(r)}zr.prototype.convert=Sx;zr.prototype.revert=Ix;zr.prototype.reduce=Rx;zr.prototype.mulTo=Tx;zr.prototype.sqrTo=Cx;function Bx(){return(this.t>0?this.data[0]&1:this.s)==0}function Px(t,e){if(t>4294967295||t<1)return A.ONE;var r=J(),n=J(),i=e.convert(this),s=oo(t)-1;for(i.copyTo(r);--s>=0;)if(e.sqrTo(r,n),(t&1<<s)>0)e.mulTo(n,i,r);else{var o=r;r=n,n=o}return e.revert(r)}function Lx(t,e){var r;return t<256||e.isEven()?r=new qr(e):r=new zr(e),this.exp(t,r)}A.prototype.copyTo=tx;A.prototype.fromInt=rx;A.prototype.fromString=nx;A.prototype.clamp=ix;A.prototype.dlShiftTo=lx;A.prototype.drShiftTo=fx;A.prototype.lShiftTo=hx;A.prototype.rShiftTo=dx;A.prototype.subTo=px;A.prototype.multiplyTo=mx;A.prototype.squareTo=yx;A.prototype.divRemTo=gx;A.prototype.invDigit=Ax;A.prototype.isEven=Bx;A.prototype.exp=Px;A.prototype.toString=sx;A.prototype.negate=ox;A.prototype.abs=ax;A.prototype.compareTo=cx;A.prototype.bitLength=ux;A.prototype.mod=xx;A.prototype.modPowInt=Lx;A.ZERO=dr(0);A.ONE=dr(1);function Dx(){var t=J();return this.copyTo(t),t}function Nx(){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 kx(){return this.t==0?this.s:this.data[0]<<24>>24}function Ox(){return this.t==0?this.s:this.data[0]<<16>>16}function Mx(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function Fx(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Ux(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=dr(r),i=J(),s=J(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(t).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(t)+o}function Kx(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,s=0,o=0,a=0;a<t.length;++a){var c=Fh(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=e*o+c,++s>=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(e,s)),this.dAddOffset(o,0)),i&&A.ZERO.subTo(this,this)}function Vx(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),pc,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 qx(){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 zx(t){return this.compareTo(t)==0}function $x(t){return this.compareTo(t)<0?this:t}function Hx(t){return this.compareTo(t)>0?this:t}function Gx(t,e,r){var n,i,s=Math.min(t.t,this.t);for(n=0;n<s;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=s;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=s;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function Yx(t,e){return t&e}function Wx(t){var e=J();return this.bitwiseTo(t,Yx,e),e}function pc(t,e){return t|e}function Qx(t){var e=J();return this.bitwiseTo(t,pc,e),e}function Uh(t,e){return t^e}function Xx(t){var e=J();return this.bitwiseTo(t,Uh,e),e}function Kh(t,e){return t&~e}function Zx(t){var e=J();return this.bitwiseTo(t,Kh,e),e}function Jx(){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 jx(t){var e=J();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function ew(t){var e=J();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function tw(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 rw(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+tw(this.data[t]);return this.s<0?this.t*this.DB:-1}function nw(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function iw(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=nw(this.data[r]^e);return t}function sw(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function ow(t,e){var r=A.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function aw(t){return this.changeBit(t,pc)}function cw(t){return this.changeBit(t,Kh)}function uw(t){return this.changeBit(t,Uh)}function lw(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 fw(t){var e=J();return this.addTo(t,e),e}function hw(t){var e=J();return this.subTo(t,e),e}function dw(t){var e=J();return this.multiplyTo(t,e),e}function pw(t){var e=J();return this.divRemTo(t,e,null),e}function mw(t){var e=J();return this.divRemTo(t,null,e),e}function yw(t){var e=J(),r=J();return this.divRemTo(t,e,r),new Array(e,r)}function gw(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function xw(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 qi(){}function Vh(t){return t}function ww(t,e,r){t.multiplyTo(e,r)}function vw(t,e){t.squareTo(e)}qi.prototype.convert=Vh;qi.prototype.revert=Vh;qi.prototype.mulTo=ww;qi.prototype.sqrTo=vw;function bw(t){return this.exp(t,new qi)}function Ew(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 _w(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 Dn(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 Aw(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 Iw(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 Rw(t,e){t.squareTo(e),this.reduce(e)}function Cw(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Dn.prototype.convert=Aw;Dn.prototype.revert=Sw;Dn.prototype.reduce=Iw;Dn.prototype.mulTo=Cw;Dn.prototype.sqrTo=Rw;function Tw(t,e){var r=t.bitLength(),n,i=dr(1),s;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?s=new qr(e):e.isEven()?s=new Dn(e):s=new zr(e);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var l=J();for(s.sqrTo(o[1],l);a<=u;)o[a]=J(),s.mulTo(l,o[a-2],o[a]),a+=2}var f=t.t-1,h,p=!0,d=J(),m;for(r=oo(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)o[h].copyTo(i),p=!1;else{for(;a>1;)s.sqrTo(i,d),s.sqrTo(d,i),a-=2;a>0?s.sqrTo(i,d):(m=i,i=d,d=m),s.mulTo(d,o[h],i)}for(;f>=0&&!(t.data[f]&1<<r);)s.sqrTo(i,d),m=i,i=d,d=m,--r<0&&(r=this.DB-1,--f)}return s.revert(i)}function Bw(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),s=r.getLowestSetBit();if(s<0)return e;for(i<s&&(s=i),s>0&&(e.rShiftTo(s,e),r.rShiftTo(s,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return s>0&&r.lShiftTo(s,r),r}function Pw(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 Lw(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return A.ZERO;for(var r=t.clone(),n=this.clone(),i=dr(1),s=dr(0),o=dr(0),a=dr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(t,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(t,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),e?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(t,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(r,n),e&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(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 vt=[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],Dw=(1<<26)/vt[vt.length-1];function Nw(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=vt[vt.length-1]){for(e=0;e<vt.length;++e)if(r.data[0]==vt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<vt.length;){for(var n=vt[e],i=e+1;i<vt.length&&n<Dw;)n*=vt[i++];for(n=r.modInt(n);e<i;)if(n%vt[e++]==0)return!1}return r.millerRabin(t)}function kw(t){var e=this.subtract(A.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=Ow(),s,o=0;o<t;++o){do s=new A(this.bitLength(),i);while(s.compareTo(A.ONE)<=0||s.compareTo(e)>=0);var a=s.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 Ow(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}A.prototype.chunkSize=Mx;A.prototype.toRadix=Ux;A.prototype.fromRadix=Kx;A.prototype.fromNumber=Vx;A.prototype.bitwiseTo=Gx;A.prototype.changeBit=ow;A.prototype.addTo=lw;A.prototype.dMultiply=gw;A.prototype.dAddOffset=xw;A.prototype.multiplyLowerTo=Ew;A.prototype.multiplyUpperTo=_w;A.prototype.modInt=Pw;A.prototype.millerRabin=kw;A.prototype.clone=Dx;A.prototype.intValue=Nx;A.prototype.byteValue=kx;A.prototype.shortValue=Ox;A.prototype.signum=Fx;A.prototype.toByteArray=qx;A.prototype.equals=zx;A.prototype.min=$x;A.prototype.max=Hx;A.prototype.and=Wx;A.prototype.or=Qx;A.prototype.xor=Xx;A.prototype.andNot=Zx;A.prototype.not=Jx;A.prototype.shiftLeft=jx;A.prototype.shiftRight=ew;A.prototype.getLowestSetBit=rw;A.prototype.bitCount=iw;A.prototype.testBit=sw;A.prototype.setBit=aw;A.prototype.clearBit=cw;A.prototype.flipBit=uw;A.prototype.add=fw;A.prototype.subtract=hw;A.prototype.multiply=dw;A.prototype.divide=pw;A.prototype.remainder=mw;A.prototype.divideAndRemainder=yw;A.prototype.modPow=Tw;A.prototype.modInverse=Lw;A.prototype.pow=bw;A.prototype.gcd=Bw;A.prototype.isProbablePrime=Nw});var Yh=B((BI,Gh)=>{var Mt=ne();Kr();_e();var $h=Gh.exports=Mt.sha1=Mt.sha1||{};Mt.md.sha1=Mt.md.algorithms.sha1=$h;$h.create=function(){Hh||Mw();var t=null,e=Mt.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=Mt.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Mt.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),zh(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Mt.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(mc.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};zh(f,r,i);var h=Mt.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 mc=null,Hh=!1;function Mw(){mc=String.fromCharCode(128),mc+=Mt.util.fillString(String.fromCharCode(0),64),Hh=!0}function zh(t,e,r){for(var n,i,s,o,a,c,u,l,f=r.length();f>=64;){for(i=t.h0,s=t.h1,o=t.h2,a=t.h3,c=t.h4,l=0;l<16;++l)n=r.getInt32(),e[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<20;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<32;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<40;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<60;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s&o|a&(s^o),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<80;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+s|0,t.h2=t.h2+o|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,f-=64}}});var Xh=B((PI,Qh)=>{var Ft=ne();_e();Vi();Yh();var Wh=Qh.exports=Ft.pkcs1=Ft.pkcs1||{};Wh.encode_rsa_oaep=function(t,e,r){var n,i,s,o;typeof r=="string"?(n=r,i=arguments[3]||void 0,s=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,s=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md)),s?s.start():s=Ft.md.sha1.create(),o||(o=s);var a=Math.ceil(t.n.bitLength()/8),c=a-2*s.digestLength-2;if(e.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=e.length,u.maxLength=c,u}n||(n=""),s.update(n,"raw");for(var l=s.digest(),f="",h=c-e.length,p=0;p<h;p++)f+="\0";var d=l.getBytes()+f+""+e;if(!i)i=Ft.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=s.digestLength,u}var m=co(i,a-s.digestLength-1,o),y=Ft.util.xorBytes(d,m,d.length),g=co(y,s.digestLength,o),x=Ft.util.xorBytes(i,g,i.length);return"\0"+x+y};Wh.decode_rsa_oaep=function(t,e,r){var n,i,s;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md));var o=Math.ceil(t.n.bitLength()/8);if(e.length!==o){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=e.length,y.expectedLength=o,y}if(i===void 0?i=Ft.md.sha1.create():i.start(),s||(s=i),o<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=e.charAt(0),u=e.substring(1,i.digestLength+1),l=e.substring(1+i.digestLength),f=co(l,i.digestLength,s),h=Ft.util.xorBytes(u,f,u.length),p=co(h,o-i.digestLength-1,s),d=Ft.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,E=i.digestLength,T=i.digestLength;T<d.length;T++){var R=d.charCodeAt(T),C=R&1^1,U=x?65534:0;y|=R&U,x=x&C,E+=x}if(y||d.charCodeAt(E)!==1)throw new Error("Invalid RSAES-OAEP padding.");return d.substring(E+1)};function co(t,e,r){r||(r=Ft.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),s=0;s<i;++s){var o=String.fromCharCode(s>>24&255,s>>16&255,s>>8&255,s&255);r.start(),r.update(t+o),n+=r.digest().getBytes()}return n.substring(0,e)}});var Zh=B((LI,yc)=>{var pr=ne();_e();ao();Vi();(function(){if(pr.prime){yc.exports=pr.prime;return}var t=yc.exports=pr.prime=pr.prime||{},e=pr.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||pr.random,y={nextBytes:function(g){for(var x=m.getBytesSync(g.length),E=0;E<g.length;++E)g[E]=x.charCodeAt(E)}};if(d.name==="PRIMEINC")return s(f,y,d.options,p);throw new Error("Invalid prime generation algorithm: "+d.name)};function s(f,h,p,d){return"workers"in p?c(f,h,p,d):o(f,h,p,d)}function o(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);pr.util.setImmediate(function(){a(f,h,p,d,m,y,g)})}function c(f,h,p,d){if(typeof Worker>"u")return o(f,h,p,d);var m=u(f,h),y=p.workers,g=p.workLoad||100,x=g*30/8,E=p.workerScript||"forge/prime.worker.js";if(y===-1)return pr.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(E);for(var U=y,C=0;C<y;++C)R[C].addEventListener("message",ae);var K=!1;function ae(xt){if(!K){--U;var rt=xt.data;if(rt.found){for(var Ye=0;Ye<R.length;++Ye)R[Ye].terminate();return K=!0,d(null,new e(rt.prime,16))}m.bitLength()>f&&(m=u(f,h));var Rn=m.toString(16);xt.target.postMessage({hex:Rn,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 lo=B((DI,i0)=>{var M=ne();Ki();ao();Ws();Xh();Zh();Vi();_e();typeof W>"u"&&(W=M.jsbn.BigInteger);var W,gc=M.util.isNodejs?Vr():null,v=M.asn1,pt=M.util;M.pki=M.pki||{};i0.exports=M.pki.rsa=M.rsa=M.rsa||{};var q=M.pki,Fw=[6,4,2,4,2,4,6,2],Uw={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"}]},Kw={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"}]},Vw={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"}]},qw=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"}]}]},zw={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"}]},$w=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,[]),s=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]);s.value.push(v.create(v.Class.UNIVERSAL,v.Type.OID,!1,n)),s.value.push(v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,""));var o=v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(s),i.value.push(o),v.toDer(i).getBytes()},r0=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),s=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(s)<0;)i=i.add(e.p);var o=i.subtract(s).multiply(e.qInv).mod(e.p).multiply(e.q).add(s);return o=o.multiply(n.modInverse(e.n)).mod(e.n),o};q.rsa.encrypt=function(t,e,r){var n=r,i,s=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=n0(t,e,r)):(i=M.util.createBuffer(),i.putBytes(t));for(var o=new W(i.toHex(),16),a=r0(o,e,n),c=a.toString(16),u=M.util.createBuffer(),l=s-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 s=new Error("Encrypted message length is invalid.");throw s.length=t.length,s.expected=i,s}var o=new W(M.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=r0(o,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?uo(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)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,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},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};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},s=+new Date,o,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,u=c-1;t.pqState===0?(t.num=new 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(Gw(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(Fw[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)}}o=+new Date,a+=o-s,s=o}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(Jh("generateKeyPair"))return gc.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(jh("generateKey")&&jh("exportKey"))return pt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:t0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return pt.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(e0("generateKey")&&e0("exportKey")){var i=pt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:t0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=pt.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(Jh("generateKeyPairSync")){var s=gc.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:q.privateKeyFromPem(s.privateKey),publicKey:q.publicKeyFromPem(s.publicKey)}}}var o=q.rsa.createKeyPairGenerationState(t,e,r);if(!n)return q.rsa.stepKeyPairGenerationState(o,0),o.keys;Hw(o,r,n)};q.setRsaPublicKey=q.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,s){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return n0(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,s)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var o=i.encode(n,r,!0);return q.rsa.encrypt(o,r,!0)},r.verify=function(n,i,s,o){typeof s=="string"?s=s.toUpperCase():s===void 0&&(s="RSASSA-PKCS1-V1_5"),o===void 0&&(o={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in o||(o._parseAllDigestBytes=!0),s==="RSASSA-PKCS1-V1_5"?s={verify:function(c,u){u=uo(u,r,!0);var l=v.fromDer(u,{parseAllBytes:o._parseAllDigestBytes}),f={},h=[];if(!v.validate(l,zw,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}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(c,u){return u=uo(u,r,!0),c===u}});var a=q.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};q.setRsaPrivateKey=q.rsa.setPrivateKey=function(t,e,r,n,i,s,o,a){var c={n:t,e,d:r,p:n,q:i,dP:s,dQ:o,qInv:a};return c.decrypt=function(u,l,f){typeof l=="string"?l=l.toUpperCase():l===void 0&&(l="RSAES-PKCS1-V1_5");var h=q.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:uo};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:$w},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,Uw,e,r)&&(t=v.fromDer(M.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,Kw,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,s,o,a,c,u,l,f;return i=M.util.createBuffer(e.privateKeyModulus).toHex(),s=M.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=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(s,16),new W(o,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,qw,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,Vw,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var s=M.util.createBuffer(e.publicKeyModulus).toHex(),o=M.util.createBuffer(e.publicKeyExponent).toHex();return q.setRsaPublicKey(new W(s,16),new W(o,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 n0(t,e,r){var n=M.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=t.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<o;++c)n.putByte(a)}else for(;o>0;){for(var u=0,l=M.random.getBytes(o),c=0;c<o;++c)a=l.charCodeAt(c),a===0?++u:n.putByte(a);o=u}return n.putByte(0),n.putBytes(t),n}function uo(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=M.util.createBuffer(t),o=s.getByte(),a=s.getByte();if(o!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(s.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;s.length()>1;){if(s.getByte()!==255){--s.read;break}++c}else if(a===2)for(c=0;s.length()>1;){if(s.getByte()===0){--s.read;break}++c}var l=s.getByte();if(l!==0||c!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function Hw(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){s(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return o(a,t.q);s(t.qBits,o)})}function s(a,c){M.prime.generateProbablePrime(a,n,c)}function o(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(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,s(t.qBits,o);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,s(t.qBits,o);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 Gw(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 Jh(t){return M.util.isNodejs&&typeof gc[t]=="function"}function jh(t){return typeof pt.globalScope<"u"&&typeof pt.globalScope.crypto=="object"&&typeof pt.globalScope.crypto.subtle=="object"&&typeof pt.globalScope.crypto.subtle[t]=="function"}function e0(t){return typeof pt.globalScope<"u"&&typeof pt.globalScope.msCrypto=="object"&&typeof pt.globalScope.msCrypto.subtle=="object"&&typeof pt.globalScope.msCrypto.subtle[t]=="function"}function t0(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 l0=B((NI,u0)=>{var L=ne();js();Ki();mh();Kr();Ws();cc();Eh();Vi();Nh();lo();_e();typeof s0>"u"&&(s0=L.jsbn.BigInteger);var s0,_=L.asn1,$=L.pki=L.pki||{};u0.exports=$.pbe=L.pbe=L.pbe||{};var $r=$.oids,Yw={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"}]},Ww={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"}]}]},Qw={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,s=_.integerToDer(i),o,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,l,f;switch(r.algorithm){case"aes128":o=16,u=16,l=$r["aes128-CBC"],f=L.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,l=$r["aes192-CBC"],f=L.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,l=$r["aes256-CBC"],f=L.aes.createEncryptionCipher;break;case"des":o=8,u=8,l=$r.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=c0(p),m=L.pkcs5.pbkdf2(e,n,i,o,d),y=L.random.getBytesSync(u),g=f(m);g.start(y),g.update(_.toDer(t)),g.finish(),c=g.output.getBytes();var x=Xw(n,s,o,p);a=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer($r.pkcs5PBES2).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer($r.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"){o=24;var E=new L.util.ByteBuffer(n),m=$.pbe.generatePkcs12Key(e,E,1,i,o),y=$.pbe.generatePkcs12Key(e,E,2,i,o),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($r["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,n),_.create(_.Class.UNIVERSAL,_.Type.INTEGER,!1,s.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,Yw,n,i)){var s=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=_.derToOid(n.encryptionOid),a=$.pbe.getCipher(o,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,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=L.random.getBytesSync(8),a=L.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=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,s.substr(0,8),o),l=a(u);l.start(s),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(s).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 s,o;switch(n.dekInfo.algorithm){case"DES-CBC":s=8,o=L.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=L.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=L.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=L.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=L.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return L.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return L.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=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),s),u=o(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,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in L.md))throw new Error('"sha1" hash algorithm unavailable.');s=L.md.sha1.create()}var c=s.digestLength,u=s.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 E=y;E.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(E.bytes());for(var U=0;U<n;U++)s.start(),s.update(C.getBytes()),C=s.digest();var K=new L.util.ByteBuffer;for(a=0;a<u;a++)K.putByte(C.at(a%c));var ae=Math.ceil(p/u)+Math.ceil(h/u),xt=new L.util.ByteBuffer;for(o=0;o<ae;o++){var rt=new L.util.ByteBuffer(E.getBytes(u)),Ye=511;for(a=K.length()-1;a>=0;a--)Ye=Ye>>8,Ye+=K.at(a)+rt.at(a),rt.setAt(a,Ye&255);xt.putBuffer(rt)}E=xt,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,Ww,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}if(t=_.derToOid(n.kdfOid),t!==$.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=t,s.supportedOids=["pkcs5PBKDF2"],s}if(t=_.derToOid(n.encOid),t!==$.oids["aes128-CBC"]&&t!==$.oids["aes192-CBC"]&&t!==$.oids["aes256-CBC"]&&t!==$.oids["des-EDE3-CBC"]&&t!==$.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=t,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=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=a0(n.prfOid),f=L.pkcs5.pbkdf2(r,o,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,Qw,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=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 s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=t,s}var f=a0(n.prfOid),h=$.pbe.generatePkcs12Key(r,o,1,a,c,f);f.start();var p=$.pbe.generatePkcs12Key(r,o,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=[o0(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(o0(n,i[o-1]+t+e));return i.join("").substr(0,r)};function o0(t,e){return t.start().update(e).digest().getBytes()}function a0(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 c0(e)}function c0(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 Xw(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 cd=B((QR,ad)=>{"use strict";ad.exports=jv;function jv(t,e){for(var r=new Array(arguments.length-1),n=0,i=2,s=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,c){r[n]=function(l){if(s)if(s=!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){s&&(s=!1,c(u))}})}});var hd=B(fd=>{"use strict";var Eo=fd;Eo.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 Gn=new Array(64),ld=new Array(123);for(Et=0;Et<64;)ld[Gn[Et]=Et<26?Et+65:Et<52?Et+71:Et<62?Et-4:Et-59|43]=Et++;var Et;Eo.encode=function(e,r,n){for(var i=null,s=[],o=0,a=0,c;r<n;){var u=e[r++];switch(a){case 0:s[o++]=Gn[u>>2],c=(u&3)<<4,a=1;break;case 1:s[o++]=Gn[c|u>>4],c=(u&15)<<2,a=2;break;case 2:s[o++]=Gn[c|u>>6],s[o++]=Gn[u&63],a=0;break}o>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),o=0)}return a&&(s[o++]=Gn[c],s[o++]=61,a===1&&(s[o++]=61)),i?(o&&i.push(String.fromCharCode.apply(String,s.slice(0,o))),i.join("")):String.fromCharCode.apply(String,s.slice(0,o))};var ud="invalid encoding";Eo.decode=function(e,r,n){for(var i=n,s=0,o,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&s>1)break;if((c=ld[c])===void 0)throw Error(ud);switch(s){case 0:o=c,s=1;break;case 1:r[n++]=o<<2|(c&48)>>4,o=c,s=2;break;case 2:r[n++]=(o&15)<<4|(c&60)>>2,o=c,s=3;break;case 3:r[n++]=(o&3)<<6|c,s=0;break}}if(s===1)throw Error(ud);return n-i};Eo.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var pd=B((ZR,dd)=>{"use strict";dd.exports=_o;function _o(){this._listeners={}}_o.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};_o.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};_o.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 bd=B((JR,vd)=>{"use strict";vd.exports=md(md);function md(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 s(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:s,t.writeFloatBE=n?s:i;function o(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?o:a,t.readFloatBE=n?a:o}():function(){function e(n,i,s,o){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,s,o);else if(isNaN(i))n(2143289344,s,o);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,s,o);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,s,o);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,s,o)}}t.writeFloatLE=e.bind(null,yd),t.writeFloatBE=e.bind(null,gd);function r(n,i,s){var o=n(i,s),a=(o>>31)*2+1,c=o>>>23&255,u=o&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,xd),t.readFloatBE=r.bind(null,wd)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function s(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:s,t.writeDoubleBE=n?s:i;function o(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?o:a,t.readDoubleBE=n?a:o}():function(){function e(n,i,s,o,a,c){var u=o<0?1:0;if(u&&(o=-o),o===0)n(0,a,c+i),n(1/o>0?0:2147483648,a,c+s);else if(isNaN(o))n(0,a,c+i),n(2146959360,a,c+s);else if(o>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+s);else{var l;if(o<22250738585072014e-324)l=o/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+s);else{var f=Math.floor(Math.log(o)/Math.LN2);f===1024&&(f=1023),l=o*Math.pow(2,-f),n(l*4503599627370496>>>0,a,c+i),n((u<<31|f+1023<<20|l*1048576&1048575)>>>0,a,c+s)}}}t.writeDoubleLE=e.bind(null,yd,0,4),t.writeDoubleBE=e.bind(null,gd,4,0);function r(n,i,s,o,a){var c=n(o,a+i),u=n(o,a+s),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,xd,0,4),t.readDoubleBE=r.bind(null,wd,4,0)}(),t}function yd(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 gd(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 xd(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function wd(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var Ed=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 Ad=B(_d=>{"use strict";var ou=_d;ou.length=function(e){for(var r=0,n=0,i=0;i<e.length;++i)n=e.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(e.charCodeAt(i+1)&64512)===56320?(++i,r+=4):r+=3;return r};ou.read=function(e,r,n){var i=n-r;if(i<1)return"";for(var s=null,o=[],a=0,c;r<n;)c=e[r++],c<128?o[a++]=c:c>191&&c<224?o[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,o[a++]=55296+(c>>10),o[a++]=56320+(c&1023)):o[a++]=(c&15)<<12|(e[r++]&63)<<6|e[r++]&63,a>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,o)),a=0);return s?(a&&s.push(String.fromCharCode.apply(String,o.slice(0,a))),s.join("")):String.fromCharCode.apply(String,o.slice(0,a))};ou.write=function(e,r,n){for(var i=n,s,o,a=0;a<e.length;++a)s=e.charCodeAt(a),s<128?r[n++]=s:s<2048?(r[n++]=s>>6|192,r[n++]=s&63|128):(s&64512)===55296&&((o=e.charCodeAt(a+1))&64512)===56320?(s=65536+((s&1023)<<10)+(o&1023),++a,r[n++]=s>>18|240,r[n++]=s>>12&63|128,r[n++]=s>>6&63|128,r[n++]=s&63|128):(r[n++]=s>>12|224,r[n++]=s>>6&63|128,r[n++]=s&63|128);return n-i}});var Id=B((eC,Sd)=>{"use strict";Sd.exports=eb;function eb(t,e,r){var n=r||8192,i=n>>>1,s=null,o=n;return function(c){if(c<1||c>i)return t(c);o+c>n&&(s=t(n),o=0);var u=e.call(s,o,o+=c);return o&7&&(o=(o|7)+1),u}}});var Cd=B((tC,Rd)=>{"use strict";Rd.exports=Me;var es=Jr();function Me(t,e){this.lo=t>>>0,this.hi=e>>>0}var Zr=Me.zero=new Me(0,0);Zr.toNumber=function(){return 0};Zr.zzEncode=Zr.zzDecode=function(){return this};Zr.length=function(){return 1};var tb=Me.zeroHash="\0\0\0\0\0\0\0\0";Me.fromNumber=function(e){if(e===0)return Zr;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(es.isString(e))if(es.Long)e=es.Long.fromString(e);else return Me.fromNumber(parseInt(e,10));return e.low||e.high?new Me(e.low>>>0,e.high>>>0):Zr};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 es.Long?new es.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var _r=String.prototype.charCodeAt;Me.fromHash=function(e){return e===tb?Zr:new Me((_r.call(e,0)|_r.call(e,1)<<8|_r.call(e,2)<<16|_r.call(e,3)<<24)>>>0,(_r.call(e,4)|_r.call(e,5)<<8|_r.call(e,6)<<16|_r.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 Jr=B(au=>{"use strict";var O=au;O.asPromise=cd();O.base64=hd();O.EventEmitter=pd();O.float=bd();O.inquire=Ed();O.utf8=Ad();O.pool=Id();O.LongBits=Cd();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||au;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 Td(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=Td;O.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function Bd(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&&Td(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=Bd;O.ProtocolError=Bd("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),s=i.length-1;s>-1;--s)if(r[i[s]]===1&&this[i[s]]!==void 0&&this[i[s]]!==null)return i[s]}};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 lu=B((nC,kd)=>{"use strict";kd.exports=Re;var zt=Jr(),uu,Dd=zt.LongBits,rb=zt.utf8;function _t(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 Pd=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")},Nd=function(){return zt.Buffer?function(r){return(Re.create=function(i){return zt.Buffer.isBuffer(i)?new uu(i):Pd(i)})(r)}:Pd};Re.create=Nd();Re.prototype._slice=zt.Array.prototype.subarray||zt.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,_t(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 cu(){var t=new Dd(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 _t(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 _t(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 Ao(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 _t(this,4);return Ao(this.buf,this.pos+=4)};Re.prototype.sfixed32=function(){if(this.pos+4>this.len)throw _t(this,4);return Ao(this.buf,this.pos+=4)|0};function Ld(){if(this.pos+8>this.len)throw _t(this,8);return new Dd(Ao(this.buf,this.pos+=4),Ao(this.buf,this.pos+=4))}Re.prototype.float=function(){if(this.pos+4>this.len)throw _t(this,4);var e=zt.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};Re.prototype.double=function(){if(this.pos+8>this.len)throw _t(this,4);var e=zt.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 _t(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 rb.read(e,0,e.length)};Re.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw _t(this,e);this.pos+=e}else do if(this.pos>=this.len)throw _t(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){uu=t,Re.create=Nd(),uu._configure();var e=zt.Long?"toLong":"toNumber";zt.merge(Re.prototype,{int64:function(){return cu.call(this)[e](!1)},uint64:function(){return cu.call(this)[e](!0)},sint64:function(){return cu.call(this).zzDecode()[e](!1)},fixed64:function(){return Ld.call(this)[e](!0)},sfixed64:function(){return Ld.call(this)[e](!1)}})}});var Ud=B((iC,Fd)=>{"use strict";Fd.exports=jr;var Md=lu();(jr.prototype=Object.create(Md.prototype)).constructor=jr;var Od=Jr();function jr(t){Md.call(this,t)}jr._configure=function(){Od.Buffer&&(jr.prototype._slice=Od.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 gu=B((sC,zd)=>{"use strict";zd.exports=j;var mt=Jr(),fu,So=mt.LongBits,Kd=mt.base64,Vd=mt.utf8;function ts(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function du(){}function nb(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 ts(du,0,0),this.tail=this.head,this.states=null}var qd=function(){return mt.Buffer?function(){return(j.create=function(){return new fu})()}:function(){return new j}};j.create=qd();j.alloc=function(e){return new mt.Array(e)};mt.Array!==Array&&(j.alloc=mt.pool(j.alloc,mt.Array.prototype.subarray));j.prototype._push=function(e,r,n){return this.tail=this.tail.next=new ts(e,r,n),this.len+=r,this};function pu(t,e,r){e[r]=t&255}function ib(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function mu(t,e){this.len=t,this.next=void 0,this.val=e}mu.prototype=Object.create(ts.prototype);mu.prototype.fn=ib;j.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new mu((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(yu,10,So.fromNumber(e)):this.uint32(e)};j.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function yu(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=So.from(e);return this._push(yu,r.length(),r)};j.prototype.int64=j.prototype.uint64;j.prototype.sint64=function(e){var r=So.from(e).zzEncode();return this._push(yu,r.length(),r)};j.prototype.bool=function(e){return this._push(pu,1,e?1:0)};function hu(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(hu,4,e>>>0)};j.prototype.sfixed32=j.prototype.fixed32;j.prototype.fixed64=function(e){var r=So.from(e);return this._push(hu,4,r.lo)._push(hu,4,r.hi)};j.prototype.sfixed64=j.prototype.fixed64;j.prototype.float=function(e){return this._push(mt.float.writeFloatLE,4,e)};j.prototype.double=function(e){return this._push(mt.float.writeDoubleLE,8,e)};var sb=mt.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(pu,1,0);if(mt.isString(e)){var n=j.alloc(r=Kd.length(e));Kd.decode(e,n,0),e=n}return this.uint32(r)._push(sb,r,e)};j.prototype.string=function(e){var r=Vd.length(e);return r?this.uint32(r)._push(Vd.write,r,e):this._push(pu,1,0)};j.prototype.fork=function(){return this.states=new nb(this),this.head=this.tail=new ts(du,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 ts(du,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){fu=t,j.create=qd(),fu._configure()}});var Gd=B((oC,Hd)=>{"use strict";Hd.exports=$t;var $d=gu();($t.prototype=Object.create($d.prototype)).constructor=$t;var Ar=Jr();function $t(){$d.call(this)}$t._configure=function(){$t.alloc=Ar._Buffer_allocUnsafe,$t.writeBytesBuffer=Ar.Buffer&&Ar.Buffer.prototype instanceof Uint8Array&&Ar.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++]}};$t.prototype.bytes=function(e){Ar.isString(e)&&(e=Ar._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push($t.writeBytesBuffer,r,e),this};function ob(t,e,r){t.length<40?Ar.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}$t.prototype.string=function(e){var r=Ar.Buffer.byteLength(e);return this.uint32(r),r&&this._push(ob,r,e),this};$t._configure()});var op=B((o4,sp)=>{var he=ne();Kr();_e();var ns=sp.exports=he.sha512=he.sha512||{};he.md.sha512=he.md.algorithms.sha512=ns;var np=he.sha384=he.sha512.sha384=he.sha512.sha384||{};np.create=function(){return ns.create("SHA-384")};he.md.sha384=he.md.algorithms.sha384=np;he.sha512.sha256=he.sha512.sha256||{create:function(){return ns.create("SHA-512/256")}};he.md["sha512/256"]=he.md.algorithms["sha512/256"]=he.sha512.sha256;he.sha512.sha224=he.sha512.sha224||{create:function(){return ns.create("SHA-512/224")}};he.md["sha512/224"]=he.md.algorithms["sha512/224"]=he.sha512.sha224;ns.create=function(t){if(ip||mb(),typeof t>"u"&&(t="SHA-512"),!(t in tn))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=tn[t],r=null,n=he.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(t){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:o,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=he.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=he.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),rp(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=he.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(Su.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);rp(m,i,c);var y=he.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 Su=null,ip=!1,Iu=null,tn=null;function mb(){Su=String.fromCharCode(128),Su+=he.util.fillString(String.fromCharCode(0),128),Iu=[[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]],tn={},tn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],tn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],tn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],tn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],ip=!0}function rp(t,e,r){for(var n,i,s,o,a,c,u,l,f,h,p,d,m,y,g,x,E,T,R,C,U,K,ae,xt,rt,Ye,Rn,zs,Te,Je,F,Ha,Ga,Ya,Wa,Ff=r.length();Ff>=128;){for(Te=0;Te<16;++Te)e[Te][0]=r.getInt32()>>>0,e[Te][1]=r.getInt32()>>>0;for(;Te<80;++Te)Ha=e[Te-2],Je=Ha[0],F=Ha[1],n=((Je>>>19|F<<13)^(F>>>29|Je<<3)^Je>>>6)>>>0,i=((Je<<13|F>>>19)^(F<<3|Je>>>29)^(Je<<26|F>>>6))>>>0,Ya=e[Te-15],Je=Ya[0],F=Ya[1],s=((Je>>>1|F<<31)^(Je>>>8|F<<24)^Je>>>7)>>>0,o=((Je<<31|F>>>1)^(Je<<24|F>>>8)^(Je<<25|F>>>7))>>>0,Ga=e[Te-7],Wa=e[Te-16],F=i+Ga[1]+o+Wa[1],e[Te][0]=n+Ga[0]+s+Wa[0]+(F/4294967296>>>0)>>>0,e[Te][1]=F>>>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],R=t[3][0],C=t[3][1],U=t[4][0],K=t[4][1],ae=t[5][0],xt=t[5][1],rt=t[6][0],Ye=t[6][1],Rn=t[7][0],zs=t[7][1],Te=0;Te<80;++Te)u=((U>>>14|K<<18)^(U>>>18|K<<14)^(K>>>9|U<<23))>>>0,l=((U<<18|K>>>14)^(U<<14|K>>>18)^(K<<23|U>>>9))>>>0,f=(rt^U&(ae^rt))>>>0,h=(Ye^K&(xt^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|E&(m^g))>>>0,d=(y&x|T&(y^x))>>>0,F=zs+l+h+Iu[Te][1]+e[Te][1],n=Rn+u+f+Iu[Te][0]+e[Te][0]+(F/4294967296>>>0)>>>0,i=F>>>0,F=c+d,s=a+p+(F/4294967296>>>0)>>>0,o=F>>>0,Rn=rt,zs=Ye,rt=ae,Ye=xt,ae=U,xt=K,F=C+i,U=R+n+(F/4294967296>>>0)>>>0,K=F>>>0,R=E,C=T,E=g,T=x,g=m,x=y,F=i+o,m=n+s+(F/4294967296>>>0)>>>0,y=F>>>0;F=t[0][1]+y,t[0][0]=t[0][0]+m+(F/4294967296>>>0)>>>0,t[0][1]=F>>>0,F=t[1][1]+x,t[1][0]=t[1][0]+g+(F/4294967296>>>0)>>>0,t[1][1]=F>>>0,F=t[2][1]+T,t[2][0]=t[2][0]+E+(F/4294967296>>>0)>>>0,t[2][1]=F>>>0,F=t[3][1]+C,t[3][0]=t[3][0]+R+(F/4294967296>>>0)>>>0,t[3][1]=F>>>0,F=t[4][1]+K,t[4][0]=t[4][0]+U+(F/4294967296>>>0)>>>0,t[4][1]=F>>>0,F=t[5][1]+xt,t[5][0]=t[5][0]+ae+(F/4294967296>>>0)>>>0,t[5][1]=F>>>0,F=t[6][1]+Ye,t[6][0]=t[6][0]+rt+(F/4294967296>>>0)>>>0,t[6][1]=F>>>0,F=t[7][1]+zs,t[7][0]=t[7][0]+Rn+(F/4294967296>>>0)>>>0,t[7][1]=F>>>0,Ff-=128}}});var zp=B((fT,qp)=>{var ii=1e3,si=ii*60,oi=si*60,on=oi*24,Qb=on*7,Xb=on*365.25;qp.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return Zb(t);if(r==="number"&&isFinite(t))return e.long?jb(t):Jb(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function Zb(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*Xb;case"weeks":case"week":case"w":return r*Qb;case"days":case"day":case"d":return r*on;case"hours":case"hour":case"hrs":case"hr":case"h":return r*oi;case"minutes":case"minute":case"mins":case"min":case"m":return r*si;case"seconds":case"second":case"secs":case"sec":case"s":return r*ii;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function Jb(t){var e=Math.abs(t);return e>=on?Math.round(t/on)+"d":e>=oi?Math.round(t/oi)+"h":e>=si?Math.round(t/si)+"m":e>=ii?Math.round(t/ii)+"s":t+"ms"}function jb(t){var e=Math.abs(t);return e>=on?Mo(t,e,on,"day"):e>=oi?Mo(t,e,oi,"hour"):e>=si?Mo(t,e,si,"minute"):e>=ii?Mo(t,e,ii,"second"):t+" ms"}function Mo(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var Hp=B((hT,$p)=>{function eE(t){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=zp(),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),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,U)=>{if(C==="%%")return"%";T++;let K=r.formatters[U];if(typeof K=="function"){let ae=y[T];C=K.call(g,ae),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 s(){let l=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),l}function o(l){if(l[l.length-1]==="*")return!0;let f,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}$p.exports=eE});var Gp=B((st,Fo)=>{st.formatArgs=rE;st.save=nE;st.load=iE;st.useColors=tE;st.storage=sE();st.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`."))}})();st.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 tE(){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 rE(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Fo.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)}st.log=console.debug||console.log||(()=>{});function nE(t){try{t?st.storage.setItem("debug",t):st.storage.removeItem("debug")}catch{}}function iE(){let t;try{t=st.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function sE(){try{return localStorage}catch{}}Fo.exports=Hp()(st);var{formatters:oE}=Fo.exports;oE.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var rm=B((t8,tm)=>{"use strict";tm.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var cm=B((om,am)=>{"use strict";var qo=rm(),{hasOwnProperty:im}=Object.prototype,{propertyIsEnumerable:VE}=Object,ui=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),qE=om,nm={concatArrays:!1,ignoreUndefined:!1},zo=t=>{let e=[];for(let r in t)im.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)VE.call(t,n)&&e.push(n)}return e};function li(t){return Array.isArray(t)?zE(t):qo(t)?$E(t):t}function zE(t){let e=t.slice(0,0);return zo(t).forEach(r=>{ui(e,r,li(t[r]))}),e}function $E(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return zo(t).forEach(r=>{ui(e,r,li(t[r]))}),e}var sm=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?ui(t,i,nl(t[i],e[i],n)):ui(t,i,li(e[i])))}),t),HE=(t,e,r)=>{let n=t.slice(0,0),i=0;return[t,e].forEach(s=>{let o=[];for(let a=0;a<s.length;a++)im.call(s,a)&&(o.push(String(a)),s===t?ui(n,i++,s[a]):ui(n,i++,li(s[a])));n=sm(n,s,zo(s).filter(a=>!o.includes(a)),r)}),n};function nl(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?HE(t,e,r):!qo(e)||!qo(t)?li(e):sm(t,e,zo(e),r)}am.exports=function(...t){let e=nl(li(nm),this!==qE&&this||{},nm),r={_:{}};for(let n of t)if(n!==void 0){if(!qo(n))throw new TypeError("`"+n+"` is not an Option Object");r=nl(r,{_:n},e)}return r._}});var fm=B((n8,lm)=>{"use strict";function GE(t){return t>=55296&&t<=56319}function YE(t){return t>=56320&&t<=57343}lm.exports=function(e,r,n){if(typeof r!="string")throw new Error("Input must be string");for(var i=r.length,s=0,o,a,c=0;c<i;c+=1){if(o=r.charCodeAt(c),a=r[c],GE(o)&&YE(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),s+=e(a),s===n)return r.slice(0,c+1);if(s>n)return r.slice(0,c-a.length+1)}return r}});var dm=B((i8,hm)=>{"use strict";function WE(t){return t>=55296&&t<=56319}function QE(t){return t>=56320&&t<=57343}hm.exports=function(e){if(typeof e!="string")throw new Error("Input must be string");for(var r=e.length,n=0,i=null,s=null,o=0;o<r;o++)i=e.charCodeAt(o),QE(i)?s!=null&&WE(s)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),s=i;return n}});var mm=B((s8,pm)=>{"use strict";var XE=fm(),ZE=dm();pm.exports=XE.bind(null,ZE)});var xm=B((o8,gm)=>{"use strict";var JE=mm(),jE=/[\/\?<>\\:\*\|"]/g,e_=/[\x00-\x1f\x80-\x9f]/g,t_=/^\.+$/,r_=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,n_=/[\. ]+$/;function ym(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(jE,e).replace(e_,e).replace(t_,e).replace(r_,e).replace(n_,e);return JE(r,255)}gm.exports=function(t,e){var r=e&&e.replacement||"",n=ym(t,r);return r===""?n:ym(n,"")}});var Bm=B((f3,Tm)=>{Tm.exports=al;var Cm=128,m_=127,y_=~m_,g_=Math.pow(2,31);function al(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw al.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=g_;)e[r++]=t&255|Cm,t/=128;for(;t&y_;)e[r++]=t&255|Cm,t>>>=7;return e[r]=t|0,al.bytes=r-n+1,e}});var Dm=B((h3,Lm)=>{Lm.exports=cl;var x_=128,Pm=127;function cl(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a||i>49)throw cl.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&Pm)<<i:(o&Pm)*Math.pow(2,i),i+=7}while(o>=x_);return cl.bytes=s-n,r}});var km=B((d3,Nm)=>{var w_=Math.pow(2,7),v_=Math.pow(2,14),b_=Math.pow(2,21),E_=Math.pow(2,28),__=Math.pow(2,35),A_=Math.pow(2,42),S_=Math.pow(2,49),I_=Math.pow(2,56),R_=Math.pow(2,63);Nm.exports=function(t){return t<w_?1:t<v_?2:t<b_?3:t<E_?4:t<__?5:t<A_?6:t<S_?7:t<I_?8:t<R_?9:10}});var ul=B((p3,Om)=>{Om.exports={encode:Bm(),decode:Dm(),encodingLength:km()}});var ry=B(($B,_l)=>{"use strict";var X_=Object.prototype.hasOwnProperty,Ze="~";function _s(){}Object.create&&(_s.prototype=Object.create(null),new _s().__proto__||(Ze=!1));function Z_(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function ty(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new Z_(r,n||t,i),o=Ze?Ze+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function Xo(t,e){--t._eventsCount===0?t._events=new _s:delete t._events[e]}function He(){this._events=new _s,this._eventsCount=0}He.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)X_.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,s=n.length,o=new Array(s);i<s;i++)o[i]=n[i].fn;return o};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,s,o){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,s),!0;case 6:return c.fn.call(c.context,r,n,i,s,o),!0}for(f=1,l=new Array(u-1);f<u;f++)l[f-1]=arguments[f];c.fn.apply(c.context,l)}else{var 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 ty(this,e,r,n,!1)};He.prototype.once=function(e,r,n){return ty(this,e,r,n,!0)};He.prototype.removeListener=function(e,r,n,i){var s=Ze?Ze+e:e;if(!this._events[s])return this;if(!r)return Xo(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&Xo(this,s);else{for(var a=0,c=[],u=o.length;a<u;a++)(o[a].fn!==r||i&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[s]=c.length===1?c[0]:c:Xo(this,s)}return this};He.prototype.removeAllListeners=function(e){var r;return e?(r=Ze?Ze+e:e,this._events[r]&&Xo(this,r)):(this._events=new _s,this._eventsCount=0),this};He.prototype.off=He.prototype.removeListener;He.prototype.addListener=He.prototype.on;He.prefixed=Ze;He.EventEmitter=He;typeof _l<"u"&&(_l.exports=He)});var Hl=B((sL,Ey)=>{"use strict";function by(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function fA(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 by(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),by(new i,r)}}Ey.exports=fA});var Cy=B(Ps=>{(function(){var t,e,r,n,i,s,o,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(".")},o=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"),s=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])-s)>>>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=o(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=(o(u)&this.maskLong)>>>0}catch(m){throw f=m,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+l);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(o(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var l,f,h;for(h=o(this.first),f=o(this.last),l=0;h<=f;)u(a(h),h,l),l++,h++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),Ps.ip2long=o,Ps.long2ip=a,Ps.Netmask=t}).call(Ps)});var Ly=B((Py,ga)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),s="%[0-9a-z]{1,}",o="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(s,"i"),native:new RegExp(`^(::)?(${o})?([0-9a-f]+)?(::)?(${s})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${s})?)$`,"i"),transitional:new RegExp(`^((?:${o})|(?:::)(?:${o})?)${e}\\.${e}\\.${e}\\.${e}(${s})?$`,"i")};function c(p,d){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>d)return null;for(E=d-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)),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,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),d+=E}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 E=0;E<g.length;E++)m=g[E],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 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),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(E){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${E})`)}},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,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]||"",d=c(y[1].slice(0,-1)+E,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,E;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(E=x[y],p.kind()===E[0].kind()&&p.match.apply(p,E))return g}return m},typeof ga<"u"&&ga.exports?ga.exports=h:t.ipaddr=h})(Py)});var Uy=B((NL,Fy)=>{var bi=1e3,Ei=bi*60,_i=Ei*60,xn=_i*24,SA=xn*7,IA=xn*365.25;Fy.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return RA(t);if(r==="number"&&isFinite(t))return e.long?TA(t):CA(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function RA(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*IA;case"weeks":case"week":case"w":return r*SA;case"days":case"day":case"d":return r*xn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*_i;case"minutes":case"minute":case"mins":case"min":case"m":return r*Ei;case"seconds":case"second":case"secs":case"sec":case"s":return r*bi;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function CA(t){var e=Math.abs(t);return e>=xn?Math.round(t/xn)+"d":e>=_i?Math.round(t/_i)+"h":e>=Ei?Math.round(t/Ei)+"m":e>=bi?Math.round(t/bi)+"s":t+"ms"}function TA(t){var e=Math.abs(t);return e>=xn?wa(t,e,xn,"day"):e>=_i?wa(t,e,_i,"hour"):e>=Ei?wa(t,e,Ei,"minute"):e>=bi?wa(t,e,bi,"second"):t+" ms"}function wa(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var Vy=B((kL,Ky)=>{function BA(t){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=Uy(),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),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,U)=>{if(C==="%%")return"%";T++;let K=r.formatters[U];if(typeof K=="function"){let ae=y[T];C=K.call(g,ae),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 s(){let l=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),l}function o(l){if(l[l.length-1]==="*")return!0;let f,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}Ky.exports=BA});var qy=B((lt,va)=>{lt.formatArgs=LA;lt.save=DA;lt.load=NA;lt.useColors=PA;lt.storage=kA();lt.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`."))}})();lt.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 PA(){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 LA(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+va.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)}lt.log=console.debug||console.log||(()=>{});function DA(t){try{t?lt.storage.setItem("debug",t):lt.storage.removeItem("debug")}catch{}}function NA(){let t;try{t=lt.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function kA(){try{return localStorage}catch{}}va.exports=Vy()(lt);var{formatters:OA}=va.exports;OA.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var $y=B((OL,zy)=>{var Ai=1e3,Si=Ai*60,Ii=Si*60,wn=Ii*24,MA=wn*7,FA=wn*365.25;zy.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return UA(t);if(r==="number"&&isFinite(t))return e.long?VA(t):KA(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function UA(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*FA;case"weeks":case"week":case"w":return r*MA;case"days":case"day":case"d":return r*wn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Ii;case"minutes":case"minute":case"mins":case"min":case"m":return r*Si;case"seconds":case"second":case"secs":case"sec":case"s":return r*Ai;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function KA(t){var e=Math.abs(t);return e>=wn?Math.round(t/wn)+"d":e>=Ii?Math.round(t/Ii)+"h":e>=Si?Math.round(t/Si)+"m":e>=Ai?Math.round(t/Ai)+"s":t+"ms"}function VA(t){var e=Math.abs(t);return e>=wn?ba(t,e,wn,"day"):e>=Ii?ba(t,e,Ii,"hour"):e>=Si?ba(t,e,Si,"minute"):e>=Ai?ba(t,e,Ai,"second"):t+" ms"}function ba(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var Yy=B((ML,Gy)=>{"use strict";Gy.exports=Hy;var qA=$y(),Or=Hy.prototype,zA=new Date%1e9;function $A(){return(Math.random()*1e9>>>0)+zA++}function Hy(t){t=t||{},this.id=t.id||$A(),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)}Or.has=function(t){return t in this._lookup};Or.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};Or.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};Or.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};Or.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};Or.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=qA(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};Or.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};Or.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 Ls=B((i6,tg)=>{tg.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 ng=B((o6,rg)=>{rg.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 sg=B((a6,ig)=>{var WA=ng();ig.exports=WA});var ft=B((u6,og)=>{og.exports=class{constructor(e,r,n,i){this.remainingPoints=typeof e>"u"?0:e,this.msBeforeNext=typeof r>"u"?0:r,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(e){return this._msBeforeNext=e,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(e){return this._remainingPoints=e,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(e){return this._consumedPoints=e,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(e){this._isFirstInDuration=!!e}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var Ci=B((f6,cg)=>{var ef=Ls(),QA=sg(),ag=ft();cg.exports=class extends ef{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed||e.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration||e.inmemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new QA}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("storeClient is not set");this._client=e}_afterConsume(e,r,n,i,s,o={}){let a=this._getRateLimiterRes(n,i,s);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?r(a):e(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,o)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{r(a)}).catch(u=>{r(u)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(e,c,a)}else e(a)}_handleError(e,r,n,i,s,o=!1,a={}){this.insuranceLimiter instanceof ef?this.insuranceLimiter[r](s,o,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 ef))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=e,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(e,r,n={}){let i=r*1e3;return this._block(this.getKey(e),this.points+1,i,n)}set(e,r,n,i={}){let s=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(e),r,s,i)}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this.getInMemoryBlockMsBeforeExpire(o);if(a>0)return s(new ag(0,a));this._upsert(o,r,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,s,o,r,c)}).catch(c=>{this._handleError(c,"consume",i,s,e,r,n)})})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,r,a))}).catch(a=>{this._handleError(a,"penalty",s,o,e,r,n)})})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,-r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,-r,a))}).catch(a=>{this._handleError(a,"reward",s,o,e,r,n)})})}get(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._get(n,r).then(o=>{i(o===null||typeof o>"u"?null:this._getRateLimiterRes(n,0,o))}).catch(o=>{this._handleError(o,"get",i,s,e,r)})})}delete(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._delete(n,r).then(o=>{this._inMemoryBlockedKeys.delete(n),i(o)}).catch(o=>{this._handleError(o,"delete",i,s,e,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(e,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(e,r,n,i={}){return new Promise((s,o)=>{this._upsert(e,r,n,!0,i).then(()=>{s(new ag(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",s,o,this.parseKey(e),n/1e3,i)})})}_get(e,r={}){throw new Error("You have to implement the method '_get'!")}_delete(e,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(e,r,n,i=!1,s={}){throw new Error("You have to implement the method '_upsert'!")}}});var fg=B((h6,lg)=>{var XA=Ci(),ZA=ft(),ug="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} ",tf=class extends XA{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:ug})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(e,r,n){let[i,s]=n;Array.isArray(i)&&([,i]=i,[,s]=s);let o=new ZA;return o.consumedPoints=parseInt(i),o.isFirstInDuration=o.consumedPoints===r,o.remainingPoints=Math.max(this.points-o.consumedPoints,0),o.msBeforeNext=s,o}_upsert(e,r,n,i=!1){return new Promise((s,o)=>{if(!this._isRedisReady())return o(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?o(u):s(l));else if(a>0){let u=function(l,f){return l?o(l):s(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,a,u):this.client.eval(ug,1,e,r,a,u)}else c.incrby(e,r).pttl(e).exec((u,l)=>u?o(u):s(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,s)=>{if(i)n(i);else{let[o]=s;if(o===null)return r(null);r(s)}})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,s)=>{i?n(i):r(s>0)})})}};lg.exports=tf});var pg=B((d6,dg)=>{var JA=Ci(),jA=ft();function hg(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 rf=class t extends JA{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=hg(this.client)}):(this._initCollection(),this._driverVersion=hg(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 jA,s;return typeof n.value>"u"?s=n:s=n.value,i.isFirstInDuration=s.points===r,i.consumedPoints=s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire!==null?Math.max(new Date(s.expire).getTime()-Date.now(),0):-1,i}_upsert(e,r,n,i=!1,s={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let o=s.attrs||{},a,c;i?(a={key:e},a=Object.assign(a,o),c={$set:{key:e,points:r,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,o)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:e},a=Object.assign(a,o),c={$setOnInsert:{key:e,expire:n>0?new Date(Date.now()+n):null},$inc:{points:r}},c.$setOnInsert=Object.assign(c.$setOnInsert,o));let u={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?u.returnDocument="after":u.returnOriginal=!1,new Promise((l,f)=>{this._collection.findOneAndUpdate(a,c,u).then(h=>{l(h)}).catch(h=>{if(h&&h.code===11e3){let p=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},o),d={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},o)};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(s=>s.deletedCount>0)}};dg.exports=rf});var yg=B((p6,mg)=>{var eS=Ci(),tS=ft(),nf=class extends eS{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.dbName=e.dbName,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,e],()=>{this._releaseConnection(n),r()})}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((e,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);e(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return e.release();case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);default:return!0}}_createDbAndTable(){return new Promise((e,r)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),r(i);n.query(this._getCreateTableStmt(),s=>{if(s)return this._releaseConnection(n),r(s);this._releaseConnection(n),e()})})}).catch(n=>{r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(e){if(typeof e>"u")if(this.client.constructor.name==="Connection")e="connection";else if(this.client.constructor.name==="Pool")e="pool";else if(this.client.constructor.name==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?"rtlmtrflx":e}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new tS,[s]=n;return i.isFirstInDuration=r===s.points,i.consumedPoints=i.isFirstInDuration?r:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_upsertTransaction(e,r,n,i,s){return new Promise((o,a)=>{e.query("BEGIN",c=>{if(c)return e.rollback(),a(c);let u=Date.now(),l=i>0?u+i:null,f,h;s?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
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
|
+
`;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
|
+
`+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 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 Li=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 Di(){}function Ph(t){return t}function ew(t,e,r){t.multiplyTo(e,r)}function tw(t,e){t.squareTo(e)}Di.prototype.convert=Ph;Di.prototype.revert=Ph;Di.prototype.mulTo=ew;Di.prototype.sqrTo=tw;function rw(t){return this.exp(t,new Di)}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();Li();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();Li();(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();Pi();jo();Ko();Kh();Vh();Li();_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();Pi();oh();Fr();Ko();Xa();hh();Li();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 Hi=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(Hi.isString(e))if(Hi.Long)e=Hi.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 Hi.Long?new Hi.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 Gi(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 Gi(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 Gi(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(Gi.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 Gi(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 Gi(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 Wi=Qd.exports=fe.sha512=fe.sha512||{};fe.md.sha512=fe.md.algorithms.sha512=Wi;var Yd=fe.sha384=fe.sha512.sha384=fe.sha512.sha384||{};Yd.create=function(){return Wi.create("SHA-384")};fe.md.sha384=fe.md.algorithms.sha384=Yd;fe.sha512.sha256=fe.sha512.sha256||{create:function(){return Wi.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 Wi.create("SHA-512/224")}};fe.md["sha512/224"]=fe.md.algorithms["sha512/224"]=fe.sha512.sha224;Wi.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 wi=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=wi(),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=wi(),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=wi(),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
18
|
expire = ?;`,h=[this.dbName,this.tableName,r,n,l,n,l]):(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
19
19
|
ON DUPLICATE KEY UPDATE
|
|
20
20
|
points = IF(expire <= ?, ?, points + (?)),
|
|
21
|
-
expire = IF(expire <= ?, ?, expire);`,h=[this.dbName,this.tableName,r,n,l,u,n,n,u,l]),e.query(f,h,p=>{if(p)return e.rollback(),a(p);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(d,m)=>{if(d)return e.rollback(),a(d);e.query("COMMIT",y=>{if(y)return e.rollback(),a(y);
|
|
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=wi(),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:`
|
|
@@ -32,21 +32,21 @@
|
|
|
32
32
|
WHEN (${this.tableName}.expire <= $4 OR 1=${i?1:0}) THEN $2
|
|
33
33
|
ELSE ${this.tableName}.points + ($2)
|
|
34
34
|
END,
|
|
35
|
-
expire = ${
|
|
36
|
-
RETURNING points, expire;`,values:[e,r,
|
|
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"))}};gg.exports=sf});var wg=B(()=>{});var bg=B((w6,vg)=>{vg.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 _g=B((b6,Eg)=>{var iS=bg(),of=ft();Eg.exports=class{constructor(){this._storage={}}incrby(e,r,n){if(this._storage[e]){let i=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return i!==0?(this._storage[e].value=this._storage[e].value+r,new of(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 iS(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 of(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 of(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 cf=B((E6,Sg)=>{var sS=Ls(),oS=_g(),Ag=ft(),af=class extends sS{constructor(e={}){super(e),this._memoryStorage=new oS}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(o,r,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+r&&(c=this._memoryStorage.set(o,c.consumedPoints,this.blockDuration)),s(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let u=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));u<this.execEvenlyMinDelayMs&&(u=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,u,c)}else i(c)})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}block(e,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(e),i,r),Promise.resolve(new Ag(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 Ag(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=af});var Lg=B((_6,Pg)=>{var Ig=wg(),aS=Vr(),cS=Ls(),Cg=cf(),uS=ft(),gt="rate_limiter_flexible",Pi=null,Rg=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:gt,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},Tg=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&Tg.call(this,t)},30)},Ti=function(t,e,r,n,i){let s={channel:gt,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(s):Tg.call(this,s)},Bg=function(t,e){if(!e||e.channel!==gt||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=>{Rg(t,e,"resolve",n)}).catch(n=>{Rg(t,e,"reject",n)})},lS=function(t){if(!t||t.channel!==gt||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 uS(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]}},fS=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Bi=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=aS.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},uf=class{constructor(){if(Pi)return Pi;this._rateLimiters={},Ig.setMaxListeners(0),Ig.on("message",(e,r)=>{r&&r.channel===gt&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new Cg(r.opts)),e.send({channel:gt,type:"init",keyPrefix:r.opts.keyPrefix})):Bg.call(this,e,r)}),Pi=this}},lf=class{constructor(e){if(Pi)return Pi;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let s=i.raw;if(s&&s.channel===gt&&s.type==="init")typeof this._rateLimiters[s.opts.keyPrefix]>"u"&&(this._rateLimiters[s.opts.keyPrefix]=new Cg(s.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:gt,channel:gt,type:"init",keyPrefix:s.opts.keyPrefix},(o,a)=>{o&&console.log(o,a)});else{let o={send:a=>{let c=a;c.topic=gt,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};Bg.call(this,o,s)}})}),Pi=this}},ff=class extends cS{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===gt&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:lS.call(this,r)}),process.send({channel:gt,type:"init",opts:fS.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=Bi.call(this,i,s);Ti.call(this,"consume",o,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,s)=>{let o=Bi.call(this,i,s);Ti.call(this,"penalty",o,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,s)=>{let o=Bi.call(this,i,s);Ti.call(this,"reward",o,e,r,n)})}block(e,r,n={}){return new Promise((i,s)=>{let o=Bi.call(this,i,s);Ti.call(this,"block",o,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let s=Bi.call(this,n,i);Ti.call(this,"get",s,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let s=Bi.call(this,n,i);Ti.call(this,"delete",s,e,r)})}};Pg.exports={RateLimiterClusterMaster:uf,RateLimiterClusterMasterPM2:lf,RateLimiterCluster:ff}});var Ng=B((A6,Dg)=>{var hS=Ci(),dS=ft(),hf=class extends hS{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new dS;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===r,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(e,r,n,i=!1,s={}){return new Promise((o,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(e,r,u,l=>{l?a(l):this.client.set(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let f={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(f)})}):this.client.incr(e,r,(l,f)=>{l||f===!1?this.client.add(e,r,u,(h,p)=>{if(h||!p)if(typeof s.attemptNumber>"u"||s.attemptNumber<3){let d=Object.assign({},s);d.attemptNumber=d.attemptNumber?d.attemptNumber+1:1,this._upsert(e,r,n,i,d).then(m=>o(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let d={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(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};o(m)}})})})}_get(e){return new Promise((r,n)=>{let i=Date.now();this.client.get(e,(s,o)=>{o?this.client.get(`${e}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,l={consumedPoints:o,msBeforeNext:u>=0?Math.max(u-i,0):-1};r(l)}}):r(null)})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,s)=>{i?n(i):s===!1?r(s):this.client.del(`${e}_expire`,o=>{o?n(o):r(s)})})})}};Dg.exports=hf});var Mg=B((I6,Og)=>{var kg=ft();Og.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 kg(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new kg(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 Ug=B((C6,Fg)=>{var pS=Ls();Fg.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 pS))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=e}consume(e,r=1){return new Promise((n,i)=>{let s=[];this._limiters.forEach(o=>{s.push(o.consume(e,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(s).then(o=>{let a={},c=!1;o.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<o.length;u++)c&&o[u].rejected===!0?a[this._limiters[u].keyPrefix]=o[u].rej:c||(a[this._limiters[u].keyPrefix]=o[u]);c?i(a):n(a)})})}}});var Vg=B((B6,Kg)=>{Kg.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 Hg=B((L6,$g)=>{var qg=Vg(),zg=4294967295,df="limiter";$g.exports=class{constructor(e,r={maxQueueSize:zg}){this._queueLimiters={KEY_DEFAULT:new _a(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=df){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=df){return this._queueLimiters[r]||(this._queueLimiters[r]=new _a(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var _a=class{constructor(e,r={maxQueueSize:zg,key:df}){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 qg(`Requested tokens ${e} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,e):r._limiterFlexible.consume(r._key,e).then(s=>{n(s.remainingPoints)}).catch(s=>{s instanceof Error?i(s):(r._queueRequest.call(r,n,i,e),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),s.msBeforeNext)))})})}_queueRequest(e,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:r,tokens:n}):r(new qg(`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 Yg=B((N6,Gg)=>{var pf=ft();Gg.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return e?new pf(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 pf?this._burstLimiter.consume(e,r,n).then(s=>Promise.resolve(this._combineRes(i,s))).catch(s=>s instanceof pf?Promise.reject(this._combineRes(i,s)):Promise.reject(s)):Promise.reject(i))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var Qg=B((k6,Wg)=>{var mS=fg(),yS=pg(),gS=yg(),xS=xg(),{RateLimiterClusterMaster:wS,RateLimiterClusterMasterPM2:vS,RateLimiterCluster:bS}=Lg(),ES=cf(),_S=Ng(),AS=Mg(),SS=Ug(),IS=Hg(),RS=Yg(),CS=ft();Wg.exports={RateLimiterRedis:mS,RateLimiterMongo:yS,RateLimiterMySQL:gS,RateLimiterPostgres:xS,RateLimiterMemory:ES,RateLimiterMemcache:_S,RateLimiterClusterMaster:wS,RateLimiterClusterMasterPM2:vS,RateLimiterCluster:bS,RLWrapperBlackAndWhite:AS,RateLimiterUnion:SS,RateLimiterQueue:IS,BurstyRateLimiter:RS,RateLimiterRes:CS}});var aI={};re(aI,{createLibp2p:()=>oI});var d1=z(Tn(),1);var K4=z(Ki(),1),V4=z(l0(),1);var Nn=class t extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=t.code,this.type=t.type}static code="ABORT_ERR";static type="aborted"},b=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var ko=z(ne(),1);function Hr(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var Ec={};re(Ec,{identity:()=>r2});function Zw(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var s=t.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(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 E=(x-g)*l+1>>>0,T=new Uint8Array(E);g!==x;){for(var R=d[g],C=0,U=E-1;(R!==0||C<y)&&U!==-1;U--,C++)R+=256*T[U]>>>0,T[U]=R%a>>>0,R=R/a>>>0;if(R!==0)throw new Error("Non-zero carry");y=C,g++}for(var K=E-y;K!==E&&T[K]===0;)K++;for(var ae=c.repeat(m);K<E;++K)ae+=t.charAt(T[K]);return ae}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,E=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*E[C]>>>0,E[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 U=x-g;U!==x&&E[U]===0;)U++;for(var K=new Uint8Array(y+(x-U)),ae=y;U!==x;)K[ae++]=E[U++];return K}}}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 Jw=Zw,jw=Jw,f0=jw;var FI=new Uint8Array(0);var h0=(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},er=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 d0=t=>new TextEncoder().encode(t),p0=t=>new TextDecoder().decode(t);var xc=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")}},wc=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 y0(this,e)}},vc=class{constructor(e){this.decoders=e}or(e){return y0(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`)}},y0=(t,e)=>new vc({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),bc=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new xc(e,r,n),this.decoder=new wc(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},kn=({name:t,prefix:e,encode:r,decode:n})=>new bc(t,e,r,n),mr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=f0(r,e);return kn({prefix:t,name:e,encode:n,decode:s=>er(i(s))})},e2=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let o=new Uint8Array(s*r/8|0),a=0,c=0,u=0;for(let l=0;l<s;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},t2=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>r;)o-=r,s+=e[i&a>>o];if(o&&(s+=e[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},ve=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>kn({prefix:e,name:t,encode(i){return t2(i,n,r)},decode(i){return e2(i,n,r,t)}});var r2=kn({prefix:"\0",name:"identity",encode:t=>p0(t),decode:t=>d0(t)});var _c={};re(_c,{base2:()=>n2});var n2=ve({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ac={};re(Ac,{base8:()=>i2});var i2=ve({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Sc={};re(Sc,{base10:()=>s2});var s2=mr({prefix:"9",name:"base10",alphabet:"0123456789"});var Ic={};re(Ic,{base16:()=>o2,base16upper:()=>a2});var o2=ve({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),a2=ve({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Rc={};re(Rc,{base32:()=>On,base32hex:()=>f2,base32hexpad:()=>d2,base32hexpadupper:()=>p2,base32hexupper:()=>h2,base32pad:()=>u2,base32padupper:()=>l2,base32upper:()=>c2,base32z:()=>m2});var On=ve({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),c2=ve({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),u2=ve({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),l2=ve({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),f2=ve({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),h2=ve({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),d2=ve({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),p2=ve({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),m2=ve({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Cc={};re(Cc,{base36:()=>y2,base36upper:()=>g2});var y2=mr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),g2=mr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Tc={};re(Tc,{base58btc:()=>Kt,base58flickr:()=>x2});var Kt=mr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),x2=mr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Bc={};re(Bc,{base64:()=>w2,base64pad:()=>v2,base64url:()=>b2,base64urlpad:()=>E2});var w2=ve({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),v2=ve({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),b2=ve({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),E2=ve({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Pc={};re(Pc,{base256emoji:()=>R2});var g0=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}"),_2=g0.reduce((t,e,r)=>(t[r]=e,t),[]),A2=g0.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function S2(t){return t.reduce((e,r)=>(e+=_2[r],e),"")}function I2(t){let e=[];for(let r of t){let n=A2[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var R2=kn({prefix:"\u{1F680}",name:"base256emoji",encode:S2,decode:I2});var kc={};re(kc,{sha256:()=>G2,sha512:()=>Y2});var C2=v0,x0=128,T2=127,B2=~T2,P2=Math.pow(2,31);function v0(t,e,r){e=e||[],r=r||0;for(var n=r;t>=P2;)e[r++]=t&255|x0,t/=128;for(;t&B2;)e[r++]=t&255|x0,t>>>=7;return e[r]=t|0,v0.bytes=r-n+1,e}var L2=Lc,D2=128,w0=127;function Lc(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a)throw Lc.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&w0)<<i:(o&w0)*Math.pow(2,i),i+=7}while(o>=D2);return Lc.bytes=s-n,r}var N2=Math.pow(2,7),k2=Math.pow(2,14),O2=Math.pow(2,21),M2=Math.pow(2,28),F2=Math.pow(2,35),U2=Math.pow(2,42),K2=Math.pow(2,49),V2=Math.pow(2,56),q2=Math.pow(2,63),z2=function(t){return t<N2?1:t<k2?2:t<O2?3:t<M2?4:t<F2?5:t<U2?6:t<K2?7:t<V2?8:t<q2?9:10},$2={encode:C2,decode:L2,encodingLength:z2},H2=$2,zi=H2;var $i=(t,e=0)=>[zi.decode(t,e),zi.decode.bytes],Mn=(t,e,r=0)=>(zi.encode(t,e,r),e),Fn=t=>zi.encodingLength(t);var Gr=(t,e)=>{let r=e.byteLength,n=Fn(t),i=n+Fn(r),s=new Uint8Array(i+r);return Mn(t,s,0),Mn(r,s,n),s.set(e,i),new Un(t,r,e,s)},b0=t=>{let e=er(t),[r,n]=$i(e),[i,s]=$i(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new Un(r,i,o,e)},E0=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&h0(t.bytes,r.bytes)}},Un=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Nc=({name:t,code:e,encode:r})=>new Dc(t,e,r),Dc=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?Gr(this.code,r):r.then(n=>Gr(this.code,n))}else throw Error("Unknown type, must be binary type")}};var A0=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),G2=Nc({name:"sha2-256",code:18,encode:A0("SHA-256")}),Y2=Nc({name:"sha2-512",code:19,encode:A0("SHA-512")});var Oc={};re(Oc,{identity:()=>X2});var S0=0,W2="identity",I0=er,Q2=t=>Gr(S0,I0(t)),X2={code:S0,name:W2,encode:I0,digest:Q2};var sR=new TextEncoder,oR=new TextDecoder;var R0=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return ev(r,Mc(t),e||Kt.encoder);default:return tv(r,Mc(t),e||On.encoder)}};var C0=new WeakMap,Mc=t=>{let e=C0.get(t);if(e==null){let r=new Map;return C0.set(t,r),r}return e},ho=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!==Gi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==rv)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=Gr(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&&E0(e.multihash,n.multihash)}toString(e){return R0(this,e)}toJSON(){return{"/":R0(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:s,bytes:o}=r;return new t(n,i,s,o||T0(n,i,s.bytes))}else if(r[nv]===!0){let{version:n,multihash:i,code:s}=r,o=b0(i);return t.create(n,s,o)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Gi)throw new Error(`Version 0 CID must use dag-pb (code: ${Gi}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=T0(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Gi,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=er(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=i.subarray(r.multihashSize-r.digestSize),o=new Un(r.multihashCode,r.digestSize,s,i);return[r.version===0?t.createV0(o):t.createV1(r.codec,o),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,h]=$i(e.subarray(r));return r+=h,f},i=n(),s=Gi;if(i===18?(i=0,r=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=r,a=n(),c=n(),u=r+c,l=u-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=j2(e,r),s=t.decode(i);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Mc(s).set(n,e),s}},j2=(t,e)=>{switch(t[0]){case"Q":{let r=e||Kt;return[Kt.prefix,r.decode(`${Kt.prefix}${t}`)]}case Kt.prefix:{let r=e||Kt;return[Kt.prefix,r.decode(t)]}case On.prefix:{let r=e||On;return[On.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)]}}},ev=(t,e,r)=>{let{prefix:n}=r;if(n!==Kt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return i},tv=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let s=r.encode(t);return e.set(n,s),s}else return i},Gi=112,rv=18,T0=(t,e,r)=>{let n=Fn(t),i=n+Fn(e),s=new Uint8Array(i+r.byteLength);return Mn(t,s,0),Mn(e,s,n),s.set(r,i),s},nv=Symbol.for("@ipld/js-cid/CID");var Fc={...Ec,..._c,...Ac,...Sc,...Ic,...Rc,...Cc,...Tc,...Bc,...Pc},yR={...kc,...Oc};function tr(t=0){return globalThis.Buffer?.alloc!=null?Hr(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function bt(t=0){return globalThis.Buffer?.allocUnsafe!=null?Hr(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function P0(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var B0=P0("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Uc=P0("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=bt(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),iv={utf8:B0,"utf-8":B0,hex:Fc.base16,latin1:Uc,ascii:Uc,binary:Uc,...Fc},po=iv;function V(t,e="utf8"){let r=po[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Hr(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var Au={};re(Au,{Ed25519PrivateKey:()=>en,Ed25519PublicKey:()=>rs,generateKeyPair:()=>hb,generateKeyPairFromSeed:()=>Zd,unmarshalEd25519PrivateKey:()=>lb,unmarshalEd25519PublicKey:()=>fb});var $c={};re($c,{base58btc:()=>Ae,base58flickr:()=>lv});function sv(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var s=t.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(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 E=(x-g)*l+1>>>0,T=new Uint8Array(E);g!==x;){for(var R=d[g],C=0,U=E-1;(R!==0||C<y)&&U!==-1;U--,C++)R+=256*T[U]>>>0,T[U]=R%a>>>0,R=R/a>>>0;if(R!==0)throw new Error("Non-zero carry");y=C,g++}for(var K=E-y;K!==E&&T[K]===0;)K++;for(var ae=c.repeat(m);K<E;++K)ae+=t.charAt(T[K]);return ae}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,E=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*E[C]>>>0,E[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 U=x-g;U!==x&&E[U]===0;)U++;for(var K=new Uint8Array(y+(x-U)),ae=y;U!==x;)K[ae++]=E[U++];return K}}}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 ov=sv,av=ov,L0=av;var RR=new Uint8Array(0);var D0=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},rr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var N0=t=>new TextEncoder().encode(t),k0=t=>new TextDecoder().decode(t);var Kc=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")}},Vc=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 M0(this,e)}},qc=class{constructor(e){this.decoders=e}or(e){return M0(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`)}},M0=(t,e)=>new qc({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),zc=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Kc(e,r,n),this.decoder=new Vc(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Kn=({name:t,prefix:e,encode:r,decode:n})=>new zc(t,e,r,n),yr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=L0(r,e);return Kn({prefix:t,name:e,encode:n,decode:s=>rr(i(s))})},cv=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let o=new Uint8Array(s*r/8|0),a=0,c=0,u=0;for(let l=0;l<s;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},uv=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>r;)o-=r,s+=e[i&a>>o];if(o&&(s+=e[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},be=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Kn({prefix:e,name:t,encode(i){return uv(i,n,r)},decode(i){return cv(i,n,r,t)}});var Ae=yr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),lv=yr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Gc={};re(Gc,{identity:()=>gr});var fv=K0,F0=128,hv=127,dv=~hv,pv=Math.pow(2,31);function K0(t,e,r){e=e||[],r=r||0;for(var n=r;t>=pv;)e[r++]=t&255|F0,t/=128;for(;t&dv;)e[r++]=t&255|F0,t>>>=7;return e[r]=t|0,K0.bytes=r-n+1,e}var mv=Hc,yv=128,U0=127;function Hc(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a)throw Hc.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&U0)<<i:(o&U0)*Math.pow(2,i),i+=7}while(o>=yv);return Hc.bytes=s-n,r}var gv=Math.pow(2,7),xv=Math.pow(2,14),wv=Math.pow(2,21),vv=Math.pow(2,28),bv=Math.pow(2,35),Ev=Math.pow(2,42),_v=Math.pow(2,49),Av=Math.pow(2,56),Sv=Math.pow(2,63),Iv=function(t){return t<gv?1:t<xv?2:t<wv?3:t<vv?4:t<bv?5:t<Ev?6:t<_v?7:t<Av?8:t<Sv?9:10},Rv={encode:fv,decode:mv,encodingLength:Iv},Cv=Rv,Yi=Cv;var Wi=(t,e=0)=>[Yi.decode(t,e),Yi.decode.bytes],Vn=(t,e,r=0)=>(Yi.encode(t,e,r),e),qn=t=>Yi.encodingLength(t);var Vt=(t,e)=>{let r=e.byteLength,n=qn(t),i=n+qn(r),s=new Uint8Array(i+r);return Vn(t,s,0),Vn(r,s,n),s.set(e,i),new zn(t,r,e,s)},Yr=t=>{let e=rr(t),[r,n]=Wi(e),[i,s]=Wi(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new zn(r,i,o,e)},V0=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&D0(t.bytes,r.bytes)}},zn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var q0=0,Tv="identity",z0=rr,Bv=t=>Vt(q0,z0(t)),gr={code:q0,name:Tv,encode:z0,digest:Bv};var Qc={};re(Qc,{sha256:()=>Ue,sha512:()=>Pv});var Wc=({name:t,code:e,encode:r})=>new Yc(t,e,r),Yc=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?Vt(this.code,r):r.then(n=>Vt(this.code,n))}else throw Error("Unknown type, must be binary type")}};var H0=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Ue=Wc({name:"sha2-256",code:18,encode:H0("SHA-256")}),Pv=Wc({name:"sha2-512",code:19,encode:H0("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 Lv=z(Vr(),1);var Oe=BigInt(0),Q=BigInt(1),vr=BigInt(2),Dv=BigInt(8),G0=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),fe=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:G0,n:G0,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var Z0=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),Qi=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),FR=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),Nv=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),kv=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Ov=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Mv=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=Kv(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){W0(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e,c=S(r*a),u=S(s*i),l=S(n*a),f=S(o*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}=fe,s=S(e*e),o=S(r*r),a=S(vr*S(n*n)),c=S(i*s),u=e+r,l=S(S(u*u)-s-o),f=c+o,h=f-a,p=c-o,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){W0(e);let{x:r,y:n,z:i,t:s}=this,{x:o,y:a,z:c,t:u}=e,l=S((n-r)*(a+o)),f=S((n+r)*(a-o)),h=S(f-l);if(h===Oe)return this.double();let p=S(i*vr*u),d=S(s*vr*c),m=d+p,y=f+l,g=d-p,x=S(m*h),E=S(y*g),T=S(m*g),R=S(h*y);return new t(x,E,R,T)}subtract(e){return this.add(e.negate())}precomputeWindow(e){let r=1+256/e,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.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&&eu.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=t.normalizeZ(i),eu.set(r,i)));let s=t.ZERO,o=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?o=o.add(Y0(g,i[m])):s=s.add(Y0(x,i[y]))}return t.normalizeZ([s,o])[0]}multiply(e,r){return this.wNAF(go(e,fe.l),r)}multiplyUnsafe(e){let r=go(e,fe.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 s=i,o=this;for(;r>Oe;)r&Q&&(s=s.add(o)),o=o.double(),r>>=Q;return s}isSmallOrder(){return this.multiplyUnsafe(fe.h).equals(t.ZERO)}isTorsionFree(){let e=this.multiplyUnsafe(fe.l/vr).double();return fe.l%vr&&(e=e.add(this)),e.equals(t.ZERO)}toAffine(e){let{x:r,y:n,z:i}=this,s=this.equals(t.ZERO);e==null&&(e=s?Dv:xo(i));let o=S(r*e),a=S(n*e),c=S(i*e);if(s)return Se.ZERO;if(c!==Q)throw new Error("invZ was invalid");return new Se(o,a)}fromRistrettoBytes(){Zc()}toRistrettoBytes(){Zc()}fromRistrettoHash(){Zc()}};Pe.BASE=new Pe(fe.Gx,fe.Gy,Q,S(fe.Gx*fe.Gy));Pe.ZERO=new Pe(Oe,Q,Q,Oe);function Y0(t,e){let r=e.negate();return t?r:e}function W0(t){if(!(t instanceof Pe))throw new TypeError("ExtendedPoint expected")}function Xc(t){if(!(t instanceof Qr))throw new TypeError("RistrettoPoint expected")}function Zc(){throw new Error("Legacy method: switch to RistrettoPoint")}var Qr=class t{constructor(e){this.ep=e}static calcElligatorRistrettoMap(e){let{d:r}=fe,n=S(Qi*e*e),i=S((n+Q)*Ov),s=BigInt(-1),o=S((s-r*n)*S(n+r)),{isValid:a,value:c}=ru(i,o),u=S(c*e);wr(u)||(u=S(-u)),a||(c=u),a||(s=n);let l=S(s*(n-Q)*Mv-o),f=c*c,h=S((c+c)*o),p=S(l*Nv),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=br(e,64);let r=Jc(e.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=Jc(e.slice(32,64)),s=this.calcElligatorRistrettoMap(i);return new t(n.add(s))}static fromHex(e){e=br(e,32);let{a:r,d:n}=fe,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",s=Jc(e);if(!qv(Zi(s),e)||wr(s))throw new Error(i);let o=S(s*s),a=S(Q+r*o),c=S(Q-r*o),u=S(a*a),l=S(c*c),f=S(r*n*u-l),{isValid:h,value:p}=X0(S(f*l)),d=S(p*c),m=S(p*d*f),y=S((s+s)*d);wr(y)&&(y=S(-y));let g=S(a*m),x=S(y*g);if(!h||wr(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,s=S(S(n+r)*S(n-r)),o=S(e*r),a=S(o*o),{value:c}=X0(S(s*a)),u=S(c*s),l=S(c*o),f=S(u*l*i),h;if(wr(i*f)){let d=S(r*Qi),m=S(e*Qi);e=d,r=m,h=S(u*kv)}else h=l;wr(e*f)&&(r=S(-r));let p=S((n-r)*h);return wr(p)&&(p=S(-p)),Zi(p)}toHex(){return Ji(this.toRawBytes())}toString(){return this.toHex()}equals(e){Xc(e);let r=this.ep,n=e.ep,i=S(r.x*n.y)===S(r.y*n.x),s=S(r.y*n.y)===S(r.x*n.x);return i||s}add(e){return Xc(e),new t(this.ep.add(e.ep))}subtract(e){return Xc(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))}};Qr.BASE=new Qr(Pe.BASE);Qr.ZERO=new Qr(Pe.ZERO);var eu=new WeakMap,Se=class t{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,eu.delete(this)}static fromHex(e,r=!0){let{d:n,P:i}=fe;e=br(e,32);let s=e.slice();s[31]=e[31]&-129;let o=ji(s);if(r&&o>=i)throw new Error("Expected 0 < hex < P");if(!r&&o>=Z0)throw new Error("Expected 0 < hex < 2**256");let a=S(o*o),c=S(a-Q),u=S(n*a+Q),{isValid:l,value:f}=ru(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,o)}static async fromPrivateKey(e){return(await wo(e)).point}toRawBytes(){let e=Zi(this.y);return e[31]|=this.x&Q?128:0,e}toHex(){return Ji(this.toRawBytes())}toX25519(){let{y:e}=this,r=S((Q+e)*xo(Q-e));return Zi(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(fe.Gx,fe.Gy);Se.ZERO=new Se(Oe,Q);var Xi=class t{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromHex(e){let r=br(e,64),n=Se.fromHex(r.slice(0,32),!1),i=ji(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 go(r,fe.l,!1),this}toRawBytes(){let e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(Zi(this.s),32),e}toHex(){return Ji(this.toRawBytes())}};function Q0(...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 s=t[n];r.set(s,i),i+=s.length}return r}var Fv=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Ji(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=Fv[t[r]];return e}function tu(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),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");e[r]=s}return e}function J0(t){let r=t.toString(16).padStart(64,"0");return tu(r)}function Zi(t){return J0(t).reverse()}function wr(t){return(S(t)&Q)===Q}function ji(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+Ji(Uint8Array.from(t).reverse()))}var Uv=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Jc(t){return S(ji(t)&Uv)}function S(t,e=fe.P){let r=t%e;return r>=Oe?r:e+r}function xo(t,e=fe.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,s=Q,o=Q,a=Oe;for(;r!==Oe;){let u=n/r,l=n%r,f=i-o*u,h=s-a*u;n=r,r=l,i=o,s=a,o=f,a=h}if(n!==Q)throw new Error("invert: does not exist");return S(i,e)}function Kv(t,e=fe.P){let r=new Array(t.length),n=t.reduce((s,o,a)=>o===Oe?s:(r[a]=s,S(s*o,e)),Q),i=xo(n,e);return t.reduceRight((s,o,a)=>o===Oe?s:(r[a]=S(s*r[a],e),S(s*o,e)),i),r}function qt(t,e){let{P:r}=fe,n=t;for(;e-- >Oe;)n*=n,n%=r;return n}function Vv(t){let{P:e}=fe,r=BigInt(5),n=BigInt(10),i=BigInt(20),s=BigInt(40),o=BigInt(80),c=t*t%e*t%e,u=qt(c,vr)*c%e,l=qt(u,Q)*t%e,f=qt(l,r)*l%e,h=qt(f,n)*f%e,p=qt(h,i)*h%e,d=qt(p,s)*p%e,m=qt(d,o)*d%e,y=qt(m,o)*d%e,g=qt(y,n)*f%e;return{pow_p_5_8:qt(g,vr)*t%e,b2:c}}function ru(t,e){let r=S(e*e*e),n=S(r*r*e),i=Vv(t*n).pow_p_5_8,s=S(t*r*i),o=S(e*s*s),a=s,c=S(s*Qi),u=o===t,l=o===S(-t),f=o===S(-t*Qi);return u&&(s=a),(l||f)&&(s=c),wr(s)&&(s=S(-s)),{isValid:u||l,value:s}}function X0(t){return ru(Q,t)}function yo(t){return S(ji(t),fe.l)}function qv(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 br(t,e){let r=t instanceof Uint8Array?Uint8Array.from(t):tu(t);if(typeof e=="number"&&r.length!==e)throw new Error(`Expected ${e} bytes`);return r}function go(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 zv(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function $v(t){if(t=typeof t=="bigint"||typeof t=="number"?J0(go(t,Z0)):br(t),t.length!==32)throw new Error("Expected 32 bytes");return t}function Hv(t){let e=zv(t.slice(0,32)),r=t.slice(32,64),n=yo(e),i=Se.BASE.multiply(n),s=i.toRawBytes();return{head:e,prefix:r,scalar:n,point:i,pointBytes:s}}var jc;async function wo(t){return Hv(await Er.sha512($v(t)))}async function nu(t){return(await wo(t)).pointBytes}async function j0(t,e){t=br(t);let{prefix:r,scalar:n,pointBytes:i}=await wo(e),s=yo(await Er.sha512(r,t)),o=Se.BASE.multiply(s),a=yo(await Er.sha512(o.toRawBytes(),i,t)),c=S(s+a*n,fe.l);return new Xi(o,c).toRawBytes()}function Gv(t,e,r){e=br(e),r instanceof Se||(r=Se.fromHex(r,!1));let{r:n,s:i}=t instanceof Xi?t.assertValidity():Xi.fromHex(t),s=Pe.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:s,pub:r,msg:e}}function Yv(t,e,r,n){let i=yo(n),s=Pe.fromAffine(t).multiplyUnsafe(i);return Pe.fromAffine(e).add(s).subtract(r).multiplyUnsafe(fe.h).equals(Pe.ZERO)}async function ed(t,e,r){let{r:n,SB:i,msg:s,pub:o}=Gv(t,e,r),a=await Er.sha512(n.toRawBytes(),o.toRawBytes(),s);return Yv(o,n,i,a)}Se.BASE._setWindowSize(8);var xr={node:Lv,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},Er={bytesToHex:Ji,hexToBytes:tu,concatBytes:Q0,getExtendedPublicKey:wo,mod:S,invert:xo,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:t=>{if(t=br(t),t.length<40||t.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return S(ji(t),fe.l-Q)+Q},randomBytes:(t=32)=>{if(xr.web)return xr.web.getRandomValues(new Uint8Array(t));if(xr.node){let{randomBytes:e}=xr.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=Q0(...t);if(xr.web){let r=await xr.web.subtle.digest("SHA-512",e.buffer);return new Uint8Array(r)}else{if(xr.node)return Uint8Array.from(xr.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(vr),r},sha512Sync:void 0};Object.defineProperties(Er,{sha512Sync:{configurable:!1,get(){return jc},set(t){jc||(jc=t)}}});var $n=32,nr=64,vo=32;async function td(){let t=Er.randomPrivateKey(),e=await nu(t);return{privateKey:sd(t,e),publicKey:e}}async function rd(t){if(t.length!==vo)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 nu(e);return{privateKey:sd(e,r),publicKey:r}}async function nd(t,e){let r=t.subarray(0,vo);return j0(e,r)}async function id(t,e,r){return ed(e,r,t)}function sd(t,e){let r=new Uint8Array(nr);for(let n=0;n<vo;n++)r[n]=t[n],r[vo+n]=e[n];return r}var iu={};re(iu,{base64:()=>Xr,base64pad:()=>Xv,base64url:()=>Zv,base64urlpad:()=>Jv});var Xr=be({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Xv=be({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Zv=be({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Jv=be({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function Ie(t,e){e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=bt(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Hr(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 su={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function bo(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",s=t?.saltLength??16,o=t?.iterations??32767,a=et.get();r*=8;async function c(f,h){let p=a.getRandomValues(new Uint8Array(s)),d=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:d};typeof h=="string"&&(h=V(h));let y;if(h.length===0){y=await a.subtle.importKey("jwk",su,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},E=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,E,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",su,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},E=await a.subtle.importKey("raw",h,{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 Ie([p,m.iv,new Uint8Array(g)])}async function u(f,h){let p=f.subarray(0,s),d=f.subarray(s,s+n),m=f.subarray(s+n),y={name:e,iv:d};typeof h=="string"&&(h=V(h));let g;if(h.length===0)try{let E={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},T=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(E,T,{name:e,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",su,{name:"AES-GCM"},!0,["decrypt"])}else{let E={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},T=await a.subtle.importKey("raw",h,{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 Hn(t,e){let n=await bo().encrypt(t,e);return Xr.encode(n)}var xu=z(lu(),1),Yd=z(Ud(),1),Wd=z(Jr(),1),wu=z(gu(),1),Qd=z(Gd(),1);function ab(){Wd.default._configure(),xu.default._configure(Yd.default),wu.default._configure(Qd.default)}ab();var Xd=["uint64","int64","sint64","fixed64","sfixed64"];function cb(t){for(let e of Xd){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function vu(t){return cb(new xu.default(t))}function ub(t){for(let e of Xd){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function bu(){return ub(wu.default.create())}function Ke(t,e){let r=vu(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function Ve(t,e){let r=bu();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var Yn;(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"})(Yn||(Yn={}));function Io(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Eu(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(s,o){let a=e(s);o.int32(a)},n=function(s){let o=s.int32();return e(o)};return Io("enum",Yn.VARINT,r,n)}function qe(t,e){return Io("message",Yn.LENGTH_DELIMITED,t,e)}var me;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(me||(me={}));var _u;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(_u||(_u={}));(function(t){t.codec=()=>Eu(_u)})(me||(me={}));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={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=me.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ve(r,t.codec()),t.decode=r=>Ke(r,t.codec())})(Ht||(Ht={}));var Gt;(function(t){let e;t.codec=()=>(e==null&&(e=qe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),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={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=me.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ve(r,t.codec()),t.decode=r=>Ke(r,t.codec())})(Gt||(Gt={}));var rs=class{_key;constructor(e){this._key=Wn(e,$n)}async verify(e,r){return id(this._key,r,e)}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 Ue.digest(this.bytes);return e}},en=class{_key;_publicKey;constructor(e,r){this._key=Wn(e,nr),this._publicKey=Wn(r,$n)}async sign(e){return nd(this._key,e)}get public(){return new rs(this._publicKey)}marshal(){return this._key}get bytes(){return Gt.encode({Type:me.Ed25519,Data:this.marshal()}).subarray()}equals(e){return ge(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ue.digest(this.bytes);return e}async id(){let e=gr.digest(this.public.bytes);return Ae.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Hn(this.bytes,e);throw new b(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function lb(t){if(t.length>nr){t=Wn(t,nr+$n);let n=t.subarray(0,nr),i=t.subarray(nr,t.length);return new en(n,i)}t=Wn(t,nr);let e=t.subarray(0,nr),r=t.subarray($n);return new en(e,r)}function fb(t){return t=Wn(t,$n),new rs(t)}async function hb(){let{privateKey:t,publicKey:e}=await td();return new en(t,e)}async function Zd(t){let{privateKey:e,publicKey:r}=await rd(t);return new en(e,r)}function Wn(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new b(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}function H(t,e="utf8"){let r=po[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 LC=z(_e(),1),DC=z(ao(),1),Jd=z(ne(),1);function At(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=jd(t);return new Jd.default.jsbn.BigInteger(H(e,"base16"),16)}function jd(t,e){let r=V(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 db={"P-256":256,"P-384":384,"P-521":521},pb=Object.keys(db),$C=pb.join(" / ");async function ep(t,e){let r=Xr.decode(t);return bo().decrypt(r,e)}var ku={};re(ku,{RsaPrivateKey:()=>ri,RsaPublicKey:()=>us,fromJwk:()=>Ub,generateKeyPair:()=>Kb,unmarshalRsaPrivateKey:()=>Mb,unmarshalRsaPublicKey:()=>Fb});var cs=z(ne(),1);var C4=z(op(),1);var yb=z(Vr(),1);var X=BigInt(0),de=BigInt(1),Ir=BigInt(2),ss=BigInt(3),ap=BigInt(8),Ee=Object.freeze({a:X,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:de,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),cp=(t,e)=>(t+e/Ir)/e,Co={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){let{n:e}=Ee,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-de*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=cp(s*t,e),c=cp(-n*t,e),u=D(t-a*r-c*i,e),l=D(-a*n-c*s,e),f=u>o,h=l>o;if(f&&(u=e-u),h&&(l=e-l),u>o||l>o)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:h,k2:l}}},St=32,Jn=32,gb=32,up=St+1,lp=2*St+1;function fp(t){let{a:e,b:r}=Ee,n=D(t*t),i=D(n*t);return D(i+e*t+r)}var To=Ee.a===X,Lo=class extends Error{constructor(e){super(e)}};function hp(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,de)}static toAffineBatch(e){let r=Eb(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){hp(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e,c=D(i*i),u=D(a*a),l=D(r*u),f=D(s*c),h=D(D(n*a)*u),p=D(D(o*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),s=D(r*r),o=D(s*s),a=e+s,c=D(Ir*(D(a*a)-i-o)),u=D(ss*i),l=D(u*u),f=D(l-Ir*c),h=D(u*(c-f)-ap*o),p=D(Ir*r*n);return new t(f,h,p)}add(e){hp(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e;if(s===X||o===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(s*c),h=D(D(n*a)*u),p=D(D(o*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),E=D(m*m-g-Ir*x),T=D(m*(x-E)-h*g),R=D(i*a*d);return new t(E,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=mp(e);if(n===de)return this;if(!To){let f=r,h=this;for(;n>X;)n&de&&(f=f.add(h)),h=h.double(),n>>=de;return f}let{k1neg:i,k1:s,k2neg:o,k2:a}=Co.splitScalar(n),c=r,u=r,l=this;for(;s>X||a>X;)s&de&&(c=c.add(l)),a&de&&(u=u.add(l)),l=l.double(),s>>=de,a>>=de;return i&&(c=c.negate()),o&&(u=u.negate()),u=new t(D(u.x*Co.beta),u.y,u.z),c.add(u)}precomputeWindow(e){let r=To?128/e+1:256/e+1,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.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&&Cu.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=t.normalizeZ(i),Cu.set(r,i)));let s=t.ZERO,o=t.BASE,a=1+(To?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+=de);let m=p,y=p+Math.abs(d)-1,g=h%2!==0,x=d<0;d===0?o=o.add(Bo(g,i[m])):s=s.add(Bo(x,i[y]))}return{p:s,f:o}}multiply(e,r){let n=mp(e),i,s;if(To){let{k1neg:o,k1:a,k2neg:c,k2:u}=Co.splitScalar(n),{p:l,f}=this.wNAF(a,r),{p:h,f:p}=this.wNAF(u,r);l=Bo(o,l),h=Bo(c,h),h=new t(D(h.x*Co.beta),h.y,h.z),i=l.add(h),s=f.add(p)}else{let{p:o,f:a}=this.wNAF(n,r);i=o,s=a}return t.normalizeZ([i,s])[0]}toAffine(e){let{x:r,y:n,z:i}=this,s=this.equals(t.ZERO);e==null&&(e=s?ap:ti(i));let o=e,a=D(o*o),c=D(a*o),u=D(r*a),l=D(n*c),f=D(i*o);if(s)return xe.ZERO;if(f!==de)throw new Error("invZ was invalid");return new xe(u,l)}};Xe.BASE=new Xe(Ee.Gx,Ee.Gy,de);Xe.ZERO=new Xe(X,de,X);function Bo(t,e){let r=e.negate();return t?r:e}var Cu=new WeakMap,xe=class t{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,Cu.delete(this)}hasEvenY(){return this.y%Ir===X}static fromCompressedHex(e){let r=e.length===32,n=Rr(r?e:e.subarray(1));if(!Ru(n))throw new Error("Point is not on curve");let i=fp(n),s=bb(i),o=(s&de)===de;r?o&&(s=D(-s)):(e[0]&1)===1!==o&&(s=D(-s));let a=new t(n,s);return a.assertValidity(),a}static fromUncompressedHex(e){let r=Rr(e.subarray(1,St+1)),n=Rr(e.subarray(St+1,St*2+1)),i=new t(r,n);return i.assertValidity(),i}static fromHex(e){let r=ei(e),n=r.length,i=r[0];if(n===St)return this.fromCompressedHex(r);if(n===up&&(i===2||i===3))return this.fromCompressedHex(r);if(n===lp&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${up} compressed bytes or ${lp} uncompressed bytes, not ${n}`)}static fromPrivateKey(e){return t.BASE.multiply(No(e))}static fromSignature(e,r,n){let{r:i,s}=yp(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let o=Pu(ei(e)),{n:a}=Ee,c=n===2||n===3?i+a:i,u=ti(c,a),l=D(-o*u,a),f=D(s*u,a),h=n&1?"03":"02",p=t.fromHex(h+Xn(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 rn(this.toHex(e))}toHex(e=!1){let r=Xn(this.x);return e?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${Xn(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(!Ru(r)||!Ru(n))throw new Error(e);let i=D(n*n),s=fp(r);if(D(i-s)!==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),s=r===X||r===de||this!==t.BASE?i.multiplyUnsafe(r):i.multiply(r),o=Xe.fromAffine(e).multiplyUnsafe(n),a=s.add(o);return a.equals(Xe.ZERO)?void 0:a.toAffine()}};xe.BASE=new xe(Ee.Gx,Ee.Gy);xe.ZERO=new xe(X,X);function dp(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function pp(t){if(t.length<2||t[0]!==2)throw new Error(`Invalid signature integer tag: ${jn(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:Rr(r),left:t.subarray(e+2)}}function xb(t){if(t.length<2||t[0]!=48)throw new Error(`Invalid signature tag: ${jn(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");let{data:e,left:r}=pp(t.subarray(2)),{data:n,left:i}=pp(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${jn(i)}`);return{r:e,s:n}}var Qn=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?jn(e):e;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new t(Do(i.slice(0,64)),Do(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}=xb(r?e:rn(e));return new t(n,i)}static fromHex(e){return this.fromDER(e)}assertValidity(){let{r:e,s:r}=this;if(!as(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!as(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let e=Ee.n>>de;return this.s>e}normalizeS(){return this.hasHighS()?new t(this.r,D(-this.s,Ee.n)):this}toDERRawBytes(){return rn(this.toDERHex())}toDERHex(){let e=dp(is(this.s)),r=dp(is(this.r)),n=e.length/2,i=r.length/2,s=is(n),o=is(i);return`30${is(i+n+4)}02${o}${r}02${s}${e}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return rn(this.toCompactHex())}toCompactHex(){return Xn(this.r)+Xn(this.s)}};function Sr(...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 s=t[n];r.set(s,i),i+=s.length}return r}var wb=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function jn(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let r=0;r<t.length;r++)e+=wb[t[r]];return e}var vb=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Xn(t){if(typeof t!="bigint")throw new Error("Expected bigint");if(!(X<=t&&t<vb))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function Tu(t){let e=rn(Xn(t));if(e.length!==32)throw new Error("Error: expected 32 bytes");return e}function is(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Do(t){if(typeof t!="string")throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function rn(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),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");e[r]=s}return e}function Rr(t){return Do(jn(t))}function ei(t){return t instanceof Uint8Array?Uint8Array.from(t):rn(t)}function mp(t){if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if(typeof t=="bigint"&&as(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function D(t,e=Ee.P){let r=t%e;return r>=X?r:e+r}function yt(t,e){let{P:r}=Ee,n=t;for(;e-- >X;)n*=n,n%=r;return n}function bb(t){let{P:e}=Ee,r=BigInt(6),n=BigInt(11),i=BigInt(22),s=BigInt(23),o=BigInt(44),a=BigInt(88),c=t*t*t%e,u=c*c*t%e,l=yt(u,ss)*u%e,f=yt(l,ss)*u%e,h=yt(f,Ir)*c%e,p=yt(h,n)*h%e,d=yt(p,i)*p%e,m=yt(d,o)*d%e,y=yt(m,a)*m%e,g=yt(y,o)*d%e,x=yt(g,ss)*u%e,E=yt(x,s)*p%e,T=yt(E,r)*c%e,R=yt(T,Ir);if(R*R%e!==t)throw new Error("Cannot find square root");return R}function ti(t,e=Ee.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,s=de,o=de,a=X;for(;r!==X;){let u=n/r,l=n%r,f=i-o*u,h=s-a*u;n=r,r=l,i=o,s=a,o=f,a=h}if(n!==de)throw new Error("invert: does not exist");return D(i,e)}function Eb(t,e=Ee.P){let r=new Array(t.length),n=t.reduce((s,o,a)=>o===X?s:(r[a]=s,D(s*o,e)),de),i=ti(n,e);return t.reduceRight((s,o,a)=>o===X?s:(r[a]=D(s*r[a],e),D(s*o,e)),i),r}function _b(t){let e=t.length*8-Jn*8,r=Rr(t);return e>0?r>>BigInt(e):r}function Pu(t,e=!1){let r=_b(t);if(e)return r;let{n}=Ee;return r>=n?r-n:r}var Zn,os,Bu=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 It.hmacSha256(this.k,...e)}hmacSync(...e){return os(this.k,...e)}checkSync(){if(typeof os!="function")throw new Lo("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 Sr(...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 Sr(...r)}};function as(t){return X<t&&t<Ee.n}function Ru(t){return X<t&&t<Ee.P}function Ab(t,e,r,n=!0){let{n:i}=Ee,s=Pu(t,!0);if(!as(s))return;let o=ti(s,i),a=xe.BASE.multiply(s),c=D(a.x,i);if(c===X)return;let u=D(o*D(e+r*c,i),i);if(u===X)return;let l=new Qn(c,u),f=(a.x===l.r?0:2)|Number(a.y&de);return n&&l.hasHighS()&&(l=l.normalizeS(),f^=1),{sig:l,recovery:f}}function No(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*Jn)throw new Error("Expected 32 bytes of private key");e=Do(t)}else if(t instanceof Uint8Array){if(t.length!==Jn)throw new Error("Expected 32 bytes of private key");e=Rr(t)}else throw new TypeError("Expected valid private key");if(!as(e))throw new Error("Expected private key: 0 < key < n");return e}function Sb(t){return t instanceof xe?(t.assertValidity(),t):xe.fromHex(t)}function yp(t){if(t instanceof Qn)return t.assertValidity(),t;try{return Qn.fromDER(t)}catch{return Qn.fromCompact(t)}}function Lu(t,e=!1){return xe.fromPrivateKey(t).toRawBytes(e)}function gp(t){let e=t.length>St?t.slice(0,St):t;return Rr(e)}function Ib(t){let e=gp(t),r=D(e,Ee.n);return xp(r<X?e:r)}function xp(t){return Tu(t)}function Rb(t,e,r){if(t==null)throw new Error(`sign: expected valid message hash, not "${t}"`);let n=ei(t),i=No(e),s=[xp(i),Ib(n)];if(r!=null){r===!0&&(r=It.randomBytes(St));let c=ei(r);if(c.length!==St)throw new Error(`sign: Expected ${St} bytes of extra data`);s.push(c)}let o=Sr(...s),a=gp(n);return{seed:o,m:a,d:i}}function Cb(t,e){let{sig:r,recovery:n}=t,{der:i,recovered:s}=Object.assign({canonical:!0,der:!0},e),o=i?r.toDERRawBytes():r.toCompactRawBytes();return s?[o,n]:o}async function wp(t,e,r={}){let{seed:n,m:i,d:s}=Rb(t,e,r.extraEntropy),o=new Bu(gb,Jn);await o.reseed(n);let a;for(;!(a=Ab(await o.generate(),i,s,r.canonical));)await o.reseed();return Cb(a,r)}var Tb={strict:!0};function vp(t,e,r,n=Tb){let i;try{i=yp(t),e=ei(e)}catch{return!1}let{r:s,s:o}=i;if(n.strict&&i.hasHighS())return!1;let a=Pu(e),c;try{c=Sb(r)}catch{return!1}let{n:u}=Ee,l=ti(o,u),f=D(a*l,u),h=D(s*l,u),p=xe.BASE.multiplyAndAddUnsafe(c,f,h);return p?D(p.x,u)===s:!1}xe.BASE._setWindowSize(8);var it={node:yb,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var Po={},It={bytesToHex:jn,hexToBytes:rn,concatBytes:Sr,mod:D,invert:ti,isValidPrivateKey(t){try{return No(t),!0}catch{return!1}},_bigintTo32Bytes:Tu,_normalizePrivateKey:No,hashToPrivateKey:t=>{t=ei(t);let e=Jn+8;if(t.length<e||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=D(Rr(t),Ee.n-de)+de;return Tu(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:()=>It.hashToPrivateKey(It.randomBytes(Jn+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(ss),r},sha256:async(...t)=>{if(it.web){let e=await it.web.subtle.digest("SHA-256",Sr(...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=Sr(...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=Po[t];if(r===void 0){let n=await It.sha256(Uint8Array.from(t,i=>i.charCodeAt(0)));r=Sr(n,n),Po[t]=r}return It.sha256(r,...e)},taggedHashSync:(t,...e)=>{if(typeof Zn!="function")throw new Lo("sha256Sync is undefined, you need to set it");let r=Po[t];if(r===void 0){let n=Zn(Uint8Array.from(t,i=>i.charCodeAt(0)));r=Sr(n,n),Po[t]=r}return Zn(r,...e)},_JacobianPoint:Xe};Object.defineProperties(It,{sha256Sync:{configurable:!1,get(){return Zn},set(t){Zn||(Zn=t)}},hmacSha256Sync:{configurable:!1,get(){return os},set(t){os||(os=t)}}});function nn(t){if(isNaN(t)||t<=0)throw new b("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return It.randomBytes(t)}var l4=z(lo(),1),Du=z(ne(),1);function bp(t,e){return e.map(r=>nt(t[r]))}function Ep(t){return Du.default.pki.setRsaPrivateKey(...bp(t,["n","e","d","p","q","dp","dq","qi"]))}function _p(t){return Du.default.pki.setRsaPublicKey(...bp(t,["n","e"]))}var sn={};re(sn,{jwkToPkcs1:()=>Lb,jwkToPkix:()=>Nb,pkcs1ToJwk:()=>Pb,pkixToJwk:()=>Db});var d4=z(Ki(),1),p4=z(lo(),1);var ir=z(ne(),1);function Pb(t){let e=ir.default.asn1.fromDer(H(t,"ascii")),r=ir.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:At(r.n),e:At(r.e),d:At(r.d),p:At(r.p),q:At(r.q),dp:At(r.dP),dq:At(r.dQ),qi:At(r.qInv),alg:"RS256"}}function Lb(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new b("JWK was missing components","ERR_INVALID_PARAMETERS");let e=ir.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 V(ir.default.asn1.toDer(e).getBytes(),"ascii")}function Db(t){let e=ir.default.asn1.fromDer(H(t,"ascii")),r=ir.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:At(r.n),e:At(r.e)}}function Nb(t){if(t.n==null||t.e==null)throw new b("JWK was missing components","ERR_INVALID_PARAMETERS");let e=ir.default.pki.publicKeyToAsn1({n:nt(t.n),e:nt(t.e)});return V(ir.default.asn1.toDer(e).getBytes(),"ascii")}async function Ap(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 Rp(e);return{privateKey:r[0],publicKey:r[1]}}async function Nu(t){let r=[await et.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await kb(t)],n=await Rp({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Sp(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 Ip(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 Rp(t){if(t.privateKey==null||t.publicKey==null)throw new b("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 kb(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 Cp(t,e,r,n){let i=e?_p(t):Ep(t),s=H(Uint8Array.from(r),"ascii"),o=n(s,i);return V(o,"ascii")}function Tp(t,e){return Cp(t,!0,e,(r,n)=>n.encrypt(r))}function Bp(t,e){return Cp(t,!1,e,(r,n)=>n.decrypt(r))}var us=class{_key;constructor(e){this._key=e}async verify(e,r){return Ip(this._key,r,e)}marshal(){return sn.jwkToPkix(this._key)}get bytes(){return Ht.encode({Type:me.RSA,Data:this.marshal()}).subarray()}encrypt(e){return Tp(this._key,e)}equals(e){return ge(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ue.digest(this.bytes);return e}},ri=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return nn(16)}async sign(e){return Sp(this._key,e)}get public(){if(this._publicKey==null)throw new b("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new us(this._publicKey)}decrypt(e){return Bp(this._key,e)}marshal(){return sn.jwkToPkcs1(this._key)}get bytes(){return Gt.encode({Type:me.RSA,Data:this.marshal()}).subarray()}equals(e){return ge(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ue.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 cs.default.util.ByteBuffer(this.marshal()),i=cs.default.asn1.fromDer(n),s=cs.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return cs.default.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return Hn(this.bytes,e);throw new b(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Mb(t){let e=sn.pkcs1ToJwk(t),r=await Nu(e);return new ri(r.privateKey,r.publicKey)}function Fb(t){let e=sn.pkixToJwk(t);return new us(e)}async function Ub(t){let e=await Nu(t);return new ri(e.privateKey,e.publicKey)}async function Kb(t){let e=await Ap(t);return new ri(e.privateKey,e.publicKey)}var Mu={};re(Mu,{Secp256k1PrivateKey:()=>fs,Secp256k1PublicKey:()=>ls,generateKeyPair:()=>$b,unmarshalSecp256k1PrivateKey:()=>qb,unmarshalSecp256k1PublicKey:()=>zb});function Pp(){return It.randomPrivateKey()}async function Lp(t,e){let{digest:r}=await Ue.digest(e);try{return await wp(r,t)}catch(n){throw new b(String(n),"ERR_INVALID_INPUT")}}async function Dp(t,e,r){try{let{digest:n}=await Ue.digest(r);return vp(e,n,t)}catch(n){throw new b(String(n),"ERR_INVALID_INPUT")}}function Np(t){return xe.fromHex(t).toRawBytes(!0)}function kp(t){try{Lu(t,!0)}catch(e){throw new b(String(e),"ERR_INVALID_PRIVATE_KEY")}}function Ou(t){try{xe.fromHex(t)}catch(e){throw new b(String(e),"ERR_INVALID_PUBLIC_KEY")}}function Op(t){try{return Lu(t,!0)}catch(e){throw new b(String(e),"ERR_INVALID_PRIVATE_KEY")}}var ls=class{_key;constructor(e){Ou(e),this._key=e}async verify(e,r){return Dp(this._key,r,e)}marshal(){return Np(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 Ue.digest(this.bytes);return e}},fs=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??Op(e),kp(this._key),Ou(this._publicKey)}async sign(e){return Lp(this._key,e)}get public(){return new ls(this._publicKey)}marshal(){return this._key}get bytes(){return Gt.encode({Type:me.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return ge(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ue.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 Hn(this.bytes,e);throw new b(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function qb(t){return new fs(t)}function zb(t){return new ls(t)}async function $b(){let t=Pp();return new fs(t)}var sr={rsa:ku,ed25519:Au,secp256k1:Mu};function Fu(t){let e=Object.keys(sr).join(" / ");return new b(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Uu(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return sr[t];throw Fu(t)}async function Oo(t,e){return Uu(t).generateKeyPair(e??2048)}function hs(t){let e=Ht.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case me.RSA:return sr.rsa.unmarshalRsaPublicKey(r);case me.Ed25519:return sr.ed25519.unmarshalEd25519PublicKey(r);case me.Secp256k1:return sr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Fu(e.Type??"RSA")}}function Mp(t,e){return e=(e??"rsa").toLowerCase(),Uu(e),t.bytes}async function ni(t){let e=Gt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case me.RSA:return sr.rsa.unmarshalRsaPrivateKey(r);case me.Ed25519:return sr.ed25519.unmarshalEd25519PrivateKey(r);case me.Secp256k1:return sr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Fu(e.Type??"RSA")}}function Fp(t,e){return e=(e??"rsa").toLowerCase(),Uu(e),t.bytes}async function ds(t,e){try{let i=await ep(t,e);return await ni(i)}catch{}let r=ko.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new b("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=ko.default.asn1.toDer(ko.default.pki.privateKeyToAsn1(r));return n=V(n.getBytes(),"ascii"),sr.rsa.unmarshalRsaPrivateKey(n)}var Ku=Symbol.for("@libp2p/content-routing");var ps=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:s})=>s!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new qu(e,r))}},Vu=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},qu=globalThis.CustomEvent??Vu;var zu=Symbol.for("@libp2p/peer-discovery");var $u=Symbol.for("@libp2p/peer-routing");var j4=z(js(),1),Gb=z(ne(),1);var Kp=z(cc(),1),Vp=z(_e(),1),Up={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function ms(t,e,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(Up).join(" / ");throw new b(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let s=Up[i],o=(0,Kp.default)(t,e,r,n,s);return Vp.default.encode64(o,null)}var at=z(Gp(),1);var Hu={};re(Hu,{base32:()=>ot,base32hex:()=>lE,base32hexpad:()=>hE,base32hexpadupper:()=>dE,base32hexupper:()=>fE,base32pad:()=>cE,base32padupper:()=>uE,base32upper:()=>aE,base32z:()=>pE});var ot=be({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),aE=be({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),cE=be({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),uE=be({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),lE=be({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),fE=be({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),hE=be({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),dE=be({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),pE=be({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":ot.baseEncode(t);at.default.formatters.m=t=>t==null?"undefined":Xr.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 mE(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=mE(`${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 Gu=Symbol.for("@libp2p/peer-id");function Uo(t){return t!=null&&!!t[Gu]}var Yu={};re(Yu,{identity:()=>yE});var yE=Kn({prefix:"\0",name:"identity",encode:t=>k0(t),decode:t=>N0(t)});var Wu={};re(Wu,{base2:()=>gE});var gE=be({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Qu={};re(Qu,{base8:()=>xE});var xE=be({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Xu={};re(Xu,{base10:()=>wE});var wE=yr({prefix:"9",name:"base10",alphabet:"0123456789"});var Zu={};re(Zu,{base16:()=>vE,base16upper:()=>bE});var vE=be({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),bE=be({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Ju={};re(Ju,{base36:()=>EE,base36upper:()=>_E});var EE=yr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),_E=yr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ju={};re(ju,{base256emoji:()=>CE});var Yp=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}"),AE=Yp.reduce((t,e,r)=>(t[r]=e,t),[]),SE=Yp.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function IE(t){return t.reduce((e,r)=>(e+=AE[r],e),"")}function RE(t){let e=[];for(let r of t){let n=SE[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var CE=Kn({prefix:"\u{1F680}",name:"base256emoji",encode:IE,decode:RE});var CT=new TextEncoder,TT=new TextDecoder;var Wp=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return LE(r,el(t),e||Ae.encoder);default:return DE(r,el(t),e||ot.encoder)}};var Qp=new WeakMap,el=t=>{let e=Qp.get(t);if(e==null){let r=new Map;return Qp.set(t,r),r}return e},Rt=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!==ys)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==NE)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=Vt(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&&V0(e.multihash,n.multihash)}toString(e){return Wp(this,e)}toJSON(){return{"/":Wp(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:s,bytes:o}=r;return new t(n,i,s,o||Xp(n,i,s.bytes))}else if(r[kE]===!0){let{version:n,multihash:i,code:s}=r,o=Yr(i);return t.create(n,s,o)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==ys)throw new Error(`Version 0 CID must use dag-pb (code: ${ys}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=Xp(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,ys,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=rr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=i.subarray(r.multihashSize-r.digestSize),o=new zn(r.multihashCode,r.digestSize,s,i);return[r.version===0?t.createV0(o):t.createV1(r.codec,o),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,h]=Wi(e.subarray(r));return r+=h,f},i=n(),s=ys;if(i===18?(i=0,r=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=r,a=n(),c=n(),u=r+c,l=u-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=PE(e,r),s=t.decode(i);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return el(s).set(n,e),s}},PE=(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 ot.prefix:{let r=e||ot;return[ot.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)]}}},LE=(t,e,r)=>{let{prefix:n}=r;if(n!==Ae.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return i},DE=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let s=r.encode(t);return e.set(n,s),s}else return i},ys=112,NE=18,Xp=(t,e,r)=>{let n=qn(t),i=n+qn(e),s=new Uint8Array(i+r.byteLength);return Vn(t,s,0),Vn(e,s,n),s.set(r,i),s},kE=Symbol.for("@ipld/js-cid/CID");var gs={...Yu,...Wu,...Qu,...Xu,...Zu,...Hu,...Ju,...$c,...iu,...ju},UT={...Qc,...Gc};var OE=Symbol.for("nodejs.util.inspect.custom"),Zp=Object.values(gs).map(t=>t.decoder).reduce((t,e)=>t.or(e),gs.identity.decoder),Jp=114,tl=36,rl=37,xs=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()})`}[Gu]=!0;toString(){return this.string==null&&(this.string=Ae.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Rt.createV1(Jp,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")}[OE](){return`PeerId(${this.toString()})`}},an=class extends xs{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},cn=class extends xs{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},un=class extends xs{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function jp(t){if(t.type==="RSA")return new an(t);if(t.type==="Ed25519")return new cn(t);if(t.type==="secp256k1")return new un(t);throw new b("Not a PeerId","ERR_INVALID_PARAMETERS")}function te(t,e){if(e=e??Zp,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=Yr(Ae.decode(`z${t}`));return t.startsWith("12D")?new cn({multihash:r}):t.startsWith("16U")?new un({multihash:r}):new an({multihash:r})}return ai(Zp.decode(t))}function ai(t){try{let e=Yr(t);if(e.code===gr.code){if(e.digest.length===tl)return new cn({multihash:e});if(e.digest.length===rl)return new un({multihash:e})}if(e.code===Ue.code)return new an({multihash:e})}catch{return ME(Rt.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function ME(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Jp)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Ue.code)return new an({multihash:t.multihash});if(e.code===gr.code){if(e.digest.length===tl)return new cn({multihash:t.multihash});if(e.digest.length===rl)return new un({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function ci(t,e){return t.length===tl?new cn({multihash:Vt(gr.code,t),privateKey:e}):t.length===rl?new un({multihash:Vt(gr.code,t),privateKey:e}):new an({multihash:await Ue.digest(t),publicKey:t,privateKey:e})}var Ko=(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="/",em=new TextEncoder().encode(or),Vo=em[0],Yt=class t{_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]!==Vo)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(Ko().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=em),this._buf[0]!==Vo){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Vo,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Vo;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let s=r[i],o=n[i];if(s<o)return!0;if(s>o)return!1}return r.length<n.length}reverse(){return t.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(or).slice(1)}type(){return FE(this.baseNamespace())}name(){return UE(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(),...KE(e.map(r=>r.namespaces()))])}};function FE(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function UE(t){let e=t.split(":");return e[e.length-1]}function KE(t){return[].concat(...t)}var um=z(cm(),1),Cr=um.default;var wm=z(xm(),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 $o=Y("libp2p:keychain"),i_="/pkcs8/",vm="/info/",ln=new WeakMap,fn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},il={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function ar(t){return t==null||typeof t!="string"?!1:t===(0,wm.default)(t.trim())&&t.length>0}async function se(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function Wt(t){return new Yt(i_+t)}function Tr(t){return new Yt(vm+t)}var hn=class{components;init;constructor(e,r){if(this.components=e,this.init=Cr(il,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<fn.minKeyLength)throw new Error(`dek.keyLength must be least ${fn.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<fn.minSaltLength)throw new Error(`dek.saltLength must be least ${fn.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<fn.minIterationCount)throw new Error(`dek.iterationCount must be least ${fn.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?ms(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";ln.set(this,{dek:n})}static generateOptions(){let e=Object.assign({},il),r=Math.ceil(fn.minSaltLength/3)*3;return e.dek.salt=H(nn(r),"base64"),e}static get options(){return il}async createKey(e,r,n=2048){if(!ar(e)||e==="self")throw await se(),new b("Invalid key name",Z.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await se(),new b("Invalid key type",Z.ERR_INVALID_KEY_TYPE);let i=Wt(e);if(await this.components.datastore.has(i))throw await se(),new b("Key name already exists",Z.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await se(),new b("Invalid RSA key size",Z.ERR_INVALID_KEY_SIZE);break;default:break}let o;try{let a=await Oo(r,n),c=await a.id(),u=ln.get(this);if(u==null)throw new b("dek missing",Z.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);o={name:e,id:c};let h=this.components.datastore.batch();h.put(i,V(f)),h.put(Tr(e),V(JSON.stringify(o))),await h.commit()}catch(a){throw await se(),a}return o}async listKeys(){let e={prefix:vm},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 b(`Key with id '${e}' does not exist.`,Z.ERR_KEY_NOT_FOUND);return n}catch(r){throw await se(),r}}async findKeyByName(e){if(!ar(e))throw await se(),new b(`Invalid key name '${e}'`,Z.ERR_INVALID_KEY_NAME);let r=Tr(e);try{let n=await this.components.datastore.get(r);return JSON.parse(H(n))}catch(n){throw await se(),$o.error(n),new b(`Key '${e}' does not exist.`,Z.ERR_KEY_NOT_FOUND)}}async removeKey(e){if(!ar(e)||e==="self")throw await se(),new b(`Invalid key name '${e}'`,Z.ERR_INVALID_KEY_NAME);let r=Wt(e),n=await this.findKeyByName(e),i=this.components.datastore.batch();return i.delete(r),i.delete(Tr(e)),await i.commit(),n}async renameKey(e,r){if(!ar(e)||e==="self")throw await se(),new b(`Invalid old key name '${e}'`,Z.ERR_OLD_KEY_NAME_INVALID);if(!ar(r)||r==="self")throw await se(),new b(`Invalid new key name '${r}'`,Z.ERR_NEW_KEY_NAME_INVALID);let n=Wt(e),i=Wt(r),s=Tr(e),o=Tr(r);if(await this.components.datastore.has(i))throw await se(),new b(`Key '${r}' already exists`,Z.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(s),l=JSON.parse(H(u));l.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(o,V(JSON.stringify(l))),f.delete(n),f.delete(s),await f.commit(),l}catch(c){throw await se(),c}}async exportKey(e,r){if(!ar(e))throw await se(),new b(`Invalid key name '${e}'`,Z.ERR_INVALID_KEY_NAME);if(r==null)throw await se(),new b("Password is required",Z.ERR_PASSWORD_REQUIRED);let n=Wt(e);try{let i=await this.components.datastore.get(n),s=H(i),o=ln.get(this);if(o==null)throw new b("dek missing",Z.ERR_INVALID_PARAMETERS);let a=o.dek;return await(await ds(s,a)).export(r)}catch(i){throw await se(),i}}async exportPeerId(e){let r="temporary-password",n=await this.exportKey(e,r),i=await ds(n,r);return ci(i.public.bytes,i.bytes)}async importKey(e,r,n){if(!ar(e)||e==="self")throw await se(),new b(`Invalid key name '${e}'`,Z.ERR_INVALID_KEY_NAME);if(r==null)throw await se(),new b("PEM encoded key is required",Z.ERR_PEM_REQUIRED);let i=Wt(e);if(await this.components.datastore.has(i))throw await se(),new b(`Key '${e}' already exists`,Z.ERR_KEY_ALREADY_EXISTS);let o;try{o=await ds(r,n)}catch{throw await se(),new b("Cannot read the key, most likely the password is wrong",Z.ERR_CANNOT_READ_KEY)}let a;try{a=await o.id();let l=ln.get(this);if(l==null)throw new b("dek missing",Z.ERR_INVALID_PARAMETERS);let f=l.dek;r=await o.export(f)}catch(l){throw await se(),l}let c={name:e,id:a},u=this.components.datastore.batch();return u.put(i,V(r)),u.put(Tr(e),V(JSON.stringify(c))),await u.commit(),c}async importPeer(e,r){try{if(!ar(e))throw new b(`Invalid key name '${e}'`,Z.ERR_INVALID_KEY_NAME);if(r==null)throw new b("PeerId is required",Z.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new b("PeerId.privKey is required",Z.ERR_MISSING_PRIVATE_KEY);let n=await ni(r.privateKey),i=Wt(e);if(await this.components.datastore.has(i))throw await se(),new b(`Key '${e}' already exists`,Z.ERR_KEY_ALREADY_EXISTS);let o=ln.get(this);if(o==null)throw new b("dek missing",Z.ERR_INVALID_PARAMETERS);let a=o.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(Tr(e),V(JSON.stringify(u))),await l.commit(),u}catch(n){throw await se(),n}}async getPrivateKey(e){if(!ar(e))throw await se(),new b(`Invalid key name '${e}'`,Z.ERR_INVALID_KEY_NAME);try{let r=Wt(e),n=await this.components.datastore.get(r);return H(n)}catch(r){throw await se(),$o.error(r),new b(`Key '${e}' does not exist.`,Z.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(e,r){if(typeof e!="string")throw await se(),new b(`Invalid old pass type '${typeof e}'`,Z.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await se(),new b(`Invalid new pass type '${typeof r}'`,Z.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await se(),new b(`Invalid pass length ${r.length}`,Z.ERR_INVALID_PASS_LENGTH);$o("recreating keychain");let n=ln.get(this);if(n==null)throw new b("dek missing",Z.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let s=r!=null&&this.init.dek?.salt!=null?ms(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";ln.set(this,{dek:s});let o=await this.listKeys();for(let a of o){let c=await this.components.datastore.get(Wt(a.name)),u=H(c),l=await ds(u,i),f=s.toString(),h=await l.export(f),p=this.components.datastore.batch(),d={name:a.name,id:a.id};p.put(Wt(a.name),V(h)),p.put(Tr(a.name),V(JSON.stringify(d))),await p.commit()}$o("keychain reconstructed")}};function cr(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 Ct=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 cr(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 cr(this.map.keys(),e=>te(e))}values(){return this.map.values()}get size(){return this.map.size}};var dn=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 cr(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 cr(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 sl=class t{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return cr(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 cr(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 s=te(n);e(s,i,this)&&r.push(s)}),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 ol;(function(t){let e;t.codec=()=>(e==null&&(e=qe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.id!=null&&(n.uint32(10),n.bytes(r.id)),r.pubKey!=null&&(n.uint32(18),n.bytes(r.pubKey)),r.privKey!=null&&(n.uint32(26),n.bytes(r.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.id=r.bytes();break;case 2:i.pubKey=r.bytes();break;case 3:i.privKey=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ve(r,t.codec()),t.decode=r=>Ke(r,t.codec())})(ol||(ol={}));var bm=async()=>{let t=await Oo("Ed25519"),e=await s_(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function s_(t){return ci(Mp(t.public),Fp(t))}function Ho(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 Em=4294967296,ws=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=Ho(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>Em&&(i=0,++n>Em&&(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=Ho(e),i=new t,s=0;if(e.length-r>4){for(;s<4;++s)if(i.lo=(i.lo|(n.get(r)&127)<<s*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;s=0}else for(;s<4;++s){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<s*7)>>>0,n.get(r++)<128)return i}if(e.length-r>4){for(;s<5;++s)if(i.hi=(i.hi|(n.get(r)&127)<<s*7+3)>>>0,n.get(r++)<128)return i}else if(r<e.byteLength)for(;s<5;++s){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<s*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var o_=Math.pow(2,7),a_=Math.pow(2,14),c_=Math.pow(2,21),u_=Math.pow(2,28),l_=Math.pow(2,35),f_=Math.pow(2,42),h_=Math.pow(2,49),d_=Math.pow(2,56),p_=Math.pow(2,63),Tt={encodingLength(t){return t<o_?1:t<a_?2:t<c_?3:t<u_?4:t<l_?5:t<f_?6:t<h_?7:t<d_?8:t<p_?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=bt(Tt.encodingLength(t))),ws.fromNumber(t).toBytes(e,r),e},decode(t,e=0){return ws.fromBytes(t,e).toNumber(!0)}};var Am=Symbol.for("@achingbrain/uint8arraylist");function _m(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 Go(t){return!!t?.[Am]}var Fe=class t{constructor(...e){Object.defineProperty(this,Am,{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(Go(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(Go(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=_m(this.bufs,e);return r.buf[r.index]}set(e,r){let n=_m(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(Go(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),s=new t;return s.length=i,s.bufs=n,s}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let s=0;s<this.bufs.length;s++){let o=this.bufs[s],a=i,c=a+o.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,l=r>a&&r<=c;if(u&&l){if(e===a&&r===c){n.push(o);break}let f=e-a;n.push(o.subarray(f,f+(r-e)));break}if(u){if(e===0){n.push(o);continue}n.push(o.subarray(e-a));continue}if(l){if(r===c){n.push(o);break}n.push(o.subarray(0,r-a));break}n.push(o)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!Go(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let s=256,o=new Int32Array(s);for(let f=0;f<s;f++)o[f]=-1;for(let f=0;f<i;f++)o[n[f]]=f;let a=o,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=r;f<=c;f+=l){l=0;for(let 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=bt(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=tr(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=tr(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=tr(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=bt(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=tr(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=tr(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=tr(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=tr(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=tr(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,s)=>i+s.byteLength,0)),n.length=r,n}};var Sm={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var vs;(function(t){let e;t.codec=()=>(e==null&&(e=qe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.publicKey=r.bytes();break;case 2:i.payloadType=r.bytes();break;case 3:i.payload=r.bytes();break;case 5:i.signature=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ve(r,t.codec()),t.decode=r=>Ke(r,t.codec())})(vs||(vs={}));var fi=class t{static createFromProtobuf=async e=>{let r=vs.decode(e),n=await ci(r.publicKey);return new t({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(e,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=e.domain,i=e.codec,s=e.marshal(),o=Im(n,i,s),c=await(await ni(r.privateKey)).sign(o.subarray());return new t({peerId:r,payloadType:i,payload:s,signature:c})};static openAndCertify=async(e,r)=>{let n=await t.createFromProtobuf(e);if(!await n.validate(r))throw new b("envelope signature is not valid for the given domain",Sm.ERR_SIGNATURE_NOT_VALID);return n};peerId;payloadType;payload;signature;marshaled;constructor(e){let{peerId:r,payloadType:n,payload:i,signature:s}=e;this.peerId=r,this.payloadType=n,this.payload=i,this.signature=s}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=vs.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=Im(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return hs(this.peerId.publicKey).verify(r.subarray(),this.signature)}},Im=(t,e,r)=>{let n=V(t),i=Tt.encode(n.byteLength),s=Tt.encode(e.length),o=Tt.encode(r.length);return new Fe(i,n,s,e,o,r)};function Rm(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 Yo=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var mi=z(ul(),1);var Wo=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let s=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let h=Number.parseInt(f,e);if(!Number.isNaN(h))return h});if(l===void 0)break;if(s*=e,s+=l,s>u||(o+=1,r!==void 0&&o>r))return}if(o!==0)return!n&&c&&o>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let o=this.readSeparator(":",n,()=>this.readIPv4Addr());if(o!==void 0)return r[i]=o[0],r[i+1]=o[1],r[i+2]=o[2],r[i+3]=o[3],[i+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[i,!1];r[i]=s>>8,r[i+1]=s&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),o=16-(n+2),[a]=e(s.subarray(0,o));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Mm=45,C_=15,hi=new Wo;function ll(t){if(!(t.length>C_))return hi.new(t).parseWith(()=>hi.readIPv4Addr())}function fl(t){if(!(t.length>Mm))return hi.new(t).parseWith(()=>hi.readIPv6Addr())}function Qo(t){if(!(t.length>Mm))return hi.new(t).parseWith(()=>hi.readIPAddr())}var A3=parseInt("0xFFFF",16),S3=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Qt=z(ul(),1);function Km(t){return!!ll(t)}function Vm(t){return!!fl(t)}function di(t){return!!Qo(t)}var qm=Km,D_=Vm,hl=function(t){let e=0;if(t=t.toString().trim(),qm(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(D_(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=qm(r[n]),o;s&&(o=hl(r[n]),r[n]=H(o.slice(0,2),"base16")),o!=null&&++n<8&&r.splice(n,0,H(o.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);i[e++]=s>>8&255,i[e++]=s&255}return i}throw new Error("invalid ip address")},zm=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let s=0;s<r;s++)i.push(t[e+s]);return i.join(".")}if(r===16){let i=[];for(let s=0;s<r;s+=2)i.push(n.getUint16(e+s).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var pi={},dl={},k_=[[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"]];k_.forEach(t=>{let e=O_(...t);dl[e.code]=e,pi[e.name]=e});function O_(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function oe(t){if(typeof t=="number"){if(dl[t]!=null)return dl[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(pi[t]!=null)return pi[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var cB=oe("ip4"),uB=oe("ip6"),lB=oe("ipcidr");function ml(t,e){switch(oe(t).code){case 4:case 41:return F_(e);case 42:return Gm(e);case 6:case 273:case 33:case 132:return Wm(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Gm(e);case 421:return q_(e);case 444:return Ym(e);case 445:return Ym(e);case 466:return V_(e);default:return H(e,"base16")}}function yl(t,e){switch(oe(t).code){case 4:return $m(e);case 41:return $m(e);case 42:return Hm(e);case 6:case 273:case 33:case 132:return gl(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Hm(e);case 421:return U_(e);case 444:return z_(e);case 445:return $_(e);case 466:return K_(e);default:return V(e,"base16")}}var pl=Object.values(gs).map(t=>t.decoder),M_=function(){let t=pl[0].or(pl[1]);return pl.slice(2).forEach(e=>t=t.or(e)),t}();function $m(t){if(!di(t))throw new Error("invalid ip address");return hl(t)}function F_(t){let e=zm(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!di(e))throw new Error("invalid ip address");return e}function gl(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Wm(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Hm(t){let e=V(t),r=Uint8Array.from(Qt.default.encode(e.length));return Ie([r,e],r.length+e.length)}function Gm(t){let e=Qt.default.decode(t);if(t=t.slice(Qt.default.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return H(t)}function U_(t){let e;t[0]==="Q"||t[0]==="1"?e=Yr(Ae.decode(`z${t}`)).bytes:e=Rt.parse(t).multihash.bytes;let r=Uint8Array.from(Qt.default.encode(e.length));return Ie([r,e],r.length+e.length)}function K_(t){let e=M_.decode(t),r=Uint8Array.from(Qt.default.encode(e.length));return Ie([r,e],r.length+e.length)}function V_(t){let e=Qt.default.decode(t),r=t.slice(Qt.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return"u"+H(r,"base64url")}function q_(t){let e=Qt.default.decode(t),r=t.slice(Qt.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return H(r,"base58btc")}function z_(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=ot.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=gl(n);return Ie([r,i],r.length+i.length)}function $_(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=ot.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=gl(n);return Ie([r,i],r.length+i.length)}function Ym(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=H(e,"base32"),i=Wm(r);return`${n}:${i}`}function Qm(t){t=xl(t);let e=[],r=[],n=null,i=t.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let s=0;s<i.length;s++){let o=i[s],a=oe(o);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(s++,s>=i.length)throw Zm("invalid address: "+t);if(a.path===!0){n=xl(i.slice(s).join("/")),e.push([a.code,yl(a.code,n)]),r.push([a.code,n]);break}let c=yl(a.code,i[s]);e.push([a.code,c]),r.push([a.code,ml(a.code,c)])}return{string:Xm(r),bytes:vl(e),tuples:e,stringTuples:r,path:n}}function wl(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let s=mi.default.decode(t,i),o=mi.default.decode.bytes??0,a=oe(s),c=H_(a,t.slice(i+o));if(c===0){e.push([s]),r.push([s]),i+=o;continue}let u=t.slice(i+o,i+o+c);if(i+=c+o,i>t.length)throw Zm("Invalid address Uint8Array: "+H(t,"base16"));e.push([s,u]);let l=ml(s,u);if(r.push([s,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(t),string:Xm(r),tuples:e,stringTuples:r,path:n}}function Xm(t){let e=[];return t.map(r=>{let n=oe(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),xl(e.join("/"))}function vl(t){return Ie(t.map(e=>{let r=oe(e[0]),n=Uint8Array.from(mi.default.encode(r.code));return e.length>1&&e[1]!=null&&(n=Ie([n,e[1]])),n}))}function H_(t,e){return t.size>0?t.size/8:t.size===0?0:mi.default.decode(e)+(mi.default.decode.bytes??0)}function xl(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Zm(t){return new Error("Error parsing address: "+t)}var G_=Symbol.for("nodejs.util.inspect.custom"),Y_=[oe("dns").code,oe("dns4").code,oe("dns6").code,oe("dnsaddr").code],El=new Map,Jm=Symbol.for("@multiformats/js-multiaddr/multiaddr");function pn(t){return!!t?.[Jm]}var bl=class t{bytes;#e;#t;#r;#n;[Jm]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=wl(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=Qm(e)}else if(pn(e))r=wl(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,s="",o=oe("tcp"),a=oe("udp"),c=oe("ip4"),u=oe("ip6"),l=oe("dns6"),f=oe("ip6zone");for(let[p,d]of this.stringTuples())p===f.code&&(s=`%${d??""}`),Y_.includes(p)&&(r=o.name,i=443,n=`${d??""}${s}`,e=p===l.code?6:4),(p===o.code||p===a.code)&&(r=oe(p).name,i=parseInt(d??"")),(p===c.code||p===u.code)&&(r=oe(p).name,n=`${d??""}${s}`,e=p===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.#t.map(([e])=>Object.assign({},oe(e)))}protoCodes(){return this.#t.map(([e])=>e)}protoNames(){return this.#t.map(([e])=>oe(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(vl(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===pi.p2p.code&&e.push([n,i]),n===pi["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?H(Ae.decode(`z${n}`),"base58btc"):H(Rt.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(s=>s.resolvable);if(r==null)return[this];let n=El.get(r.name);if(n==null)throw new Yo(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new t(s))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[G_](){return`Multiaddr(${this.#e})`}};function Le(t){return new bl(t)}var jm="libp2p-peer-record",ey=Uint8Array.from([3,1]);var bs;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=qe((s,o,a={})=>{a.lengthDelimited!==!1&&o.fork(),s.multiaddr!=null&&s.multiaddr.byteLength>0&&(o.uint32(10),o.bytes(s.multiaddr)),a.lengthDelimited!==!1&&o.ldelim()},(s,o)=>{let a={multiaddr:new Uint8Array(0)},c=o==null?s.len:s.pos+o;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:a.multiaddr=s.bytes();break;default:s.skipType(u&7);break}}return a})),i),n.encode=s=>Ve(s,n.codec()),n.decode=s=>Ke(s,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=qe((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let o of n.addresses)i.uint32(26),t.AddressInfo.codec().encode(o,i);s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={peerId:new Uint8Array(0),seq:0n,addresses:[]},o=i==null?n.len:n.pos+i;for(;n.pos<o;){let a=n.uint32();switch(a>>>3){case 1:s.peerId=n.bytes();break;case 2:s.seq=n.uint64();break;case 3:s.addresses.push(t.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return s})),r),t.encode=n=>Ve(n,t.codec()),t.decode=n=>Ke(n,t.codec())})(bs||(bs={}));var mn=class t{static createFromProtobuf=e=>{let r=bs.decode(e),n=ai(r.peerId),i=(r.addresses??[]).map(o=>Le(o.multiaddr)),s=r.seq;return new t({peerId:n,multiaddrs:i,seqNumber:s})};static DOMAIN=jm;static CODEC=ey;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=bs.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||!Rm(this.multiaddrs,e.multiaddrs))}};function W_(t){return t[Symbol.asyncIterator]!=null}function Q_(t){if(W_(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 Es=Q_;var fy=z(ry(),1);var As=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Al=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},ny=t=>globalThis.DOMException===void 0?new Al(t):new DOMException(t),iy=t=>{let e=t.reason===void 0?ny("This operation was aborted."):t.reason;return e instanceof Error?e:ny(e)};function Sl(t,e,r,n){let i,s=new Promise((o,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){o(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(iy(c)),c.addEventListener("abort",()=>{a(iy(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{o(r())}catch(l){a(l)}return}let c=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new As(c);typeof t.cancel=="function"&&t.cancel(),a(u)},e),(async()=>{try{o(await t)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return s.clear=()=>{clearTimeout(i),i=void 0},s}function Il(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var yn=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)},ur,Ss=class{constructor(){ur.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&yn(this,ur,"f")[this.size-1].priority>=r.priority){yn(this,ur,"f").push(n);return}let i=Il(yn(this,ur,"f"),n,(s,o)=>o.priority-s.priority);yn(this,ur,"f").splice(i,0,n)}dequeue(){let e=yn(this,ur,"f").shift();return e?.run}filter(e){return yn(this,ur,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return yn(this,ur,"f").length}};ur=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,Rs,Cs,Pr,ra,Ts,Zo,Bt,Is,ct,Jo,ut,Bs,Br,jo,sy,oy,uy,ay,cy,ea,Rl,Cl,na,ly,ta,ia=class extends Error{},Pt=class extends fy.default{constructor(e){var r,n,i,s;if(super(),Ce.add(this),Rs.set(this,void 0),Cs.set(this,void 0),Pr.set(this,0),ra.set(this,void 0),Ts.set(this,void 0),Zo.set(this,0),Bt.set(this,void 0),Is.set(this,void 0),ct.set(this,void 0),Jo.set(this,void 0),ut.set(this,0),Bs.set(this,void 0),Br.set(this,void 0),jo.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:Ss,...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 \`${(s=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);we(this,Rs,e.carryoverConcurrencyCount,"f"),we(this,Cs,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),we(this,ra,e.intervalCap,"f"),we(this,Ts,e.interval,"f"),we(this,ct,new e.queueClass,"f"),we(this,Jo,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,we(this,jo,e.throwOnTimeout===!0,"f"),we(this,Br,e.autoStart===!1,"f")}get concurrency(){return k(this,Bs,"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,Bs,e,"f"),k(this,Ce,"m",na).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,jo,"f"),...r},new Promise((n,i)=>{k(this,ct,"f").enqueue(async()=>{var s,o,a;we(this,ut,(o=k(this,ut,"f"),o++,o),"f"),we(this,Pr,(a=k(this,Pr,"f"),a++,a),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted)throw new ia("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=Sl(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,k(this,Ce,"m",ly).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof As&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{k(this,Ce,"m",uy).call(this)}},r),this.emit("add"),k(this,Ce,"m",ea).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return k(this,Br,"f")?(we(this,Br,!1,"f"),k(this,Ce,"m",na).call(this),this):this}pause(){we(this,Br,!0,"f")}clear(){we(this,ct,new(k(this,Jo,"f")),"f")}async onEmpty(){k(this,ct,"f").size!==0&&await k(this,Ce,"m",ta).call(this,"empty")}async onSizeLessThan(e){k(this,ct,"f").size<e||await k(this,Ce,"m",ta).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",ta).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,Br,"f")}};Rs=new WeakMap,Cs=new WeakMap,Pr=new WeakMap,ra=new WeakMap,Ts=new WeakMap,Zo=new WeakMap,Bt=new WeakMap,Is=new WeakMap,ct=new WeakMap,Jo=new WeakMap,ut=new WeakMap,Bs=new WeakMap,Br=new WeakMap,jo=new WeakMap,Ce=new WeakSet,sy=function(){return k(this,Cs,"f")||k(this,Pr,"f")<k(this,ra,"f")},oy=function(){return k(this,ut,"f")<k(this,Bs,"f")},uy=function(){var e;we(this,ut,(e=k(this,ut,"f"),e--,e),"f"),k(this,Ce,"m",ea).call(this),this.emit("next")},ay=function(){k(this,Ce,"m",Cl).call(this),k(this,Ce,"m",Rl).call(this),we(this,Is,void 0,"f")},cy=function(){let e=Date.now();if(k(this,Bt,"f")===void 0){let r=k(this,Zo,"f")-e;if(r<0)we(this,Pr,k(this,Rs,"f")?k(this,ut,"f"):0,"f");else return k(this,Is,"f")===void 0&&we(this,Is,setTimeout(()=>{k(this,Ce,"m",ay).call(this)},r),"f"),!0}return!1},ea=function(){if(k(this,ct,"f").size===0)return k(this,Bt,"f")&&clearInterval(k(this,Bt,"f")),we(this,Bt,void 0,"f"),this.emit("empty"),k(this,ut,"f")===0&&this.emit("idle"),!1;if(!k(this,Br,"f")){let e=!k(this,Ce,"a",cy);if(k(this,Ce,"a",sy)&&k(this,Ce,"a",oy)){let r=k(this,ct,"f").dequeue();return r?(this.emit("active"),r(),e&&k(this,Ce,"m",Rl).call(this),!0):!1}}return!1},Rl=function(){k(this,Cs,"f")||k(this,Bt,"f")!==void 0||(we(this,Bt,setInterval(()=>{k(this,Ce,"m",Cl).call(this)},k(this,Ts,"f")),"f"),we(this,Zo,Date.now()+k(this,Ts,"f"),"f"))},Cl=function(){k(this,Pr,"f")===0&&k(this,ut,"f")===0&&k(this,Bt,"f")&&(clearInterval(k(this,Bt,"f")),we(this,Bt,void 0,"f")),we(this,Pr,k(this,Rs,"f")?k(this,ut,"f"):0,"f"),k(this,Ce,"m",na).call(this)},na=function(){for(;k(this,Ce,"m",ea).call(this););},ly=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new ia("The task was aborted."))},{once:!0})})},ta=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var Tl=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Bl=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},hy=t=>globalThis.DOMException===void 0?new Bl(t):new DOMException(t),dy=t=>{let e=t.reason===void 0?hy("This operation was aborted."):t.reason;return e instanceof Error?e:hy(e)};function Pl(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout}}=e,o,c=new Promise((u,l)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:h}=e;h.aborted&&l(dy(h)),h.addEventListener("abort",()=>{l(dy(h))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new Tl;o=s.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=()=>{s.clearTimeout.call(void 0,o),o=void 0},c}var Ll="lock:worker:request-read",Dl="lock:worker:release-read",Nl="lock:master:grant-read",kl="lock:worker:request-write",Ol="lock:worker:release-write",Ml="lock:master:grant-write";var Lr={},yi=t=>{t.addEventListener("message",e=>{yi.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{yi.dispatchEvent("message",t,e)})};yi.addEventListener=(t,e)=>{Lr[t]==null&&(Lr[t]=[]),Lr[t].push(e)};yi.removeEventListener=(t,e)=>{Lr[t]!=null&&(Lr[t]=Lr[t].filter(r=>r===e))};yi.dispatchEvent=function(t,e,r){Lr[t]!=null&&Lr[t].forEach(n=>n(e,r))};var Fl=yi;var py=(t,e,r,n,i)=>(s,o)=>{if(o.data.type!==r)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};t.dispatchEvent(new MessageEvent(e,{data:{name:a.name,handler:async()=>(s.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=l=>{if(l==null||l.data==null)return;let f={type:l.data.type,name:l.data.name,identifier:l.data.identifier};f.type===n&&f.identifier===a.identifier&&(s.removeEventListener("message",u),c())};s.addEventListener("message",u)}))}}))},my=(t,e,r,n)=>async()=>{let i=Ko();return globalThis.postMessage({type:e,identifier:i,name:t}),await new Promise(s=>{let o=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===r&&c.identifier===i&&(globalThis.removeEventListener("message",o),s(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",o)})},J_={singleProcess:!1},yy=t=>{if(t=Object.assign({},J_,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return Fl.addEventListener("message",py(r,"requestReadLock",Ll,Dl,Nl)),Fl.addEventListener("message",py(r,"requestWriteLock",kl,Ol,Ml)),r}return{isWorker:!0,readLock:r=>my(r,Ll,Nl,Dl),writeLock:r=>my(r,kl,Ml,Ol)}};var gn={},Dr;async function Ul(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>await Pl((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var j_=(t,e)=>{if(Dr.isWorker===!0)return{readLock:Dr.readLock(t,e),writeLock:Dr.writeLock(t,e)};let r=new Pt({concurrency:1}),n;return{async readLock(){if(n!=null)return await Ul(n,e);n=new Pt({concurrency:e.concurrency,autoStart:!1});let i=n,s=Ul(n,e);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await s},async writeLock(){return n=null,await Ul(r,e)}}},eA={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Kl(t){let e=Object.assign({},eA,t);return Dr==null&&(Dr=yy(e),Dr.isWorker!==!0&&(Dr.addEventListener("requestReadLock",r=>{gn[r.data.name]!=null&&gn[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),Dr.addEventListener("requestWriteLock",async r=>{gn[r.data.name]!=null&&gn[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),gn[e.name]==null&&(gn[e.name]=j_(e.name,e)),gn[e.name]}var ze={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var gi;(function(t){let e;(function(i){let s;i.codec=()=>(s==null&&(s=qe((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&o.value.byteLength>0&&(a.uint32(18),a.bytes(o.value)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:"",value:new Uint8Array(0)},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=o.bytes();break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>Ve(o,i.codec()),i.decode=o=>Ke(o,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let s;i.codec=()=>(s==null&&(s=qe((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&(a.uint32(18),oa.codec().encode(o.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:""},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=oa.codec().decode(o,o.uint32());break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>Ve(o,i.codec()),i.decode=o=>Ke(o,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=qe((i,s,o={})=>{if(o.lengthDelimited!==!1&&s.fork(),i.addresses!=null)for(let a of i.addresses)s.uint32(10),sa.codec().encode(a,s);if(i.protocols!=null)for(let a of i.protocols)s.uint32(18),s.string(a);if(i.publicKey!=null&&(s.uint32(34),s.bytes(i.publicKey)),i.peerRecordEnvelope!=null&&(s.uint32(42),s.bytes(i.peerRecordEnvelope)),i.metadata!=null&&i.metadata.size!==0)for(let[a,c]of i.metadata.entries())s.uint32(50),t.Peer$metadataEntry.codec().encode({key:a,value:c},s);if(i.tags!=null&&i.tags.size!==0)for(let[a,c]of i.tags.entries())s.uint32(58),t.Peer$tagsEntry.codec().encode({key:a,value:c},s);o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={addresses:[],protocols:[],metadata:new Map,tags:new Map},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.addresses.push(sa.codec().decode(i,i.uint32()));break;case 2:o.protocols.push(i.string());break;case 4:o.publicKey=i.bytes();break;case 5:o.peerRecordEnvelope=i.bytes();break;case 6:{let u=t.Peer$metadataEntry.codec().decode(i,i.uint32());o.metadata.set(u.key,u.value);break}case 7:{let u=t.Peer$tagsEntry.codec().decode(i,i.uint32());o.tags.set(u.key,u.value);break}default:i.skipType(c&7);break}}return o})),n),t.encode=i=>Ve(i,t.codec()),t.decode=i=>Ke(i,t.codec())})(gi||(gi={}));var sa;(function(t){let e;t.codec=()=>(e==null&&(e=qe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.multiaddr!=null&&r.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(r.multiaddr)),r.isCertified!=null&&(n.uint32(16),n.bool(r.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={multiaddr:new Uint8Array(0)},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.multiaddr=r.bytes();break;case 2:i.isCertified=r.bool();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ve(r,t.codec()),t.decode=r=>Ke(r,t.codec())})(sa||(sa={}));var oa;(function(t){let e;t.codec=()=>(e==null&&(e=qe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.value!=null&&r.value!==0&&(n.uint32(8),n.uint32(r.value)),r.expiry!=null&&(n.uint32(16),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={value:0},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.value=r.uint32();break;case 2:i.expiry=r.uint64();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ve(r,t.codec()),t.decode=r=>Ke(r,t.codec())})(oa||(oa={}));function xi(t,e){let r=gi.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=jp({...t,publicKey:t.publicKey}));let n=new Map,i=BigInt(Date.now());for(let[s,o]of r.tags.entries())o.expiry!=null&&o.expiry<i||n.set(s,o);return{...r,id:t,addresses:r.addresses.map(({multiaddr:s,isCertified:o})=>({multiaddr:Le(s),isCertified:o??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}var Vl="/peers/";function wi(t){if(!Uo(t)||t.type==null)throw new b("Invalid PeerId",ze.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new Yt(`${Vl}${e}`)}async function gy(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)),!pn(i.multiaddr))throw new b("Multiaddr was invalid",ze.ERR_INVALID_PARAMETERS);if(!await e(t,i.multiaddr))continue;let s=i.isCertified??!1,o=i.multiaddr.toString(),a=n.get(o);a!=null?i.isCertified=a.isCertified||s:n.set(o,{multiaddr:i.multiaddr,isCertified:s})}return[...n.values()].sort((i,s)=>i.multiaddr.toString().localeCompare(s.multiaddr.toString())).map(({isCertified:i,multiaddr:s})=>({isCertified:i,multiaddr:s.bytes}))}async function ca(t,e,r,n){if(e==null)throw new b("Invalid PeerData",ze.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!ge(e.publicKey,t.publicKey))throw new b("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 b("peer id did not match existing peer id",ze.ERR_INVALID_PARAMETERS);let s=i?.addresses??[],o=new Set(i?.protocols??[]),a=i?.metadata??new Map,c=i?.tags??new Map,u=i?.peerRecordEnvelope;if(r==="patch"){if((e.multiaddrs!=null||e.addresses!=null)&&(s=[],e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses)),e.protocols!=null&&(o=new Set(e.protocols)),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=aa(f,{validate:xy})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=aa(f,{validate:wy,map:vy})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses),e.protocols!=null&&(o=new Set([...o,...e.protocols])),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[h,p]of f)p==null?a.delete(h):a.set(h,p);a=aa([...a.entries()],{validate:xy})}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=aa([...h.entries()],{validate:wy,map:vy})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await gy(t,n.addressFilter??(async()=>!0),s),protocols:[...o.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 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(([s],[o])=>s.localeCompare(o)))i!=null&&r.set(n,e.map?.(n,i)??i);return r}function xy(t,e){if(typeof t!="string")throw new b("Metadata key must be a string",ze.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new b("Metadata value must be a Uint8Array",ze.ERR_INVALID_PARAMETERS)}function wy(t,e){if(typeof t!="string")throw new b("Tag name must be a string",ze.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new b("Tag value must be an integer",ze.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new b("Tag value must be between 0-100",ze.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new b("Tag ttl must be an integer",ze.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new b("Tag ttl must be between greater than 0",ze.ERR_INVALID_PARAMETERS)}}function vy(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 ua(t,e,r){let n=t.toString().split("/")[2],i=ot.decode(n),s=ai(i),o=r.get(s);if(o!=null)return o;let a=xi(s,e);return r.set(s,a),a}function tA(t,e){return t==null?{}:{prefix:Vl,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(ua(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(ua(n.key,n.value,e),ua(i.key,i.value,e)))}}var la=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=Kl({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(wi(e))}async delete(e){if(this.peerId.equals(e))throw new b("Cannot delete self peer",ze.ERR_INVALID_PARAMETERS);await this.datastore.delete(wi(e))}async load(e){let r=await this.datastore.get(wi(e));return xi(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await ca(e,r,"patch",{addressFilter:this.addressFilter});return this.#t(e,s,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await ca(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,s,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await ca(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,s,n,i)}async*all(e){let r=new Ct;for await(let{key:n,value:i}of this.datastore.query(tA(e??{},r))){let s=ua(n,i,r);s.id.equals(this.peerId)||(yield s)}}async#e(e){try{let r=await this.datastore.get(wi(e)),n=xi(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 s=gi.encode(r);return n!=null&&ge(s,n)?{peer:xi(e,s),previous:i,updated:!1}:(await this.datastore.put(wi(e),s),{peer:xi(e,s),previous:i,updated:!0})}};var ue=Y("libp2p:peer-store"),fa=class{store;events;peerId;constructor(e,r={}){this.events=e.events,this.peerId=e.peerId,this.store=new la(e,r)}async forEach(e,r){ue.trace("forEach await read lock");let n=await this.store.lock.readLock();ue.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{ue.trace("forEach release read lock"),n()}}async all(e){ue.trace("all await read lock");let r=await this.store.lock.readLock();ue.trace("all got read lock");try{return await Es(this.store.all(e))}finally{ue.trace("all release read lock"),r()}}async delete(e){ue.trace("delete await write lock");let r=await this.store.lock.writeLock();ue.trace("delete got write lock");try{await this.store.delete(e)}finally{ue.trace("delete release write lock"),r()}}async has(e){ue.trace("has await read lock");let r=await this.store.lock.readLock();ue.trace("has got read lock");try{return await this.store.has(e)}finally{ue.trace("has release read lock"),r()}}async get(e){ue.trace("get await read lock");let r=await this.store.lock.readLock();ue.trace("get got read lock");try{return await this.store.load(e)}finally{ue.trace("get release read lock"),r()}}async save(e,r){ue.trace("save await write lock");let n=await this.store.lock.writeLock();ue.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{ue.trace("save release write lock"),n()}}async patch(e,r){ue.trace("patch await write lock");let n=await this.store.lock.writeLock();ue.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{ue.trace("patch release write lock"),n()}}async merge(e,r){ue.trace("merge await write lock");let n=await this.store.lock.writeLock();ue.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{ue.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await fi.openAndCertify(e,mn.DOMAIN);if(r?.equals(n.peerId)===!1)return ue("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=mn.createFromProtobuf(n.payload),s;try{s=await this.get(n.peerId)}catch(o){if(o.code!=="ERR_NOT_FOUND")throw o}if(s?.peerRecordEnvelope!=null){let o=await fi.createFromProtobuf(s.peerRecordEnvelope),a=mn.createFromProtobuf(o.payload);if(a.seqNumber>=i.seqNumber)return ue("sequence number was lower or equal to existing sequence number - stored: %d received: %d",a.seqNumber,i.seqNumber),!1}return await this.patch(i.peerId,{peerRecordEnvelope:e,addresses:i.multiaddrs.map(o=>({isCertified:!0,multiaddr:o}))}),!0}#e(e,r){r.updated&&(this.peerId.equals(e)?this.events.safeDispatchEvent("self:peer:update",{detail:r}):this.events.safeDispatchEvent("peer:update",{detail:r}))}};function rA(t){return t[Symbol.asyncIterator]!=null}function nA(t){if(rA(t))return(async()=>{for await(let e of t);})();for(let e of t);}var ql=nA;function iA(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 ha=iA;function sA(t){return t[Symbol.asyncIterator]!=null}function oA(t,e){if(sA(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=ha(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){await s&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let o=e;return function*(){s===!0&&(yield n);for(let a of r)o(a)&&(yield a)}()}var Lt=oA;function aA(t){return t[Symbol.asyncIterator]!=null}function cA(t,e){return aA(t)?async function*(){yield*(await Es(t)).sort(e)}():function*(){yield*Es(t).sort(e)}()}var zl=cA;function uA(t){return t[Symbol.asyncIterator]!=null}function lA(t,e){return uA(t)?async function*(){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}}():function*(){let r=0;if(!(e<1)){for(let n of t)if(yield n,r++,r===e)return}}()}var $l=lA;var da=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 ql(this.putMany(e,n)),e=[],await ql(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=Lt(n,s=>s.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>Lt(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>zl(i,s),n)),e.offset!=null){let i=0,s=e.offset;n=Lt(n,()=>i++>=s)}return e.limit!=null&&(n=$l(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=Lt(n,s=>s.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>Lt(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>zl(i,s),n)),e.offset!=null){let i=e.offset,s=0;n=Lt(n,()=>s++>=i)}return e.limit!=null&&(n=$l(n,e.limit)),n}};var _y=z(Hl(),1);function Ay(t){return t=t??new Error("Not Found"),(0,_y.default)(t,"ERR_NOT_FOUND")}var pa=class extends da{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 Ay();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 Yt(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new Yt(e)}};function Sy(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var dA=Y("libp2p:address-manager"),pA=t=>t;function Gl(t,e){let r=t.getPeerId();return r!=null&&te(r).equals(e)&&(t=t.decapsulate(Le(`/p2p/${e.toString()}`))),t}var ma=class{components;listen;announce;observed;announceFilter;constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.listen=n.map(s=>s.toString()),this.announce=new Set(i.map(s=>s.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??pA,this._updatePeerStoreAddresses=Sy(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=>{dA.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=Gl(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=Gl(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=Gl(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 Iy(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var Yl=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=>Iy(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")}},mA=["metrics","connectionProtector"],yA=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function Ry(t={}){let e=new Yl(t);return new Proxy(e,{get(n,i,s){if(typeof i=="string"&&!yA.includes(i)){let o=e.components[i];if(o==null&&!mA.includes(i))throw new b(`${i} not set`,"ERR_SERVICE_MISSING");return o}return Reflect.get(n,i,s)},set(n,i,s){return typeof i=="string"?e.components[i]=s:Reflect.set(n,i,s),!0}})}var Ny=z(Cy(),1);var Ty="[a-fA-F\\d:]",Nr=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${Ty})|(?<=${Ty})(?=\\s|$))`:"",Dt="(?: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}",ya=`
|
|
35
|
+
expire = ${s}
|
|
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"))}};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",bi=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)},vi=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}},Ei=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(bi)return bi;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)}),bi=this}},jl=class{constructor(e){if(bi)return bi;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)}})}),bi=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=Ei.call(this,i,o);vi.call(this,"consume",s,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,o)=>{let s=Ei.call(this,i,o);vi.call(this,"penalty",s,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,o)=>{let s=Ei.call(this,i,o);vi.call(this,"reward",s,e,r,n)})}block(e,r,n={}){return new Promise((i,o)=>{let s=Ei.call(this,i,o);vi.call(this,"block",s,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let o=Ei.call(this,n,i);vi.call(this,"get",o,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let o=Ei.call(this,n,i);vi.call(this,"delete",o,e,r)})}};hg.exports={RateLimiterClusterMaster:Jl,RateLimiterClusterMasterPM2:jl,RateLimiterCluster:ef}});var mg=B((FL,pg)=>{var BA=wi(),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(Pi(),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,Ni=I2;var ki=(t,e=0)=>[Ni.decode(t,e),Ni.decode.bytes],Nn=(t,e,r=0)=>(Ni.encode(t,e,r),e),kn=t=>Ni.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]=ki(e),[i,o]=ki(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!==Mi)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!==Mi)throw new Error(`Version 0 CID must use dag-pb (code: ${Mi}) 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,Mi,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]=ki(e.subarray(r));return r+=h,f},i=n(),o=Mi;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},Mi=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:()=>Yi,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,Ui=uv;var Fi=(t,e=0)=>[Ui.decode(t,e),Ui.decode.bytes],Un=(t,e,r=0)=>(Ui.encode(t,e,r),e),Fn=t=>Ui.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]=Fi(e),[i,o]=Fi(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"),Ki=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(Ki*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(qi(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*Ki),m=S(e*Ki);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)),qi(p)}toHex(){return zi(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=$i(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=qi(this.y);return e[31]|=this.x&Q?128:0,e}toHex(){return zi(this.toRawBytes())}toX25519(){let{y:e}=this,r=S((Q+e)*us(Q-e));return qi(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 Vi=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=$i(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(qi(this.s),32),e}toHex(){return zi(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 zi(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 qi(t){return q0(t).reverse()}function xr(t){return(S(t)&Q)===Q}function $i(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+zi(Uint8Array.from(t).reverse()))}var vv=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Kc(t){return S($i(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*Ki),u=s===t,l=s===S(-t),f=s===S(-t*Ki);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($i(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 Vi(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 Vi?t.assertValidity():Vi.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:zi,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($i(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 Yi=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 Yi(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 Yi(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:()=>eo,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),Xi=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(Xi*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(!Ji(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Ji(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(Qi(this.s)),r=np(Qi(this.r)),n=e.length/2,i=r.length/2,o=Qi(n),s=Qi(i);return`30${Qi(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 Qi(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"&&Ji(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,Xi)*u%e,f=mt(l,Xi)*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,Xi)*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,Zi,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 Zi(this.k,...e)}checkSync(){if(typeof Zi!="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 Ji(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(!Ji(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(!Ji(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(Xi),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 Zi},set(t){Zi||(Zi=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(Pi(),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 eo=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 eo(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 eo(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:()=>ro,Secp256k1PublicKey:()=>to,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 to=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}},ro=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 to(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 ro(t)}function AE(t){return new to(t)}async function SE(){let t=Ep();return new ro(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 no(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 io(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 oo=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 so(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!==ao)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!==ao)throw new Error(`Version 0 CID must use dag-pb (code: ${ao}) 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,ao,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]=Fi(e.subarray(r));return r+=h,f},i=n(),o=ao;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},ao=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 co={...Mu,...Uu,...Fu,...Ku,...Vu,...ku,...qu,...Lc,...Gc,...zu},nT={...Mc,...Nc};var gb=Symbol.for("nodejs.util.inspect.custom"),Fp=Object.values(co).map(t=>t.decoder).reduce((t,e)=>t.or(e),co.identity.decoder),Kp=114,Hu=36,Gu=37,uo=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 uo{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},an=class extends uo{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},cn=class extends uo{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?so(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 io(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 io(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 io(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?so(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 io(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,lo=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))),lo.fromNumber(t).toBytes(e,r),e},decode(t,e=0){return lo.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 fo;(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())})(fo||(fo={}));var ci=class t{static createFromProtobuf=async e=>{let r=fo.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=fo.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 no(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 hi=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 fi={},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,fi[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(fi[t]!=null)return fi[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(co).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=hi.default.decode(t,i),s=hi.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(hi.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:hi.default.decode(e)+(hi.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 e=[];this.stringTuples().forEach(([n,i])=>{n===fi.p2p.code&&e.push([n,i]),n===fi["p2p-circuit"].code&&(e=[])});let r=e.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={},di=t=>{t.addEventListener("message",e=>{di.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{di.dispatchEvent("message",t,e)})};di.addEventListener=(t,e)=>{Pr[t]==null&&(Pr[t]=[]),Pr[t].push(e)};di.removeEventListener=(t,e)=>{Pr[t]!=null&&(Pr[t]=Pr[t].filter(r=>r===e))};di.dispatchEvent=function(t,e,r){Pr[t]!=null&&Pr[t].forEach(n=>n(e,r))};var Cl=di;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 pi;(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())})(pi||(pi={}));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 mi(t,e){let r=pi.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 yi(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=mi(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(yi(e))}async delete(e){if(this.peerId.equals(e))throw new E("Cannot delete self peer",ze.ERR_INVALID_PARAMETERS);await this.datastore.delete(yi(e))}async load(e){let r=await this.datastore.get(yi(e));return mi(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(yi(e)),n=mi(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=pi.encode(r);return n!=null&&ge(o,n)?{peer:mi(e,o),previous:i,updated:!1}:(await this.datastore.put(yi(e),o),{peer:mi(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
39
|
(?:${Be}:){7}(?:${Be}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
40
|
-
(?:${Be}:){6}(?:${
|
|
41
|
-
(?:${Be}:){5}(?::${
|
|
42
|
-
(?:${Be}:){4}(?:(?::${Be}){0,1}:${
|
|
43
|
-
(?:${Be}:){3}(?:(?::${Be}){0,2}:${
|
|
44
|
-
(?:${Be}:){2}(?:(?::${Be}){0,3}:${
|
|
45
|
-
(?:${Be}:){1}(?:(?::${Be}){0,4}:${
|
|
46
|
-
(?::(?:(?::${Be}){0,5}:${
|
|
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(),gA=new RegExp(`(?:^${Dt}$)|(?:^${ya}$)`),xA=new RegExp(`^${Dt}$`),wA=new RegExp(`^${ya}$`),Wl=t=>t&&t.exact?gA:new RegExp(`(?:${Nr(t)}${Dt}${Nr(t)})|(?:${Nr(t)}${ya}${Nr(t)})`,"g");Wl.v4=t=>t&&t.exact?xA:new RegExp(`${Nr(t)}${Dt}${Nr(t)}`,"g");Wl.v6=t=>t&&t.exact?wA:new RegExp(`${Nr(t)}${ya}${Nr(t)}`,"g");var By=Wl;var ky=z(Ly(),1),{isValid:vA,parse:bA}=ky.default,EA=["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"],_A=EA.map(t=>new Ny.Netmask(t));function AA(t){for(let e of _A)if(e.contains(t))return!0;return!1}function Dy(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 Oy=t=>{if(vA(t)){let e=bA(t);if(e.kind()==="ipv4")return AA(e.toNormalizedString());if(e.kind()==="ipv6")return Dy(t)}else if(di(t)&&By.v6().test(t))return Dy(t)};var xa=Oy;function My(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!xa(`${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 CL=Symbol.for("@libp2p/transport");var kr;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(kr||(kr={}));function Ql(t){try{let{address:e}=t.nodeAddress();return!!xa(e)}catch{return!0}}function vi(t,e){let r=Ql(t.multiaddr),n=Ql(e.multiaddr);return r&&!n?1:!r&&n||t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}var Zl=z(qy(),1),Jl=z(Yy(),1);var Wy=globalThis.fetch,Qy=globalThis.Headers,FL=globalThis.Request,UL=globalThis.Response;function Ea(t,e,r){return`${t}?name=${e}&type=${r}`}async function Xy(t,e){return await(await Wy(t,{headers:new Qy({accept:"application/dns-json"}),signal:e})).json()}function vn(t,e){return`${e}_${t}`}var Xl=Object.assign((0,Zl.default)("dns-over-http-resolver"),{error:(0,Zl.default)("dns-over-http-resolver:error")}),jl=class{constructor(e={}){this._cache=new Jl.default({max:e?.maxCache??100}),this._TXTcache=new Jl.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??Xy,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(vn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(Ea(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(vn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),Xl.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(vn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(Ea(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(vn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),Xl.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._TXTcache.get(vn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(Ea(s,e,r),o.signal),c=a.Answer.map(l=>[l.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(l=>l.TTL));return this._TXTcache.set(vn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),Xl.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},Zy=jl;var Jy=Zy;var{code:GA}=oe("dnsaddr");async function Ri(t,e={}){let r=new Jy;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===GA)??[];if(i==null)throw new Error("No hostname found in multiaddr");let o=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(o=o.filter(a=>a.includes(n))),o}var Xt;(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"})(Xt||(Xt={}));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 YA={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:Ri},addressSorter:vi},transportManager:{faultTolerance:kr.FATAL_ALL}};function jy(t){let e=Cr(YA,t);if(e.transports==null||e.transports.length<1)throw new b(Xt.ERR_TRANSPORTS_REQUIRED,N.ERR_TRANSPORTS_REQUIRED);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new b(Xt.ERR_PROTECTOR_REQUIRED,N.ERR_PROTECTOR_REQUIRED);return e}var eg="keep-alive";var jg=z(Qg(),1);var TS=Y("libp2p:get-peer");function Aa(t){if(Uo(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(!pn(n))throw TS.error("multiaddr %s was invalid",n),new b("Invalid Multiaddr",N.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new b("Multiaddrs must all have the same peer id or have no peer id",N.ERR_INVALID_PARAMETERS)}else{let s=te(i);if(e==null||!e.equals(s))throw new b("Multiaddrs must all have the same peer id or have no peer id",N.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function BS(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var mf=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new b("missing peer id",N.ERR_INVALID_PARAMETERS);let s={priority:i,peerId:n,run:e};if(this.size>0&&this.#e[this.size-1].priority>=i){this.#e.push(s);return}let o=BS(this.#e,s,(a,c)=>c.priority-a.priority);this.#e.splice(o,0,s)}dequeue(){return this.#e.shift()?.run}filter(e){if(e.peerId!=null){let r=e.peerId;return this.#e.filter(n=>r.equals(n.peerId)).map(n=>n.run)}return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}},Sa=class extends Pt{constructor(e={}){super({...e,queueClass:mf})}hasJob(e){return this.sizeBy({peerId:e})>0}};var $e=Y("libp2p:connection-manager:auto-dial"),Ds={minConnections:50,maxQueueLength:100,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3},Ia=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??Ds.minConnections,this.autoDialPriority=r.autoDialPriority??Ds.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??Ds.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??Ds.maxQueueLength,this.started=!1,this.running=!1,this.queue=new Sa({concurrency:r.autoDialConcurrency??Ds.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 dn(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]}),s=i.sort(()=>Math.random()>.5?1:-1),o=new Ct;for(let c of s)o.has(c.id)||o.set(c.id,[...c.tags.values()].reduce((u,l)=>u+l.value,0));let a=s.sort((c,u)=>{let l=o.get(c.id)??0,f=o.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 Li=Y("libp2p:connection-manager:connection-pruner"),Xg={maxConnections:300,allow:[]},Ra=class{maxConnections;connectionManager;peerStore;allow;events;constructor(e,r={}){this.maxConnections=r.maxConnections??Xg.maxConnections,this.allow=r.allow??Xg.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{Li.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(Li("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;Li("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new Ct;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"&&Li.error("error loading peer tags",u)}}}let s=e.sort((a,c)=>{let u=i.get(a.remotePeer)??0,l=i.get(c.remotePeer)??0;if(u>l)return 1;if(u<l)return-1;let f=a.timeline.open,h=c.timeline.open;return f<h?1:f>h?-1:0}),o=[];for(let a of s)if(Li("too many connections open - closing a connection to %p",a.remotePeer),this.allow.some(u=>a.remoteAddr.toString().startsWith(u.toString()))||o.push(a),o.length===n)break;await Promise.all(o.map(async a=>{try{await a.close()}catch(c){Li.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:o})}};var _f=z(Tn(),1);function Di(t){let e=new globalThis.AbortController;function r(){e.abort();for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}for(let s of t){if(s?.aborted===!0){r();break}s?.addEventListener!=null&&s.addEventListener("abort",r)}function n(){for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}let i=e.signal;return i.clear=n,i}function Mr(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var bf=z(Tn(),1);var Zg=Y("libp2p:connection-manager:utils");async function Ef(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await LS(t,e),o=(await Promise.all(n.map(async a=>Ef(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return Zg("resolved %s to",t,o.map(a=>a.toString())),o}async function LS(t,e){try{return t=Le(t.toString()),await t.resolve(e)}catch(r){return Zg.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function Jg(...t){let e=[];for(let n of t)if(n!=null){try{(0,bf.setMaxListeners)?.(1/0,n)}catch{}e.push(n)}let r=Di(e);try{(0,bf.setMaxListeners)?.(1/0,r)}catch{}return r}var Ge=Y("libp2p:connection-manager:dial-queue"),Ns={addressSorter:vi,maxParallelDials:100,maxPeerAddrsToDial:25,maxParallelDialsPerPeer:10,dialTimeout:3e4,resolvers:{dnsaddr:Ri}},Ca=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;maxParallelDialsPerPeer;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;constructor(e,r={}){this.addressSorter=r.addressSorter??Ns.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??Ns.maxPeerAddrsToDial,this.maxParallelDialsPerPeer=r.maxParallelDialsPerPeer??Ns.maxParallelDialsPerPeer,this.dialTimeout=r.dialTimeout??Ns.dialTimeout,this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController;try{(0,_f.setMaxListeners)?.(1/0,this.shutDownController.signal)}catch{}this.pendingDialCount=e.metrics?.registerMetric("libp2p_dialler_pending_dials"),this.inProgressDialCount=e.metrics?.registerMetric("libp2p_dialler_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))El.set(n,i);this.queue=new Pt({concurrency:r.maxParallelDials??Ns.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}=Aa(e),s=i.map(l=>({multiaddr:l,isCertified:!1})),o=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,s,{...r,signal:o})}catch(l){throw o.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),o.clear(),c.promise;Ge("creating dial target for",a.map(({multiaddr:l})=>l.toString()));let u={id:NS(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:l})=>l)};return u.promise=this.performDial(u,{...r,signal:o}).finally(()=>{this.pendingDials=this.pendingDials.filter(l=>l.id!==u.id),o.clear()}).catch(l=>{throw Ge.error("dial failed to %s",u.multiaddrs.map(f=>f.toString()).join(", "),l),o.aborted?new b(l.message,N.ERR_TIMEOUT):l}),this.pendingDials.push(u),u.promise}createDialAbortControllers(e){let r=Di([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);try{(0,_f.setMaxListeners)?.(1/0,r)}catch{}return r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new b("Tried to dial self",N.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new b("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 Ef(l.multiaddr,n);return f.length===1&&f[0].equals(l.multiaddr)?l:f.map(h=>({multiaddr:h,isCertified:!1}))}))).flat(),s=i.filter(l=>!!this.transportManager.transportForMultiaddr(l.multiaddr)),o=new Map;for(let l of s){let f=l.multiaddr.toString(),h=o.get(f);if(h!=null){h.isCertified=h.isCertified||l.isCertified||!1;continue}o.set(f,l)}let a=[...o.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 b("The dial request has no valid addresses",N.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new b("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 b("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 Pt({concurrency:this.maxParallelDialsPerPeer});i.on("error",o=>{Ge.error("error dialling",o)});let s=await Promise.any(e.multiaddrs.map(async(o,a)=>{let c=n[a];if(c==null)throw new b("dialAction did not come with an AbortController",N.ERR_INVALID_PARAMETERS);let u=Jg(c.signal,r.signal);u.addEventListener("abort",()=>{Ge("dial to %a aborted",o)});let l=Mr();return await i.add(async()=>{if(u.aborted){Ge("dial to %a was aborted before reaching the head of the peer dial queue",o),l.reject(new Nn);return}await this.queue.add(async()=>{try{if(u.aborted){Ge("dial to %a was aborted before reaching the head of the dial queue",o),l.reject(new Nn);return}e.status="active";let f=await this.transportManager.dial(o,{...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 Nn);return}n[a]=void 0,n.forEach(h=>{h!==void 0&&h.abort()}),Ge("dial to %a succeeded",o),l.resolve(f)}catch(f){Ge.error("error during dial of %a",o,f),l.reject(f)}},{...r,signal:u}).catch(f=>{l.reject(f)})},{signal:u}).catch(f=>{l.reject(f)}).finally(()=>{u.clear()}),l.promise}));if(s==null)throw new b("successful dial led to empty object returned from peer dial queue",N.ERR_TRANSPORT_DIAL_FAILED);return e.status="success",s}catch(i){throw e.status="error",e.multiaddrs.length===1&&i.name==="AggregateError"?i.errors[0]:i}}};function NS(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var ht=Y("libp2p:connection-manager"),MS=50,bn={minConnections:50,maxConnections:300,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0,autoDialMaxQueueLength:100},Ta=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;constructor(e,r={}){this.maxConnections=r.maxConnections??bn.maxConnections;let n=r.minConnections??bn.minConnections;if(this.maxConnections<n)throw new b("Connection Manager maxConnections must be greater than minConnections",N.ERR_INVALID_PARAMETERS);this.connections=new Ct,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??bn.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new jg.RateLimiterMemory({points:r.inboundConnectionThreshold??bn.inboundConnectionThreshold,duration:1}),this.autoDial=new Ia({connectionManager:this,peerStore:e.peerStore,events:e.events},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??bn.autoDialConcurrency,autoDialPriority:r.autoDialPriority??bn.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??bn.autoDialMaxQueueLength}),this.connectionPruner=new Ra({connectionManager:this,peerStore:e.peerStore,events:e.events},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new Ca({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater},{addressSorter:r.addressSorter??vi,maxParallelDials:r.maxParallelDials??100,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:Ri}})}isStarted(){return this.started}async start(){this.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let e={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.direction==="inbound"?e.inbound++:e.outbound++;return e}}),this.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let e={};for(let r of this.connections.values())for(let n of r)for(let i of n.streams){let s=`${i.direction} ${i.protocol??"unnegotiated"}`;e[s]=(e[s]??0)+1}return e}}),this.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let e={};for(let n of this.connections.values())for(let i of n){let s={};for(let o of i.streams){let a=`${o.direction} ${o.protocol??"unnegotiated"}`;s[a]=(s[a]??0)+1}for(let[o,a]of Object.entries(s))e[o]=e[o]??[],e[o].push(a)}let r={};for(let[n,i]of Object.entries(e)){i=i.sort((o,a)=>o-a);let s=Math.floor(i.length*.9);r[n]=i[s]}return r}}),this.autoDial.start(),this.started=!0,ht("started")}async afterStart(){Promise.resolve().then(async()=>{let e=await this.peerStore.all({filters:[r=>r.tags.has(eg)]});await Promise.all(e.map(async r=>{await this.openConnection(r.id).catch(n=>{ht.error(n)})}))}).catch(e=>{ht.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){ht.error(i)}})());ht("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),ht("stopped")}onConnect(e){this._onConnect(e).catch(r=>{ht.error(r)})}async _onConnect(e){let{detail:r}=e;if(!this.started){await r.close();return}let n=r.remotePeer,i=this.connections.get(n),s=!1;i!=null?i.push(r):(s=!0,this.connections.set(n,[r])),n.publicKey!=null&&n.type==="RSA"&&await this.peerStore.patch(n,{publicKey:n.publicKey}),s&&this.events.safeDispatchEvent("peer:connect",{detail:r.remotePeer})}onDisconnect(e){let{detail:r}=e;if(!this.started)return;let n=r.remotePeer,i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(s=>s.id!==r.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.events.safeDispatchEvent("peer:disconnect",{detail:r.remotePeer}))}getConnections(e){if(e!=null)return this.connections.get(e)??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(e,r={}){if(!this.isStarted())throw new b("Not started",N.ERR_NODE_NOT_STARTED);r.signal?.throwIfAborted();let{peerId:n}=Aa(e);if(n!=null){ht("dial %p",n);let a=this.getConnections(n);if(a.length>0)return ht("had an existing connection to %p",n),a[0]}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??MS}),s=this.connections.get(i.remotePeer);s==null&&(s=[],this.connections.set(i.remotePeer,s));let o=!1;for(let a of s)a.id===i.id&&(o=!0);return o||s.push(i),i}async closeConnections(e,r={}){let n=this.connections.get(e)??[];await Promise.all(n.map(async i=>{try{await i.close(r)}catch(s){i.abort(s)}}))}async acceptIncomingConnection(e){if(this.deny.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return ht("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 ht("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 ht("connection from %a refused - inboundConnectionThreshold exceeded by host %s",e.remoteAddr,i),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(ht("connection from %a refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var Ba=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},Ni=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Ba(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 Ba(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var Rf=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function En(t={}){return FS(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 FS(t,e){e=e??{};let r=e.onEnd,n=new Ni,i,s,o,a=Mr(),c=async()=>{try{return n.isEmpty()?o?{done:!0}:await new Promise((y,g)=>{s=x=>{s=null,n.push(x);try{y(t(n))}catch(E){g(E)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Mr()})}},u=y=>s!=null?s(y):(n.push(y),i),l=y=>(n=new Ni,s!=null?s({error:y}):(n.push({error:y}),i)),f=y=>{if(o)return i;if(e?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:y})},h=y=>o?i:(o=!0,y!=null?l(y):u({done:!0})),p=()=>(n=new Ni,h(),{done:!0}),d=y=>(h(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:p,throw:d,push:f,end:h,get readableLength(){return n.size},onEmpty:async y=>{let g=y?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let x,E;g!=null&&(x=new Promise((T,R)=>{E=()=>{R(new Rf)},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 US(t){return t[Symbol.asyncIterator]!=null}function KS(...t){let e=[];for(let r of t)US(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=En({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 Fr=KS;function _n(t,...e){if(t==null)throw new Error("Empty pipeline");if(Cf(t)){let n=t;t=()=>n.source}else if(t1(t)||e1(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&Cf(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)Cf(r[n])&&(r[n]=qS(r[n]));return VS(...r)}var VS=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},e1=t=>t?.[Symbol.asyncIterator]!=null,t1=t=>t?.[Symbol.iterator]!=null,Cf=t=>t==null?!1:t.sink!=null&&t.source!=null,qS=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=En({objectMode:!0});r.then(()=>{n.end()},o=>{n.end(o)});let i,s=t.source;if(e1(s))i=async function*(){yield*s,n.end()};else if(t1(s))i=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Fr(n,i())}return t.source};function zS(t){return t[Symbol.asyncIterator]!=null}function $S(t,e){if(zS(t))return async function*(){for await(let a of t)yield e(a)}();let r=ha(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){yield await s;for await(let a of r)yield e(a)}();let o=e;return function*(){yield s;for(let a of r)yield o(a)}()}var r1=$S;async function*ks(t,e){yield*r1(t,async r=>(await e.merge(r.id,{multiaddrs:r.multiaddrs}),r))}function Pa(t){let e=new Set;return Lt(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*La(t,e=1){let r=0;for await(let n of t)r++,yield n;if(r<e)throw new b(`more peers required, seen: ${r} min: ${e}`,"NOT_FOUND")}var Da=class{routers;started;components;constructor(e,r){this.routers=r.routers??[],this.started=!1,this.components=e}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(e,r={}){if(this.routers.length===0)throw new b("No content routers available",N.ERR_NO_ROUTERS_AVAILABLE);yield*_n(Fr(...this.routers.map(n=>n.findProviders(e,r))),n=>ks(n,this.components.peerStore),n=>Pa(n),n=>La(n))}async provide(e,r={}){if(this.routers.length===0)throw new b("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 b(Xt.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 b(Xt.NOT_STARTED_YET,N.DHT_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};function HS(t){return t[Symbol.asyncIterator]!=null}function GS(t){if(HS(t))return(async()=>{for await(let e of t)return e})();for(let e of t)return e}var Na=GS;var YS=Y("libp2p:peer-routing"),ka=class{components;routers;constructor(e,r){this.components=e,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new b("No peer routers available",N.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.components.peerId.toString())throw new b("Should not try to find self",N.ERR_FIND_SELF);let n=await _n(Fr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(s){YS.error(s)}}())),i=>Lt(i,Boolean),i=>ks(i,this.components.peerStore),async i=>Na(i));if(n!=null)return n;throw new b(Xt.NOT_FOUND,N.ERR_NOT_FOUND)}async*getClosestPeers(e,r){if(this.routers.length===0)throw new b("No peer routers available",N.ERR_NO_ROUTERS_AVAILABLE);yield*_n(Fr(...this.routers.map(n=>n.getClosestPeers(e,r))),n=>ks(n,this.components.peerStore),n=>Pa(n),n=>La(n))}};var Tf=Y("libp2p:registrar"),Bf=32,Pf=64,Oa=class{topologies;handlers;components;constructor(e){this.topologies=new Map,this.handlers=new Map,this.components=e,this._onDisconnect=this._onDisconnect.bind(this),this._onPeerUpdate=this._onPeerUpdate.bind(this),this._onConnect=this._onConnect.bind(this),this.components.events.addEventListener("peer:disconnect",this._onDisconnect),this.components.events.addEventListener("peer:connect",this._onConnect),this.components.events.addEventListener("peer:update",this._onPeerUpdate)}getProtocols(){return Array.from(new Set([...this.handlers.keys()])).sort()}getHandler(e){let r=this.handlers.get(e);if(r==null)throw new b(`No handler registered for protocol ${e}`,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 b(`Handler already registered for protocol ${e}`,N.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=Cr.bind({ignoreUndefined:!0})({maxInboundStreams:Bf,maxOutboundStreams:Pf},n);this.handlers.set(e,{handler:r,options:i}),await this.components.peerStore.merge(this.components.peerId,{protocols:[e]})}async unhandle(e){let r=Array.isArray(e)?e:[e];r.forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.patch(this.components.peerId,{protocols:r})}async register(e,r){if(r==null)throw new b("invalid topology",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 s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onDisconnect?.(r)}}).catch(n=>{n.code!==N.ERR_NOT_FOUND&&Tf.error("could not inform topologies of disconnecting peer %p",r,n)})}_onConnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{let i=this.components.connectionManager.getConnections(n.id)[0];if(i==null){Tf("peer %p connected but the connection manager did not have a connection",n);return}for(let s of n.protocols){let o=this.topologies.get(s);if(o!=null)for(let a of o.values())a.onConnect?.(r,i)}}).catch(n=>{n.code!==N.ERR_NOT_FOUND&&Tf.error("could not inform topologies of connecting peer %p",r,n)})}_onPeerUpdate(e){let{peer:r,previous:n}=e.detail,i=(n?.protocols??[]).filter(o=>!r.protocols.includes(o)),s=r.protocols.filter(o=>!(n?.protocols??[]).includes(o));for(let o of i){let a=this.topologies.get(o);if(a!=null)for(let c of a.values())c.onDisconnect?.(r.id)}for(let o of s){let a=this.topologies.get(o);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 Lf=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 n1(t){let{name:e,metrics:r}=t,n;return r!=null?n=new Lf({name:e,metrics:r}):n=new Map,n}var An=Y("libp2p:transports"),Ma=class{components;transports;listeners;faultTolerance;started;constructor(e,r={}){this.components=e,this.started=!1,this.transports=new Map,this.listeners=n1({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??kr.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new b("Transport must have a valid tag",N.ERR_INVALID_KEY);if(this.transports.has(r))throw new b(`There is already a transport with the tag ${r}`,N.ERR_DUPLICATE_TRANSPORT);An("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(An("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),An("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(e,r){let n=this.transportForMultiaddr(e);if(n==null)throw new b(`No transport available for address ${String(e)}`,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 b("Not started",N.ERR_NODE_NOT_STARTED);if(e==null||e.length===0){An("no addresses were provided for listening, this node is dial only");return}let r=[];for(let[n,i]of this.transports.entries()){let s=i.filter(e),o=[];for(let u of s){An("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})}),o.push(l.listen(u))}if(o.length===0){r.push(n);continue}if((await Promise.allSettled(o)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==kr.NO_FATAL)throw new b(`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===kr.FATAL_ALL)throw new b(n,N.ERR_NO_VALID_ADDRESSES);An(`libp2p in dial mode only: ${n}`)}}async remove(e){An("removing %s",e);for(let r of this.listeners.get(e)??[])await r.close();this.transports.delete(e),this.listeners.delete(e)}async removeAll(){let e=[];for(let r of this.transports.keys())e.push(this.remove(r));await Promise.all(e)}};var Of=z(Tn(),1);var lr="/multistream/1.0.0";function Df(t){let e=async function*(){let r=yield,n=new Fe;for await(let i of t){if(r==null){n.append(i),r=yield n,n=new Fe;continue}for(n.append(i);n.length>=r;){let s=n.sublist(0,r);if(n.consume(r),r=yield s,r==null){n.length>0&&(r=yield n,n=new Fe);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 Fa(t){let e=En(),r=Df(t.source),n=Mr(),i,s=t.sink(async function*(){yield*e,yield*await n.promise}());return s.catch(a=>{i=a}),{reader:r,writer:e,stream:{sink:async a=>{if(i!=null){await Promise.reject(i);return}n.resolve(a),await s},source:r},rest:()=>e.end(),write:e.push,read:async()=>{let a=await r.next();if(a.value!=null)return a.value}}}var Os=class extends Error{constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function i1(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 Ua(t,e,r){let n=r??{},i=i1(t);async function*s(){let o,a=()=>{o?.()};for(e.addEventListener("abort",a);;){let c;try{if(e.aborted){let{abortMessage:l,abortCode:f}=n;throw new Os(l,f)}let u=new Promise((l,f)=>{o=()=>{let{abortMessage:h,abortCode:p}=n;f(new Os(h,p))}});c=await Promise.race([u,i.next()]),o=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 s()}function WS(t,e,r){return n=>t(Ua(n,e,r))}function s1(t,e,r){return{sink:WS(t.sink,e,{...r,onAbort:void 0}),source:Ua(t.source,e,r)}}function Ka(t){return t[Symbol.asyncIterator]!=null}var Va=t=>{let e=Tt.encodingLength(t),r=bt(e);return Tt.encode(t,r),Va.bytes=e,r};Va.bytes=0;function qa(t,e){e=e??{};let r=e.lengthEncoder??Va;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return Ka(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}qa.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Va;return new Fe(r(t.byteLength),t)};var ki=z(Hl(),1);var QS=8,XS=1024*1024*4,Sn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(Sn||(Sn={}));var Nf=t=>{let e=Tt.decode(t);return Nf.bytes=Tt.encodingLength(e),e};Nf.bytes=0;function Ms(t,e){let r=new Fe,n=Sn.LENGTH,i=-1,s=e?.lengthDecoder??Nf,o=e?.maxLengthLength??QS,a=e?.maxDataLength??XS;function*c(){for(;r.byteLength>0;){if(n===Sn.LENGTH)try{if(i=s(r),i<0)throw(0,ki.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,ki.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=s.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=Sn.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>o)throw(0,ki.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===Sn.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=Sn.LENGTH}}}return Ka(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,ki.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,ki.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Ms.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:s,value:o}=await t.next(r);if(s===!0)return;o!=null&&(yield o)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}}();return Ms(n,{...e??{},onLength:s=>{r=s}})};var jS=Y("libp2p:mss"),o1=V(`
|
|
49
|
-
`);function Fs(t){let e=new Fe(t,o1);return qa.single(e)}function In(t,e,r={}){let n=Fs(e);r.writeBytes===!0?t.push(n.subarray()):t.push(n)}function a1(t,e,r={}){let n=new Fe;for(let i of e)n.append(Fs(i));r.writeBytes===!0?t.push(n.subarray()):t.push(n)}async function eI(t,e){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>t.next(r)},i=n;e?.signal!=null&&(i=Ua(n,e.signal));let s=a=>{r=a},o=await _n(i,a=>Ms(a,{onLength:s,maxDataLength:1024}),async a=>Na(a));if(o==null||o.length===0)throw new b("no buffer returned","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(o.get(o.byteLength-1)!==o1[0])throw jS.error("Invalid mss message - missing newline - %s",o.subarray()),new b("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return o.sublist(0,-1)}async function Oi(t,e){let r=await eI(t,e);return H(r.subarray())}var Us=Y("libp2p:mss:select");async function Ks(t,e,r={}){e=Array.isArray(e)?[...e]:[e];let{reader:n,writer:i,rest:s,stream:o}=Fa(t),a=e.shift();if(a==null)throw new Error("At least one protocol must be specified");Us.trace('select: write ["%s", "%s"]',lr,a);let c=V(lr),u=V(a);a1(i,[c,u],r);let l=await Oi(n,r);if(Us.trace('select: read "%s"',l),l===lr&&(l=await Oi(n,r),Us.trace('select: read "%s"',l)),l===a)return s(),{stream:o,protocol:a};for(let f of e){Us.trace('select: write "%s"',f),In(i,V(f),r);let h=await Oi(n,r);if(Us.trace('select: read "%s" for "%s"',h,f),h===f)return s(),{stream:o,protocol:f}}throw s(),new b("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}var Vs=Y("libp2p:mss:handle");async function qs(t,e,r){e=Array.isArray(e)?e:[e];let{writer:n,reader:i,rest:s,stream:o}=Fa(t);for(;;){let a=await Oi(i,r);if(Vs.trace('read "%s"',a),a===lr){Vs.trace('respond with "%s" for "%s"',lr,a),In(n,V(lr),r);continue}if(e.includes(a))return In(n,V(a),r),Vs.trace('respond with "%s" for "%s"',a,a),s(),{stream:o,protocol:a};if(a==="ls"){In(n,new Fe(...e.map(c=>Fs(V(c)))),r),Vs.trace('respond with "%s" for %s',e,a);continue}In(n,V("na"),r),Vs('respond with "na" for "%s"',a)}}var l1=z(Tn(),1);var u1=Symbol.for("@libp2p/connection");var za=Y("libp2p:connection"),rI=500,kf=class{id;remoteAddr;remotePeer;direction;timeline;multiplexer;encryption;status;transient;tags;_newStream;_close;_abort;_getStreams;constructor(e){let{remoteAddr:r,remotePeer:n,newStream:i,close:s,abort:o,getStreams:a}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.direction=e.direction,this.status="open",this.timeline=e.timeline,this.multiplexer=e.multiplexer,this.encryption=e.encryption,this.transient=e.transient??!1,this._newStream=i,this._close=s,this._abort=o,this._getStreams=a,this.tags=[]}[Symbol.toStringTag]="Connection";[u1]=!0;get streams(){return this._getStreams()}async newStream(e,r){if(this.status==="closing")throw new b("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.status==="closed")throw new b("the connection is closed","ERR_CONNECTION_CLOSED");if(Array.isArray(e)||(e=[e]),this.transient&&r?.runOnTransientConnection!==!0)throw new b("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");let n=await this._newStream(e,r);return n.direction="outbound",n}addStream(e){e.direction="inbound"}removeStream(e){}async close(e={}){if(!(this.status==="closed"||this.status==="closing")){za("closing connection to %a",this.remoteAddr),this.status="closing",e.signal=e?.signal??AbortSignal.timeout(rI);try{(0,l1.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){za.error("error encountered during graceful close of connection to %a",this.remoteAddr,r),this.abort(r)}}}abort(e){za.error("aborting connection to %a due to error",this.remoteAddr,e),this.status="closing",this.streams.forEach(r=>{r.abort(e)}),za.error("all streams aborted",this.streams.length),this._abort(e),this.timeline.close=Date.now(),this.status="closed"}};function f1(t){return new kf(t)}var ye=Y("libp2p:upgrader");function iI(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 Bf}function sI(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??Pf}function h1(t,e,r){let n=0;return r.streams.forEach(i=>{i.direction===e&&i.protocol===t&&n++}),n}var $a=class{components;connectionEncryption;muxers;inboundUpgradeTimeout;events;constructor(e,r){this.components=e,this.connectionEncryption=new Map,r.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,r.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=r.inboundUpgradeTimeout??3e4,this.events=e.events}async shouldBlockConnection(e,r,n){let i=this.components.connectionGater[n];if(i!==void 0&&await i(e,r))throw new b(`The multiaddr connection is blocked by gater.${n}`,N.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new b("connection denied",N.ERR_CONNECTION_DENIED);let i,s,o,a,c,u=Di([AbortSignal.timeout(this.inboundUpgradeTimeout)]);try{(0,Of.setMaxListeners)?.(1/0,u)}catch{}try{let l=s1(e,u);if(e.source=l.source,e.sink=l.sink,await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new b("The multiaddr connection is blocked by gater.acceptConnection",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:s,protocol:c}=await this._encryptInbound(f));let h={...f,...i};await this.shouldBlockConnection(s,h,"denyInboundEncryptedConnection")}else{let h=e.remoteAddr.getPeerId();if(h==null)throw new b("inbound connection that skipped encryption must have a peer id",N.ERR_INVALID_MULTIADDR);let p=te(h);c="native",s=p}if(o=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,o=h.stream}}catch(h){throw ye.error("Failed to upgrade inbound connection",h),h}return await this.shouldBlockConnection(s,e,"denyInboundUpgradedConnection"),ye("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:o,muxerFactory:a,remotePeer:s,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 s,o,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(s=l,r?.skipEncryption!==!0){({conn:s,remotePeer:o,protocol:c}=await this._encryptOutbound(l,i));let f={...l,...s};await this.shouldBlockConnection(o,f,"denyOutboundEncryptedConnection")}else{if(i==null)throw new b("Encryption was skipped but no peer id was passed",N.ERR_INVALID_PEER);c="native",o=i}if(a=s,r?.muxerFactory!=null)u=r.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...l,...s},this.muxers);u=f.muxerFactory,a=f.stream}}catch(f){throw ye.error("Failed to upgrade outbound connection",f),await e.close(f),f}return await this.shouldBlockConnection(o,e,"denyOutboundUpgradedConnection"),ye("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:o,transient:r?.transient})}_createConnection(e){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:s,remotePeer:o,muxerFactory:a,transient:c}=e,u,l,f;a!=null&&(u=a.createStreamMuxer({direction:n,onIncomingStream:d=>{f!=null&&Promise.resolve().then(async()=>{let m=this.components.registrar.getProtocols(),{stream:y,protocol:g}=await qs(d,m);if(ye("%s: incoming stream opened on %s",n,g),f==null)return;let x=iI(g,this.components.registrar);if(h1(g,"inbound",f)===x){let T=new b(`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(o,{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 b("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,Of.setMaxListeners)?.(1/0,m.signal)}catch{}}let{stream:g,protocol:x}=await Ks(y,d,m),E=sI(x,this.components.registrar,m);if(h1(x,"outbound",f)>=E){let R=new b(`Too many outbound protocol streams for protocol "${x}" - limit ${E}`,N.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw y.abort(R),R}return await this.components.peerStore.merge(o,{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 b(String(g),N.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([u.sink(s.source),s.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 b("connection is not multiplexed",N.ERR_CONNECTION_NOT_MULTIPLEXED)};return f=f1({remoteAddr:i.remoteAddr,remotePeer:o,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:s,options:o}=this.components.registrar.getHandler(i);if(r.transient&&o.runOnTransientConnection!==!0)throw new b("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");s({connection:r,stream:n})}async _encryptInbound(e){let r=Array.from(this.connectionEncryption.keys());ye("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await qs(e,r,{writeBytes:!0}),s=this.connectionEncryption.get(i);if(s==null)throw new Error(`no crypto module found for ${i}`);return ye("encrypting inbound connection..."),{...await s.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw new b(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:s}=await Ks(e,n,{writeBytes:!0}),o=this.connectionEncryption.get(s);if(o==null)throw new Error(`no crypto module found for ${s}`);return ye("encrypting outbound connection to %p",r),{...await o.secureOutbound(this.components.peerId,i,r),protocol:s}}catch(i){throw new b(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:s}=await Ks(e,n,{writeBytes:!0});ye("%s selected as muxer protocol",s);let o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw ye.error("error multiplexing outbound stream",i),new b(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:s}=await qs(e,n,{writeBytes:!0}),o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw ye.error("error multiplexing inbound stream",i),new b(String(i),N.ERR_MUXER_UNAVAILABLE)}}};var tt=Y("libp2p"),Mf=class extends ps{peerId;peerStore;contentRouting;peerRouting;keychain;metrics;services;components;#e;constructor(e){super();let r=new ps,n=r.dispatchEvent.bind(r);r.dispatchEvent=c=>{let u=n(c),l=this.dispatchEvent(new qu(c.type,{detail:c.detail}));return u||l};try{(0,d1.setMaxListeners)?.(1/0,r)}catch{}this.#e=!1,this.peerId=e.peerId,this.services={};let i=this.components=Ry({peerId:e.peerId,events:r,datastore:e.datastore??new pa,connectionGater:My(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new fa(i,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore})),e.metrics!=null&&(this.metrics=this.configureComponent("metrics",e.metrics(this.components))),i.events.addEventListener("peer:update",c=>{if(c.detail.previous==null){let u={id:c.detail.peer.id,multiaddrs:c.detail.peer.addresses.map(l=>l.multiaddr),protocols:c.detail.peer.protocols};this.safeDispatchEvent("peer:discovery",{detail:u})}}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new $a(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 Ma(this.components,e.transportManager)),this.configureComponent("connectionManager",new Ta(this.components,e.connectionManager)),this.configureComponent("registrar",new Oa(this.components)),this.configureComponent("addressManager",new ma(this.components,e.addresses));let s=hn.generateOptions();this.keychain=this.configureComponent("keyChain",new hn(this.components,{...s,...e.keychain}));let o=(e.peerRouters??[]).map((c,u)=>this.configureComponent(`peer-router-${u}`,c(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new ka(this.components,{routers:o}));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 Da(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[Ku]!=null&&(tt("registering service %s for content routing",c),a.push(l[Ku])),l[$u]!=null&&(tt("registering service %s for peer routing",c),o.push(l[$u])),l[zu]!=null&&(tt("registering service %s for peer discovery",c),l[zu].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 dn;for(let r of this.components.connectionManager.getConnections())e.add(r.remotePeer);return Array.from(e)}async dial(e,r={}){return this.components.connectionManager.openConnection(e,r)}async dialProtocol(e,r,n={}){if(r==null)throw new b("no protocols were provided to open a stream",N.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new b("no protocols were provided to open a stream",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={}){pn(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([V("/pk/"),e.multihash.digest]),s=await this.contentRouting.get(i,r);return hs(s),await this.peerStore.patch(e,{publicKey:s}),s}async handle(e,r,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(e,r){return this.components.registrar.register(e,r)}unregister(e){this.components.registrar.unregister(e)}#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 p1(t){if(t.peerId==null){let e=t.datastore;if(e!=null)try{let r=new hn({datastore:e},Cr(hn.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 bm()),new Mf(jy(t))}async function oI(t){let e=await p1(t);return t.start!==!1&&await e.start(),e}return v1(aI);})();
|
|
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 gi(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 xi(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:xi},addressSorter:gi},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 _i=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=>{_i.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(_i("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;_i("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"&&_i.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(_i("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){_i.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:s})}};var df=z(In(),1);function Ai(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=Ai(e);try{(0,ff.setMaxListeners)?.(1/0,r)}catch{}return r}var Ge=Y("libp2p:connection-manager:dial-queue"),Io={addressSorter:gi,maxParallelDials:100,maxPeerAddrsToDial:25,maxParallelDialsPerPeer:10,dialTimeout:3e4,resolvers:{dnsaddr:xi}},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=Ai([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??gi,maxParallelDials:r.maxParallelDials??100,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:xi}})}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}},Si=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 Si,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 Si,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 Si,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 Ii=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,Ii.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Ii.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,Ii.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,Ii.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,Ii.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 Ri(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 Ri(n,r);if(Po.trace('select: read "%s"',l),l===ur&&(l=await Ri(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 Ri(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 Ri(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=Ai([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 oo{peerId;peerStore;contentRouting;peerRouting;keychain;metrics;services;components;#e;constructor(e){super();let r=new oo,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=>{if(c.detail.previous==null){let u={id:c.detail.peer.id,multiaddrs:c.detail.peer.addresses.map(l=>l.multiaddr),protocols:c.detail.peer.protocols};this.safeDispatchEvent("peer:discovery",{detail:u})}}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new 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 no(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:
|