@libp2p/circuit-relay-v2 1.0.7 → 1.0.8-28587d24f
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 +10 -10
- package/dist/src/transport/discovery.d.ts +1 -0
- package/dist/src/transport/discovery.d.ts.map +1 -1
- package/dist/src/transport/discovery.js +4 -2
- package/dist/src/transport/discovery.js.map +1 -1
- package/dist/src/transport/reservation-store.d.ts +2 -2
- package/dist/src/transport/reservation-store.d.ts.map +1 -1
- package/dist/src/transport/reservation-store.js +2 -2
- package/dist/src/transport/reservation-store.js.map +1 -1
- package/dist/src/transport/transport.d.ts +1 -0
- package/dist/src/transport/transport.d.ts.map +1 -1
- package/dist/src/transport/transport.js +6 -3
- package/dist/src/transport/transport.js.map +1 -1
- package/package.json +11 -11
- package/src/transport/discovery.ts +5 -3
- package/src/transport/reservation-store.ts +2 -2
- package/src/transport/transport.ts +8 -3
- package/dist/typedoc-urls.json +0 -12
package/dist/index.min.js
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PCircuitRelayV2 = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
2
|
-
"use strict";var Libp2PCircuitRelayV2=(()=>{var
|
3
|
-
`)}return n};ps.decode=function(e,t){if(typeof e!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var r=ic[t];if(!r){r=ic[t]=[];for(var n=0;n<t.length;++n)r[t.charCodeAt(n)]=n}e=e.replace(/\s/g,"");for(var i=t.length,o=t.charAt(0),s=[0],n=0;n<e.length;n++){var a=r[e.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<s.length;++c)u+=s[c]*i,s[c]=u&255,u>>=8;for(;u>0;)s.push(u&255),u>>=8}for(var f=0;e[f]===o&&f<e.length-1;++f)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function Rd(e,t){var r=0,n=t.length,i=t.charAt(0),o=[0];for(r=0;r<e.length();++r){for(var s=0,a=e.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;e.at(r)===0&&r<e.length()-1;++r)c+=i;for(r=o.length-1;r>=0;--r)c+=t[o[r]];return c}});var Rt=st((P2,fc)=>{var ac=ht(),cc=sc(),g=fc.exports=ac.util=ac.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){g.nextTick=process.nextTick,typeof setImmediate=="function"?g.setImmediate=setImmediate:g.setImmediate=g.nextTick;return}if(typeof setImmediate=="function"){g.setImmediate=function(){return setImmediate.apply(void 0,arguments)},g.nextTick=function(a){return setImmediate(a)};return}if(g.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===e){c.stopPropagation();var u=t.slice();t.length=0,u.forEach(function(f){f()})}};var s=a,e="forge.setImmediate",t=[];g.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(e,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=g.setImmediate;g.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(t.push(c),t.length===1&&i.setAttribute("a",n=!n))}}g.nextTick=g.setImmediate})();g.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;g.globalScope=function(){return g.isNodejs?globalThis:typeof self>"u"?window:self}();g.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};g.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};g.isArrayBufferView=function(e){return e&&g.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function Un(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}g.ByteBuffer=ys;function ys(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(g.isArrayBuffer(e)||g.isArrayBufferView(e))if(typeof Buffer<"u"&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var r=0;r<t.length;++r)this.putByte(t[r])}}else(e instanceof ys||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}g.ByteStringBuffer=ys;var Ld=4096;g.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>Ld&&(this.data.substr(0,1),this._constructedStringLength=0)};g.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};g.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};g.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};g.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this};g.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};g.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(g.encodeUtf8(e))};g.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};g.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};g.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};g.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};g.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};g.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))};g.ByteStringBuffer.prototype.putInt=function(e,t){Un(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};g.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};g.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};g.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};g.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};g.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e};g.ByteStringBuffer.prototype.getInt32=function(){var e=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,e};g.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};g.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e};g.ByteStringBuffer.prototype.getInt32Le=function(){var e=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,e};g.ByteStringBuffer.prototype.getInt=function(e){Un(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};g.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};g.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};g.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};g.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};g.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this};g.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};g.ByteStringBuffer.prototype.copy=function(){var e=g.createBuffer(this.data);return e.read=this.read,e};g.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};g.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};g.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};g.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.length;++t){var r=this.data.charCodeAt(t);r<16&&(e+="0"),e+=r.toString(16)}return e};g.ByteStringBuffer.prototype.toString=function(){return g.decodeUtf8(this.bytes())};function Dd(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=g.isArrayBuffer(e),n=g.isArrayBufferView(e);if(r||n){r?this.data=new DataView(e):this.data=new DataView(e.buffer,e.byteOffset,e.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,e!=null&&this.putBytes(e),"writeOffset"in t&&(this.write=t.writeOffset)}g.DataBuffer=Dd;g.DataBuffer.prototype.length=function(){return this.write-this.read};g.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};g.DataBuffer.prototype.accommodate=function(e,t){if(this.length()>=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this};g.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};g.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};g.DataBuffer.prototype.putBytes=function(e,t){if(g.isArrayBufferView(e)){var r=new Uint8Array(e.buffer,e.byteOffset,e.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(g.isArrayBuffer(e)){var r=new Uint8Array(e);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(e instanceof g.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&g.isArrayBufferView(e.data)){var r=new Uint8Array(e.data.byteLength,e.read,e.length());this.accommodate(r.byteLength);var i=new Uint8Array(e.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(e instanceof g.ByteStringBuffer&&(e=e.data,t="binary"),t=t||"binary",typeof e=="string"){var o;if(t==="hex")return this.accommodate(Math.ceil(e.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=g.binary.hex.decode(e,o,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(e.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=g.binary.base64.decode(e,o,this.write),this;if(t==="utf8"&&(e=g.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=g.binary.raw.decode(o),this;if(t==="utf16")return this.accommodate(e.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=g.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};g.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};g.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};g.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};g.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this};g.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};g.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};g.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this};g.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};g.DataBuffer.prototype.putInt=function(e,t){Un(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};g.DataBuffer.prototype.putSignedInt=function(e,t){return Un(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};g.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};g.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};g.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};g.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};g.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};g.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};g.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};g.DataBuffer.prototype.getInt=function(e){Un(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};g.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};g.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};g.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};g.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};g.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this};g.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};g.DataBuffer.prototype.copy=function(){return new g.DataBuffer(this)};g.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this};g.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};g.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};g.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.byteLength;++t){var r=this.data.getUint8(t);r<16&&(e+="0"),e+=r.toString(16)}return e};g.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return g.binary.raw.encode(t);if(e==="hex")return g.binary.hex.encode(t);if(e==="base64")return g.binary.base64.encode(t);if(e==="utf8")return g.text.utf8.decode(t);if(e==="utf16")return g.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};g.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=g.encodeUtf8(e)),new g.ByteBuffer(e)};g.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};g.xorBytes=function(e,t,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=e.charCodeAt(s)^t.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};g.hexToBytes=function(e){var t="",r=0;for(e.length&!0&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t};g.bytesToHex=function(e){return g.createBuffer(e).toHex()};g.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var fr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",lr=[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],uc="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";g.encode64=function(e,t){for(var r="",n="",i,o,s,a=0;a<e.length;)i=e.charCodeAt(a++),o=e.charCodeAt(a++),s=e.charCodeAt(a++),r+=fr.charAt(i>>2),r+=fr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=fr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":fr.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
4
|
-
`,r=r.substr(t));return n+=r,n};
|
5
|
-
`,r=r.substr(t));return n+=r,n};g.binary.base64.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/4)*3)),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,u=r;c<e.length;)i=lr[e.charCodeAt(c++)-43],o=lr[e.charCodeAt(c++)-43],s=lr[e.charCodeAt(c++)-43],a=lr[e.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 t?u-r:n.subarray(0,u)};g.binary.base58.encode=function(e,t){return g.binary.baseN.encode(e,uc,t)};g.binary.base58.decode=function(e,t){return g.binary.baseN.decode(e,uc,t)};g.text={utf8:{},utf16:{}};g.text.utf8.encode=function(e,t,r){e=g.encodeUtf8(e);var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n};g.text.utf8.decode=function(e){return g.decodeUtf8(String.fromCharCode.apply(null,e))};g.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<e.length;++a)i[s++]=e.charCodeAt(a),o+=2;return t?o-r:n};g.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};g.deflate=function(e,t,r){if(t=g.decode64(e.deflate(g.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};g.inflate=function(e,t,r){var n=e.inflate(g.encode64(t)).rval;return n===null?null:g.decode64(n)};var ms=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=g.encode64(JSON.stringify(r)),n=e.setItem(t,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}},gs=function(e,t){if(!e)throw new Error("WebStorage not available.");var r=e.getItem(t);if(e.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(g.decode64(r))),r},Nd=function(e,t,r,n){var i=gs(e,t);i===null&&(i={}),i[r]=n,ms(e,t,i)},Pd=function(e,t,r){var n=gs(e,t);return n!==null&&(n=r in n?n[r]:null),n},kd=function(e,t,r){var n=gs(e,t);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),ms(e,t,n)}},Ud=function(e,t){ms(e,t,null)},gi=function(e,t,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(t[0]===null)throw new Error("Flash local storage not available.");n=e.apply(this,t),o=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=e.apply(this,t),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};g.setItem=function(e,t,r,n,i){gi(Nd,arguments,i)};g.getItem=function(e,t,r,n){return gi(Pd,arguments,n)};g.removeItem=function(e,t,r,n){gi(kd,arguments,n)};g.clearItems=function(e,t,r){gi(Ud,arguments,r)};g.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};g.format=function(e){for(var t=/%./g,r,n,i=0,o=[],s=0;r=t.exec(e);){n=e.substring(s,t.lastIndex-2),n.length>0&&o.push(n),s=t.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(e.substring(s)),o.join("")};g.formatNumber=function(e,t,r,n){var i=e,o=isNaN(t=Math.abs(t))?2:t,s=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",f=u.length>3?u.length%3:0;return c+(f?u.substr(0,f)+a:"")+u.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-u).toFixed(o).slice(2):"")};g.formatSize=function(e){return e>=1073741824?e=g.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=g.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=g.formatNumber(e/1024,0)+" KiB":e=g.formatNumber(e,0)+" bytes",e};g.bytesFromIP=function(e){return e.indexOf(".")!==-1?g.bytesFromIPv4(e):e.indexOf(":")!==-1?g.bytesFromIPv6(e):null};g.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=g.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};g.bytesFromIPv6=function(e){var t=0;e=e.split(":").filter(function(s){return s.length===0&&++t,!0});for(var r=(8-e.length+t)*2,n=g.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=g.hexToBytes(e[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};g.bytesToIP=function(e){return e.length===4?g.bytesToIPv4(e):e.length===16?g.bytesToIPv6(e):null};g.bytesToIPv4=function(e){if(e.length!==4)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")};g.bytesToIPv6=function(e){if(e.length!==16)return null;for(var t=[],r=[],n=0,i=0;i<e.length;i+=2){for(var o=g.bytesToHex(e[i]+e[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=t.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))}t.push(o)}if(r.length>0){var c=r[n];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),c.start===0&&t.unshift(""),c.end===7&&t.push(""))}return t.join(":")};g.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in g&&!e.update)return t(null,g.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return g.cores=navigator.hardwareConcurrency,t(null,g.cores);if(typeof Worker>"u")return g.cores=1,t(null,g.cores);if(typeof Blob>"u")return g.cores=2,t(null,g.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(f,l){return f+l},0)/s.length);return g.cores=Math.max(1,u),URL.revokeObjectURL(r),t(null,g.cores)}i(c,function(f,l){s.push(o(c,l)),n(s,a-1,c)})}function i(s,a){for(var c=[],u=[],f=0;f<s;++f){var l=new Worker(r);l.addEventListener("message",function(h){if(u.push(h.data),u.length===s){for(var y=0;y<s;++y)c[y].terminate();a(null,u)}}),c.push(l)}for(var f=0;f<s;++f)c[f].postMessage(f)}function o(s,a){for(var c=[],u=0;u<s;++u)for(var f=a[u],l=c[u]=[],h=0;h<s;++h)if(u!==h){var y=a[h];(f.st>y.st&&f.st<y.et||y.st>f.st&&y.st<f.et)&&l.push(h)}return c.reduce(function(d,p){return Math.max(d,p.length)},0)}}});var xi=st((k2,lc)=>{var On=ht();On.pki=On.pki||{};var xs=lc.exports=On.pki.oids=On.oids=On.oids||{};function C(e,t){xs[e]=t,xs[t]=e}function at(e,t){xs[e]=t}C("1.2.840.113549.1.1.1","rsaEncryption");C("1.2.840.113549.1.1.4","md5WithRSAEncryption");C("1.2.840.113549.1.1.5","sha1WithRSAEncryption");C("1.2.840.113549.1.1.7","RSAES-OAEP");C("1.2.840.113549.1.1.8","mgf1");C("1.2.840.113549.1.1.9","pSpecified");C("1.2.840.113549.1.1.10","RSASSA-PSS");C("1.2.840.113549.1.1.11","sha256WithRSAEncryption");C("1.2.840.113549.1.1.12","sha384WithRSAEncryption");C("1.2.840.113549.1.1.13","sha512WithRSAEncryption");C("1.3.101.112","EdDSA25519");C("1.2.840.10040.4.3","dsa-with-sha1");C("1.3.14.3.2.7","desCBC");C("1.3.14.3.2.26","sha1");C("1.3.14.3.2.29","sha1WithRSASignature");C("2.16.840.1.101.3.4.2.1","sha256");C("2.16.840.1.101.3.4.2.2","sha384");C("2.16.840.1.101.3.4.2.3","sha512");C("2.16.840.1.101.3.4.2.4","sha224");C("2.16.840.1.101.3.4.2.5","sha512-224");C("2.16.840.1.101.3.4.2.6","sha512-256");C("1.2.840.113549.2.2","md2");C("1.2.840.113549.2.5","md5");C("1.2.840.113549.1.7.1","data");C("1.2.840.113549.1.7.2","signedData");C("1.2.840.113549.1.7.3","envelopedData");C("1.2.840.113549.1.7.4","signedAndEnvelopedData");C("1.2.840.113549.1.7.5","digestedData");C("1.2.840.113549.1.7.6","encryptedData");C("1.2.840.113549.1.9.1","emailAddress");C("1.2.840.113549.1.9.2","unstructuredName");C("1.2.840.113549.1.9.3","contentType");C("1.2.840.113549.1.9.4","messageDigest");C("1.2.840.113549.1.9.5","signingTime");C("1.2.840.113549.1.9.6","counterSignature");C("1.2.840.113549.1.9.7","challengePassword");C("1.2.840.113549.1.9.8","unstructuredAddress");C("1.2.840.113549.1.9.14","extensionRequest");C("1.2.840.113549.1.9.20","friendlyName");C("1.2.840.113549.1.9.21","localKeyId");C("1.2.840.113549.1.9.22.1","x509Certificate");C("1.2.840.113549.1.12.10.1.1","keyBag");C("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");C("1.2.840.113549.1.12.10.1.3","certBag");C("1.2.840.113549.1.12.10.1.4","crlBag");C("1.2.840.113549.1.12.10.1.5","secretBag");C("1.2.840.113549.1.12.10.1.6","safeContentsBag");C("1.2.840.113549.1.5.13","pkcs5PBES2");C("1.2.840.113549.1.5.12","pkcs5PBKDF2");C("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");C("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");C("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");C("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");C("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");C("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");C("1.2.840.113549.2.7","hmacWithSHA1");C("1.2.840.113549.2.8","hmacWithSHA224");C("1.2.840.113549.2.9","hmacWithSHA256");C("1.2.840.113549.2.10","hmacWithSHA384");C("1.2.840.113549.2.11","hmacWithSHA512");C("1.2.840.113549.3.7","des-EDE3-CBC");C("2.16.840.1.101.3.4.1.2","aes128-CBC");C("2.16.840.1.101.3.4.1.22","aes192-CBC");C("2.16.840.1.101.3.4.1.42","aes256-CBC");C("2.5.4.3","commonName");C("2.5.4.4","surname");C("2.5.4.5","serialNumber");C("2.5.4.6","countryName");C("2.5.4.7","localityName");C("2.5.4.8","stateOrProvinceName");C("2.5.4.9","streetAddress");C("2.5.4.10","organizationName");C("2.5.4.11","organizationalUnitName");C("2.5.4.12","title");C("2.5.4.13","description");C("2.5.4.15","businessCategory");C("2.5.4.17","postalCode");C("2.5.4.42","givenName");C("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");C("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");C("2.16.840.1.113730.1.1","nsCertType");C("2.16.840.1.113730.1.13","nsComment");at("2.5.29.1","authorityKeyIdentifier");at("2.5.29.2","keyAttributes");at("2.5.29.3","certificatePolicies");at("2.5.29.4","keyUsageRestriction");at("2.5.29.5","policyMapping");at("2.5.29.6","subtreesConstraint");at("2.5.29.7","subjectAltName");at("2.5.29.8","issuerAltName");at("2.5.29.9","subjectDirectoryAttributes");at("2.5.29.10","basicConstraints");at("2.5.29.11","nameConstraints");at("2.5.29.12","policyConstraints");at("2.5.29.13","basicConstraints");C("2.5.29.14","subjectKeyIdentifier");C("2.5.29.15","keyUsage");at("2.5.29.16","privateKeyUsagePeriod");C("2.5.29.17","subjectAltName");C("2.5.29.18","issuerAltName");C("2.5.29.19","basicConstraints");at("2.5.29.20","cRLNumber");at("2.5.29.21","cRLReason");at("2.5.29.22","expirationDate");at("2.5.29.23","instructionCode");at("2.5.29.24","invalidityDate");at("2.5.29.25","cRLDistributionPoints");at("2.5.29.26","issuingDistributionPoint");at("2.5.29.27","deltaCRLIndicator");at("2.5.29.28","issuingDistributionPoint");at("2.5.29.29","certificateIssuer");at("2.5.29.30","nameConstraints");C("2.5.29.31","cRLDistributionPoints");C("2.5.29.32","certificatePolicies");at("2.5.29.33","policyMappings");at("2.5.29.34","policyConstraints");C("2.5.29.35","authorityKeyIdentifier");at("2.5.29.36","policyConstraints");C("2.5.29.37","extKeyUsage");at("2.5.29.46","freshestCRL");at("2.5.29.54","inhibitAnyPolicy");C("1.3.6.1.4.1.11129.2.4.2","timestampList");C("1.3.6.1.5.5.7.1.1","authorityInfoAccess");C("1.3.6.1.5.5.7.3.1","serverAuth");C("1.3.6.1.5.5.7.3.2","clientAuth");C("1.3.6.1.5.5.7.3.3","codeSigning");C("1.3.6.1.5.5.7.3.4","emailProtection");C("1.3.6.1.5.5.7.3.8","timeStamping")});var Kn=st((U2,dc)=>{var mt=ht();Rt();xi();var k=dc.exports=mt.asn1=mt.asn1||{};k.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};k.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};k.create=function(e,t,r,n,i){if(mt.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:e,type:t,constructed:r,composed:r||mt.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=k.copy(a)),a};k.copy=function(e,t){var r;if(mt.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(k.copy(e[n],t));return r}return typeof e=="string"?e:(r={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:k.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};k.equals=function(e,t,r){if(mt.util.isArray(e)){if(!mt.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!k.equals(e[n],t[n]))return!1;return!0}if(typeof e!=typeof t)return!1;if(typeof e=="string")return e===t;var i=e.tagClass===t.tagClass&&e.type===t.type&&e.constructed===t.constructed&&e.composed===t.composed&&k.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};k.getBerValueLength=function(e){var t=e.getByte();if(t!==128){var r,n=t&128;return n?r=e.getInt((t&127)<<3):r=t,r}};function Mn(e,t,r){if(r>t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}var Od=function(e,t){var r=e.getByte();if(t--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;Mn(e,t,o),n=e.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};k.fromDer=function(e,t){t===void 0&&(t={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof t=="boolean"&&(t={strict:t,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in t||(t.strict=!0),"parseAllBytes"in t||(t.parseAllBytes=!0),"decodeBitStrings"in t||(t.decodeBitStrings=!0),typeof e=="string"&&(e=mt.util.createBuffer(e));var r=e.length(),n=vi(e,e.length(),0,t);if(t.parseAllBytes&&e.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=e.length(),i}return n};function vi(e,t,r,n){var i;Mn(e,t,2);var o=e.getByte();t--;var s=o&192,a=o&31;i=e.length();var c=Od(e,t);if(t-=i-e.length(),c!==void 0&&c>t){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=e.length(),u.remaining=t,u.requested=c,u}c=t}var f,l,h=(o&32)===32;if(h)if(f=[],c===void 0)for(;;){if(Mn(e,t,2),e.bytes(2)==="\0\0"){e.getBytes(2),t-=2;break}i=e.length(),f.push(vi(e,t,r+1,n)),t-=i-e.length()}else for(;c>0;)i=e.length(),f.push(vi(e,c,r+1,n)),t-=i-e.length(),c-=i-e.length();if(f===void 0&&s===k.Class.UNIVERSAL&&a===k.Type.BITSTRING&&(l=e.bytes(c)),f===void 0&&n.decodeBitStrings&&s===k.Class.UNIVERSAL&&a===k.Type.BITSTRING&&c>1){var y=e.read,d=t,p=0;if(a===k.Type.BITSTRING&&(Mn(e,t,1),p=e.getByte(),t--),p===0)try{i=e.length();var m={strict:!0,decodeBitStrings:!0},x=vi(e,t,r+1,m),w=i-e.length();t-=w,a==k.Type.BITSTRING&&w++;var b=x.tagClass;w===c&&(b===k.Class.UNIVERSAL||b===k.Class.CONTEXT_SPECIFIC)&&(f=[x])}catch{}f===void 0&&(e.read=y,t=d)}if(f===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===k.Type.BMPSTRING)for(f="";c>0;c-=2)Mn(e,t,2),f+=String.fromCharCode(e.getInt16()),t-=2;else f=e.getBytes(c),t-=c}var R=l===void 0?null:{bitStringContents:l};return k.create(s,a,h,f,R)}k.toDer=function(e){var t=mt.util.createBuffer(),r=e.tagClass|e.type,n=mt.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=k.equals(e,e.original))),i)n.putBytes(e.bitStringContents);else if(e.composed){e.constructed?r|=32:n.putByte(0);for(var o=0;o<e.value.length;++o)e.value[o]!==void 0&&n.putBuffer(k.toDer(e.value[o]))}else if(e.type===k.Type.BMPSTRING)for(var o=0;o<e.value.length;++o)n.putInt16(e.value.charCodeAt(o));else e.type===k.Type.INTEGER&&e.value.length>1&&(e.value.charCodeAt(0)===0&&!(e.value.charCodeAt(1)&128)||e.value.charCodeAt(0)===255&&(e.value.charCodeAt(1)&128)===128)?n.putBytes(e.value.substr(1)):n.putBytes(e.value);if(t.putByte(r),n.length()<=127)t.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);t.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)t.putByte(a.charCodeAt(o))}return t.putBuffer(n),t};k.oidToDer=function(e){var t=e.split("."),r=mt.util.createBuffer();r.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,i,o,s,a=2;a<t.length;++a){n=!0,i=[],o=parseInt(t[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};k.derToOid=function(e){var t;typeof e=="string"&&(e=mt.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)r=e.getByte(),n=n<<7,r&128?n+=r&127:(t+="."+(n+r),n=0);return t};k.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),o=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),a=0;if(e.length>11){var c=e.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(e.substr(10,2),10),u+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,0),u&&(c=e.charAt(u),c==="+"||c==="-")){var f=parseInt(e.substr(u+1,2),10),l=parseInt(e.substr(u+4,2),10),h=f*60+l;h*=6e4,c==="+"?t.setTime(+t-h):t.setTime(+t+h)}return t};k.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),s=parseInt(e.substr(10,2),10),a=parseInt(e.substr(12,2),10),c=0,u=0,f=!1;e.charAt(e.length-1)==="Z"&&(f=!0);var l=e.length-5,h=e.charAt(l);if(h==="+"||h==="-"){var y=parseInt(e.substr(l+1,2),10),d=parseInt(e.substr(l+4,2),10);u=y*60+d,u*=6e4,h==="+"&&(u*=-1),f=!0}return e.charAt(14)==="."&&(c=parseFloat(e.substr(14),10)*1e3),f?(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,c),t.setTime(+t+u)):(t.setFullYear(r,n,i),t.setHours(o,s,a,c)),t};k.dateToUtcTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};k.dateToGeneralizedTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push(""+e.getUTCFullYear()),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};k.integerToDer=function(e){var t=mt.util.createBuffer();if(e>=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r};k.derToInteger=function(e){typeof e=="string"&&(e=mt.util.createBuffer(e));var t=e.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)};k.validate=function(e,t,r,n){var i=!1;if((e.tagClass===t.tagClass||typeof t.tagClass>"u")&&(e.type===t.type||typeof t.type>"u"))if(e.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&&mt.util.isArray(t.value))for(var o=0,s=0;i&&s<t.value.length;++s)i=t.value[s].optional||!1,e.value[o]&&(i=k.validate(e.value[o],t.value[s],r,n),i?++o:t.value[s].optional&&(i=!0)),!i&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+e.value.length+'"');if(i&&r&&(t.capture&&(r[t.capture]=e.value),t.captureAsn1&&(r[t.captureAsn1]=e),t.captureBitStringContents&&"bitStringContents"in e&&(r[t.captureBitStringContents]=e.bitStringContents),t.captureBitStringValue&&"bitStringContents"in e)){var a;if(e.bitStringContents.length<2)r[t.captureBitStringValue]="";else{var c=e.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[t.captureBitStringValue]=e.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+e.constructed+'"');else n&&(e.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));return i};var hc=/[^\\u0000-\\u00ff]/;k.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
|
6
|
-
`);for(var i="",o=0;o<t*r;++o)i+=" ";switch(n+=i+"Tag: ",e.tagClass){case
|
2
|
+
"use strict";var Libp2PCircuitRelayV2=(()=>{var Wh=Object.create;var mi=Object.defineProperty;var Zh=Object.getOwnPropertyDescriptor;var Xh=Object.getOwnPropertyNames;var Qh=Object.getPrototypeOf,Jh=Object.prototype.hasOwnProperty;var ot=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),st=(e,t)=>{for(var r in t)mi(e,r,{get:t[r],enumerable:!0})},zc=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Xh(t))!Jh.call(e,i)&&i!==r&&mi(e,i,{get:()=>t[i],enumerable:!(n=Zh(t,i))||n.enumerable});return e};var Vt=(e,t,r)=>(r=e!=null?Wh(Qh(e)):{},zc(t||!e||!e.__esModule?mi(r,"default",{value:e,enumerable:!0}):r,e)),jh=e=>zc(mi({},"__esModule",{value:!0}),e);var ht=ot((Sb,g0)=>{g0.exports={options:{usePureJavaScript:!1}}});var b0=ot((Ab,v0)=>{var ls={};v0.exports=ls;var x0={};ls.encode=function(e,t,r){if(typeof t!="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(!(e instanceof Uint8Array))n=ap(e,t);else{var i=0,o=t.length,s=t.charAt(0),a=[0];for(i=0;i<e.length;++i){for(var c=0,u=e[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;e[i]===0&&i<e.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}if(r){var f=new RegExp(".{1,"+r+"}","g");n=n.match(f).join(`\r
|
3
|
+
`)}return n};ls.decode=function(e,t){if(typeof e!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var r=x0[t];if(!r){r=x0[t]=[];for(var n=0;n<t.length;++n)r[t.charCodeAt(n)]=n}e=e.replace(/\s/g,"");for(var i=t.length,o=t.charAt(0),s=[0],n=0;n<e.length;n++){var a=r[e.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<s.length;++c)u+=s[c]*i,s[c]=u&255,u>>=8;for(;u>0;)s.push(u&255),u>>=8}for(var f=0;e[f]===o&&f<e.length-1;++f)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function ap(e,t){var r=0,n=t.length,i=t.charAt(0),o=[0];for(r=0;r<e.length();++r){for(var s=0,a=e.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;e.at(r)===0&&r<e.length()-1;++r)c+=i;for(r=o.length-1;r>=0;--r)c+=t[o[r]];return c}});var _t=ot((Tb,A0)=>{var w0=ht(),E0=b0(),x=A0.exports=w0.util=w0.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){x.nextTick=process.nextTick,typeof setImmediate=="function"?x.setImmediate=setImmediate:x.setImmediate=x.nextTick;return}if(typeof setImmediate=="function"){x.setImmediate=function(){return setImmediate.apply(void 0,arguments)},x.nextTick=function(a){return setImmediate(a)};return}if(x.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===e){c.stopPropagation();var u=t.slice();t.length=0,u.forEach(function(f){f()})}};var s=a,e="forge.setImmediate",t=[];x.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(e,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=x.setImmediate;x.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(t.push(c),t.length===1&&i.setAttribute("a",n=!n))}}x.nextTick=x.setImmediate})();x.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;x.globalScope=function(){return x.isNodejs?globalThis:typeof self>"u"?window:self}();x.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};x.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};x.isArrayBufferView=function(e){return e&&x.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function Kn(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}x.ByteBuffer=hs;function hs(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(x.isArrayBuffer(e)||x.isArrayBufferView(e))if(typeof Buffer<"u"&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var r=0;r<t.length;++r)this.putByte(t[r])}}else(e instanceof hs||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}x.ByteStringBuffer=hs;var cp=4096;x.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>cp&&(this.data.substr(0,1),this._constructedStringLength=0)};x.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};x.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};x.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};x.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this};x.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};x.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(x.encodeUtf8(e))};x.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};x.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};x.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};x.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};x.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};x.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))};x.ByteStringBuffer.prototype.putInt=function(e,t){Kn(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};x.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};x.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};x.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};x.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};x.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e};x.ByteStringBuffer.prototype.getInt32=function(){var e=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,e};x.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};x.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e};x.ByteStringBuffer.prototype.getInt32Le=function(){var e=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,e};x.ByteStringBuffer.prototype.getInt=function(e){Kn(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};x.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};x.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};x.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};x.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};x.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this};x.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};x.ByteStringBuffer.prototype.copy=function(){var e=x.createBuffer(this.data);return e.read=this.read,e};x.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};x.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};x.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};x.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.length;++t){var r=this.data.charCodeAt(t);r<16&&(e+="0"),e+=r.toString(16)}return e};x.ByteStringBuffer.prototype.toString=function(){return x.decodeUtf8(this.bytes())};function up(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=x.isArrayBuffer(e),n=x.isArrayBufferView(e);if(r||n){r?this.data=new DataView(e):this.data=new DataView(e.buffer,e.byteOffset,e.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,e!=null&&this.putBytes(e),"writeOffset"in t&&(this.write=t.writeOffset)}x.DataBuffer=up;x.DataBuffer.prototype.length=function(){return this.write-this.read};x.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};x.DataBuffer.prototype.accommodate=function(e,t){if(this.length()>=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this};x.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};x.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};x.DataBuffer.prototype.putBytes=function(e,t){if(x.isArrayBufferView(e)){var r=new Uint8Array(e.buffer,e.byteOffset,e.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(x.isArrayBuffer(e)){var r=new Uint8Array(e);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(e instanceof x.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&x.isArrayBufferView(e.data)){var r=new Uint8Array(e.data.byteLength,e.read,e.length());this.accommodate(r.byteLength);var i=new Uint8Array(e.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(e instanceof x.ByteStringBuffer&&(e=e.data,t="binary"),t=t||"binary",typeof e=="string"){var o;if(t==="hex")return this.accommodate(Math.ceil(e.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.hex.decode(e,o,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(e.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.base64.decode(e,o,this.write),this;if(t==="utf8"&&(e=x.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.raw.decode(o),this;if(t==="utf16")return this.accommodate(e.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=x.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};x.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};x.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};x.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};x.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this};x.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};x.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};x.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this};x.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};x.DataBuffer.prototype.putInt=function(e,t){Kn(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};x.DataBuffer.prototype.putSignedInt=function(e,t){return Kn(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};x.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};x.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};x.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};x.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};x.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};x.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};x.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};x.DataBuffer.prototype.getInt=function(e){Kn(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};x.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};x.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};x.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};x.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};x.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this};x.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};x.DataBuffer.prototype.copy=function(){return new x.DataBuffer(this)};x.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this};x.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};x.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};x.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.byteLength;++t){var r=this.data.getUint8(t);r<16&&(e+="0"),e+=r.toString(16)}return e};x.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return x.binary.raw.encode(t);if(e==="hex")return x.binary.hex.encode(t);if(e==="base64")return x.binary.base64.encode(t);if(e==="utf8")return x.text.utf8.decode(t);if(e==="utf16")return x.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};x.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=x.encodeUtf8(e)),new x.ByteBuffer(e)};x.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};x.xorBytes=function(e,t,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=e.charCodeAt(s)^t.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};x.hexToBytes=function(e){var t="",r=0;for(e.length&!0&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t};x.bytesToHex=function(e){return x.createBuffer(e).toHex()};x.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var fr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",lr=[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],S0="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";x.encode64=function(e,t){for(var r="",n="",i,o,s,a=0;a<e.length;)i=e.charCodeAt(a++),o=e.charCodeAt(a++),s=e.charCodeAt(a++),r+=fr.charAt(i>>2),r+=fr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=fr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":fr.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
4
|
+
`,r=r.substr(t));return n+=r,n};x.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",r,n,i,o,s=0;s<e.length;)r=lr[e.charCodeAt(s++)-43],n=lr[e.charCodeAt(s++)-43],i=lr[e.charCodeAt(s++)-43],o=lr[e.charCodeAt(s++)-43],t+=String.fromCharCode(r<<2|n>>4),i!==64&&(t+=String.fromCharCode((n&15)<<4|i>>2),o!==64&&(t+=String.fromCharCode((i&3)<<6|o)));return t};x.encodeUtf8=function(e){return unescape(encodeURIComponent(e))};x.decodeUtf8=function(e){return decodeURIComponent(escape(e))};x.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:E0.encode,decode:E0.decode}};x.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)};x.binary.raw.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n};x.binary.hex.encode=x.bytesToHex;x.binary.hex.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/2))),r=r||0;var i=0,o=r;for(e.length&1&&(i=1,n[o++]=parseInt(e[0],16));i<e.length;i+=2)n[o++]=parseInt(e.substr(i,2),16);return t?o-r:n};x.binary.base64.encode=function(e,t){for(var r="",n="",i,o,s,a=0;a<e.byteLength;)i=e[a++],o=e[a++],s=e[a++],r+=fr.charAt(i>>2),r+=fr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=fr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":fr.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
5
|
+
`,r=r.substr(t));return n+=r,n};x.binary.base64.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/4)*3)),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,u=r;c<e.length;)i=lr[e.charCodeAt(c++)-43],o=lr[e.charCodeAt(c++)-43],s=lr[e.charCodeAt(c++)-43],a=lr[e.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 t?u-r:n.subarray(0,u)};x.binary.base58.encode=function(e,t){return x.binary.baseN.encode(e,S0,t)};x.binary.base58.decode=function(e,t){return x.binary.baseN.decode(e,S0,t)};x.text={utf8:{},utf16:{}};x.text.utf8.encode=function(e,t,r){e=x.encodeUtf8(e);var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n};x.text.utf8.decode=function(e){return x.decodeUtf8(String.fromCharCode.apply(null,e))};x.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<e.length;++a)i[s++]=e.charCodeAt(a),o+=2;return t?o-r:n};x.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};x.deflate=function(e,t,r){if(t=x.decode64(e.deflate(x.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};x.inflate=function(e,t,r){var n=e.inflate(x.encode64(t)).rval;return n===null?null:x.decode64(n)};var ds=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=x.encode64(JSON.stringify(r)),n=e.setItem(t,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}},ps=function(e,t){if(!e)throw new Error("WebStorage not available.");var r=e.getItem(t);if(e.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(x.decode64(r))),r},fp=function(e,t,r,n){var i=ps(e,t);i===null&&(i={}),i[r]=n,ds(e,t,i)},lp=function(e,t,r){var n=ps(e,t);return n!==null&&(n=r in n?n[r]:null),n},hp=function(e,t,r){var n=ps(e,t);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),ds(e,t,n)}},dp=function(e,t){ds(e,t,null)},vi=function(e,t,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(t[0]===null)throw new Error("Flash local storage not available.");n=e.apply(this,t),o=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=e.apply(this,t),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};x.setItem=function(e,t,r,n,i){vi(fp,arguments,i)};x.getItem=function(e,t,r,n){return vi(lp,arguments,n)};x.removeItem=function(e,t,r,n){vi(hp,arguments,n)};x.clearItems=function(e,t,r){vi(dp,arguments,r)};x.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};x.format=function(e){for(var t=/%./g,r,n,i=0,o=[],s=0;r=t.exec(e);){n=e.substring(s,t.lastIndex-2),n.length>0&&o.push(n),s=t.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(e.substring(s)),o.join("")};x.formatNumber=function(e,t,r,n){var i=e,o=isNaN(t=Math.abs(t))?2:t,s=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",f=u.length>3?u.length%3:0;return c+(f?u.substr(0,f)+a:"")+u.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-u).toFixed(o).slice(2):"")};x.formatSize=function(e){return e>=1073741824?e=x.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=x.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=x.formatNumber(e/1024,0)+" KiB":e=x.formatNumber(e,0)+" bytes",e};x.bytesFromIP=function(e){return e.indexOf(".")!==-1?x.bytesFromIPv4(e):e.indexOf(":")!==-1?x.bytesFromIPv6(e):null};x.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=x.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};x.bytesFromIPv6=function(e){var t=0;e=e.split(":").filter(function(s){return s.length===0&&++t,!0});for(var r=(8-e.length+t)*2,n=x.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=x.hexToBytes(e[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};x.bytesToIP=function(e){return e.length===4?x.bytesToIPv4(e):e.length===16?x.bytesToIPv6(e):null};x.bytesToIPv4=function(e){if(e.length!==4)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")};x.bytesToIPv6=function(e){if(e.length!==16)return null;for(var t=[],r=[],n=0,i=0;i<e.length;i+=2){for(var o=x.bytesToHex(e[i]+e[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=t.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))}t.push(o)}if(r.length>0){var c=r[n];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),c.start===0&&t.unshift(""),c.end===7&&t.push(""))}return t.join(":")};x.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in x&&!e.update)return t(null,x.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return x.cores=navigator.hardwareConcurrency,t(null,x.cores);if(typeof Worker>"u")return x.cores=1,t(null,x.cores);if(typeof Blob>"u")return x.cores=2,t(null,x.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(f,l){return f+l},0)/s.length);return x.cores=Math.max(1,u),URL.revokeObjectURL(r),t(null,x.cores)}i(c,function(f,l){s.push(o(c,l)),n(s,a-1,c)})}function i(s,a){for(var c=[],u=[],f=0;f<s;++f){var l=new Worker(r);l.addEventListener("message",function(h){if(u.push(h.data),u.length===s){for(var y=0;y<s;++y)c[y].terminate();a(null,u)}}),c.push(l)}for(var f=0;f<s;++f)c[f].postMessage(f)}function o(s,a){for(var c=[],u=0;u<s;++u)for(var f=a[u],l=c[u]=[],h=0;h<s;++h)if(u!==h){var y=a[h];(f.st>y.st&&f.st<y.et||y.st>f.st&&y.st<f.et)&&l.push(h)}return c.reduce(function(d,p){return Math.max(d,p.length)},0)}}});var bi=ot((Bb,T0)=>{var Fn=ht();Fn.pki=Fn.pki||{};var ys=T0.exports=Fn.pki.oids=Fn.oids=Fn.oids||{};function _(e,t){ys[e]=t,ys[t]=e}function at(e,t){ys[e]=t}_("1.2.840.113549.1.1.1","rsaEncryption");_("1.2.840.113549.1.1.4","md5WithRSAEncryption");_("1.2.840.113549.1.1.5","sha1WithRSAEncryption");_("1.2.840.113549.1.1.7","RSAES-OAEP");_("1.2.840.113549.1.1.8","mgf1");_("1.2.840.113549.1.1.9","pSpecified");_("1.2.840.113549.1.1.10","RSASSA-PSS");_("1.2.840.113549.1.1.11","sha256WithRSAEncryption");_("1.2.840.113549.1.1.12","sha384WithRSAEncryption");_("1.2.840.113549.1.1.13","sha512WithRSAEncryption");_("1.3.101.112","EdDSA25519");_("1.2.840.10040.4.3","dsa-with-sha1");_("1.3.14.3.2.7","desCBC");_("1.3.14.3.2.26","sha1");_("1.3.14.3.2.29","sha1WithRSASignature");_("2.16.840.1.101.3.4.2.1","sha256");_("2.16.840.1.101.3.4.2.2","sha384");_("2.16.840.1.101.3.4.2.3","sha512");_("2.16.840.1.101.3.4.2.4","sha224");_("2.16.840.1.101.3.4.2.5","sha512-224");_("2.16.840.1.101.3.4.2.6","sha512-256");_("1.2.840.113549.2.2","md2");_("1.2.840.113549.2.5","md5");_("1.2.840.113549.1.7.1","data");_("1.2.840.113549.1.7.2","signedData");_("1.2.840.113549.1.7.3","envelopedData");_("1.2.840.113549.1.7.4","signedAndEnvelopedData");_("1.2.840.113549.1.7.5","digestedData");_("1.2.840.113549.1.7.6","encryptedData");_("1.2.840.113549.1.9.1","emailAddress");_("1.2.840.113549.1.9.2","unstructuredName");_("1.2.840.113549.1.9.3","contentType");_("1.2.840.113549.1.9.4","messageDigest");_("1.2.840.113549.1.9.5","signingTime");_("1.2.840.113549.1.9.6","counterSignature");_("1.2.840.113549.1.9.7","challengePassword");_("1.2.840.113549.1.9.8","unstructuredAddress");_("1.2.840.113549.1.9.14","extensionRequest");_("1.2.840.113549.1.9.20","friendlyName");_("1.2.840.113549.1.9.21","localKeyId");_("1.2.840.113549.1.9.22.1","x509Certificate");_("1.2.840.113549.1.12.10.1.1","keyBag");_("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");_("1.2.840.113549.1.12.10.1.3","certBag");_("1.2.840.113549.1.12.10.1.4","crlBag");_("1.2.840.113549.1.12.10.1.5","secretBag");_("1.2.840.113549.1.12.10.1.6","safeContentsBag");_("1.2.840.113549.1.5.13","pkcs5PBES2");_("1.2.840.113549.1.5.12","pkcs5PBKDF2");_("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");_("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");_("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");_("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");_("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");_("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");_("1.2.840.113549.2.7","hmacWithSHA1");_("1.2.840.113549.2.8","hmacWithSHA224");_("1.2.840.113549.2.9","hmacWithSHA256");_("1.2.840.113549.2.10","hmacWithSHA384");_("1.2.840.113549.2.11","hmacWithSHA512");_("1.2.840.113549.3.7","des-EDE3-CBC");_("2.16.840.1.101.3.4.1.2","aes128-CBC");_("2.16.840.1.101.3.4.1.22","aes192-CBC");_("2.16.840.1.101.3.4.1.42","aes256-CBC");_("2.5.4.3","commonName");_("2.5.4.4","surname");_("2.5.4.5","serialNumber");_("2.5.4.6","countryName");_("2.5.4.7","localityName");_("2.5.4.8","stateOrProvinceName");_("2.5.4.9","streetAddress");_("2.5.4.10","organizationName");_("2.5.4.11","organizationalUnitName");_("2.5.4.12","title");_("2.5.4.13","description");_("2.5.4.15","businessCategory");_("2.5.4.17","postalCode");_("2.5.4.42","givenName");_("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");_("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");_("2.16.840.1.113730.1.1","nsCertType");_("2.16.840.1.113730.1.13","nsComment");at("2.5.29.1","authorityKeyIdentifier");at("2.5.29.2","keyAttributes");at("2.5.29.3","certificatePolicies");at("2.5.29.4","keyUsageRestriction");at("2.5.29.5","policyMapping");at("2.5.29.6","subtreesConstraint");at("2.5.29.7","subjectAltName");at("2.5.29.8","issuerAltName");at("2.5.29.9","subjectDirectoryAttributes");at("2.5.29.10","basicConstraints");at("2.5.29.11","nameConstraints");at("2.5.29.12","policyConstraints");at("2.5.29.13","basicConstraints");_("2.5.29.14","subjectKeyIdentifier");_("2.5.29.15","keyUsage");at("2.5.29.16","privateKeyUsagePeriod");_("2.5.29.17","subjectAltName");_("2.5.29.18","issuerAltName");_("2.5.29.19","basicConstraints");at("2.5.29.20","cRLNumber");at("2.5.29.21","cRLReason");at("2.5.29.22","expirationDate");at("2.5.29.23","instructionCode");at("2.5.29.24","invalidityDate");at("2.5.29.25","cRLDistributionPoints");at("2.5.29.26","issuingDistributionPoint");at("2.5.29.27","deltaCRLIndicator");at("2.5.29.28","issuingDistributionPoint");at("2.5.29.29","certificateIssuer");at("2.5.29.30","nameConstraints");_("2.5.29.31","cRLDistributionPoints");_("2.5.29.32","certificatePolicies");at("2.5.29.33","policyMappings");at("2.5.29.34","policyConstraints");_("2.5.29.35","authorityKeyIdentifier");at("2.5.29.36","policyConstraints");_("2.5.29.37","extKeyUsage");at("2.5.29.46","freshestCRL");at("2.5.29.54","inhibitAnyPolicy");_("1.3.6.1.4.1.11129.2.4.2","timestampList");_("1.3.6.1.5.5.7.1.1","authorityInfoAccess");_("1.3.6.1.5.5.7.3.1","serverAuth");_("1.3.6.1.5.5.7.3.2","clientAuth");_("1.3.6.1.5.5.7.3.3","codeSigning");_("1.3.6.1.5.5.7.3.4","emailProtection");_("1.3.6.1.5.5.7.3.8","timeStamping")});var qn=ot((Ib,I0)=>{var mt=ht();_t();bi();var U=I0.exports=mt.asn1=mt.asn1||{};U.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};U.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};U.create=function(e,t,r,n,i){if(mt.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:e,type:t,constructed:r,composed:r||mt.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=U.copy(a)),a};U.copy=function(e,t){var r;if(mt.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(U.copy(e[n],t));return r}return typeof e=="string"?e:(r={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:U.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};U.equals=function(e,t,r){if(mt.util.isArray(e)){if(!mt.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!U.equals(e[n],t[n]))return!1;return!0}if(typeof e!=typeof t)return!1;if(typeof e=="string")return e===t;var i=e.tagClass===t.tagClass&&e.type===t.type&&e.constructed===t.constructed&&e.composed===t.composed&&U.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};U.getBerValueLength=function(e){var t=e.getByte();if(t!==128){var r,n=t&128;return n?r=e.getInt((t&127)<<3):r=t,r}};function Vn(e,t,r){if(r>t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}var pp=function(e,t){var r=e.getByte();if(t--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;Vn(e,t,o),n=e.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};U.fromDer=function(e,t){t===void 0&&(t={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof t=="boolean"&&(t={strict:t,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in t||(t.strict=!0),"parseAllBytes"in t||(t.parseAllBytes=!0),"decodeBitStrings"in t||(t.decodeBitStrings=!0),typeof e=="string"&&(e=mt.util.createBuffer(e));var r=e.length(),n=wi(e,e.length(),0,t);if(t.parseAllBytes&&e.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=e.length(),i}return n};function wi(e,t,r,n){var i;Vn(e,t,2);var o=e.getByte();t--;var s=o&192,a=o&31;i=e.length();var c=pp(e,t);if(t-=i-e.length(),c!==void 0&&c>t){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=e.length(),u.remaining=t,u.requested=c,u}c=t}var f,l,h=(o&32)===32;if(h)if(f=[],c===void 0)for(;;){if(Vn(e,t,2),e.bytes(2)==="\0\0"){e.getBytes(2),t-=2;break}i=e.length(),f.push(wi(e,t,r+1,n)),t-=i-e.length()}else for(;c>0;)i=e.length(),f.push(wi(e,c,r+1,n)),t-=i-e.length(),c-=i-e.length();if(f===void 0&&s===U.Class.UNIVERSAL&&a===U.Type.BITSTRING&&(l=e.bytes(c)),f===void 0&&n.decodeBitStrings&&s===U.Class.UNIVERSAL&&a===U.Type.BITSTRING&&c>1){var y=e.read,d=t,p=0;if(a===U.Type.BITSTRING&&(Vn(e,t,1),p=e.getByte(),t--),p===0)try{i=e.length();var m={strict:!0,decodeBitStrings:!0},g=wi(e,t,r+1,m),w=i-e.length();t-=w,a==U.Type.BITSTRING&&w++;var v=g.tagClass;w===c&&(v===U.Class.UNIVERSAL||v===U.Class.CONTEXT_SPECIFIC)&&(f=[g])}catch{}f===void 0&&(e.read=y,t=d)}if(f===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===U.Type.BMPSTRING)for(f="";c>0;c-=2)Vn(e,t,2),f+=String.fromCharCode(e.getInt16()),t-=2;else f=e.getBytes(c),t-=c}var I=l===void 0?null:{bitStringContents:l};return U.create(s,a,h,f,I)}U.toDer=function(e){var t=mt.util.createBuffer(),r=e.tagClass|e.type,n=mt.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=U.equals(e,e.original))),i)n.putBytes(e.bitStringContents);else if(e.composed){e.constructed?r|=32:n.putByte(0);for(var o=0;o<e.value.length;++o)e.value[o]!==void 0&&n.putBuffer(U.toDer(e.value[o]))}else if(e.type===U.Type.BMPSTRING)for(var o=0;o<e.value.length;++o)n.putInt16(e.value.charCodeAt(o));else e.type===U.Type.INTEGER&&e.value.length>1&&(e.value.charCodeAt(0)===0&&!(e.value.charCodeAt(1)&128)||e.value.charCodeAt(0)===255&&(e.value.charCodeAt(1)&128)===128)?n.putBytes(e.value.substr(1)):n.putBytes(e.value);if(t.putByte(r),n.length()<=127)t.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);t.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)t.putByte(a.charCodeAt(o))}return t.putBuffer(n),t};U.oidToDer=function(e){var t=e.split("."),r=mt.util.createBuffer();r.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,i,o,s,a=2;a<t.length;++a){n=!0,i=[],o=parseInt(t[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};U.derToOid=function(e){var t;typeof e=="string"&&(e=mt.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)r=e.getByte(),n=n<<7,r&128?n+=r&127:(t+="."+(n+r),n=0);return t};U.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),o=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),a=0;if(e.length>11){var c=e.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(e.substr(10,2),10),u+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,0),u&&(c=e.charAt(u),c==="+"||c==="-")){var f=parseInt(e.substr(u+1,2),10),l=parseInt(e.substr(u+4,2),10),h=f*60+l;h*=6e4,c==="+"?t.setTime(+t-h):t.setTime(+t+h)}return t};U.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),s=parseInt(e.substr(10,2),10),a=parseInt(e.substr(12,2),10),c=0,u=0,f=!1;e.charAt(e.length-1)==="Z"&&(f=!0);var l=e.length-5,h=e.charAt(l);if(h==="+"||h==="-"){var y=parseInt(e.substr(l+1,2),10),d=parseInt(e.substr(l+4,2),10);u=y*60+d,u*=6e4,h==="+"&&(u*=-1),f=!0}return e.charAt(14)==="."&&(c=parseFloat(e.substr(14),10)*1e3),f?(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,c),t.setTime(+t+u)):(t.setFullYear(r,n,i),t.setHours(o,s,a,c)),t};U.dateToUtcTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};U.dateToGeneralizedTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push(""+e.getUTCFullYear()),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};U.integerToDer=function(e){var t=mt.util.createBuffer();if(e>=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r};U.derToInteger=function(e){typeof e=="string"&&(e=mt.util.createBuffer(e));var t=e.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)};U.validate=function(e,t,r,n){var i=!1;if((e.tagClass===t.tagClass||typeof t.tagClass>"u")&&(e.type===t.type||typeof t.type>"u"))if(e.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&&mt.util.isArray(t.value))for(var o=0,s=0;i&&s<t.value.length;++s)i=t.value[s].optional||!1,e.value[o]&&(i=U.validate(e.value[o],t.value[s],r,n),i?++o:t.value[s].optional&&(i=!0)),!i&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+e.value.length+'"');if(i&&r&&(t.capture&&(r[t.capture]=e.value),t.captureAsn1&&(r[t.captureAsn1]=e),t.captureBitStringContents&&"bitStringContents"in e&&(r[t.captureBitStringContents]=e.bitStringContents),t.captureBitStringValue&&"bitStringContents"in e)){var a;if(e.bitStringContents.length<2)r[t.captureBitStringValue]="";else{var c=e.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[t.captureBitStringValue]=e.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+e.constructed+'"');else n&&(e.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));return i};var B0=/[^\\u0000-\\u00ff]/;U.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
|
6
|
+
`);for(var i="",o=0;o<t*r;++o)i+=" ";switch(n+=i+"Tag: ",e.tagClass){case U.Class.UNIVERSAL:n+="Universal:";break;case U.Class.APPLICATION:n+="Application:";break;case U.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case U.Class.PRIVATE:n+="Private:";break}if(e.tagClass===U.Class.UNIVERSAL)switch(n+=e.type,e.type){case U.Type.NONE:n+=" (None)";break;case U.Type.BOOLEAN:n+=" (Boolean)";break;case U.Type.INTEGER:n+=" (Integer)";break;case U.Type.BITSTRING:n+=" (Bit string)";break;case U.Type.OCTETSTRING:n+=" (Octet string)";break;case U.Type.NULL:n+=" (Null)";break;case U.Type.OID:n+=" (Object Identifier)";break;case U.Type.ODESC:n+=" (Object Descriptor)";break;case U.Type.EXTERNAL:n+=" (External or Instance of)";break;case U.Type.REAL:n+=" (Real)";break;case U.Type.ENUMERATED:n+=" (Enumerated)";break;case U.Type.EMBEDDED:n+=" (Embedded PDV)";break;case U.Type.UTF8:n+=" (UTF8)";break;case U.Type.ROID:n+=" (Relative Object Identifier)";break;case U.Type.SEQUENCE:n+=" (Sequence)";break;case U.Type.SET:n+=" (Set)";break;case U.Type.PRINTABLESTRING:n+=" (Printable String)";break;case U.Type.IA5String:n+=" (IA5String (ASCII))";break;case U.Type.UTCTIME:n+=" (UTC time)";break;case U.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case U.Type.BMPSTRING:n+=" (BMP String)";break}else n+=e.type;if(n+=`
|
7
7
|
`,n+=i+"Constructed: "+e.constructed+`
|
8
|
-
`,e.composed){for(var s=0,a="",o=0;o<e.value.length;++o)e.value[o]!==void 0&&(s+=1,a+=k.prettyPrint(e.value[o],t+1,r),o+1<e.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",e.type===k.Type.OID){var c=k.derToOid(e.value);n+=c,mt.pki&&mt.pki.oids&&c in mt.pki.oids&&(n+=" ("+mt.pki.oids[c]+") ")}if(e.type===k.Type.INTEGER)try{n+=k.derToInteger(e.value)}catch{n+="0x"+mt.util.bytesToHex(e.value)}else if(e.type===k.Type.BITSTRING){if(e.value.length>1?n+="0x"+mt.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var u=e.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(e.type===k.Type.OCTETSTRING)hc.test(e.value)||(n+="("+e.value+") "),n+="0x"+mt.util.bytesToHex(e.value);else if(e.type===k.Type.UTF8)try{n+=mt.util.decodeUtf8(e.value)}catch(f){if(f.message==="URI malformed")n+="0x"+mt.util.bytesToHex(e.value)+" (malformed UTF8)";else throw f}else e.type===k.Type.PRINTABLESTRING||e.type===k.Type.IA5String?n+=e.value:hc.test(e.value)?n+="0x"+mt.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var bs=st((O2,pc)=>{var Ut=ht();Rt();pc.exports=Ut.cipher=Ut.cipher||{};Ut.cipher.algorithms=Ut.cipher.algorithms||{};Ut.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ut.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ut.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};Ut.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ut.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ut.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};Ut.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),Ut.cipher.algorithms[e]=t};Ut.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in Ut.cipher.algorithms?Ut.cipher.algorithms[e]:null};var vs=Ut.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};vs.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=Ut.util.createBuffer(),this.output=e.output||Ut.util.createBuffer(),this.mode.start(t)};vs.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};vs.prototype.finish=function(e){e&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return e(this.blockSize,r,!1)},this.mode.unpad=function(r){return e(this.blockSize,r,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t))}});var Es=st((M2,yc)=>{var Ot=ht();Rt();Ot.cipher=Ot.cipher||{};var J=yc.exports=Ot.cipher.modes=Ot.cipher.modes||{};J.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};J.ecb.prototype.start=function(e){};J.ecb.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};J.ecb.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};J.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};J.ecb.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};J.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};J.cbc.prototype.start=function(e){if(e.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in e)this._iv=bi(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};J.cbc.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock};J.cbc.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};J.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};J.cbc.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};J.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};J.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=bi(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};J.cfb.prototype.encrypt=function(e,t,r){var n=e.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]=e.getInt32()^this._outBlock[i],t.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]=e.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)e.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 t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};J.cfb.prototype.decrypt=function(e,t,r){var n=e.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]=e.getInt32(),t.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]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)e.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 t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};J.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};J.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=bi(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};J.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(e.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)t.putInt32(e.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(e.getInt32()^this._outBlock[i]);if(o>0)e.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 t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};J.ofb.prototype.decrypt=J.ofb.prototype.encrypt;J.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};J.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=bi(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};J.ctr.prototype.encrypt=function(e,t,r){var n=e.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)t.putInt32(e.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(e.getInt32()^this._outBlock[i]);if(o>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}wi(this._inBlock)};J.ctr.prototype.decrypt=J.ctr.prototype.encrypt;J.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0,this._R=3774873600};J.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=Ot.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=Ot.util.createBuffer(e.additionalData):r=Ot.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Ot.util.createBuffer(e.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=t.length();if(n===12)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(ws(n*8)))}this._inBlock=this._j0.slice(0),wi(this._inBlock),this._partialBytes=0,r=Ot.util.createBuffer(r),this._aDataLength=ws(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};J.gcm.prototype.encrypt=function(e,t,r){var n=e.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)t.putInt32(this._outBlock[i]^=e.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(e.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 e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),wi(this._inBlock)};J.gcm.prototype.decrypt=function(e,t,r){var n=e.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),wi(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};J.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=Ot.util.createBuffer();var n=this._aDataLength.concat(ws(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)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};J.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var o=e[i/32|0]&1<<31-i%32;o&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};J.gcm.prototype.pow=function(e,t){for(var r=e[3]&1,n=3;n>0;--n)t[n]=e[n]>>>1|(e[n-1]&1)<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)};J.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=e[n]>>>(7-r%8)*4&15,o=this._m[r][i];t[0]^=o[0],t[1]^=o[1],t[2]^=o[2],t[3]^=o[3]}return t};J.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)};J.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,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)*t;a[c]=1<<t-1<<u,o[s]=this.generateSubHashTable(this.multiply(a,e),t)}return o};J.gcm.prototype.generateSubHashTable=function(e,t){var r=1<<t,n=r>>>1,i=new Array(r);i[n]=e.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]=[e[0]^u[0],e[1]^u[1],e[2]^u[2],e[3]^u[3]]}return i};function bi(e,t){if(typeof e=="string"&&(e=Ot.util.createBuffer(e)),Ot.util.isArray(e)&&e.length>4){var r=e;e=Ot.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!Ot.util.isArray(e)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(e.getInt32());e=i}return e}function wi(e){e[e.length-1]=e[e.length-1]+1&4294967295}function ws(e){return[e/4294967296|0,e&4294967295]}});var Bs=st((K2,vc)=>{var yt=ht();bs();Es();Rt();vc.exports=yt.aes=yt.aes||{};yt.aes.startEncrypting=function(e,t,r,n){var i=Ei({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};yt.aes.createEncryptionCipher=function(e,t){return Ei({key:e,output:null,decrypt:!1,mode:t})};yt.aes.startDecrypting=function(e,t,r,n){var i=Ei({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};yt.aes.createDecryptionCipher=function(e,t){return Ei({key:e,output:null,decrypt:!0,mode:t})};yt.aes.Algorithm=function(e,t){Ts||gc();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return As(r._w,n,i,!1)},decrypt:function(n,i){return As(r._w,n,i,!0)}}}),r._init=!1};yt.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t=e.key,r;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=yt.util.createBuffer(t);else if(yt.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=yt.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!yt.util.isArray(t)){r=t,t=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(r.getInt32())}}if(!yt.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=xc(t,e.decrypt&&!s),this._init=!0}};yt.aes._expandKey=function(e,t){return Ts||gc(),xc(e,t)};yt.aes._updateBlock=As;fn("AES-ECB",yt.cipher.modes.ecb);fn("AES-CBC",yt.cipher.modes.cbc);fn("AES-CFB",yt.cipher.modes.cfb);fn("AES-OFB",yt.cipher.modes.ofb);fn("AES-CTR",yt.cipher.modes.ctr);fn("AES-GCM",yt.cipher.modes.gcm);function fn(e,t){var r=function(){return new yt.aes.Algorithm(e,t)};yt.cipher.registerAlgorithm(e,r)}var Ts=!1,un=4,jt,Ss,mc,_r,Ae;function gc(){Ts=!0,mc=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;jt=new Array(256),Ss=new Array(256),_r=new Array(4),Ae=new Array(4);for(var t=0;t<4;++t)_r[t]=new Array(256),Ae[t]=new Array(256);for(var r=0,n=0,i,o,s,a,c,u,f,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,jt[r]=a,Ss[a]=r,c=e[a],i=e[r],o=e[i],s=e[o],u=c<<24^a<<16^a<<8^(a^c),f=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var l=0;l<4;++l)_r[l][r]=u,Ae[l][a]=f,u=u<<24|u>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^e[e[e[i^s]]],n^=e[e[n]])}}function xc(e,t){for(var r=e.slice(0),n,i=1,o=r.length,s=o+6+1,a=un*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=jt[n>>>16&255]<<24^jt[n>>>8&255]<<16^jt[n&255]<<8^jt[n>>>24]^mc[i]<<24,i++):o>6&&c%o===4&&(n=jt[n>>>24]<<24^jt[n>>>16&255]<<16^jt[n>>>8&255]<<8^jt[n&255]),r[c]=r[c-o]^n;if(t){var u,f=Ae[0],l=Ae[1],h=Ae[2],y=Ae[3],d=r.slice(0);a=r.length;for(var c=0,p=a-un;c<a;c+=un,p-=un)if(c===0||c===a-un)d[c]=r[p],d[c+1]=r[p+3],d[c+2]=r[p+2],d[c+3]=r[p+1];else for(var m=0;m<un;++m)u=r[p+m],d[c+(3&-m)]=f[jt[u>>>24]]^l[jt[u>>>16&255]]^h[jt[u>>>8&255]]^y[jt[u&255]];r=d}return r}function As(e,t,r,n){var i=e.length/4-1,o,s,a,c,u;n?(o=Ae[0],s=Ae[1],a=Ae[2],c=Ae[3],u=Ss):(o=_r[0],s=_r[1],a=_r[2],c=_r[3],u=jt);var f,l,h,y,d,p,m;f=t[0]^e[0],l=t[n?3:1]^e[1],h=t[2]^e[2],y=t[n?1:3]^e[3];for(var x=3,w=1;w<i;++w)d=o[f>>>24]^s[l>>>16&255]^a[h>>>8&255]^c[y&255]^e[++x],p=o[l>>>24]^s[h>>>16&255]^a[y>>>8&255]^c[f&255]^e[++x],m=o[h>>>24]^s[y>>>16&255]^a[f>>>8&255]^c[l&255]^e[++x],y=o[y>>>24]^s[f>>>16&255]^a[l>>>8&255]^c[h&255]^e[++x],f=d,l=p,h=m;r[0]=u[f>>>24]<<24^u[l>>>16&255]<<16^u[h>>>8&255]<<8^u[y&255]^e[++x],r[n?3:1]=u[l>>>24]<<24^u[h>>>16&255]<<16^u[y>>>8&255]<<8^u[f&255]^e[++x],r[2]=u[h>>>24]<<24^u[y>>>16&255]<<16^u[f>>>8&255]<<8^u[l&255]^e[++x],r[n?1:3]=u[y>>>24]<<24^u[f>>>16&255]<<16^u[l>>>8&255]<<8^u[h&255]^e[++x]}function Ei(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=yt.cipher.createDecipher(r,e.key):n=yt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof yt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Ec=st((F2,wc)=>{var xt=ht();bs();Es();Rt();wc.exports=xt.des=xt.des||{};xt.des.startEncrypting=function(e,t,r,n){var i=Si({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};xt.des.createEncryptionCipher=function(e,t){return Si({key:e,output:null,decrypt:!1,mode:t})};xt.des.startDecrypting=function(e,t,r,n){var i=Si({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};xt.des.createDecryptionCipher=function(e,t){return Si({key:e,output:null,decrypt:!0,mode:t})};xt.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return bc(r._keys,n,i,!1)},decrypt:function(n,i){return bc(r._keys,n,i,!0)}}}),r._init=!1};xt.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=xt.util.createBuffer(e.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=Wd(t),this._init=!0}};Pe("DES-ECB",xt.cipher.modes.ecb);Pe("DES-CBC",xt.cipher.modes.cbc);Pe("DES-CFB",xt.cipher.modes.cfb);Pe("DES-OFB",xt.cipher.modes.ofb);Pe("DES-CTR",xt.cipher.modes.ctr);Pe("3DES-ECB",xt.cipher.modes.ecb);Pe("3DES-CBC",xt.cipher.modes.cbc);Pe("3DES-CFB",xt.cipher.modes.cfb);Pe("3DES-OFB",xt.cipher.modes.ofb);Pe("3DES-CTR",xt.cipher.modes.ctr);function Pe(e,t){var r=function(){return new xt.des.Algorithm(e,t)};xt.cipher.registerAlgorithm(e,r)}var Md=[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],Kd=[-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],Fd=[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],Vd=[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],qd=[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],Hd=[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],zd=[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],Gd=[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 Wd(e){for(var t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],o=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],f=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[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],y=[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],p=e.length()>8?3:1,m=[],x=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],w=0,b,R=0;R<p;R++){var E=e.getInt32(),S=e.getInt32();b=(E>>>4^S)&252645135,S^=b,E^=b<<4,b=(S>>>-16^E)&65535,E^=b,S^=b<<-16,b=(E>>>2^S)&858993459,S^=b,E^=b<<2,b=(S>>>-16^E)&65535,E^=b,S^=b<<-16,b=(E>>>1^S)&1431655765,S^=b,E^=b<<1,b=(S>>>8^E)&16711935,E^=b,S^=b<<8,b=(E>>>1^S)&1431655765,S^=b,E^=b<<1,b=E<<8|S>>>20&240,E=S<<24|S<<8&16711680|S>>>8&65280|S>>>24&240,S=b;for(var L=0;L<x.length;++L){x[L]?(E=E<<2|E>>>26,S=S<<2|S>>>26):(E=E<<1|E>>>27,S=S<<1|S>>>27),E&=-15,S&=-15;var D=t[E>>>28]|r[E>>>24&15]|n[E>>>20&15]|i[E>>>16&15]|o[E>>>12&15]|s[E>>>8&15]|a[E>>>4&15],Y=c[S>>>28]|u[S>>>24&15]|f[S>>>20&15]|l[S>>>16&15]|h[S>>>12&15]|y[S>>>8&15]|d[S>>>4&15];b=(Y>>>16^D)&65535,m[w++]=D^b,m[w++]=Y^b<<16}}return m}function bc(e,t,r,n){var i=e.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=t[0],c=t[1];s=(a>>>4^c)&252645135,c^=s,a^=s<<4,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var f=o[u+1],l=o[u+2],h=o[u];h!=f;h+=l){var y=c^e[h],d=(c>>>4|c<<28)^e[h+1];s=a,a=c,c=s^(Kd[y>>>24&63]|Vd[y>>>16&63]|Hd[y>>>8&63]|Gd[y&63]|Md[d>>>24&63]|Fd[d>>>16&63]|qd[d>>>8&63]|zd[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 Si(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=xt.cipher.createDecipher(r,e.key):n=xt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof xt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Rr=st((V2,Sc)=>{var Ai=ht();Sc.exports=Ai.md=Ai.md||{};Ai.md.algorithms=Ai.md.algorithms||{}});var Tc=st((q2,Ac)=>{var Ye=ht();Rr();Rt();var Yd=Ac.exports=Ye.hmac=Ye.hmac||{};Yd.create=function(){var e=null,t=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 Ye.md.algorithms)t=Ye.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else t=o;if(s===null)s=e;else{if(typeof s=="string")s=Ye.util.createBuffer(s);else if(Ye.util.isArray(s)){var a=s;s=Ye.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>t.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),r=Ye.util.createBuffer(),n=Ye.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<t.blockLength)for(var a=t.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);e=s,r=r.bytes(),n=n.bytes()}t.start(),t.update(r)},i.update=function(o){t.update(o)},i.getMac=function(){var o=t.digest().bytes();return t.start(),t.update(n),t.update(o),t.digest()},i.digest=i.getMac,i}});var Ti=st(()=>{});var Ic=st((G2,Bc)=>{var te=ht();Tc();Rr();Rt();var $d=te.pkcs5=te.pkcs5||{},$e;te.util.isNodejs&&!te.options.usePureJavaScript&&($e=Ti());Bc.exports=te.pbkdf2=$d.pbkdf2=function(e,t,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),te.util.isNodejs&&!te.options.usePureJavaScript&&$e.pbkdf2&&(i===null||typeof i!="object")&&($e.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),o?$e.pbkdf2Sync.length===4?$e.pbkdf2(e,t,r,n,function(b,R){if(b)return o(b);o(null,R.toString("binary"))}):$e.pbkdf2(e,t,r,n,i,function(b,R){if(b)return o(b);o(null,R.toString("binary"))}):$e.pbkdf2Sync.length===4?$e.pbkdf2Sync(e,t,r,n).toString("binary"):$e.pbkdf2Sync(e,t,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in te.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=te.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var a=new Error("Derived key is too long.");if(o)return o(a);throw a}var c=Math.ceil(n/s),u=n-(c-1)*s,f=te.hmac.create();f.start(i,e);var l="",h,y,d;if(!o){for(var p=1;p<=c;++p){f.start(null,null),f.update(t),f.update(te.util.int32ToBytes(p)),h=d=f.digest().getBytes();for(var m=2;m<=r;++m)f.start(null,null),f.update(d),y=f.digest().getBytes(),h=te.util.xorBytes(h,y,s),d=y;l+=p<c?h:h.substr(0,u)}return l}var p=1,m;function x(){if(p>c)return o(null,l);f.start(null,null),f.update(t),f.update(te.util.int32ToBytes(p)),h=d=f.digest().getBytes(),m=2,w()}function w(){if(m<=r)return f.start(null,null),f.update(d),y=f.digest().getBytes(),h=te.util.xorBytes(h,y,s),d=y,++m,te.util.setImmediate(w);l+=p<c?h:h.substr(0,u),++p,x()}x()}});var Rc=st((W2,_c)=>{var Ii=ht();Rt();var Cc=_c.exports=Ii.pem=Ii.pem||{};Cc.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
|
9
|
-
`,n;if(e.procType&&(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},r+=
|
10
|
-
`),r+=
|
8
|
+
`,e.composed){for(var s=0,a="",o=0;o<e.value.length;++o)e.value[o]!==void 0&&(s+=1,a+=U.prettyPrint(e.value[o],t+1,r),o+1<e.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",e.type===U.Type.OID){var c=U.derToOid(e.value);n+=c,mt.pki&&mt.pki.oids&&c in mt.pki.oids&&(n+=" ("+mt.pki.oids[c]+") ")}if(e.type===U.Type.INTEGER)try{n+=U.derToInteger(e.value)}catch{n+="0x"+mt.util.bytesToHex(e.value)}else if(e.type===U.Type.BITSTRING){if(e.value.length>1?n+="0x"+mt.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var u=e.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(e.type===U.Type.OCTETSTRING)B0.test(e.value)||(n+="("+e.value+") "),n+="0x"+mt.util.bytesToHex(e.value);else if(e.type===U.Type.UTF8)try{n+=mt.util.decodeUtf8(e.value)}catch(f){if(f.message==="URI malformed")n+="0x"+mt.util.bytesToHex(e.value)+" (malformed UTF8)";else throw f}else e.type===U.Type.PRINTABLESTRING||e.type===U.Type.IA5String?n+=e.value:B0.test(e.value)?n+="0x"+mt.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var gs=ot((Cb,C0)=>{var Pt=ht();_t();C0.exports=Pt.cipher=Pt.cipher||{};Pt.cipher.algorithms=Pt.cipher.algorithms||{};Pt.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Pt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Pt.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};Pt.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Pt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Pt.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};Pt.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),Pt.cipher.algorithms[e]=t};Pt.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in Pt.cipher.algorithms?Pt.cipher.algorithms[e]:null};var ms=Pt.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};ms.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=Pt.util.createBuffer(),this.output=e.output||Pt.util.createBuffer(),this.mode.start(t)};ms.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};ms.prototype.finish=function(e){e&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return e(this.blockSize,r,!1)},this.mode.unpad=function(r){return e(this.blockSize,r,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t))}});var vs=ot((_b,_0)=>{var Ut=ht();_t();Ut.cipher=Ut.cipher||{};var Q=_0.exports=Ut.cipher.modes=Ut.cipher.modes||{};Q.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Q.ecb.prototype.start=function(e){};Q.ecb.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};Q.ecb.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};Q.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};Q.ecb.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};Q.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Q.cbc.prototype.start=function(e){if(e.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in e)this._iv=Ei(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};Q.cbc.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock};Q.cbc.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};Q.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};Q.cbc.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};Q.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Ut.util.createBuffer(),this._partialBytes=0};Q.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Ei(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Q.cfb.prototype.encrypt=function(e,t,r){var n=e.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]=e.getInt32()^this._outBlock[i],t.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]=e.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)e.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 t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Q.cfb.prototype.decrypt=function(e,t,r){var n=e.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]=e.getInt32(),t.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]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)e.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 t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Q.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ut.util.createBuffer(),this._partialBytes=0};Q.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Ei(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Q.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(e.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)t.putInt32(e.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(e.getInt32()^this._outBlock[i]);if(o>0)e.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 t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Q.ofb.prototype.decrypt=Q.ofb.prototype.encrypt;Q.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ut.util.createBuffer(),this._partialBytes=0};Q.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Ei(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Q.ctr.prototype.encrypt=function(e,t,r){var n=e.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)t.putInt32(e.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(e.getInt32()^this._outBlock[i]);if(o>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}Si(this._inBlock)};Q.ctr.prototype.decrypt=Q.ctr.prototype.encrypt;Q.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Ut.util.createBuffer(),this._partialBytes=0,this._R=3774873600};Q.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=Ut.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=Ut.util.createBuffer(e.additionalData):r=Ut.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Ut.util.createBuffer(e.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=t.length();if(n===12)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(xs(n*8)))}this._inBlock=this._j0.slice(0),Si(this._inBlock),this._partialBytes=0,r=Ut.util.createBuffer(r),this._aDataLength=xs(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()])};Q.gcm.prototype.encrypt=function(e,t,r){var n=e.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)t.putInt32(this._outBlock[i]^=e.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(e.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 e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),Si(this._inBlock)};Q.gcm.prototype.decrypt=function(e,t,r){var n=e.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),Si(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};Q.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=Ut.util.createBuffer();var n=this._aDataLength.concat(xs(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)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};Q.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var o=e[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};Q.gcm.prototype.pow=function(e,t){for(var r=e[3]&1,n=3;n>0;--n)t[n]=e[n]>>>1|(e[n-1]&1)<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)};Q.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=e[n]>>>(7-r%8)*4&15,o=this._m[r][i];t[0]^=o[0],t[1]^=o[1],t[2]^=o[2],t[3]^=o[3]}return t};Q.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)};Q.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,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)*t;a[c]=1<<t-1<<u,o[s]=this.generateSubHashTable(this.multiply(a,e),t)}return o};Q.gcm.prototype.generateSubHashTable=function(e,t){var r=1<<t,n=r>>>1,i=new Array(r);i[n]=e.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]=[e[0]^u[0],e[1]^u[1],e[2]^u[2],e[3]^u[3]]}return i};function Ei(e,t){if(typeof e=="string"&&(e=Ut.util.createBuffer(e)),Ut.util.isArray(e)&&e.length>4){var r=e;e=Ut.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!Ut.util.isArray(e)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(e.getInt32());e=i}return e}function Si(e){e[e.length-1]=e[e.length-1]+1&4294967295}function xs(e){return[e/4294967296|0,e&4294967295]}});var Ss=ot((Rb,N0)=>{var yt=ht();gs();vs();_t();N0.exports=yt.aes=yt.aes||{};yt.aes.startEncrypting=function(e,t,r,n){var i=Ai({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};yt.aes.createEncryptionCipher=function(e,t){return Ai({key:e,output:null,decrypt:!1,mode:t})};yt.aes.startDecrypting=function(e,t,r,n){var i=Ai({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};yt.aes.createDecryptionCipher=function(e,t){return Ai({key:e,output:null,decrypt:!0,mode:t})};yt.aes.Algorithm=function(e,t){Es||L0();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return ws(r._w,n,i,!1)},decrypt:function(n,i){return ws(r._w,n,i,!0)}}}),r._init=!1};yt.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t=e.key,r;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=yt.util.createBuffer(t);else if(yt.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=yt.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!yt.util.isArray(t)){r=t,t=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(r.getInt32())}}if(!yt.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=D0(t,e.decrypt&&!s),this._init=!0}};yt.aes._expandKey=function(e,t){return Es||L0(),D0(e,t)};yt.aes._updateBlock=ws;un("AES-ECB",yt.cipher.modes.ecb);un("AES-CBC",yt.cipher.modes.cbc);un("AES-CFB",yt.cipher.modes.cfb);un("AES-OFB",yt.cipher.modes.ofb);un("AES-CTR",yt.cipher.modes.ctr);un("AES-GCM",yt.cipher.modes.gcm);function un(e,t){var r=function(){return new yt.aes.Algorithm(e,t)};yt.cipher.registerAlgorithm(e,r)}var Es=!1,cn=4,Xt,bs,R0,Ir,we;function L0(){Es=!0,R0=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;Xt=new Array(256),bs=new Array(256),Ir=new Array(4),we=new Array(4);for(var t=0;t<4;++t)Ir[t]=new Array(256),we[t]=new Array(256);for(var r=0,n=0,i,o,s,a,c,u,f,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,Xt[r]=a,bs[a]=r,c=e[a],i=e[r],o=e[i],s=e[o],u=c<<24^a<<16^a<<8^(a^c),f=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var l=0;l<4;++l)Ir[l][r]=u,we[l][a]=f,u=u<<24|u>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^e[e[e[i^s]]],n^=e[e[n]])}}function D0(e,t){for(var r=e.slice(0),n,i=1,o=r.length,s=o+6+1,a=cn*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=Xt[n>>>16&255]<<24^Xt[n>>>8&255]<<16^Xt[n&255]<<8^Xt[n>>>24]^R0[i]<<24,i++):o>6&&c%o===4&&(n=Xt[n>>>24]<<24^Xt[n>>>16&255]<<16^Xt[n>>>8&255]<<8^Xt[n&255]),r[c]=r[c-o]^n;if(t){var u,f=we[0],l=we[1],h=we[2],y=we[3],d=r.slice(0);a=r.length;for(var c=0,p=a-cn;c<a;c+=cn,p-=cn)if(c===0||c===a-cn)d[c]=r[p],d[c+1]=r[p+3],d[c+2]=r[p+2],d[c+3]=r[p+1];else for(var m=0;m<cn;++m)u=r[p+m],d[c+(3&-m)]=f[Xt[u>>>24]]^l[Xt[u>>>16&255]]^h[Xt[u>>>8&255]]^y[Xt[u&255]];r=d}return r}function ws(e,t,r,n){var i=e.length/4-1,o,s,a,c,u;n?(o=we[0],s=we[1],a=we[2],c=we[3],u=bs):(o=Ir[0],s=Ir[1],a=Ir[2],c=Ir[3],u=Xt);var f,l,h,y,d,p,m;f=t[0]^e[0],l=t[n?3:1]^e[1],h=t[2]^e[2],y=t[n?1:3]^e[3];for(var g=3,w=1;w<i;++w)d=o[f>>>24]^s[l>>>16&255]^a[h>>>8&255]^c[y&255]^e[++g],p=o[l>>>24]^s[h>>>16&255]^a[y>>>8&255]^c[f&255]^e[++g],m=o[h>>>24]^s[y>>>16&255]^a[f>>>8&255]^c[l&255]^e[++g],y=o[y>>>24]^s[f>>>16&255]^a[l>>>8&255]^c[h&255]^e[++g],f=d,l=p,h=m;r[0]=u[f>>>24]<<24^u[l>>>16&255]<<16^u[h>>>8&255]<<8^u[y&255]^e[++g],r[n?3:1]=u[l>>>24]<<24^u[h>>>16&255]<<16^u[y>>>8&255]<<8^u[f&255]^e[++g],r[2]=u[h>>>24]<<24^u[y>>>16&255]<<16^u[f>>>8&255]<<8^u[l&255]^e[++g],r[n?1:3]=u[y>>>24]<<24^u[f>>>16&255]<<16^u[l>>>8&255]<<8^u[h&255]^e[++g]}function Ai(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=yt.cipher.createDecipher(r,e.key):n=yt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof yt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var k0=ot((Lb,U0)=>{var xt=ht();gs();vs();_t();U0.exports=xt.des=xt.des||{};xt.des.startEncrypting=function(e,t,r,n){var i=Ti({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};xt.des.createEncryptionCipher=function(e,t){return Ti({key:e,output:null,decrypt:!1,mode:t})};xt.des.startDecrypting=function(e,t,r,n){var i=Ti({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};xt.des.createDecryptionCipher=function(e,t){return Ti({key:e,output:null,decrypt:!0,mode:t})};xt.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return P0(r._keys,n,i,!1)},decrypt:function(n,i){return P0(r._keys,n,i,!0)}}}),r._init=!1};xt.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=xt.util.createBuffer(e.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=Sp(t),this._init=!0}};Le("DES-ECB",xt.cipher.modes.ecb);Le("DES-CBC",xt.cipher.modes.cbc);Le("DES-CFB",xt.cipher.modes.cfb);Le("DES-OFB",xt.cipher.modes.ofb);Le("DES-CTR",xt.cipher.modes.ctr);Le("3DES-ECB",xt.cipher.modes.ecb);Le("3DES-CBC",xt.cipher.modes.cbc);Le("3DES-CFB",xt.cipher.modes.cfb);Le("3DES-OFB",xt.cipher.modes.ofb);Le("3DES-CTR",xt.cipher.modes.ctr);function Le(e,t){var r=function(){return new xt.des.Algorithm(e,t)};xt.cipher.registerAlgorithm(e,r)}var yp=[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],mp=[-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],gp=[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],xp=[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],vp=[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],bp=[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],wp=[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],Ep=[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 Sp(e){for(var t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],o=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],f=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[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],y=[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],p=e.length()>8?3:1,m=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],w=0,v,I=0;I<p;I++){var E=e.getInt32(),S=e.getInt32();v=(E>>>4^S)&252645135,S^=v,E^=v<<4,v=(S>>>-16^E)&65535,E^=v,S^=v<<-16,v=(E>>>2^S)&858993459,S^=v,E^=v<<2,v=(S>>>-16^E)&65535,E^=v,S^=v<<-16,v=(E>>>1^S)&1431655765,S^=v,E^=v<<1,v=(S>>>8^E)&16711935,E^=v,S^=v<<8,v=(E>>>1^S)&1431655765,S^=v,E^=v<<1,v=E<<8|S>>>20&240,E=S<<24|S<<8&16711680|S>>>8&65280|S>>>24&240,S=v;for(var R=0;R<g.length;++R){g[R]?(E=E<<2|E>>>26,S=S<<2|S>>>26):(E=E<<1|E>>>27,S=S<<1|S>>>27),E&=-15,S&=-15;var L=t[E>>>28]|r[E>>>24&15]|n[E>>>20&15]|i[E>>>16&15]|o[E>>>12&15]|s[E>>>8&15]|a[E>>>4&15],z=c[S>>>28]|u[S>>>24&15]|f[S>>>20&15]|l[S>>>16&15]|h[S>>>12&15]|y[S>>>8&15]|d[S>>>4&15];v=(z>>>16^L)&65535,m[w++]=L^v,m[w++]=z^v<<16}}return m}function P0(e,t,r,n){var i=e.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=t[0],c=t[1];s=(a>>>4^c)&252645135,c^=s,a^=s<<4,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var f=o[u+1],l=o[u+2],h=o[u];h!=f;h+=l){var y=c^e[h],d=(c>>>4|c<<28)^e[h+1];s=a,a=c,c=s^(mp[y>>>24&63]|xp[y>>>16&63]|bp[y>>>8&63]|Ep[y&63]|yp[d>>>24&63]|gp[d>>>16&63]|vp[d>>>8&63]|wp[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 Ti(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=xt.cipher.createDecipher(r,e.key):n=xt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof xt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Cr=ot((Db,O0)=>{var Bi=ht();O0.exports=Bi.md=Bi.md||{};Bi.md.algorithms=Bi.md.algorithms||{}});var K0=ot((Nb,M0)=>{var $e=ht();Cr();_t();var Ap=M0.exports=$e.hmac=$e.hmac||{};Ap.create=function(){var e=null,t=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 $e.md.algorithms)t=$e.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else t=o;if(s===null)s=e;else{if(typeof s=="string")s=$e.util.createBuffer(s);else if($e.util.isArray(s)){var a=s;s=$e.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>t.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),r=$e.util.createBuffer(),n=$e.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<t.blockLength)for(var a=t.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);e=s,r=r.bytes(),n=n.bytes()}t.start(),t.update(r)},i.update=function(o){t.update(o)},i.getMac=function(){var o=t.digest().bytes();return t.start(),t.update(n),t.update(o),t.digest()},i.digest=i.getMac,i}});var Ii=ot(()=>{});var V0=ot((kb,F0)=>{var Qt=ht();K0();Cr();_t();var Tp=Qt.pkcs5=Qt.pkcs5||{},Ye;Qt.util.isNodejs&&!Qt.options.usePureJavaScript&&(Ye=Ii());F0.exports=Qt.pbkdf2=Tp.pbkdf2=function(e,t,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),Qt.util.isNodejs&&!Qt.options.usePureJavaScript&&Ye.pbkdf2&&(i===null||typeof i!="object")&&(Ye.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),o?Ye.pbkdf2Sync.length===4?Ye.pbkdf2(e,t,r,n,function(v,I){if(v)return o(v);o(null,I.toString("binary"))}):Ye.pbkdf2(e,t,r,n,i,function(v,I){if(v)return o(v);o(null,I.toString("binary"))}):Ye.pbkdf2Sync.length===4?Ye.pbkdf2Sync(e,t,r,n).toString("binary"):Ye.pbkdf2Sync(e,t,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in Qt.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=Qt.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var a=new Error("Derived key is too long.");if(o)return o(a);throw a}var c=Math.ceil(n/s),u=n-(c-1)*s,f=Qt.hmac.create();f.start(i,e);var l="",h,y,d;if(!o){for(var p=1;p<=c;++p){f.start(null,null),f.update(t),f.update(Qt.util.int32ToBytes(p)),h=d=f.digest().getBytes();for(var m=2;m<=r;++m)f.start(null,null),f.update(d),y=f.digest().getBytes(),h=Qt.util.xorBytes(h,y,s),d=y;l+=p<c?h:h.substr(0,u)}return l}var p=1,m;function g(){if(p>c)return o(null,l);f.start(null,null),f.update(t),f.update(Qt.util.int32ToBytes(p)),h=d=f.digest().getBytes(),m=2,w()}function w(){if(m<=r)return f.start(null,null),f.update(d),y=f.digest().getBytes(),h=Qt.util.xorBytes(h,y,s),d=y,++m,Qt.util.setImmediate(w);l+=p<c?h:h.substr(0,u),++p,g()}g()}});var z0=ot((Ob,H0)=>{var _i=ht();_t();var q0=H0.exports=_i.pem=_i.pem||{};q0.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
|
9
|
+
`,n;if(e.procType&&(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},r+=Ci(n)),e.contentDomain&&(n={name:"Content-Domain",values:[e.contentDomain]},r+=Ci(n)),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),r+=Ci(n)),e.headers)for(var i=0;i<e.headers.length;++i)r+=Ci(e.headers[i]);return e.procType&&(r+=`\r
|
10
|
+
`),r+=_i.util.encode64(e.body,t.maxline||64)+`\r
|
11
11
|
`,r+="-----END "+e.type+`-----\r
|
12
|
-
`,r};
|
12
|
+
`,r};q0.decode=function(e){for(var t=[],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(e),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:_i.util.decode64(o[3])};if(t.push(a),!!o[2]){for(var c=o[2].split(i),u=0;o&&u<c.length;){for(var f=c[u].replace(/\s+$/,""),l=u+1;l<c.length;++l){var h=c[l];if(!/\s/.test(h[0]))break;f+=h,u=l}if(o=f.match(n),o){for(var y={name:o[1],values:[]},d=o[2].split(","),p=0;p<d.length;++p)y.values.push(Bp(d[p]));if(a.procType)if(!a.contentDomain&&y.name==="Content-Domain")a.contentDomain=d[0]||"";else if(!a.dekInfo&&y.name==="DEK-Info"){if(y.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(y);else{if(y.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(y.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(t.length===0)throw new Error("Invalid PEM formatted message.");return t};function Ci(e){for(var t=e.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<e.values.length;++i)r.push(e.values[i].replace(/^(\S+\r\n)/,n));t+=r.join(",")+`\r
|
13
13
|
`;for(var o=0,s=-1,i=0;i<t.length;++i,++o)if(o>65&&s!==-1){var a=t[s];a===","?(++s,t=t.substr(0,s)+`\r
|
14
14
|
`+t.substr(s)):t=t.substr(0,s)+`\r
|
15
|
-
`+a+t.substr(s+1),o=i-s-1,s=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(s=i);return t}function Qd(e){return e.replace(/^\s+/,"")}});var Uc=st((Y2,kc)=>{var ke=ht();Rr();Rt();var Dc=kc.exports=ke.sha256=ke.sha256||{};ke.md.sha256=ke.md.algorithms.sha256=Dc;Dc.create=function(){Nc||Zd();var e=null,t=ke.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 t=ke.util.createBuffer(),e={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=ke.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 t.putBytes(i),Lc(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=ke.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Is.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};Lc(l,r,i);var h=ke.util.createBuffer();return h.putInt32(l.h0),h.putInt32(l.h1),h.putInt32(l.h2),h.putInt32(l.h3),h.putInt32(l.h4),h.putInt32(l.h5),h.putInt32(l.h6),h.putInt32(l.h7),h},n};var Is=null,Nc=!1,Pc=null;function Zd(){Is="\x80",Is+=ke.util.fillString("\0",64),Pc=[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],Nc=!0}function Lc(e,t,r){for(var n,i,o,s,a,c,u,f,l,h,y,d,p,m,x,w=r.length();w>=64;){for(u=0;u<16;++u)t[u]=r.getInt32();for(;u<64;++u)n=t[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[u]=n+t[u-7]+i+t[u-16]|0;for(f=e.h0,l=e.h1,h=e.h2,y=e.h3,d=e.h4,p=e.h5,m=e.h6,x=e.h7,u=0;u<64;++u)s=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),a=m^d&(p^m),o=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&l|h&(f^l),n=x+s+a+Pc[u]+t[u],i=o+c,x=m,m=p,p=d,d=y+n>>>0,y=h,h=l,l=f,f=n+i>>>0;e.h0=e.h0+f|0,e.h1=e.h1+l|0,e.h2=e.h2+h|0,e.h3=e.h3+y|0,e.h4=e.h4+d|0,e.h5=e.h5+p|0,e.h6=e.h6+m|0,e.h7=e.h7+x|0,w-=64}}});var Mc=st(($2,Oc)=>{var Ue=ht();Rt();var Ci=null;Ue.util.isNodejs&&!Ue.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Ci=Ti());var Xd=Oc.exports=Ue.prng=Ue.prng||{};Xd.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(u,f){if(!f)return t.generateSync(u);var l=t.plugin.cipher,h=t.plugin.increment,y=t.plugin.formatKey,d=t.plugin.formatSeed,p=Ue.util.createBuffer();t.key=null,m();function m(x){if(x)return f(x);if(p.length()>=u)return f(null,p.getBytes(u));if(t.generated>1048575&&(t.key=null),t.key===null)return Ue.util.nextTick(function(){o(m)});var w=l(t.key,t.seed);t.generated+=w.length,p.putBytes(w),t.key=y(l(t.key,h(t.seed))),t.seed=d(l(t.key,t.seed)),Ue.util.setImmediate(m)}},t.generateSync=function(u){var f=t.plugin.cipher,l=t.plugin.increment,h=t.plugin.formatKey,y=t.plugin.formatSeed;t.key=null;for(var d=Ue.util.createBuffer();d.length()<u;){t.generated>1048575&&(t.key=null),t.key===null&&s();var p=f(t.key,t.seed);t.generated+=p.length,d.putBytes(p),t.key=h(f(t.key,l(t.seed))),t.seed=y(f(t.key,t.seed))}return d.getBytes(u)};function o(u){if(t.pools[0].messageLength>=32)return a(),u();var f=32-t.pools[0].messageLength<<5;t.seedFile(f,function(l,h){if(l)return u(l);t.collect(h),a(),u()})}function s(){if(t.pools[0].messageLength>=32)return a();var u=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(u)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var u=t.plugin.md.create();u.update(t.keyBytes);for(var f=1,l=0;l<32;++l)t.reseeds%f===0&&(u.update(t.pools[l].digest().getBytes()),t.pools[l].start()),f=f<<1;t.keyBytes=u.digest().getBytes(),u.start(),u.update(t.keyBytes);var h=u.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(h),t.generated=0}function c(u){var f=null,l=Ue.util.globalScope,h=l.crypto||l.msCrypto;h&&h.getRandomValues&&(f=function(E){return h.getRandomValues(E)});var y=Ue.util.createBuffer();if(f)for(;y.length()<u;){var d=Math.max(1,Math.min(u-y.length(),65536)/4),p=new Uint32Array(Math.floor(d));try{f(p);for(var m=0;m<p.length;++m)y.putInt32(p[m])}catch(E){if(!(typeof QuotaExceededError<"u"&&E instanceof QuotaExceededError))throw E}}if(y.length()<u)for(var x,w,b,R=Math.floor(Math.random()*65536);y.length()<u;){w=16807*(R&65535),x=16807*(R>>16),w+=(x&32767)<<16,w+=x>>15,w=(w&2147483647)+(w>>31),R=w&4294967295;for(var m=0;m<3;++m)b=R>>>(m<<3),b^=Math.floor(Math.random()*256),y.putByte(b&255)}return y.getBytes(u)}return Ci?(t.seedFile=function(u,f){Ci.randomBytes(u,function(l,h){if(l)return f(l);f(null,h.toString())})},t.seedFileSync=function(u){return Ci.randomBytes(u).toString()}):(t.seedFile=function(u,f){try{f(null,c(u))}catch(l){f(l)}},t.seedFileSync=c),t.collect=function(u){for(var f=u.length,l=0;l<f;++l)t.pools[t.pool].update(u.substr(l,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(u,f){for(var l="",h=0;h<f;h+=8)l+=String.fromCharCode(u>>h&255);t.collect(l)},t.registerWorker=function(u){if(u===self)t.seedFile=function(l,h){function y(d){var p=d.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",y),h(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",y),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var h=l.data;h.forge&&h.forge.prng&&t.seedFile(h.forge.prng.needed,function(y,d){u.postMessage({forge:{prng:{err:y,bytes:d}}})})};u.addEventListener("message",f)}},t}});var Fn=st((Q2,Cs)=>{var Mt=ht();Bs();Uc();Mc();Rt();(function(){if(Mt.random&&Mt.random.getBytes){Cs.exports=Mt.random;return}(function(e){var t={},r=new Array(4),n=Mt.util.createBuffer();t.formatKey=function(l){var h=Mt.util.createBuffer(l);return l=new Array(4),l[0]=h.getInt32(),l[1]=h.getInt32(),l[2]=h.getInt32(),l[3]=h.getInt32(),Mt.aes._expandKey(l,!1)},t.formatSeed=function(l){var h=Mt.util.createBuffer(l);return l=new Array(4),l[0]=h.getInt32(),l[1]=h.getInt32(),l[2]=h.getInt32(),l[3]=h.getInt32(),l},t.cipher=function(l,h){return Mt.aes._updateBlock(l,h,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(l){return++l[3],l},t.md=Mt.md.sha256;function i(){var l=Mt.prng.create(t);return l.getBytes=function(h,y){return l.generate(h,y)},l.getBytesSync=function(h){return l.generate(h)},l}var o=i(),s=null,a=Mt.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),Mt.options.usePureJavaScript||!Mt.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var f in navigator)try{typeof navigator[f]=="string"&&(u+=navigator[f])}catch{}o.collect(u),u=null}e&&(e().mousemove(function(l){o.collectInt(l.clientX,16),o.collectInt(l.clientY,16)}),e().keypress(function(l){o.collectInt(l.charCode,8)}))}if(!Mt.random)Mt.random=o;else for(var f in o)Mt.random[f]=o[f];Mt.random.createInstance=i,Cs.exports=Mt.random})(typeof jQuery<"u"?jQuery:null)})()});var qc=st((Z2,Vc)=>{var ie=ht();Rt();var _s=[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],Kc=[1,2,3,5],Jd=function(e,t){return e<<t&65535|(e&65535)>>16-t},jd=function(e,t){return(e&65535)>>t|e<<16-t&65535};Vc.exports=ie.rc2=ie.rc2||{};ie.rc2.expandKey=function(e,t){typeof e=="string"&&(e=ie.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(_s[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,_s[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,_s[r.at(a+1)^r.at(a+o)]);return r};var Fc=function(e,t,r){var n=!1,i=null,o=null,s=null,a,c,u,f,l=[];for(e=ie.rc2.expandKey(e,t),u=0;u<64;u++)l.push(e.getInt16Le());r?(a=function(d){for(u=0;u<4;u++)d[u]+=l[f]+(d[(u+3)%4]&d[(u+2)%4])+(~d[(u+3)%4]&d[(u+1)%4]),d[u]=Jd(d[u],Kc[u]),f++},c=function(d){for(u=0;u<4;u++)d[u]+=l[d[(u+3)%4]&63]}):(a=function(d){for(u=3;u>=0;u--)d[u]=jd(d[u],Kc[u]),d[u]-=l[f]+(d[(u+3)%4]&d[(u+2)%4])+(~d[(u+3)%4]&d[(u+1)%4]),f--},c=function(d){for(u=3;u>=0;u--)d[u]-=l[d[(u+3)%4]&63]});var h=function(d){var p=[];for(u=0;u<4;u++){var m=i.getInt16Le();s!==null&&(r?m^=s.getInt16Le():s.putInt16Le(m)),p.push(m&65535)}f=r?0:63;for(var x=0;x<d.length;x++)for(var w=0;w<d[x][0];w++)d[x][1](p);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(p[u]):p[u]^=s.getInt16Le()),o.putInt16Le(p[u])},y=null;return y={start:function(d,p){d&&typeof d=="string"&&(d=ie.util.createBuffer(d)),n=!1,i=ie.util.createBuffer(),o=p||new ie.util.createBuffer,s=d,y.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 p=!0;if(r)if(d)p=d(8,i,!r);else{var m=i.length()===8?8:8-i.length();i.fillWithByte(m,m)}if(p&&(n=!0,y.update()),!r&&(p=i.length()===0,p))if(d)p=d(8,o,!r);else{var x=o.length(),w=o.at(x-1);w>x?p=!1:o.truncate(w)}return p}},y};ie.rc2.startEncrypting=function(e,t,r){var n=ie.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};ie.rc2.createEncryptionCipher=function(e,t){return Fc(e,t,!0)};ie.rc2.startDecrypting=function(e,t,r){var n=ie.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};ie.rc2.createDecryptionCipher=function(e,t){return Fc(e,t,!1)}});var Li=st((X2,Zc)=>{var Rs=ht();Zc.exports=Rs.jsbn=Rs.jsbn||{};var Qe,tp=0xdeadbeefcafe,Hc=(tp&16777215)==15715070;function B(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}Rs.jsbn.BigInteger=B;function it(){return new B(null)}function ep(e,t,r,n,i,o){for(;--o>=0;){var s=t*this.data[e++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function rp(e,t,r,n,i,o){for(var s=t&32767,a=t>>15;--o>=0;){var c=this.data[e]&32767,u=this.data[e++]>>15,f=a*c+u*s;c=s*c+((f&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(f>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function zc(e,t,r,n,i,o){for(var s=t&16383,a=t>>14;--o>=0;){var c=this.data[e]&16383,u=this.data[e++]>>14,f=a*c+u*s;c=s*c+((f&16383)<<14)+r.data[n]+i,i=(c>>28)+(f>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(B.prototype.am=zc,Qe=28):Hc&&navigator.appName=="Microsoft Internet Explorer"?(B.prototype.am=rp,Qe=30):Hc&&navigator.appName!="Netscape"?(B.prototype.am=ep,Qe=26):(B.prototype.am=zc,Qe=28);B.prototype.DB=Qe;B.prototype.DM=(1<<Qe)-1;B.prototype.DV=1<<Qe;var Ls=52;B.prototype.FV=Math.pow(2,Ls);B.prototype.F1=Ls-Qe;B.prototype.F2=2*Qe-Ls;var np="0123456789abcdefghijklmnopqrstuvwxyz",_i=new Array,ln,ge;ln=48;for(ge=0;ge<=9;++ge)_i[ln++]=ge;ln=97;for(ge=10;ge<36;++ge)_i[ln++]=ge;ln=65;for(ge=10;ge<36;++ge)_i[ln++]=ge;function Gc(e){return np.charAt(e)}function Wc(e,t){var r=_i[e.charCodeAt(t)];return r??-1}function ip(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function op(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function hr(e){var t=it();return t.fromInt(e),t}function sp(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,o=0;--n>=0;){var s=r==8?e[n]&255:Wc(e,n);if(s<0){e.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&&e[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&B.ZERO.subTo(this,this)}function ap(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function cp(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%t;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=Gc(n));s>=0;)a<t?(n=(this.data[s]&(1<<a)-1)<<t-a,n|=this.data[--s]>>(a+=this.DB-t)):(n=this.data[s]>>(a-=t)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=Gc(n));return i?o:"0"}function up(){var e=it();return B.ZERO.subTo(this,e),e}function fp(){return this.s<0?this.negate():this}function lp(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function Ri(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function hp(){return this.t<=0?0:this.DB*(this.t-1)+Ri(this.data[this.t-1]^this.s&this.DM)}function dp(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function pp(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function yp(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(e/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)t.data[a]=0;t.data[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()}function mp(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,o=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)t.data[s-r-1]|=(this.data[s]&o)<<i,t.data[s-r]=this.data[s]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&o)<<i),t.t=this.t-r,t.clamp()}function gp(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function xp(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&B.ZERO.subTo(t,t)}function vp(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function bp(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=it());var o=it(),s=this.s,a=e.s,c=this.DB-Ri(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var u=o.t,f=o.data[u-1];if(f!=0){var l=f*(1<<this.F1)+(u>1?o.data[u-2]>>this.F2:0),h=this.FV/l,y=(1<<this.F1)/l,d=1<<this.F2,p=r.t,m=p-u,x=t??it();for(o.dlShiftTo(m,x),r.compareTo(x)>=0&&(r.data[r.t++]=1,r.subTo(x,r)),B.ONE.dlShiftTo(u,x),x.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--m>=0;){var w=r.data[--p]==f?this.DM:Math.floor(r.data[p]*h+(r.data[p-1]+d)*y);if((r.data[p]+=o.am(0,w,r,m,0,u))<w)for(o.dlShiftTo(m,x),r.subTo(x,r);r.data[p]<--w;)r.subTo(x,r)}t!=null&&(r.drShiftTo(u,t),s!=a&&B.ZERO.subTo(t,t)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&B.ZERO.subTo(r,r)}}}function wp(e){var t=it();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(B.ZERO)>0&&e.subTo(t,t),t}function Lr(e){this.m=e}function Ep(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function Sp(e){return e}function Ap(e){e.divRemTo(this.m,null,e)}function Tp(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function Bp(e,t){e.squareTo(t),this.reduce(t)}Lr.prototype.convert=Ep;Lr.prototype.revert=Sp;Lr.prototype.reduce=Ap;Lr.prototype.mulTo=Tp;Lr.prototype.sqrTo=Bp;function Ip(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Dr(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function Cp(e){var t=it();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(B.ZERO)>0&&this.m.subTo(t,t),t}function _p(e){var t=it();return e.copyTo(t),this.reduce(t),t}function Rp(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function Lp(e,t){e.squareTo(t),this.reduce(t)}function Dp(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Dr.prototype.convert=Cp;Dr.prototype.revert=_p;Dr.prototype.reduce=Rp;Dr.prototype.mulTo=Dp;Dr.prototype.sqrTo=Lp;function Np(){return(this.t>0?this.data[0]&1:this.s)==0}function Pp(e,t){if(e>4294967295||e<1)return B.ONE;var r=it(),n=it(),i=t.convert(this),o=Ri(e)-1;for(i.copyTo(r);--o>=0;)if(t.sqrTo(r,n),(e&1<<o)>0)t.mulTo(n,i,r);else{var s=r;r=n,n=s}return t.revert(r)}function kp(e,t){var r;return e<256||t.isEven()?r=new Lr(t):r=new Dr(t),this.exp(e,r)}B.prototype.copyTo=ip;B.prototype.fromInt=op;B.prototype.fromString=sp;B.prototype.clamp=ap;B.prototype.dlShiftTo=dp;B.prototype.drShiftTo=pp;B.prototype.lShiftTo=yp;B.prototype.rShiftTo=mp;B.prototype.subTo=gp;B.prototype.multiplyTo=xp;B.prototype.squareTo=vp;B.prototype.divRemTo=bp;B.prototype.invDigit=Ip;B.prototype.isEven=Np;B.prototype.exp=Pp;B.prototype.toString=cp;B.prototype.negate=up;B.prototype.abs=fp;B.prototype.compareTo=lp;B.prototype.bitLength=hp;B.prototype.mod=wp;B.prototype.modPowInt=kp;B.ZERO=hr(0);B.ONE=hr(1);function Up(){var e=it();return this.copyTo(e),e}function Op(){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 Mp(){return this.t==0?this.s:this.data[0]<<24>>24}function Kp(){return this.t==0?this.s:this.data[0]<<16>>16}function Fp(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function Vp(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function qp(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=hr(r),i=it(),o=it(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(e).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(e)+s}function Hp(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,o=0,s=0,a=0;a<e.length;++a){var c=Wc(e,a);if(c<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=t*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(t,o)),this.dAddOffset(s,0)),i&&B.ZERO.subTo(this,this)}function zp(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(B.ONE.shiftLeft(e-1),Ds,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(B.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Gp(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function Wp(e){return this.compareTo(e)==0}function Yp(e){return this.compareTo(e)<0?this:e}function $p(e){return this.compareTo(e)>0?this:e}function Qp(e,t,r){var n,i,o=Math.min(e.t,this.t);for(n=0;n<o;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=o;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function Zp(e,t){return e&t}function Xp(e){var t=it();return this.bitwiseTo(e,Zp,t),t}function Ds(e,t){return e|t}function Jp(e){var t=it();return this.bitwiseTo(e,Ds,t),t}function Yc(e,t){return e^t}function jp(e){var t=it();return this.bitwiseTo(e,Yc,t),t}function $c(e,t){return e&~t}function ty(e){var t=it();return this.bitwiseTo(e,$c,t),t}function ey(){for(var e=it(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function ry(e){var t=it();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function ny(e){var t=it();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function iy(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function oy(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+iy(this.data[e]);return this.s<0?this.t*this.DB:-1}function sy(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function ay(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=sy(this.data[r]^t);return e}function cy(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function uy(e,t){var r=B.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function fy(e){return this.changeBit(e,Ds)}function ly(e){return this.changeBit(e,$c)}function hy(e){return this.changeBit(e,Yc)}function dy(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function py(e){var t=it();return this.addTo(e,t),t}function yy(e){var t=it();return this.subTo(e,t),t}function my(e){var t=it();return this.multiplyTo(e,t),t}function gy(e){var t=it();return this.divRemTo(e,t,null),t}function xy(e){var t=it();return this.divRemTo(e,null,t),t}function vy(e){var t=it(),r=it();return this.divRemTo(e,t,r),new Array(t,r)}function by(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function wy(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function Vn(){}function Qc(e){return e}function Ey(e,t,r){e.multiplyTo(t,r)}function Sy(e,t){e.squareTo(t)}Vn.prototype.convert=Qc;Vn.prototype.revert=Qc;Vn.prototype.mulTo=Ey;Vn.prototype.sqrTo=Sy;function Ay(e){return this.exp(e,new Vn)}function Ty(e,t,r){var n=Math.min(this.t+e.t,t);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,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function By(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function hn(e){this.r2=it(),this.q3=it(),B.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function Iy(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=it();return e.copyTo(t),this.reduce(t),t}function Cy(e){return e}function _y(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function Ry(e,t){e.squareTo(t),this.reduce(t)}function Ly(e,t,r){e.multiplyTo(t,r),this.reduce(r)}hn.prototype.convert=Iy;hn.prototype.revert=Cy;hn.prototype.reduce=_y;hn.prototype.mulTo=Ly;hn.prototype.sqrTo=Ry;function Dy(e,t){var r=e.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 Lr(t):t.isEven()?o=new hn(t):o=new Dr(t);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=it();for(o.sqrTo(s[1],f);a<=u;)s[a]=it(),o.mulTo(f,s[a-2],s[a]),a+=2}var l=e.t-1,h,y=!0,d=it(),p;for(r=Ri(e.data[l])-1;l>=0;){for(r>=c?h=e.data[l]>>r-c&u:(h=(e.data[l]&(1<<r+1)-1)<<c-r,l>0&&(h|=e.data[l-1]>>this.DB+r-c)),a=n;!(h&1);)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),y)s[h].copyTo(i),y=!1;else{for(;a>1;)o.sqrTo(i,d),o.sqrTo(d,i),a-=2;a>0?o.sqrTo(i,d):(p=i,i=d,d=p),o.mulTo(d,s[h],i)}for(;l>=0&&!(e.data[l]&1<<r);)o.sqrTo(i,d),p=i,i=d,d=p,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function Ny(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return t;for(i<o&&(o=i),o>0&&(t.rShiftTo(o,t),r.rShiftTo(o,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function Py(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function ky(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return B.ZERO;for(var r=e.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),t?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(e,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),t?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(e,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),t&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(B.ONE)!=0)return B.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var Te=[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],Uy=(1<<26)/Te[Te.length-1];function Oy(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=Te[Te.length-1]){for(t=0;t<Te.length;++t)if(r.data[0]==Te[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<Te.length;){for(var n=Te[t],i=t+1;i<Te.length&&n<Uy;)n*=Te[i++];for(n=r.modInt(n);t<i;)if(n%Te[t++]==0)return!1}return r.millerRabin(e)}function My(e){var t=this.subtract(B.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=Ky(),o,s=0;s<e;++s){do o=new B(this.bitLength(),i);while(o.compareTo(B.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(B.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(B.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function Ky(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}B.prototype.chunkSize=Fp;B.prototype.toRadix=qp;B.prototype.fromRadix=Hp;B.prototype.fromNumber=zp;B.prototype.bitwiseTo=Qp;B.prototype.changeBit=uy;B.prototype.addTo=dy;B.prototype.dMultiply=by;B.prototype.dAddOffset=wy;B.prototype.multiplyLowerTo=Ty;B.prototype.multiplyUpperTo=By;B.prototype.modInt=Py;B.prototype.millerRabin=My;B.prototype.clone=Up;B.prototype.intValue=Op;B.prototype.byteValue=Mp;B.prototype.shortValue=Kp;B.prototype.signum=Vp;B.prototype.toByteArray=Gp;B.prototype.equals=Wp;B.prototype.min=Yp;B.prototype.max=$p;B.prototype.and=Xp;B.prototype.or=Jp;B.prototype.xor=jp;B.prototype.andNot=ty;B.prototype.not=ey;B.prototype.shiftLeft=ry;B.prototype.shiftRight=ny;B.prototype.getLowestSetBit=oy;B.prototype.bitCount=ay;B.prototype.testBit=cy;B.prototype.setBit=fy;B.prototype.clearBit=ly;B.prototype.flipBit=hy;B.prototype.add=py;B.prototype.subtract=yy;B.prototype.multiply=my;B.prototype.divide=gy;B.prototype.remainder=xy;B.prototype.divideAndRemainder=vy;B.prototype.modPow=Dy;B.prototype.modInverse=ky;B.prototype.pow=Ay;B.prototype.gcd=Ny;B.prototype.isProbablePrime=Oy});var eu=st((J2,tu)=>{var Oe=ht();Rr();Rt();var Jc=tu.exports=Oe.sha1=Oe.sha1||{};Oe.md.sha1=Oe.md.algorithms.sha1=Jc;Jc.create=function(){jc||Fy();var e=null,t=Oe.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 t=Oe.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Oe.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 t.putBytes(i),Xc(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Oe.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Ns.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};Xc(l,r,i);var h=Oe.util.createBuffer();return h.putInt32(l.h0),h.putInt32(l.h1),h.putInt32(l.h2),h.putInt32(l.h3),h.putInt32(l.h4),h},n};var Ns=null,jc=!1;function Fy(){Ns="\x80",Ns+=Oe.util.fillString("\0",64),jc=!0}function Xc(e,t,r){for(var n,i,o,s,a,c,u,f,l=r.length();l>=64;){for(i=e.h0,o=e.h1,s=e.h2,a=e.h3,c=e.h4,f=0;f<16;++f)n=r.getInt32(),t[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<20;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<32;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<40;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<60;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o&s|a&(o^s),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<80;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;e.h0=e.h0+i|0,e.h1=e.h1+o|0,e.h2=e.h2+s|0,e.h3=e.h3+a|0,e.h4=e.h4+c|0,l-=64}}});var iu=st((j2,nu)=>{var Me=ht();Rt();Fn();eu();var ru=nu.exports=Me.pkcs1=Me.pkcs1||{};ru.encode_rsa_oaep=function(e,t,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=Me.md.sha1.create(),s||(s=o);var a=Math.ceil(e.n.bitLength()/8),c=a-2*o.digestLength-2;if(t.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=t.length,u.maxLength=c,u}n||(n=""),o.update(n,"raw");for(var f=o.digest(),l="",h=c-t.length,y=0;y<h;y++)l+="\0";var d=f.getBytes()+l+""+t;if(!i)i=Me.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 p=Di(i,a-o.digestLength-1,s),m=Me.util.xorBytes(d,p,d.length),x=Di(m,o.digestLength,s),w=Me.util.xorBytes(i,x,i.length);return"\0"+w+m};ru.decode_rsa_oaep=function(e,t,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(e.n.bitLength()/8);if(t.length!==s){var m=new Error("RSAES-OAEP encoded message length is invalid.");throw m.length=t.length,m.expectedLength=s,m}if(i===void 0?i=Me.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=t.charAt(0),u=t.substring(1,i.digestLength+1),f=t.substring(1+i.digestLength),l=Di(f,i.digestLength,o),h=Me.util.xorBytes(u,l,u.length),y=Di(h,s-i.digestLength-1,o),d=Me.util.xorBytes(f,y,f.length),p=d.substring(0,i.digestLength),m=c!=="\0",x=0;x<i.digestLength;++x)m|=a.charAt(x)!==p.charAt(x);for(var w=1,b=i.digestLength,R=i.digestLength;R<d.length;R++){var E=d.charCodeAt(R),S=E&1^1,L=w?65534:0;m|=E&L,w=w&S,b+=w}if(m||d.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return d.substring(b+1)};function Di(e,t,r){r||(r=Me.md.sha1.create());for(var n="",i=Math.ceil(t/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(e+s),n+=r.digest().getBytes()}return n.substring(0,t)}});var ou=st((tv,Ps)=>{var dr=ht();Rt();Li();Fn();(function(){if(dr.prime){Ps.exports=dr.prime;return}var e=Ps.exports=dr.prime=dr.prime||{},t=dr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(l,h){return l|h};e.generateProbablePrime=function(l,h,y){typeof h=="function"&&(y=h,h={}),h=h||{};var d=h.algorithm||"PRIMEINC";typeof d=="string"&&(d={name:d}),d.options=d.options||{};var p=h.prng||dr.random,m={nextBytes:function(x){for(var w=p.getBytesSync(x.length),b=0;b<x.length;++b)x[b]=w.charCodeAt(b)}};if(d.name==="PRIMEINC")return o(l,m,d.options,y);throw new Error("Invalid prime generation algorithm: "+d.name)};function o(l,h,y,d){return"workers"in y?c(l,h,y,d):s(l,h,y,d)}function s(l,h,y,d){var p=u(l,h),m=0,x=f(p.bitLength());"millerRabinTests"in y&&(x=y.millerRabinTests);var w=10;"maxBlockTime"in y&&(w=y.maxBlockTime),a(p,l,h,m,x,w,d)}function a(l,h,y,d,p,m,x){var w=+new Date;do{if(l.bitLength()>h&&(l=u(h,y)),l.isProbablePrime(p))return x(null,l);l.dAddOffset(r[d++%8],0)}while(m<0||+new Date-w<m);dr.util.setImmediate(function(){a(l,h,y,d,p,m,x)})}function c(l,h,y,d){if(typeof Worker>"u")return s(l,h,y,d);var p=u(l,h),m=y.workers,x=y.workLoad||100,w=x*30/8,b=y.workerScript||"forge/prime.worker.js";if(m===-1)return dr.util.estimateCores(function(E,S){E&&(S=2),m=S-1,R()});R();function R(){m=Math.max(1,m);for(var E=[],S=0;S<m;++S)E[S]=new Worker(b);for(var L=m,S=0;S<m;++S)E[S].addEventListener("message",Y);var D=!1;function Y(W){if(!D){--L;var q=W.data;if(q.found){for(var j=0;j<E.length;++j)E[j].terminate();return D=!0,d(null,new t(q.prime,16))}p.bitLength()>l&&(p=u(l,h));var lt=p.toString(16);W.target.postMessage({hex:lt,workLoad:x}),p.dAddOffset(w,0)}}}}function u(l,h){var y=new t(l,h),d=l-1;return y.testBit(d)||y.bitwiseTo(t.ONE.shiftLeft(d),i,y),y.dAddOffset(31-y.mod(n).byteValue(),0),y}function f(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var Pi=st((ev,hu)=>{var V=ht();Kn();Li();xi();iu();ou();Fn();Rt();typeof nt>"u"&&(nt=V.jsbn.BigInteger);var nt,ks=V.util.isNodejs?Ti():null,v=V.asn1,xe=V.util;V.pki=V.pki||{};hu.exports=V.pki.rsa=V.rsa=V.rsa||{};var $=V.pki,Vy=[6,4,2,4,2,4,6,2],qy={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"}]},Hy={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"}]},zy={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"}]},Gy=V.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},Wy={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"}]},Yy=function(e){var t;if(e.algorithm in $.oids)t=$.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=v.oidToDer(t).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,e.digest().getBytes());return i.value.push(o),i.value.push(s),v.toDer(i).getBytes()},fu=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(nt.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(nt.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new nt(V.util.bytesToHex(V.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(nt.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),o=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(o)<0;)i=i.add(t.p);var s=i.subtract(o).multiply(t.qInv).mod(t.p).multiply(t.q).add(o);return s=s.multiply(n.modInverse(t.n)).mod(t.n),s};$.rsa.encrypt=function(e,t,r){var n=r,i,o=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=lu(e,t,r)):(i=V.util.createBuffer(),i.putBytes(e));for(var s=new nt(i.toHex(),16),a=fu(s,t,n),c=a.toString(16),u=V.util.createBuffer(),f=o-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(V.util.hexToBytes(c)),u.getBytes()};$.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=e.length,o.expected=i,o}var s=new nt(V.util.createBuffer(e).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=fu(s,t,r),c=a.toString(16),u=V.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(V.util.hexToBytes(c)),n!==!1?Ni(u.getBytes(),t,r):u.getBytes()};$.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||V.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:e,rng:i,eInt:t||65537,e:new nt(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};$.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new nt(null);r.fromInt(30);for(var n=0,i=function(l,h){return l|h},o=+new Date,s,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var c=e.p===null?e.pBits:e.qBits,u=c-1;e.pqState===0?(e.num=new nt(c,e.rng),e.num.testBit(u)||e.num.bitwiseTo(nt.ONE.shiftLeft(u),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(Qy(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(Vy[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(nt.ONE).gcd(e.e).compareTo(nt.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(nt.ONE),e.q1=e.q.subtract(nt.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(nt.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var f=e.e.modInverse(e.phi);e.keys={privateKey:$.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:$.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-o,o=s}return e.keys!==null};$.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!V.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(su("generateKeyPair"))return ks.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:$.privateKeyFromPem(u),publicKey:$.publicKeyFromPem(c)})});if(au("generateKey")&&au("exportKey"))return xe.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:uu(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return xe.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=$.privateKeyFromAsn1(v.fromDer(V.util.createBuffer(a)));n(null,{privateKey:c,publicKey:$.setRsaPublicKey(c.n,c.e)})}});if(cu("generateKey")&&cu("exportKey")){var i=xe.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:uu(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=xe.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var l=f.target.result,h=$.privateKeyFromAsn1(v.fromDer(V.util.createBuffer(l)));n(null,{privateKey:h,publicKey:$.setRsaPublicKey(h.n,h.e)})},u.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(su("generateKeyPairSync")){var o=ks.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:$.privateKeyFromPem(o.privateKey),publicKey:$.publicKeyFromPem(o.publicKey)}}}var s=$.rsa.createKeyPairGenerationState(e,t,r);if(!n)return $.rsa.stepKeyPairGenerationState(s,0),s.keys;$y(s,r,n)};$.setRsaPublicKey=$.rsa.setPublicKey=function(e,t){var r={n:e,e:t};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 lu(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return V.pkcs1.encode_rsa_oaep(c,a,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 $.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=Ni(u,r,!0);var f=v.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),l={},h=[];if(!v.validate(f,Wy,l,h)){var y=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw y.errors=h,y}var d=v.derToOid(l.algorithmIdentifier);if(!(d===V.oids.md2||d===V.oids.md5||d===V.oids.sha1||d===V.oids.sha224||d===V.oids.sha256||d===V.oids.sha384||d===V.oids.sha512||d===V.oids["sha512-224"]||d===V.oids["sha512-256"])){var y=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw y.oid=d,y}if((d===V.oids.md2||d===V.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===l.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,u){return u=Ni(u,r,!0),c===u}});var a=$.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};$.setRsaPrivateKey=$.rsa.setPrivateKey=function(e,t,r,n,i,o,s,a){var c={n:e,e:t,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(u,f,l){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var h=$.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:Ni};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(y,d){return V.pkcs1.decode_rsa_oaep(d,y,l)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(y){return y}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(h,c,!1)},c.sign=function(u,f){var l=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:Yy},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},l=1);var h=f.encode(u,c.n.bitLength());return $.rsa.encrypt(h,c,l)},c};$.wrapRsaPrivateKey=function(e){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($.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,v.toDer(e).getBytes())])};$.privateKeyFromAsn1=function(e){var t={},r=[];if(v.validate(e,qy,t,r)&&(e=v.fromDer(V.util.createBuffer(t.privateKey))),t={},r=[],!v.validate(e,Hy,t,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,u,f,l;return i=V.util.createBuffer(t.privateKeyModulus).toHex(),o=V.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=V.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=V.util.createBuffer(t.privateKeyPrime1).toHex(),c=V.util.createBuffer(t.privateKeyPrime2).toHex(),u=V.util.createBuffer(t.privateKeyExponent1).toHex(),f=V.util.createBuffer(t.privateKeyExponent2).toHex(),l=V.util.createBuffer(t.privateKeyCoefficient).toHex(),$.setRsaPrivateKey(new nt(i,16),new nt(o,16),new nt(s,16),new nt(a,16),new nt(c,16),new nt(u,16),new nt(f,16),new nt(l,16))};$.privateKeyToAsn1=$.privateKeyToRSAPrivateKey=function(e){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,Ke(e.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ke(e.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ke(e.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ke(e.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ke(e.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ke(e.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ke(e.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ke(e.qInv))])};$.publicKeyFromAsn1=function(e){var t={},r=[];if(v.validate(e,Gy,t,r)){var n=v.derToOid(t.publicKeyOid);if(n!==$.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!v.validate(e,zy,t,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=V.util.createBuffer(t.publicKeyModulus).toHex(),s=V.util.createBuffer(t.publicKeyExponent).toHex();return $.setRsaPublicKey(new nt(o,16),new nt(s,16))};$.publicKeyToAsn1=$.publicKeyToSubjectPublicKeyInfo=function(e){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($.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[$.publicKeyToRSAPublicKey(e)])])};$.publicKeyToRSAPublicKey=function(e){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ke(e.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ke(e.e))])};function lu(e,t,r){var n=V.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=e.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-e.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var u=0,f=V.random.getBytes(s),c=0;c<s;++c)a=f.charCodeAt(c),a===0?++u:n.putByte(a);s=u}return n.putByte(0),n.putBytes(e),n}function Ni(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),o=V.util.createBuffer(e),s=o.getByte(),a=o.getByte();if(s!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var f=o.getByte();if(f!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function $y(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){o(e.pBits,function(a,c){if(a)return r(a);if(e.p=c,e.q!==null)return s(a,e.q);o(e.qBits,s)})}function o(a,c){V.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(e.q=c,e.p.compareTo(e.q)<0){var u=e.p;e.p=e.q,e.q=u}if(e.p.subtract(nt.ONE).gcd(e.e).compareTo(nt.ONE)!==0){e.p=null,i();return}if(e.q.subtract(nt.ONE).gcd(e.e).compareTo(nt.ONE)!==0){e.q=null,o(e.qBits,s);return}if(e.p1=e.p.subtract(nt.ONE),e.q1=e.q.subtract(nt.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(nt.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,o(e.qBits,s);return}var f=e.e.modInverse(e.phi);e.keys={privateKey:$.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:$.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function Ke(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=V.util.hexToBytes(t);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 Qy(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function su(e){return V.util.isNodejs&&typeof ks[e]=="function"}function au(e){return typeof xe.globalScope<"u"&&typeof xe.globalScope.crypto=="object"&&typeof xe.globalScope.crypto.subtle=="object"&&typeof xe.globalScope.crypto.subtle[e]=="function"}function cu(e){return typeof xe.globalScope<"u"&&typeof xe.globalScope.msCrypto=="object"&&typeof xe.globalScope.msCrypto.subtle=="object"&&typeof xe.globalScope.msCrypto.subtle[e]=="function"}function uu(e){for(var t=V.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var xu=st((rv,gu)=>{var O=ht();Bs();Kn();Ec();Rr();xi();Ic();Rc();Fn();qc();Pi();Rt();typeof du>"u"&&(du=O.jsbn.BigInteger);var du,A=O.asn1,Q=O.pki=O.pki||{};gu.exports=Q.pbe=O.pbe=O.pbe||{};var Nr=Q.oids,Zy={name:"EncryptedPrivateKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Xy={name:"PBES2Algorithms",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Jy={name:"pkcs-12PbeParams",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"iterations"}]};Q.encryptPrivateKeyInfo=function(e,t,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=O.random.getBytesSync(r.saltSize),i=r.count,o=A.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,f,l;switch(r.algorithm){case"aes128":s=16,u=16,f=Nr["aes128-CBC"],l=O.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,f=Nr["aes192-CBC"],l=O.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,f=Nr["aes256-CBC"],l=O.aes.createEncryptionCipher;break;case"des":s=8,u=8,f=Nr.desCBC,l=O.des.createEncryptionCipher;break;default:var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var y="hmacWith"+r.prfAlgorithm.toUpperCase(),d=mu(y),p=O.pkcs5.pbkdf2(t,n,i,s,d),m=O.random.getBytesSync(u),x=l(p);x.start(m),x.update(A.toDer(e)),x.finish(),c=x.output.getBytes();var w=jy(n,o,s,y);a=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(Nr.pkcs5PBES2).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(Nr.pkcs5PBKDF2).getBytes()),w]),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(f).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,m)])])])}else if(r.algorithm==="3des"){s=24;var b=new O.util.ByteBuffer(n),p=Q.pbe.generatePkcs12Key(t,b,1,i,s),m=Q.pbe.generatePkcs12Key(t,b,2,i,s),x=O.des.createEncryptionCipher(p);x.start(m),x.update(A.toDer(e)),x.finish(),c=x.output.getBytes(),a=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(Nr["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,n),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,o.getBytes())])])}else{var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var R=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[a,A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,c)]);return R};Q.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!A.validate(e,Zy,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=A.derToOid(n.encryptionOid),a=Q.pbe.getCipher(s,n.encryptionParams,t),c=O.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=A.fromDer(a.output)),r};Q.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:A.toDer(e).getBytes()};return O.pem.encode(r,{maxline:t})};Q.encryptedPrivateKeyFromPem=function(e){var t=O.pem.decode(e)[0];if(t.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=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return A.fromDer(t.body)};Q.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=Q.wrapRsaPrivateKey(Q.privateKeyToAsn1(e));return n=Q.encryptPrivateKeyInfo(n,t,r),Q.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=O.random.getBytesSync(16),a=O.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=O.random.getBytesSync(16),a=O.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=O.random.getBytesSync(16),a=O.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=O.random.getBytesSync(8),a=O.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=O.random.getBytesSync(8),a=O.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=O.pbe.opensslDeriveBytes(t,o.substr(0,8),s),f=a(u);f.start(o),f.update(A.toDer(Q.privateKeyToAsn1(e))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:O.util.bytesToHex(o).toUpperCase()},body:f.output.getBytes()};return O.pem.encode(l)};Q.decryptRsaPrivateKey=function(e,t){var r=null,n=O.pem.decode(e)[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=O.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=O.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=O.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=O.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=O.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return O.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return O.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return O.rc2.createDecryptionCipher(l,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=O.util.hexToBytes(n.dekInfo.parameters),c=O.pbe.opensslDeriveBytes(t,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(O.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=Q.decryptPrivateKeyInfo(A.fromDer(r),t):r=A.fromDer(r),r!==null&&(r=Q.privateKeyFromAsn1(r)),r};Q.pbe.generatePkcs12Key=function(e,t,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in O.md))throw new Error('"sha1" hash algorithm unavailable.');o=O.md.sha1.create()}var c=o.digestLength,u=o.blockLength,f=new O.util.ByteBuffer,l=new O.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)l.putInt16(e.charCodeAt(a));l.putInt16(0)}var h=l.length(),y=t.length(),d=new O.util.ByteBuffer;d.fillWithByte(r,u);var p=u*Math.ceil(y/u),m=new O.util.ByteBuffer;for(a=0;a<p;a++)m.putByte(t.at(a%y));var x=u*Math.ceil(h/u),w=new O.util.ByteBuffer;for(a=0;a<x;a++)w.putByte(l.at(a%h));var b=m;b.putBuffer(w);for(var R=Math.ceil(i/c),E=1;E<=R;E++){var S=new O.util.ByteBuffer;S.putBytes(d.bytes()),S.putBytes(b.bytes());for(var L=0;L<n;L++)o.start(),o.update(S.getBytes()),S=o.digest();var D=new O.util.ByteBuffer;for(a=0;a<u;a++)D.putByte(S.at(a%c));var Y=Math.ceil(y/u)+Math.ceil(h/u),W=new O.util.ByteBuffer;for(s=0;s<Y;s++){var q=new O.util.ByteBuffer(b.getBytes(u)),j=511;for(a=D.length()-1;a>=0;a--)j=j>>8,j+=D.at(a)+q.at(a),q.setAt(a,j&255);W.putBuffer(q)}b=W,f.putBuffer(S)}return f.truncate(f.length()-i),f};Q.pbe.getCipher=function(e,t,r){switch(e){case Q.oids.pkcs5PBES2:return Q.pbe.getCipherForPBES2(e,t,r);case Q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case Q.oids["pbewithSHAAnd40BitRC2-CBC"]:return Q.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};Q.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!A.validate(t,Xy,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(e=A.derToOid(n.kdfOid),e!==Q.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=e,o.supportedOids=["pkcs5PBKDF2"],o}if(e=A.derToOid(n.encOid),e!==Q.oids["aes128-CBC"]&&e!==Q.oids["aes192-CBC"]&&e!==Q.oids["aes256-CBC"]&&e!==Q.oids["des-EDE3-CBC"]&&e!==Q.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=e,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=O.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(Q.oids[e]){case"aes128-CBC":c=16,u=O.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=O.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=O.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=O.des.createDecryptionCipher;break;case"desCBC":c=8,u=O.des.createDecryptionCipher;break}var f=yu(n.prfOid),l=O.pkcs5.pbkdf2(r,s,a,c,f),h=n.encIv,y=u(l);return y.start(h),y};Q.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!A.validate(t,Jy,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=O.util.createBuffer(n.salt),a=O.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(e){case Q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=O.des.startDecrypting;break;case Q.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(p,m){var x=O.rc2.createDecryptionCipher(p,40);return x.start(m,null),x};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=e,o}var l=yu(n.prfOid),h=Q.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var y=Q.pbe.generatePkcs12Key(r,s,2,a,u,l);return f(h,y)};Q.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in O.md))throw new Error('"md5" hash algorithm unavailable.');n=O.md.md5.create()}t===null&&(t="");for(var i=[pu(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(pu(n,i[s-1]+e+t));return i.join("").substr(0,r)};function pu(e,t){return e.start().update(t).digest().getBytes()}function yu(e){var t;if(!e)t="hmacWithSHA1";else if(t=Q.oids[A.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return mu(t)}function mu(e){var t=O.md;switch(e){case"hmacWithSHA224":t=O.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function jy(e,t,r,n){var i=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,e),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,O.util.hexToBytes(r.toString(16))),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(Q.oids[n]).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")])),i}});var lf=st((_w,ff)=>{var gt=ht();Rr();Rt();var Qn=ff.exports=gt.sha512=gt.sha512||{};gt.md.sha512=gt.md.algorithms.sha512=Qn;var cf=gt.sha384=gt.sha512.sha384=gt.sha512.sha384||{};cf.create=function(){return Qn.create("SHA-384")};gt.md.sha384=gt.md.algorithms.sha384=cf;gt.sha512.sha256=gt.sha512.sha256||{create:function(){return Qn.create("SHA-512/256")}};gt.md["sha512/256"]=gt.md.algorithms["sha512/256"]=gt.sha512.sha256;gt.sha512.sha224=gt.sha512.sha224||{create:function(){return Qn.create("SHA-512/224")}};gt.md["sha512/224"]=gt.md.algorithms["sha512/224"]=gt.sha512.sha224;Qn.create=function(e){if(uf||bg(),typeof e>"u"&&(e="SHA-512"),!(e in zr))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=zr[e],r=null,n=gt.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(e){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:e.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=gt.util.createBuffer(),r=new Array(t.length);for(var u=0;u<t.length;++u)r[u]=t[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=gt.util.encodeUtf8(c));var f=c.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=f[1],f[1]=f[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(c),af(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=gt.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=u&a.blockLength-1;c.putBytes(ya.substr(0,a.blockLength-f));for(var l,h,y=a.fullMessageLength[0]*8,d=0;d<a.fullMessageLength.length-1;++d)l=a.fullMessageLength[d+1]*8,h=l/4294967296>>>0,y+=h,c.putInt32(y>>>0),y=l>>>0;c.putInt32(y);for(var p=new Array(r.length),d=0;d<r.length;++d)p[d]=r[d].slice(0);af(p,i,c);var m=gt.util.createBuffer(),x;e==="SHA-512"?x=p.length:e==="SHA-384"?x=p.length-2:x=p.length-4;for(var d=0;d<x;++d)m.putInt32(p[d][0]),(d!==x-1||e!=="SHA-512/224")&&m.putInt32(p[d][1]);return m},a};var ya=null,uf=!1,ma=null,zr=null;function bg(){ya="\x80",ya+=gt.util.fillString("\0",128),ma=[[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]],zr={},zr["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],zr["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],zr["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],zr["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],uf=!0}function af(e,t,r){for(var n,i,o,s,a,c,u,f,l,h,y,d,p,m,x,w,b,R,E,S,L,D,Y,W,q,j,lt,Kt,I,P,_,N,T,M,F,G=r.length();G>=128;){for(I=0;I<16;++I)t[I][0]=r.getInt32()>>>0,t[I][1]=r.getInt32()>>>0;for(;I<80;++I)N=t[I-2],P=N[0],_=N[1],n=((P>>>19|_<<13)^(_>>>29|P<<3)^P>>>6)>>>0,i=((P<<13|_>>>19)^(_<<3|P>>>29)^(P<<26|_>>>6))>>>0,M=t[I-15],P=M[0],_=M[1],o=((P>>>1|_<<31)^(P>>>8|_<<24)^P>>>7)>>>0,s=((P<<31|_>>>1)^(P<<24|_>>>8)^(P<<25|_>>>7))>>>0,T=t[I-7],F=t[I-16],_=i+T[1]+s+F[1],t[I][0]=n+T[0]+o+F[0]+(_/4294967296>>>0)>>>0,t[I][1]=_>>>0;for(p=e[0][0],m=e[0][1],x=e[1][0],w=e[1][1],b=e[2][0],R=e[2][1],E=e[3][0],S=e[3][1],L=e[4][0],D=e[4][1],Y=e[5][0],W=e[5][1],q=e[6][0],j=e[6][1],lt=e[7][0],Kt=e[7][1],I=0;I<80;++I)u=((L>>>14|D<<18)^(L>>>18|D<<14)^(D>>>9|L<<23))>>>0,f=((L<<18|D>>>14)^(L<<14|D>>>18)^(D<<23|L>>>9))>>>0,l=(q^L&(Y^q))>>>0,h=(j^D&(W^j))>>>0,a=((p>>>28|m<<4)^(m>>>2|p<<30)^(m>>>7|p<<25))>>>0,c=((p<<4|m>>>28)^(m<<30|p>>>2)^(m<<25|p>>>7))>>>0,y=(p&x|b&(p^x))>>>0,d=(m&w|R&(m^w))>>>0,_=Kt+f+h+ma[I][1]+t[I][1],n=lt+u+l+ma[I][0]+t[I][0]+(_/4294967296>>>0)>>>0,i=_>>>0,_=c+d,o=a+y+(_/4294967296>>>0)>>>0,s=_>>>0,lt=q,Kt=j,q=Y,j=W,Y=L,W=D,_=S+i,L=E+n+(_/4294967296>>>0)>>>0,D=_>>>0,E=b,S=R,b=x,R=w,x=p,w=m,_=i+s,p=n+o+(_/4294967296>>>0)>>>0,m=_>>>0;_=e[0][1]+m,e[0][0]=e[0][0]+p+(_/4294967296>>>0)>>>0,e[0][1]=_>>>0,_=e[1][1]+w,e[1][0]=e[1][0]+x+(_/4294967296>>>0)>>>0,e[1][1]=_>>>0,_=e[2][1]+R,e[2][0]=e[2][0]+b+(_/4294967296>>>0)>>>0,e[2][1]=_>>>0,_=e[3][1]+S,e[3][0]=e[3][0]+E+(_/4294967296>>>0)>>>0,e[3][1]=_>>>0,_=e[4][1]+D,e[4][0]=e[4][0]+L+(_/4294967296>>>0)>>>0,e[4][1]=_>>>0,_=e[5][1]+W,e[5][0]=e[5][0]+Y+(_/4294967296>>>0)>>>0,e[5][1]=_>>>0,_=e[6][1]+j,e[6][0]=e[6][0]+q+(_/4294967296>>>0)>>>0,e[6][1]=_>>>0,_=e[7][1]+Kt,e[7][0]=e[7][0]+lt+(_/4294967296>>>0)>>>0,e[7][1]=_>>>0,G-=128}}});var xl=st((L4,gl)=>{"use strict";function ml(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function E1(e,t,r){if(!e||typeof e=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof t=="object"&&(r=t,t=""),t&&(r.code=t);try{return ml(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),ml(new i,r)}}gl.exports=E1});var Dl=st((J4,Ll)=>{function Se(e,t){typeof t=="boolean"&&(t={forever:t}),this._originalTimeouts=JSON.parse(JSON.stringify(e)),this._timeouts=e,this._options=t||{},this._maxRetryTime=t&&t.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}Ll.exports=Se;Se.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)};Se.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null};Se.prototype.retry=function(e){if(this._timeout&&clearTimeout(this._timeout),!e)return!1;var t=new Date().getTime();if(e&&t-this._operationStart>=this._maxRetryTime)return this._errors.push(e),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(e);var r=this._timeouts.shift();if(r===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),r=this._cachedTimeouts.slice(-1);else return!1;var n=this;return this._timer=setTimeout(function(){n._attempts++,n._operationTimeoutCb&&(n._timeout=setTimeout(function(){n._operationTimeoutCb(n._attempts)},n._operationTimeout),n._options.unref&&n._timeout.unref()),n._fn(n._attempts)},r),this._options.unref&&this._timer.unref(),!0};Se.prototype.attempt=function(e,t){this._fn=e,t&&(t.timeout&&(this._operationTimeout=t.timeout),t.cb&&(this._operationTimeoutCb=t.cb));var r=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){r._operationTimeoutCb()},r._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};Se.prototype.try=function(e){console.log("Using RetryOperation.try() is deprecated"),this.attempt(e)};Se.prototype.start=function(e){console.log("Using RetryOperation.start() is deprecated"),this.attempt(e)};Se.prototype.start=Se.prototype.try;Se.prototype.errors=function(){return this._errors};Se.prototype.attempts=function(){return this._attempts};Se.prototype.mainError=function(){if(this._errors.length===0)return null;for(var e={},t=null,r=0,n=0;n<this._errors.length;n++){var i=this._errors[n],o=i.message,s=(e[o]||0)+1;e[o]=s,s>=r&&(t=i,r=s)}return t}});var Nl=st(Zr=>{var B1=Dl();Zr.operation=function(e){var t=Zr.timeouts(e);return new B1(t,{forever:e&&(e.forever||e.retries===1/0),unref:e&&e.unref,maxRetryTime:e&&e.maxRetryTime})};Zr.timeouts=function(e){if(e instanceof Array)return[].concat(e);var t={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var r in e)t[r]=e[r];if(t.minTimeout>t.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var n=[],i=0;i<t.retries;i++)n.push(this.createTimeout(i,t));return e&&e.forever&&!n.length&&n.push(this.createTimeout(i,t)),n.sort(function(o,s){return o-s}),n};Zr.createTimeout=function(e,t){var r=t.randomize?Math.random()+1:1,n=Math.round(r*Math.max(t.minTimeout,1)*Math.pow(t.factor,e));return n=Math.min(n,t.maxTimeout),n};Zr.wrap=function(e,t,r){if(t instanceof Array&&(r=t,t=null),!r){r=[];for(var n in e)typeof e[n]=="function"&&r.push(n)}for(var i=0;i<r.length;i++){var o=r[i],s=e[o];e[o]=function(c){var u=Zr.operation(t),f=Array.prototype.slice.call(arguments,1),l=f.pop();f.push(function(h){u.retry(h)||(h&&(arguments[0]=u.mainError()),l.apply(this,arguments))}),u.attempt(function(){c.apply(e,f)})}.bind(e,s),e[o].options=t}}});var kl=st((t3,Pl)=>{Pl.exports=Nl()});var Vl=st((aA,i0)=>{"use strict";var k1=Object.prototype.hasOwnProperty,re="~";function ai(){}Object.create&&(ai.prototype=Object.create(null),new ai().__proto__||(re=!1));function U1(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function Fl(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new U1(r,n||e,i),s=re?re+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],o]:e._events[s].push(o):(e._events[s]=o,e._eventsCount++),e}function Co(e,t){--e._eventsCount===0?e._events=new ai:delete e._events[t]}function Jt(){this._events=new ai,this._eventsCount=0}Jt.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)k1.call(r,n)&&t.push(re?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Jt.prototype.listeners=function(t){var r=re?re+t:t,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};Jt.prototype.listenerCount=function(t){var r=re?re+t:t,n=this._events[r];return n?n.fn?1:n.length:0};Jt.prototype.emit=function(t,r,n,i,o,s){var a=re?re+t:t;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,f,l;if(c.fn){switch(c.once&&this.removeListener(t,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(l=1,f=new Array(u-1);l<u;l++)f[l-1]=arguments[l];c.fn.apply(c.context,f)}else{var h=c.length,y;for(l=0;l<h;l++)switch(c[l].once&&this.removeListener(t,c[l].fn,void 0,!0),u){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,r);break;case 3:c[l].fn.call(c[l].context,r,n);break;case 4:c[l].fn.call(c[l].context,r,n,i);break;default:if(!f)for(y=1,f=new Array(u-1);y<u;y++)f[y-1]=arguments[y];c[l].fn.apply(c[l].context,f)}}return!0};Jt.prototype.on=function(t,r,n){return Fl(this,t,r,n,!1)};Jt.prototype.once=function(t,r,n){return Fl(this,t,r,n,!0)};Jt.prototype.removeListener=function(t,r,n,i){var o=re?re+t:t;if(!this._events[o])return this;if(!r)return Co(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&Co(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:Co(this,o)}return this};Jt.prototype.removeAllListeners=function(t){var r;return t?(r=re?re+t:t,this._events[r]&&Co(this,r)):(this._events=new ai,this._eventsCount=0),this};Jt.prototype.off=Jt.prototype.removeListener;Jt.prototype.addListener=Jt.prototype.on;Jt.prefixed=re;Jt.EventEmitter=Jt;typeof i0<"u"&&(i0.exports=Jt)});var Z1={};kt(Z1,{RELAY_V2_HOP_CODEC:()=>Ee,RELAY_V2_STOP_CODEC:()=>Qr,circuitRelayServer:()=>Kl,circuitRelayTransport:()=>ch});var J1=Symbol.for("@libp2p/connection");var tx=Symbol.for("@libp2p/content-routing");var nx=Symbol.for("@libp2p/peer-discovery");var R0=Symbol.for("@libp2p/peer-id");var sx=Symbol.for("@libp2p/peer-routing");var L0;(function(e){e.Accept="accept",e.Ignore="ignore",e.Reject="reject"})(L0||(L0={}));var N0=Symbol.for("@libp2p/transport");var D0;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(D0||(D0={}));var H=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var P0="ERR_INVALID_PARAMETERS";var me=class extends EventTarget{#t=new Map;listenerCount(t){let r=this.#t.get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=this.#t.get(t);i==null&&(i=[],this.#t.set(t,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let i=this.#t.get(t);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#t.set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:i})=>!i),this.#t.set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new Sh(t,r))}},Go=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},Sh=globalThis.CustomEvent??Go;var k0=(e,...t)=>{try{[...t]}catch{}};var Zo={};kt(Zo,{base58btc:()=>Dt,base58flickr:()=>_h});function Ah(e,t){if(e.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<e.length;i++){var o=e.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(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 p=0,m=0,x=0,w=d.length;x!==w&&d[x]===0;)x++,p++;for(var b=(w-x)*f+1>>>0,R=new Uint8Array(b);x!==w;){for(var E=d[x],S=0,L=b-1;(E!==0||S<m)&&L!==-1;L--,S++)E+=256*R[L]>>>0,R[L]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");m=S,x++}for(var D=b-m;D!==b&&R[D]===0;)D++;for(var Y=c.repeat(p);D<b;++D)Y+=e.charAt(R[D]);return Y}function h(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var p=0;if(d[p]!==" "){for(var m=0,x=0;d[p]===c;)m++,p++;for(var w=(d.length-p)*u+1>>>0,b=new Uint8Array(w);d[p];){var R=r[d.charCodeAt(p)];if(R===255)return;for(var E=0,S=w-1;(R!==0||E<x)&&S!==-1;S--,E++)R+=a*b[S]>>>0,b[S]=R%256>>>0,R=R/256>>>0;if(R!==0)throw new Error("Non-zero carry");x=E,p++}if(d[p]!==" "){for(var L=w-x;L!==w&&b[L]===0;)L++;for(var D=new Uint8Array(m+(w-L)),Y=m;L!==w;)D[Y++]=b[L++];return D}}}function y(d){var p=h(d);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:h,decode:y}}var Th=Ah,Bh=Th,U0=Bh;var qx=new Uint8Array(0);var O0=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},Ge=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var M0=e=>new TextEncoder().encode(e),K0=e=>new TextDecoder().decode(e);var Wo=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Yo=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return V0(this,t)}},$o=class{constructor(t){this.decoders=t}or(t){return V0(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},V0=(e,t)=>new $o({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Qo=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Wo(t,r,n),this.decoder=new Yo(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},tn=({name:e,prefix:t,encode:r,decode:n})=>new Qo(e,t,r,n),cr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=U0(r,t);return tn({prefix:e,name:t,encode:n,decode:o=>Ge(i(o))})},Ih=(e,t,r,n)=>{let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,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},Ch=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Tt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>tn({prefix:t,name:e,encode(i){return Ch(i,n,r)},decode(i){return Ih(i,n,r,e)}});var Dt=cr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),_h=cr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Xo={};kt(Xo,{base10:()=>Rh});var Rh=cr({prefix:"9",name:"base10",alphabet:"0123456789"});var Jo={};kt(Jo,{base16:()=>Lh,base16upper:()=>Dh});var Lh=Tt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Dh=Tt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var jo={};kt(jo,{base2:()=>Nh});var Nh=Tt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ts={};kt(ts,{base256emoji:()=>Mh});var q0=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}"),Ph=q0.reduce((e,t,r)=>(e[r]=t,e),[]),kh=q0.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function Uh(e){return e.reduce((t,r)=>(t+=Ph[r],t),"")}function Oh(e){let t=[];for(let r of e){let n=kh[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var Mh=tn({prefix:"\u{1F680}",name:"base256emoji",encode:Uh,decode:Oh});var es={};kt(es,{base32:()=>We,base32hex:()=>qh,base32hexpad:()=>zh,base32hexpadupper:()=>Gh,base32hexupper:()=>Hh,base32pad:()=>Fh,base32padupper:()=>Vh,base32upper:()=>Kh,base32z:()=>Wh});var We=Tt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Kh=Tt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Fh=Tt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Vh=Tt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),qh=Tt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Hh=Tt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),zh=Tt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Gh=Tt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Wh=Tt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var rs={};kt(rs,{base36:()=>Yh,base36upper:()=>$h});var Yh=cr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),$h=cr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ns={};kt(ns,{base64:()=>yi,base64pad:()=>Qh,base64url:()=>Zh,base64urlpad:()=>Xh});var yi=Tt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Qh=Tt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Zh=Tt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Xh=Tt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var is={};kt(is,{base8:()=>Jh});var Jh=Tt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var os={};kt(os,{identity:()=>jh});var jh=tn({prefix:"\0",name:"identity",encode:e=>K0(e),decode:e=>M0(e)});var n2=new TextEncoder,i2=new TextDecoder;var as={};kt(as,{identity:()=>ur});var rd=G0,H0=128,nd=127,id=~nd,od=Math.pow(2,31);function G0(e,t,r){t=t||[],r=r||0;for(var n=r;e>=od;)t[r++]=e&255|H0,e/=128;for(;e&id;)t[r++]=e&255|H0,e>>>=7;return t[r]=e|0,G0.bytes=r-n+1,t}var sd=ss,ad=128,z0=127;function ss(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw ss.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&z0)<<i:(s&z0)*Math.pow(2,i),i+=7}while(s>=ad);return ss.bytes=o-n,r}var cd=Math.pow(2,7),ud=Math.pow(2,14),fd=Math.pow(2,21),ld=Math.pow(2,28),hd=Math.pow(2,35),dd=Math.pow(2,42),pd=Math.pow(2,49),yd=Math.pow(2,56),md=Math.pow(2,63),gd=function(e){return e<cd?1:e<ud?2:e<fd?3:e<ld?4:e<hd?5:e<dd?6:e<pd?7:e<yd?8:e<md?9:10},xd={encode:rd,decode:sd,encodingLength:gd},vd=xd,Dn=vd;var Nn=(e,t=0)=>[Dn.decode(e,t),Dn.decode.bytes],en=(e,t,r=0)=>(Dn.encode(e,t,r),t),rn=e=>Dn.encodingLength(e);var Ne=(e,t)=>{let r=t.byteLength,n=rn(e),i=n+rn(r),o=new Uint8Array(i+r);return en(e,o,0),en(r,o,n),o.set(t,i),new nn(e,r,t,o)},Ir=e=>{let t=Ge(e),[r,n]=Nn(t),[i,o]=Nn(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new nn(r,i,s,t)},W0=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&O0(e.bytes,r.bytes)}},nn=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var Y0=0,bd="identity",$0=Ge,wd=e=>Ne(Y0,$0(e)),ur={code:Y0,name:bd,encode:$0,digest:wd};var fs={};kt(fs,{sha256:()=>Nt,sha512:()=>Ed});var us=({name:e,code:t,encode:r})=>new cs(e,t,r),cs=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Ne(this.code,r):r.then(n=>Ne(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Z0=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Nt=us({name:"sha2-256",code:18,encode:Z0("SHA-256")}),Ed=us({name:"sha2-512",code:19,encode:Z0("SHA-512")});var X0=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return Ad(r,ls(e),t||Dt.encoder);default:return Td(r,ls(e),t||We.encoder)}};var J0=new WeakMap,ls=e=>{let t=J0.get(e);if(t==null){let r=new Map;return J0.set(e,r),r}return t},ue=class e{constructor(t,r,n,i){this.code=r,this.version=t,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:t,multihash:r}=this;if(t!==Pn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Bd)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=Ne(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&W0(t.multihash,n.multihash)}toString(t){return X0(this,t)}toJSON(){return{"/":X0(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new e(n,i,o,s||j0(n,i,o.bytes))}else if(r[Id]===!0){let{version:n,multihash:i,code:o}=r,s=Ir(i);return e.create(n,o,s)}else return null}static create(t,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(t){case 0:{if(r!==Pn)throw new Error(`Version 0 CID must use dag-pb (code: ${Pn}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=j0(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,Pn,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,i=Ge(t.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 nn(r.multihashCode,r.digestSize,o,i);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,h]=Nn(t.subarray(r));return r+=h,l},i=n(),o=Pn;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,r){let[n,i]=Sd(t,r),o=e.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return ls(o).set(n,t),o}},Sd=(e,t)=>{switch(e[0]){case"Q":{let r=t||Dt;return[Dt.prefix,r.decode(`${Dt.prefix}${e}`)]}case Dt.prefix:{let r=t||Dt;return[Dt.prefix,r.decode(e)]}case We.prefix:{let r=t||We;return[We.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},Ad=(e,t,r)=>{let{prefix:n}=r;if(n!==Dt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let o=r.encode(e).slice(1);return t.set(n,o),o}else return i},Td=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let o=r.encode(e);return t.set(n,o),o}else return i},Pn=112,Bd=18,j0=(e,t,r)=>{let n=rn(e),i=n+rn(t),o=new Uint8Array(i+r.byteLength);return en(e,o,0),en(t,o,n),o.set(r,i),o},Id=Symbol.for("@ipld/js-cid/CID");var ne={...os,...jo,...is,...Xo,...Jo,...es,...rs,...Zo,...ns,...ts},b2={...fs,...as};function qt(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var Cd=Symbol.for("nodejs.util.inspect.custom"),tc=Object.values(ne).map(e=>e.decoder).reduce((e,t)=>e.or(t),ne.identity.decoder),ec=114,hs=36,ds=37,kn=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[R0]=!0;toString(){return this.string==null&&(this.string=Dt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return ue.createV1(ec,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return qt(this.multihash.bytes,t);if(typeof t=="string")return Et(t).equals(this);if(t?.multihash?.bytes!=null)return qt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Cd](){return`PeerId(${this.toString()})`}},on=class extends kn{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},sn=class extends kn{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},an=class extends kn{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function Et(e,t){if(t=t??tc,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=Ir(Dt.decode(`z${e}`));return e.startsWith("12D")?new sn({multihash:r}):e.startsWith("16U")?new an({multihash:r}):new on({multihash:r})}return cn(tc.decode(e))}function cn(e){try{let t=Ir(e);if(t.code===ur.code){if(t.digest.length===hs)return new sn({multihash:t});if(t.digest.length===ds)return new an({multihash:t})}if(t.code===Nt.code)return new on({multihash:t})}catch{return _d(ue.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function _d(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==ec)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===Nt.code)return new on({multihash:e.multihash});if(t.code===ur.code){if(t.digest.length===hs)return new sn({multihash:e.multihash});if(t.digest.length===ds)return new an({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function rc(e,t){return e.length===hs?new sn({multihash:Ne(ur.code,e),privateKey:t}):e.length===ds?new an({multihash:Ne(ur.code,e),privateKey:t}):new on({multihash:await Nt.digest(e),publicKey:e,privateKey:t})}var UE=zt(Kn(),1),OE=zt(xu(),1);var Wg=zt(ht(),1);function Pr(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function ki(e=0){return globalThis.Buffer?.allocUnsafe!=null?Pr(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function bu(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var vu=bu("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Us=bu("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=ki(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),tm={utf8:vu,"utf-8":vu,hex:ne.base16,latin1:Us,ascii:Us,binary:Us,...ne},Ui=tm;function ee(e,t="utf8"){let r=Ui[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Pr(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var pa={};kt(pa,{Ed25519PrivateKey:()=>Hr,Ed25519PublicKey:()=>$n,generateKeyPair:()=>mg,generateKeyPairFromSeed:()=>sf,unmarshalEd25519PrivateKey:()=>pg,unmarshalEd25519PublicKey:()=>yg});var gv=zt(Rt(),1),xv=zt(Li(),1),wu=zt(ht(),1);function kr(e,t){if(globalThis.Buffer!=null)return Pr(globalThis.Buffer.concat(e,t));t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=ki(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return Pr(r)}function fe(e,t="utf8"){let r=Ui[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function Be(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=kr([new Uint8Array(t-r.length),r])}return fe(r,"base64url")}function le(e){let t=Eu(e);return new wu.default.jsbn.BigInteger(fe(t,"base16"),16)}function Eu(e,t){let r=ee(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=kr([new Uint8Array(t-r.length),r])}return r}function ve(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}function Su(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Os(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function Au(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Su(e.outputLen),Su(e.blockLen)}function dn(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Tu(e,t){Os(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Oi=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var Bu=e=>e instanceof Uint8Array;var Mi=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),Ie=(e,t)=>e<<32-t|e>>>t,em=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!em)throw new Error("Non little-endian hardware is not supported");function Ms(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function qn(e){if(typeof e=="string"&&(e=Ms(e)),!Bu(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}function Ki(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!Bu(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}var pn=class{clone(){return this._cloneInto()}},Bv={}.toString;function Fi(e){let t=n=>e().update(qn(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function yn(e=32){if(Oi&&typeof Oi.getRandomValues=="function")return Oi.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function rm(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}var mn=class extends pn{constructor(t,r,n,i){super(),this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=Mi(this.buffer)}update(t){dn(this);let{view:r,buffer:n,blockLen:i}=this;t=qn(t);let o=t.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=Mi(t);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){dn(this),Tu(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let l=s;l<i;l++)r[l]=0;rm(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=Mi(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,f[l],o)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return t.length=i,t.pos=a,t.finished=o,t.destroyed=s,i%r&&t.buffer.set(n),t}};var Vi=BigInt(4294967295),Ks=BigInt(32);function Iu(e,t=!1){return t?{h:Number(e&Vi),l:Number(e>>Ks&Vi)}:{h:Number(e>>Ks&Vi)|0,l:Number(e&Vi)|0}}function nm(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:o,l:s}=Iu(e[i],t);[r[i],n[i]]=[o,s]}return[r,n]}var im=(e,t)=>BigInt(e>>>0)<<Ks|BigInt(t>>>0),om=(e,t,r)=>e>>>r,sm=(e,t,r)=>e<<32-r|t>>>r,am=(e,t,r)=>e>>>r|t<<32-r,cm=(e,t,r)=>e<<32-r|t>>>r,um=(e,t,r)=>e<<64-r|t>>>r-32,fm=(e,t,r)=>e>>>r-32|t<<64-r,lm=(e,t)=>t,hm=(e,t)=>e,dm=(e,t,r)=>e<<r|t>>>32-r,pm=(e,t,r)=>t<<r|e>>>32-r,ym=(e,t,r)=>t<<r-32|e>>>64-r,mm=(e,t,r)=>e<<r-32|t>>>64-r;function gm(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var xm=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),vm=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,bm=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),wm=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,Em=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),Sm=(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0;var Am={fromBig:Iu,split:nm,toBig:im,shrSH:om,shrSL:sm,rotrSH:am,rotrSL:cm,rotrBH:um,rotrBL:fm,rotr32H:lm,rotr32L:hm,rotlSH:dm,rotlSL:pm,rotlBH:ym,rotlBL:mm,add:gm,add3L:xm,add3H:vm,add4L:bm,add4H:wm,add5H:Sm,add5L:Em},Z=Am;var[Tm,Bm]=Z.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),pr=new Uint32Array(80),yr=new Uint32Array(80),Fs=class extends mn{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:r,Bh:n,Bl:i,Ch:o,Cl:s,Dh:a,Dl:c,Eh:u,El:f,Fh:l,Fl:h,Gh:y,Gl:d,Hh:p,Hl:m}=this;return[t,r,n,i,o,s,a,c,u,f,l,h,y,d,p,m]}set(t,r,n,i,o,s,a,c,u,f,l,h,y,d,p,m){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=o|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=f|0,this.Fh=l|0,this.Fl=h|0,this.Gh=y|0,this.Gl=d|0,this.Hh=p|0,this.Hl=m|0}process(t,r){for(let b=0;b<16;b++,r+=4)pr[b]=t.getUint32(r),yr[b]=t.getUint32(r+=4);for(let b=16;b<80;b++){let R=pr[b-15]|0,E=yr[b-15]|0,S=Z.rotrSH(R,E,1)^Z.rotrSH(R,E,8)^Z.shrSH(R,E,7),L=Z.rotrSL(R,E,1)^Z.rotrSL(R,E,8)^Z.shrSL(R,E,7),D=pr[b-2]|0,Y=yr[b-2]|0,W=Z.rotrSH(D,Y,19)^Z.rotrBH(D,Y,61)^Z.shrSH(D,Y,6),q=Z.rotrSL(D,Y,19)^Z.rotrBL(D,Y,61)^Z.shrSL(D,Y,6),j=Z.add4L(L,q,yr[b-7],yr[b-16]),lt=Z.add4H(j,S,W,pr[b-7],pr[b-16]);pr[b]=lt|0,yr[b]=j|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:h,Fh:y,Fl:d,Gh:p,Gl:m,Hh:x,Hl:w}=this;for(let b=0;b<80;b++){let R=Z.rotrSH(l,h,14)^Z.rotrSH(l,h,18)^Z.rotrBH(l,h,41),E=Z.rotrSL(l,h,14)^Z.rotrSL(l,h,18)^Z.rotrBL(l,h,41),S=l&y^~l&p,L=h&d^~h&m,D=Z.add5L(w,E,L,Bm[b],yr[b]),Y=Z.add5H(D,x,R,S,Tm[b],pr[b]),W=D|0,q=Z.rotrSH(n,i,28)^Z.rotrBH(n,i,34)^Z.rotrBH(n,i,39),j=Z.rotrSL(n,i,28)^Z.rotrBL(n,i,34)^Z.rotrBL(n,i,39),lt=n&o^n&a^o&a,Kt=i&s^i&c^s&c;x=p|0,w=m|0,p=y|0,m=d|0,y=l|0,d=h|0,{h:l,l:h}=Z.add(u|0,f|0,Y|0,W|0),u=a|0,f=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let I=Z.add3L(W,j,Kt);n=Z.add3H(I,Y,q,lt),i=I|0}({h:n,l:i}=Z.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=Z.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=Z.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=Z.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:h}=Z.add(this.Eh|0,this.El|0,l|0,h|0),{h:y,l:d}=Z.add(this.Fh|0,this.Fl|0,y|0,d|0),{h:p,l:m}=Z.add(this.Gh|0,this.Gl|0,p|0,m|0),{h:x,l:w}=Z.add(this.Hh|0,this.Hl|0,x|0,w|0),this.set(n,i,o,s,a,c,u,f,l,h,y,d,p,m,x,w)}roundClean(){pr.fill(0),yr.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Vs=Fi(()=>new Fs);var zi={};kt(zi,{bitGet:()=>Nm,bitLen:()=>Dm,bitMask:()=>Hn,bitSet:()=>Pm,bytesToHex:()=>Ze,bytesToNumberBE:()=>Xe,bytesToNumberLE:()=>mr,concatBytes:()=>Je,createHmacDrbg:()=>zs,ensureBytes:()=>Bt,equalBytes:()=>Rm,hexToBytes:()=>Ur,hexToNumber:()=>Hs,numberToBytesBE:()=>gr,numberToBytesLE:()=>Or,numberToHexUnpadded:()=>Ru,numberToVarBytesBE:()=>_m,utf8ToBytes:()=>Lm,validateObject:()=>Fe});var _u=BigInt(0),qi=BigInt(1),Im=BigInt(2),Hi=e=>e instanceof Uint8Array,Cm=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Ze(e){if(!Hi(e))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=Cm[e[r]];return t}function Ru(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Hs(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}function Ur(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let r=new Uint8Array(t/2);for(let n=0;n<r.length;n++){let i=n*2,o=e.slice(i,i+2),s=Number.parseInt(o,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");r[n]=s}return r}function Xe(e){return Hs(Ze(e))}function mr(e){if(!Hi(e))throw new Error("Uint8Array expected");return Hs(Ze(Uint8Array.from(e).reverse()))}function gr(e,t){return Ur(e.toString(16).padStart(t*2,"0"))}function Or(e,t){return gr(e,t).reverse()}function _m(e){return Ur(Ru(e))}function Bt(e,t,r){let n;if(typeof t=="string")try{n=Ur(t)}catch(o){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${o}`)}else if(Hi(t))n=Uint8Array.from(t);else throw new Error(`${e} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${e} expected ${r} bytes, got ${i}`);return n}function Je(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!Hi(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}function Rm(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function Lm(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Dm(e){let t;for(t=0;e>_u;e>>=qi,t+=1);return t}function Nm(e,t){return e>>BigInt(t)&qi}var Pm=(e,t,r)=>e|(r?qi:_u)<<BigInt(t),Hn=e=>(Im<<BigInt(e-1))-qi,qs=e=>new Uint8Array(e),Cu=e=>Uint8Array.from(e);function zs(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=qs(e),i=qs(e),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...l)=>r(i,n,...l),c=(l=qs())=>{i=a(Cu([0]),l),n=a(),l.length!==0&&(i=a(Cu([1]),l),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,h=[];for(;l<t;){n=a();let y=n.slice();h.push(y),l+=n.length}return Je(...h)};return(l,h)=>{s(),c(l);let y;for(;!(y=h(u()));)c();return s(),y}}var km={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||e instanceof Uint8Array,isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function Fe(e,t,r={}){let n=(i,o,s)=>{let a=km[o];if(typeof a!="function")throw new Error(`Invalid validator "${o}", expected function`);let c=e[i];if(!(s&&c===void 0)&&!a(c,e))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${o}`)};for(let[i,o]of Object.entries(t))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return e}var Pt=BigInt(0),vt=BigInt(1),Mr=BigInt(2),Um=BigInt(3),Gs=BigInt(4),Lu=BigInt(5),Du=BigInt(8),Om=BigInt(9),Mm=BigInt(16);function dt(e,t){let r=e%t;return r>=Pt?r:t+r}function Km(e,t,r){if(r<=Pt||t<Pt)throw new Error("Expected power/modulo > 0");if(r===vt)return Pt;let n=vt;for(;t>Pt;)t&vt&&(n=n*e%r),e=e*e%r,t>>=vt;return n}function bt(e,t,r){let n=e;for(;t-- >Pt;)n*=n,n%=r;return n}function Gi(e,t){if(e===Pt||t<=Pt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=dt(e,t),n=t,i=Pt,o=vt,s=vt,a=Pt;for(;r!==Pt;){let u=n/r,f=n%r,l=i-s*u,h=o-a*u;n=r,r=f,i=s,o=a,s=l,a=h}if(n!==vt)throw new Error("invert: does not exist");return dt(i,t)}function Fm(e){let t=(e-vt)/Mr,r,n,i;for(r=e-vt,n=0;r%Mr===Pt;r/=Mr,n++);for(i=Mr;i<e&&Km(i,t,e)!==e-vt;i++);if(n===1){let s=(e+vt)/Gs;return function(c,u){let f=c.pow(u,s);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let o=(r+vt)/Mr;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,f=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,o),h=a.pow(c,r);for(;!a.eql(h,a.ONE);){if(a.eql(h,a.ZERO))return a.ZERO;let y=1;for(let p=a.sqr(h);y<u&&!a.eql(p,a.ONE);y++)p=a.sqr(p);let d=a.pow(f,vt<<BigInt(u-y-1));f=a.sqr(d),l=a.mul(l,d),h=a.mul(h,f),u=y}return l}}function Vm(e){if(e%Gs===Um){let t=(e+vt)/Gs;return function(n,i){let o=n.pow(i,t);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(e%Du===Lu){let t=(e-Lu)/Du;return function(n,i){let o=n.mul(i,Mr),s=n.pow(o,t),a=n.mul(i,s),c=n.mul(n.mul(a,Mr),s),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return e%Mm,Fm(e)}var Nu=(e,t)=>(dt(e,t)&vt)===vt,qm=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Ws(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=qm.reduce((n,i)=>(n[i]="function",n),t);return Fe(e,r)}function Hm(e,t,r){if(r<Pt)throw new Error("Expected power > 0");if(r===Pt)return e.ONE;if(r===vt)return t;let n=e.ONE,i=t;for(;r>Pt;)r&vt&&(n=e.mul(n,i)),i=e.sqr(i),r>>=vt;return n}function zm(e,t){let r=new Array(t.length),n=t.reduce((o,s,a)=>e.is0(s)?o:(r[a]=o,e.mul(o,s)),e.ONE),i=e.inv(n);return t.reduceRight((o,s,a)=>e.is0(s)?o:(r[a]=e.mul(o,r[a]),e.mul(o,s)),i),r}function Ys(e,t){let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Wi(e,t,r=!1,n={}){if(e<=Pt)throw new Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:i,nByteLength:o}=Ys(e,t);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=Vm(e),a=Object.freeze({ORDER:e,BITS:i,BYTES:o,MASK:Hn(i),ZERO:Pt,ONE:vt,create:c=>dt(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Pt<=c&&c<e},is0:c=>c===Pt,isOdd:c=>(c&vt)===vt,neg:c=>dt(-c,e),eql:(c,u)=>c===u,sqr:c=>dt(c*c,e),add:(c,u)=>dt(c+u,e),sub:(c,u)=>dt(c-u,e),mul:(c,u)=>dt(c*u,e),pow:(c,u)=>Hm(a,c,u),div:(c,u)=>dt(c*Gi(u,e),e),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Gi(c,e),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>zm(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>r?Or(c,o):gr(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?mr(c):Xe(c)}});return Object.freeze(a)}function Pu(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");let r=e.sqrt(t);return e.isOdd(r)?e.neg(r):r}function ku(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function $s(e){let t=ku(e);return t+Math.ceil(t/2)}function Uu(e,t,r=!1){let n=e.length,i=ku(t),o=$s(t);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?Xe(e):mr(e),a=dt(s,t-vt)+vt;return r?Or(a,i):gr(a,i)}var Wm=BigInt(0),Qs=BigInt(1);function Yi(e,t){let r=(i,o)=>{let s=o.negate();return i?s:o},n=i=>{let o=Math.ceil(t/i)+1,s=2**(i-1);return{windows:o,windowSize:s}};return{constTimeNegate:r,unsafeLadder(i,o){let s=e.ZERO,a=i;for(;o>Wm;)o&Qs&&(s=s.add(a)),a=a.double(),o>>=Qs;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],u=i,f=u;for(let l=0;l<s;l++){f=u,c.push(f);for(let h=1;h<a;h++)f=f.add(u),c.push(f);u=f.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),u=e.ZERO,f=e.BASE,l=BigInt(2**i-1),h=2**i,y=BigInt(i);for(let d=0;d<a;d++){let p=d*c,m=Number(s&l);s>>=y,m>c&&(m-=h,s+=Qs);let x=p,w=p+Math.abs(m)-1,b=d%2!==0,R=m<0;m===0?f=f.add(r(b,o[x])):u=u.add(r(R,o[w]))}return{p:u,f}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,u=o.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&o.set(i,a(u))),this.wNAF(c,u,s)}}}function zn(e){return Ws(e.Fp),Fe(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Ys(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Ce=BigInt(0),he=BigInt(1),$i=BigInt(2),Ym=BigInt(8),$m={zip215:!0};function Qm(e){let t=zn(e);return Fe(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function Qi(e){let t=Qm(e),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=t,u=$i<<BigInt(a*8)-he,f=r.create,l=t.uvRatio||((N,T)=>{try{return{isValid:!0,value:r.sqrt(N*r.inv(T))}}catch{return{isValid:!1,value:Ce}}}),h=t.adjustScalarBytes||(N=>N),y=t.domain||((N,T,M)=>{if(T.length||M)throw new Error("Contexts/pre-hash are not supported");return N}),d=N=>typeof N=="bigint"&&Ce<N,p=(N,T)=>d(N)&&d(T)&&N<T,m=N=>N===Ce||p(N,u);function x(N,T){if(p(N,T))return N;throw new Error(`Expected valid scalar < ${T}, got ${typeof N} ${N}`)}function w(N){return N===Ce?N:x(N,n)}let b=new Map;function R(N){if(!(N instanceof E))throw new Error("ExtendedPoint expected")}class E{constructor(T,M,F,G){if(this.ex=T,this.ey=M,this.ez=F,this.et=G,!m(T))throw new Error("x required");if(!m(M))throw new Error("y required");if(!m(F))throw new Error("z required");if(!m(G))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(T){if(T instanceof E)throw new Error("extended point not allowed");let{x:M,y:F}=T||{};if(!m(M)||!m(F))throw new Error("invalid affine point");return new E(M,F,he,f(M*F))}static normalizeZ(T){let M=r.invertBatch(T.map(F=>F.ez));return T.map((F,G)=>F.toAffine(M[G])).map(E.fromAffine)}_setWindowSize(T){this._WINDOW_SIZE=T,b.delete(this)}assertValidity(){let{a:T,d:M}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:F,ey:G,ez:X,et}=this,ut=f(F*F),rt=f(G*G),ot=f(X*X),_t=f(ot*ot),At=f(ut*T),Ft=f(ot*f(At+rt)),Vt=f(_t+f(M*f(ut*rt)));if(Ft!==Vt)throw new Error("bad point: equation left != right (1)");let Lt=f(F*G),Ht=f(X*et);if(Lt!==Ht)throw new Error("bad point: equation left != right (2)")}equals(T){R(T);let{ex:M,ey:F,ez:G}=this,{ex:X,ey:et,ez:ut}=T,rt=f(M*ut),ot=f(X*G),_t=f(F*ut),At=f(et*G);return rt===ot&&_t===At}is0(){return this.equals(E.ZERO)}negate(){return new E(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:T}=t,{ex:M,ey:F,ez:G}=this,X=f(M*M),et=f(F*F),ut=f($i*f(G*G)),rt=f(T*X),ot=M+F,_t=f(f(ot*ot)-X-et),At=rt+et,Ft=At-ut,Vt=rt-et,Lt=f(_t*Ft),Ht=f(At*Vt),ze=f(_t*Vt),Br=f(Ft*At);return new E(Lt,Ht,Br,ze)}add(T){R(T);let{a:M,d:F}=t,{ex:G,ey:X,ez:et,et:ut}=this,{ex:rt,ey:ot,ez:_t,et:At}=T;if(M===BigInt(-1)){let E0=f((X-G)*(ot+rt)),S0=f((X+G)*(ot-rt)),zo=f(S0-E0);if(zo===Ce)return this.double();let A0=f(et*$i*At),T0=f(ut*$i*_t),B0=T0+A0,I0=S0+E0,C0=T0-A0,dh=f(B0*zo),ph=f(I0*C0),yh=f(B0*C0),mh=f(zo*I0);return new E(dh,ph,mh,yh)}let Ft=f(G*rt),Vt=f(X*ot),Lt=f(ut*F*At),Ht=f(et*_t),ze=f((G+X)*(rt+ot)-Ft-Vt),Br=Ht-Lt,Ln=Ht+Lt,w0=f(Vt-M*Ft),uh=f(ze*Br),fh=f(Ln*w0),lh=f(ze*w0),hh=f(Br*Ln);return new E(uh,fh,hh,lh)}subtract(T){return this.add(T.negate())}wNAF(T){return D.wNAFCached(this,b,T,E.normalizeZ)}multiply(T){let{p:M,f:F}=this.wNAF(x(T,n));return E.normalizeZ([M,F])[0]}multiplyUnsafe(T){let M=w(T);return M===Ce?L:this.equals(L)||M===he?this:this.equals(S)?this.wNAF(M).p:D.unsafeLadder(this,M)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return D.unsafeLadder(this,n).is0()}toAffine(T){let{ex:M,ey:F,ez:G}=this,X=this.is0();T==null&&(T=X?Ym:r.inv(G));let et=f(M*T),ut=f(F*T),rt=f(G*T);if(X)return{x:Ce,y:he};if(rt!==he)throw new Error("invZ was invalid");return{x:et,y:ut}}clearCofactor(){let{h:T}=t;return T===he?this:this.multiplyUnsafe(T)}static fromHex(T,M=!1){let{d:F,a:G}=t,X=r.BYTES;T=Bt("pointHex",T,X);let et=T.slice(),ut=T[X-1];et[X-1]=ut&-129;let rt=mr(et);rt===Ce||(M?x(rt,u):x(rt,r.ORDER));let ot=f(rt*rt),_t=f(ot-he),At=f(F*ot-G),{isValid:Ft,value:Vt}=l(_t,At);if(!Ft)throw new Error("Point.fromHex: invalid y coordinate");let Lt=(Vt&he)===he,Ht=(ut&128)!==0;if(!M&&Vt===Ce&&Ht)throw new Error("Point.fromHex: x=0 and x_0=1");return Ht!==Lt&&(Vt=f(-Vt)),E.fromAffine({x:Vt,y:rt})}static fromPrivateKey(T){return q(T).point}toRawBytes(){let{x:T,y:M}=this.toAffine(),F=Or(M,r.BYTES);return F[F.length-1]|=T&he?128:0,F}toHex(){return Ze(this.toRawBytes())}}E.BASE=new E(t.Gx,t.Gy,he,f(t.Gx*t.Gy)),E.ZERO=new E(Ce,he,he,Ce);let{BASE:S,ZERO:L}=E,D=Yi(E,a*8);function Y(N){return dt(N,n)}function W(N){return Y(mr(N))}function q(N){let T=a;N=Bt("private key",N,T);let M=Bt("hashed private key",o(N),2*T),F=h(M.slice(0,T)),G=M.slice(T,2*T),X=W(F),et=S.multiply(X),ut=et.toRawBytes();return{head:F,prefix:G,scalar:X,point:et,pointBytes:ut}}function j(N){return q(N).pointBytes}function lt(N=new Uint8Array,...T){let M=Je(...T);return W(o(y(M,Bt("context",N),!!i)))}function Kt(N,T,M={}){N=Bt("message",N),i&&(N=i(N));let{prefix:F,scalar:G,pointBytes:X}=q(T),et=lt(M.context,F,N),ut=S.multiply(et).toRawBytes(),rt=lt(M.context,ut,X,N),ot=Y(et+rt*G);w(ot);let _t=Je(ut,Or(ot,r.BYTES));return Bt("result",_t,a*2)}let I=$m;function P(N,T,M,F=I){let{context:G,zip215:X}=F,et=r.BYTES;N=Bt("signature",N,2*et),T=Bt("message",T),i&&(T=i(T));let ut=mr(N.slice(et,2*et)),rt,ot,_t;try{rt=E.fromHex(M,X),ot=E.fromHex(N.slice(0,et),X),_t=S.multiplyUnsafe(ut)}catch{return!1}if(!X&&rt.isSmallOrder())return!1;let At=lt(G,ot.toRawBytes(),rt.toRawBytes(),T);return ot.add(rt.multiplyUnsafe(At)).subtract(_t).clearCofactor().equals(E.ZERO)}return S._setWindowSize(8),{CURVE:t,getPublicKey:j,sign:Kt,verify:P,ExtendedPoint:E,utils:{getExtendedPublicKey:q,randomPrivateKey:()=>s(r.BYTES),precompute(N=8,T=E.BASE){return T._setWindowSize(N),T.multiply(BigInt(3)),T}}}}var Xs=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Ou=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),$v=BigInt(0),Zm=BigInt(1),Zs=BigInt(2),Xm=BigInt(5),Mu=BigInt(10),Jm=BigInt(20),jm=BigInt(40),Ku=BigInt(80);function tg(e){let t=Xs,n=e*e%t*e%t,i=bt(n,Zs,t)*n%t,o=bt(i,Zm,t)*e%t,s=bt(o,Xm,t)*o%t,a=bt(s,Mu,t)*s%t,c=bt(a,Jm,t)*a%t,u=bt(c,jm,t)*c%t,f=bt(u,Ku,t)*u%t,l=bt(f,Ku,t)*u%t,h=bt(l,Mu,t)*s%t;return{pow_p_5_8:bt(h,Zs,t)*e%t,b2:n}}function eg(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function rg(e,t){let r=Xs,n=dt(t*t*t,r),i=dt(n*n*t,r),o=tg(e*i).pow_p_5_8,s=dt(e*n*o,r),a=dt(t*s*s,r),c=s,u=dt(s*Ou,r),f=a===e,l=a===dt(-e,r),h=a===dt(-e*Ou,r);return f&&(s=c),(l||h)&&(s=u),Nu(s,r)&&(s=dt(-s,r)),{isValid:f||l,value:s}}var je=Wi(Xs,void 0,!0),Js={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:je,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Vs,randomBytes:yn,adjustScalarBytes:eg,uvRatio:rg},gn=Qi(Js);function Fu(e,t,r){if(t.length>255)throw new Error("Context is too big");return Ki(Ms("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,t.length]),t,e)}var Qv=Qi({...Js,domain:Fu}),Zv=Qi({...Js,domain:Fu,prehash:Vs});var ng=(je.ORDER+BigInt(3))/BigInt(8),Xv=je.pow(Zs,ng),Jv=je.sqrt(je.neg(je.ONE)),jv=(je.ORDER-BigInt(5))/BigInt(8),tb=BigInt(486662);var eb=Pu(je,je.neg(BigInt(486664)));var rb=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),nb=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),ib=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),ob=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var sb=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var xn=32,tr=64,Zi=32;function Vu(){let e=gn.utils.randomPrivateKey(),t=gn.getPublicKey(e);return{privateKey:Gu(e,t),publicKey:t}}function qu(e){if(e.length!==Zi)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=gn.getPublicKey(t);return{privateKey:Gu(t,r),publicKey:r}}function Hu(e,t){let r=e.subarray(0,Zi);return gn.sign(t instanceof Uint8Array?t:t.subarray(),r)}function zu(e,t,r){return gn.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}function Gu(e,t){let r=new Uint8Array(tr);for(let n=0;n<Zi;n++)r[n]=e[n],r[Zi+n]=t[n];return r}var oe={get(e=globalThis){let t=e.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var js={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function ta(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",o=e?.saltLength??16,s=e?.iterations??32767,a=oe.get();r*=8;async function c(l,h){let y=a.getRandomValues(new Uint8Array(o)),d=a.getRandomValues(new Uint8Array(n)),p={name:t,iv:d};typeof h=="string"&&(h=ee(h));let m;if(h.length===0){m=await a.subtle.importKey("jwk",js,{name:"AES-GCM"},!0,["encrypt"]);try{let w={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},b=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(w,b,{name:t,length:r},!0,["encrypt"])}catch{m=await a.subtle.importKey("jwk",js,{name:"AES-GCM"},!0,["encrypt"])}}else{let w={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},b=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(w,b,{name:t,length:r},!0,["encrypt"])}let x=await a.subtle.encrypt(p,m,l);return kr([y,p.iv,new Uint8Array(x)])}async function u(l,h){let y=l.subarray(0,o),d=l.subarray(o,o+n),p=l.subarray(o+n),m={name:t,iv:d};typeof h=="string"&&(h=ee(h));let x;if(h.length===0)try{let b={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},R=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);x=await a.subtle.deriveKey(b,R,{name:t,length:r},!0,["decrypt"])}catch{x=await a.subtle.importKey("jwk",js,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},R=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);x=await a.subtle.deriveKey(b,R,{name:t,length:r},!0,["decrypt"])}let w=await a.subtle.decrypt(m,x,p);return new Uint8Array(w)}return{encrypt:c,decrypt:u}}async function vn(e,t){let n=await ta().encrypt(e,t);return yi.encode(n)}var ea=new Float32Array([-0]),xr=new Uint8Array(ea.buffer);function Yu(e,t,r){ea[0]=e,t[r]=xr[0],t[r+1]=xr[1],t[r+2]=xr[2],t[r+3]=xr[3]}function $u(e,t){return xr[0]=e[t],xr[1]=e[t+1],xr[2]=e[t+2],xr[3]=e[t+3],ea[0]}var ra=new Float64Array([-0]),Gt=new Uint8Array(ra.buffer);function Qu(e,t,r){ra[0]=e,t[r]=Gt[0],t[r+1]=Gt[1],t[r+2]=Gt[2],t[r+3]=Gt[3],t[r+4]=Gt[4],t[r+5]=Gt[5],t[r+6]=Gt[6],t[r+7]=Gt[7]}function Zu(e,t){return Gt[0]=e[t],Gt[1]=e[t+1],Gt[2]=e[t+2],Gt[3]=e[t+3],Gt[4]=e[t+4],Gt[5]=e[t+5],Gt[6]=e[t+6],Gt[7]=e[t+7],ra[0]}var og=BigInt(Number.MAX_SAFE_INTEGER),sg=BigInt(Number.MIN_SAFE_INTEGER),se=class e{lo;hi;constructor(t,r){this.lo=t|0,this.hi=r|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return Kr;if(t<og&&t>sg)return this.fromNumber(Number(t));let r=t<0n;r&&(t=-t);let n=t>>32n,i=t-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>Xu&&(i=0n,++n>Xu&&(n=0n))),new e(Number(i),Number(n))}static fromNumber(t){if(t===0)return Kr;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new e(n,i)}static from(t){return typeof t=="number"?e.fromNumber(t):typeof t=="bigint"?e.fromBigInt(t):typeof t=="string"?e.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new e(t.low>>>0,t.high>>>0):Kr}},Kr=new se(0,0);Kr.toBigInt=function(){return 0n};Kr.zzEncode=Kr.zzDecode=function(){return this};Kr.length=function(){return 1};var Xu=4294967296n;function Ju(e){let t=0,r=0;for(let n=0;n<e.length;++n)r=e.charCodeAt(n),r<128?t+=1:r<2048?t+=2:(r&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function ju(e,t,r){if(r-t<1)return"";let i,o=[],s=0,a;for(;t<r;)a=e[t++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|e[t++]&63:a>239&&a<365?(a=((a&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(e[t++]&63)<<6|e[t++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function na(e,t,r){let n=r,i,o;for(let s=0;s<e.length;++s)i=e.charCodeAt(s),i<128?t[r++]=i:i<2048?(t[r++]=i>>6|192,t[r++]=i&63|128):(i&64512)===55296&&((o=e.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,t[r++]=i>>18|240,t[r++]=i>>12&63|128,t[r++]=i>>6&63|128,t[r++]=i&63|128):(t[r++]=i>>12|224,t[r++]=i>>6&63|128,t[r++]=i&63|128);return r-n}function _e(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function Xi(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var ia=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,_e(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw _e(this,4);return Xi(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw _e(this,4);return Xi(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw _e(this,4);let t=$u(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw _e(this,4);let t=Zu(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw _e(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return ju(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw _e(this,t);this.pos+=t}else do if(this.pos>=this.len)throw _e(this);while(this.buf[this.pos++]&128);return this}skipType(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}readLongVarint(){let t=new se(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*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;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw _e(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,t}if(this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw _e(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw _e(this,8);let t=Xi(this.buf,this.pos+=4),r=Xi(this.buf,this.pos+=4);return new se(t,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function oa(e){return new ia(e instanceof Uint8Array?e:e.subarray())}function Wt(e,t){let r=oa(e);return t.decode(r)}function Ji(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Fr(e=0){return globalThis.Buffer?.allocUnsafe!=null?Ji(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function rf(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var ef=rf("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),sa=rf("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Fr(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),ag={utf8:ef,"utf-8":ef,hex:ne.base16,latin1:sa,ascii:sa,binary:sa,...ne},nf=ag;function of(e,t="utf8"){let r=nf[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Ji(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function aa(e){let t=e??8192,r=t>>>1,n,i=t;return function(s){if(s<1||s>r)return Fr(s);i+s>t&&(n=Fr(t),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var Vr=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function ca(){}var fa=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},cg=aa();function ug(e){return globalThis.Buffer!=null?Fr(e):cg(e)}var Yn=class{len;head;tail;states;constructor(){this.len=0,this.head=new Vr(ca,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new Vr(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new la((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(Gn,10,se.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=se.fromBigInt(t);return this._push(Gn,r.length(),r)}uint64Number(t){let r=se.fromNumber(t);return this._push(Gn,r.length(),r)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let r=se.fromBigInt(t).zzEncode();return this._push(Gn,r.length(),r)}sint64Number(t){let r=se.fromNumber(t).zzEncode();return this._push(Gn,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(ua,1,t?1:0)}fixed32(t){return this._push(Wn,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=se.fromBigInt(t);return this._push(Wn,4,r.lo)._push(Wn,4,r.hi)}fixed64Number(t){let r=se.fromNumber(t);return this._push(Wn,4,r.lo)._push(Wn,4,r.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(Yu,4,t)}double(t){return this._push(Qu,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(ua,1,0):this.uint32(r)._push(lg,r,t)}string(t){let r=Ju(t);return r!==0?this.uint32(r)._push(na,r,t):this._push(ua,1,0)}fork(){return this.states=new fa(this),this.head=this.tail=new Vr(ca,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Vr(ca,0,0),this.len=0),this}ldelim(){let t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=r,this.len+=n),this}finish(){let t=this.head.next,r=ug(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function ua(e,t,r){t[r]=e&255}function fg(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var la=class extends Vr{next;constructor(t,r){super(fg,t,r),this.next=void 0}};function Gn(e,t,r){for(;e.hi!==0;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}function Wn(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function lg(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(Yn.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(hg,t,e),this},Yn.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(dg,t,e),this});function hg(e,t,r){t.set(e,r)}function dg(e,t,r){e.length<40?na(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(of(e),r)}function ha(){return new Yn}function Yt(e,t){let r=ha();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var bn;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(bn||(bn={}));function ji(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function qr(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return ji("enum",bn.VARINT,r,n)}function $t(e,t){return ji("message",bn.LENGTH_DELIMITED,e,t)}var wt;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(wt||(wt={}));var da;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(da||(da={}));(function(e){e.codec=()=>qr(da)})(wt||(wt={}));var Ve;(function(e){let t;e.codec=()=>(t==null&&(t=$t((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),wt.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=wt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Yt(r,e.codec()),e.decode=r=>Wt(r,e.codec())})(Ve||(Ve={}));var qe;(function(e){let t;e.codec=()=>(t==null&&(t=$t((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),wt.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=wt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Yt(r,e.codec()),e.decode=r=>Wt(r,e.codec())})(qe||(qe={}));var $n=class{_key;constructor(t){this._key=wn(t,xn)}verify(t,r){return zu(this._key,r,t)}marshal(){return this._key}get bytes(){return Ve.encode({Type:wt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return qt(this.bytes,t.bytes)}hash(){let t=Nt.digest(this.bytes);return ve(t)?t.then(({bytes:r})=>r):t.bytes}},Hr=class{_key;_publicKey;constructor(t,r){this._key=wn(t,tr),this._publicKey=wn(r,xn)}sign(t){return Hu(this._key,t)}get public(){return new $n(this._publicKey)}marshal(){return this._key}get bytes(){return qe.encode({Type:wt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return qt(this.bytes,t.bytes)}async hash(){let t=Nt.digest(this.bytes),r;return ve(t)?{bytes:r}=await t:r=t.bytes,r}async id(){let t=ur.digest(this.public.bytes);return Dt.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return vn(this.bytes,t);throw new H(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function pg(e){if(e.length>tr){e=wn(e,tr+xn);let n=e.subarray(0,tr),i=e.subarray(tr,e.length);return new Hr(n,i)}e=wn(e,tr);let t=e.subarray(0,tr),r=e.subarray(xn);return new Hr(t,r)}function yg(e){return e=wn(e,xn),new $n(e)}async function mg(){let{privateKey:e,publicKey:t}=Vu();return new Hr(e,t)}async function sf(e){let{privateKey:t,publicKey:r}=qu(e);return new Hr(t,r)}function wn(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new H(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var gg={"P-256":256,"P-384":384,"P-521":521},xg=Object.keys(gg),dw=xg.join(" / ");var va={};kt(va,{MAX_KEY_SIZE:()=>Jn,RsaPrivateKey:()=>En,RsaPublicKey:()=>Xn,fromJwk:()=>_g,generateKeyPair:()=>Rg,unmarshalRsaPrivateKey:()=>Ig,unmarshalRsaPublicKey:()=>Cg});var Zn=zt(ht(),1);var Xw=zt(lf(),1);function eo(e){if(isNaN(e)||e<=0)throw new H("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return yn(e)}var Nw=zt(Pi(),1),ga=zt(ht(),1);function hf(e,t){return t.map(r=>le(e[r]))}function df(e){return ga.default.pki.setRsaPrivateKey(...hf(e,["n","e","d","p","q","dp","dq","qi"]))}function pf(e){return ga.default.pki.setRsaPublicKey(...hf(e,["n","e"]))}var Gr={};kt(Gr,{jwkToPkcs1:()=>Eg,jwkToPkix:()=>Ag,pkcs1ToJwk:()=>wg,pkixToJwk:()=>Sg});var Uw=zt(Kn(),1),Ow=zt(Pi(),1);var er=zt(ht(),1);function wg(e){let t=er.default.asn1.fromDer(fe(e,"ascii")),r=er.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:Be(r.n),e:Be(r.e),d:Be(r.d),p:Be(r.p),q:Be(r.q),dp:Be(r.dP),dq:Be(r.dQ),qi:Be(r.qInv),alg:"RS256"}}function Eg(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new H("JWK was missing components","ERR_INVALID_PARAMETERS");let t=er.default.pki.privateKeyToAsn1({n:le(e.n),e:le(e.e),d:le(e.d),p:le(e.p),q:le(e.q),dP:le(e.dp),dQ:le(e.dq),qInv:le(e.qi)});return ee(er.default.asn1.toDer(t).getBytes(),"ascii")}function Sg(e){let t=er.default.asn1.fromDer(fe(e,"ascii")),r=er.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:Be(r.n),e:Be(r.e)}}function Ag(e){if(e.n==null||e.e==null)throw new H("JWK was missing components","ERR_INVALID_PARAMETERS");let t=er.default.pki.publicKeyToAsn1({n:le(e.n),e:le(e.e)});return ee(er.default.asn1.toDer(t).getBytes(),"ascii")}async function yf(e){let t=await oe.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await xf(t);return{privateKey:r[0],publicKey:r[1]}}async function xa(e){let r=[await oe.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Tg(e)],n=await xf({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function mf(e,t){let r=await oe.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await oe.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function gf(e,t,r){let n=await oe.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return oe.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r instanceof Uint8Array?r:r.subarray())}async function xf(e){if(e.privateKey==null||e.publicKey==null)throw new H("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([oe.get().subtle.exportKey("jwk",e.privateKey),oe.get().subtle.exportKey("jwk",e.publicKey)])}async function Tg(e){return oe.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function vf(e,t,r,n){let i=t?pf(e):df(e),o=fe(r instanceof Uint8Array?r:r.subarray(),"ascii"),s=n(o,i);return ee(s,"ascii")}function bf(e,t){return vf(e,!0,t,(r,n)=>n.encrypt(r))}function wf(e,t){return vf(e,!1,t,(r,n)=>n.decrypt(r))}function ro(e){if(e.kty!=="RSA")throw new H("invalid key type","ERR_INVALID_KEY_TYPE");if(e.n==null)throw new H("invalid key modulus","ERR_INVALID_KEY_MODULUS");return ee(e.n,"base64url").length*8}var Jn=8192,Xn=class{_key;constructor(t){this._key=t}verify(t,r){return gf(this._key,r,t)}marshal(){return Gr.jwkToPkix(this._key)}get bytes(){return Ve.encode({Type:wt.RSA,Data:this.marshal()}).subarray()}encrypt(t){return bf(this._key,t)}equals(t){return qt(this.bytes,t.bytes)}hash(){let t=Nt.digest(this.bytes);return ve(t)?t.then(({bytes:r})=>r):t.bytes}},En=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return eo(16)}sign(t){return mf(this._key,t)}get public(){if(this._publicKey==null)throw new H("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Xn(this._publicKey)}decrypt(t){return wf(this._key,t)}marshal(){return Gr.jwkToPkcs1(this._key)}get bytes(){return qe.encode({Type:wt.RSA,Data:this.marshal()}).subarray()}equals(t){return qt(this.bytes,t.bytes)}hash(){let t=Nt.digest(this.bytes);return ve(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return fe(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new Zn.default.util.ByteBuffer(this.marshal()),i=Zn.default.asn1.fromDer(n),o=Zn.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Zn.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return vn(this.bytes,t);throw new H(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Ig(e){let t=Gr.pkcs1ToJwk(e);if(ro(t)>Jn)throw new H("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await xa(t);return new En(r.privateKey,r.publicKey)}function Cg(e){let t=Gr.pkixToJwk(e);if(ro(t)>Jn)throw new H("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Xn(t)}async function _g(e){if(ro(e)>Jn)throw new H("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await xa(e);return new En(t.privateKey,t.publicKey)}async function Rg(e){if(e>Jn)throw new H("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await yf(e);return new En(t.privateKey,t.publicKey)}var Ta={};kt(Ta,{Secp256k1PrivateKey:()=>ti,Secp256k1PublicKey:()=>jn,generateKeyPair:()=>Gg,unmarshalSecp256k1PrivateKey:()=>Hg,unmarshalSecp256k1PublicKey:()=>zg});var Lg=(e,t,r)=>e&t^~e&r,Dg=(e,t,r)=>e&t^e&r^t&r,Ng=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),vr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),br=new Uint32Array(64),ba=class extends mn{constructor(){super(64,32,8,!1),this.A=vr[0]|0,this.B=vr[1]|0,this.C=vr[2]|0,this.D=vr[3]|0,this.E=vr[4]|0,this.F=vr[5]|0,this.G=vr[6]|0,this.H=vr[7]|0}get(){let{A:t,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[t,r,n,i,o,s,a,c]}set(t,r,n,i,o,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let l=0;l<16;l++,r+=4)br[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let h=br[l-15],y=br[l-2],d=Ie(h,7)^Ie(h,18)^h>>>3,p=Ie(y,17)^Ie(y,19)^y>>>10;br[l]=p+br[l-7]+d+br[l-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:u,H:f}=this;for(let l=0;l<64;l++){let h=Ie(a,6)^Ie(a,11)^Ie(a,25),y=f+h+Lg(a,c,u)+Ng[l]+br[l]|0,p=(Ie(n,2)^Ie(n,13)^Ie(n,22))+Dg(n,i,o)|0;f=u,u=c,c=a,a=s+y|0,s=o,o=i,i=n,n=y+p|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,f=f+this.H|0,this.set(n,i,o,s,a,c,u,f)}roundClean(){br.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Ef=Fi(()=>new ba);function Pg(e){let t=zn(e);Fe(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=t;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:kg,hexToBytes:Ug}=zi,Wr={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){let{Err:t}=Wr;if(e.length<2||e[0]!==2)throw new t("Invalid signature integer tag");let r=e[1],n=e.subarray(2,r+2);if(!r||n.length!==r)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:kg(n),l:e.subarray(r+2)}},toSig(e){let{Err:t}=Wr,r=typeof e=="string"?Ug(e):e;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new t("Invalid signature tag");if(r[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:i,l:o}=Wr._parseInt(r.subarray(2)),{d:s,l:a}=Wr._parseInt(o);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(e){let t=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let f=u.toString(16);return f.length&1?`0${f}`:f},n=t(r(e.s)),i=t(r(e.r)),o=n.length/2,s=i.length/2,a=r(o),c=r(s);return`30${r(s+o+4)}02${c}${i}02${a}${n}`}},rr=BigInt(0),be=BigInt(1),aE=BigInt(2),Sf=BigInt(3),cE=BigInt(4);function Og(e){let t=Pg(e),{Fp:r}=t,n=t.toBytes||((d,p,m)=>{let x=p.toAffine();return Je(Uint8Array.from([4]),r.toBytes(x.x),r.toBytes(x.y))}),i=t.fromBytes||(d=>{let p=d.subarray(1),m=r.fromBytes(p.subarray(0,r.BYTES)),x=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:m,y:x}});function o(d){let{a:p,b:m}=t,x=r.sqr(d),w=r.mul(x,d);return r.add(r.add(w,r.mul(d,p)),m)}if(!r.eql(r.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function s(d){return typeof d=="bigint"&&rr<d&&d<t.n}function a(d){if(!s(d))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(d){let{allowedPrivateKeyLengths:p,nByteLength:m,wrapPrivateKey:x,n:w}=t;if(p&&typeof d!="bigint"){if(d instanceof Uint8Array&&(d=Ze(d)),typeof d!="string"||!p.includes(d.length))throw new Error("Invalid key");d=d.padStart(m*2,"0")}let b;try{b=typeof d=="bigint"?d:Xe(Bt("private key",d,m))}catch{throw new Error(`private key must be ${m} bytes, hex or bigint, not ${typeof d}`)}return x&&(b=dt(b,w)),a(b),b}let u=new Map;function f(d){if(!(d instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(p,m,x){if(this.px=p,this.py=m,this.pz=x,p==null||!r.isValid(p))throw new Error("x required");if(m==null||!r.isValid(m))throw new Error("y required");if(x==null||!r.isValid(x))throw new Error("z required")}static fromAffine(p){let{x:m,y:x}=p||{};if(!p||!r.isValid(m)||!r.isValid(x))throw new Error("invalid affine point");if(p instanceof l)throw new Error("projective point not allowed");let w=b=>r.eql(b,r.ZERO);return w(m)&&w(x)?l.ZERO:new l(m,x,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let m=r.invertBatch(p.map(x=>x.pz));return p.map((x,w)=>x.toAffine(m[w])).map(l.fromAffine)}static fromHex(p){let m=l.fromAffine(i(Bt("pointHex",p)));return m.assertValidity(),m}static fromPrivateKey(p){return l.BASE.multiply(c(p))}_setWindowSize(p){this._WINDOW_SIZE=p,u.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:p,y:m}=this.toAffine();if(!r.isValid(p)||!r.isValid(m))throw new Error("bad point: x or y not FE");let x=r.sqr(m),w=o(p);if(!r.eql(x,w))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:p}=this.toAffine();if(r.isOdd)return!r.isOdd(p);throw new Error("Field doesn't support isOdd")}equals(p){f(p);let{px:m,py:x,pz:w}=this,{px:b,py:R,pz:E}=p,S=r.eql(r.mul(m,E),r.mul(b,w)),L=r.eql(r.mul(x,E),r.mul(R,w));return S&&L}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:m}=t,x=r.mul(m,Sf),{px:w,py:b,pz:R}=this,E=r.ZERO,S=r.ZERO,L=r.ZERO,D=r.mul(w,w),Y=r.mul(b,b),W=r.mul(R,R),q=r.mul(w,b);return q=r.add(q,q),L=r.mul(w,R),L=r.add(L,L),E=r.mul(p,L),S=r.mul(x,W),S=r.add(E,S),E=r.sub(Y,S),S=r.add(Y,S),S=r.mul(E,S),E=r.mul(q,E),L=r.mul(x,L),W=r.mul(p,W),q=r.sub(D,W),q=r.mul(p,q),q=r.add(q,L),L=r.add(D,D),D=r.add(L,D),D=r.add(D,W),D=r.mul(D,q),S=r.add(S,D),W=r.mul(b,R),W=r.add(W,W),D=r.mul(W,q),E=r.sub(E,D),L=r.mul(W,Y),L=r.add(L,L),L=r.add(L,L),new l(E,S,L)}add(p){f(p);let{px:m,py:x,pz:w}=this,{px:b,py:R,pz:E}=p,S=r.ZERO,L=r.ZERO,D=r.ZERO,Y=t.a,W=r.mul(t.b,Sf),q=r.mul(m,b),j=r.mul(x,R),lt=r.mul(w,E),Kt=r.add(m,x),I=r.add(b,R);Kt=r.mul(Kt,I),I=r.add(q,j),Kt=r.sub(Kt,I),I=r.add(m,w);let P=r.add(b,E);return I=r.mul(I,P),P=r.add(q,lt),I=r.sub(I,P),P=r.add(x,w),S=r.add(R,E),P=r.mul(P,S),S=r.add(j,lt),P=r.sub(P,S),D=r.mul(Y,I),S=r.mul(W,lt),D=r.add(S,D),S=r.sub(j,D),D=r.add(j,D),L=r.mul(S,D),j=r.add(q,q),j=r.add(j,q),lt=r.mul(Y,lt),I=r.mul(W,I),j=r.add(j,lt),lt=r.sub(q,lt),lt=r.mul(Y,lt),I=r.add(I,lt),q=r.mul(j,I),L=r.add(L,q),q=r.mul(P,I),S=r.mul(Kt,S),S=r.sub(S,q),q=r.mul(Kt,j),D=r.mul(P,D),D=r.add(D,q),new l(S,L,D)}subtract(p){return this.add(p.negate())}is0(){return this.equals(l.ZERO)}wNAF(p){return y.wNAFCached(this,u,p,m=>{let x=r.invertBatch(m.map(w=>w.pz));return m.map((w,b)=>w.toAffine(x[b])).map(l.fromAffine)})}multiplyUnsafe(p){let m=l.ZERO;if(p===rr)return m;if(a(p),p===be)return this;let{endo:x}=t;if(!x)return y.unsafeLadder(this,p);let{k1neg:w,k1:b,k2neg:R,k2:E}=x.splitScalar(p),S=m,L=m,D=this;for(;b>rr||E>rr;)b&be&&(S=S.add(D)),E&be&&(L=L.add(D)),D=D.double(),b>>=be,E>>=be;return w&&(S=S.negate()),R&&(L=L.negate()),L=new l(r.mul(L.px,x.beta),L.py,L.pz),S.add(L)}multiply(p){a(p);let m=p,x,w,{endo:b}=t;if(b){let{k1neg:R,k1:E,k2neg:S,k2:L}=b.splitScalar(m),{p:D,f:Y}=this.wNAF(E),{p:W,f:q}=this.wNAF(L);D=y.constTimeNegate(R,D),W=y.constTimeNegate(S,W),W=new l(r.mul(W.px,b.beta),W.py,W.pz),x=D.add(W),w=Y.add(q)}else{let{p:R,f:E}=this.wNAF(m);x=R,w=E}return l.normalizeZ([x,w])[0]}multiplyAndAddUnsafe(p,m,x){let w=l.BASE,b=(E,S)=>S===rr||S===be||!E.equals(w)?E.multiplyUnsafe(S):E.multiply(S),R=b(this,m).add(b(p,x));return R.is0()?void 0:R}toAffine(p){let{px:m,py:x,pz:w}=this,b=this.is0();p==null&&(p=b?r.ONE:r.inv(w));let R=r.mul(m,p),E=r.mul(x,p),S=r.mul(w,p);if(b)return{x:r.ZERO,y:r.ZERO};if(!r.eql(S,r.ONE))throw new Error("invZ was invalid");return{x:R,y:E}}isTorsionFree(){let{h:p,isTorsionFree:m}=t;if(p===be)return!0;if(m)return m(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:m}=t;return p===be?this:m?m(l,this):this.multiplyUnsafe(t.h)}toRawBytes(p=!0){return this.assertValidity(),n(l,this,p)}toHex(p=!0){return Ze(this.toRawBytes(p))}}l.BASE=new l(t.Gx,t.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);let h=t.nBitLength,y=Yi(l,t.endo?Math.ceil(h/2):h);return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function Mg(e){let t=zn(e);return Fe(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Af(e){let t=Mg(e),{Fp:r,n}=t,i=r.BYTES+1,o=2*r.BYTES+1;function s(I){return rr<I&&I<r.ORDER}function a(I){return dt(I,n)}function c(I){return Gi(I,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:h}=Og({...t,toBytes(I,P,_){let N=P.toAffine(),T=r.toBytes(N.x),M=Je;return _?M(Uint8Array.from([P.hasEvenY()?2:3]),T):M(Uint8Array.from([4]),T,r.toBytes(N.y))},fromBytes(I){let P=I.length,_=I[0],N=I.subarray(1);if(P===i&&(_===2||_===3)){let T=Xe(N);if(!s(T))throw new Error("Point is not on curve");let M=l(T),F=r.sqrt(M),G=(F&be)===be;return(_&1)===1!==G&&(F=r.neg(F)),{x:T,y:F}}else if(P===o&&_===4){let T=r.fromBytes(N.subarray(0,r.BYTES)),M=r.fromBytes(N.subarray(r.BYTES,2*r.BYTES));return{x:T,y:M}}else throw new Error(`Point of length ${P} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),y=I=>Ze(gr(I,t.nByteLength));function d(I){let P=n>>be;return I>P}function p(I){return d(I)?a(-I):I}let m=(I,P,_)=>Xe(I.slice(P,_));class x{constructor(P,_,N){this.r=P,this.s=_,this.recovery=N,this.assertValidity()}static fromCompact(P){let _=t.nByteLength;return P=Bt("compactSignature",P,_*2),new x(m(P,0,_),m(P,_,2*_))}static fromDER(P){let{r:_,s:N}=Wr.toSig(Bt("DER",P));return new x(_,N)}assertValidity(){if(!h(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!h(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(P){return new x(this.r,this.s,P)}recoverPublicKey(P){let{r:_,s:N,recovery:T}=this,M=L(Bt("msgHash",P));if(T==null||![0,1,2,3].includes(T))throw new Error("recovery id invalid");let F=T===2||T===3?_+t.n:_;if(F>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let G=T&1?"03":"02",X=u.fromHex(G+y(F)),et=c(F),ut=a(-M*et),rt=a(N*et),ot=u.BASE.multiplyAndAddUnsafe(X,ut,rt);if(!ot)throw new Error("point at infinify");return ot.assertValidity(),ot}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new x(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return Ur(this.toDERHex())}toDERHex(){return Wr.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Ur(this.toCompactHex())}toCompactHex(){return y(this.r)+y(this.s)}}let w={isValidPrivateKey(I){try{return f(I),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let I=$s(t.n);return Uu(t.randomBytes(I),t.n)},precompute(I=8,P=u.BASE){return P._setWindowSize(I),P.multiply(BigInt(3)),P}};function b(I,P=!0){return u.fromPrivateKey(I).toRawBytes(P)}function R(I){let P=I instanceof Uint8Array,_=typeof I=="string",N=(P||_)&&I.length;return P?N===i||N===o:_?N===2*i||N===2*o:I instanceof u}function E(I,P,_=!0){if(R(I))throw new Error("first arg must be private key");if(!R(P))throw new Error("second arg must be public key");return u.fromHex(P).multiply(f(I)).toRawBytes(_)}let S=t.bits2int||function(I){let P=Xe(I),_=I.length*8-t.nBitLength;return _>0?P>>BigInt(_):P},L=t.bits2int_modN||function(I){return a(S(I))},D=Hn(t.nBitLength);function Y(I){if(typeof I!="bigint")throw new Error("bigint expected");if(!(rr<=I&&I<D))throw new Error(`bigint expected < 2^${t.nBitLength}`);return gr(I,t.nByteLength)}function W(I,P,_=q){if(["recovered","canonical"].some(At=>At in _))throw new Error("sign() legacy options not supported");let{hash:N,randomBytes:T}=t,{lowS:M,prehash:F,extraEntropy:G}=_;M==null&&(M=!0),I=Bt("msgHash",I),F&&(I=Bt("prehashed msgHash",N(I)));let X=L(I),et=f(P),ut=[Y(et),Y(X)];if(G!=null){let At=G===!0?T(r.BYTES):G;ut.push(Bt("extraEntropy",At))}let rt=Je(...ut),ot=X;function _t(At){let Ft=S(At);if(!h(Ft))return;let Vt=c(Ft),Lt=u.BASE.multiply(Ft).toAffine(),Ht=a(Lt.x);if(Ht===rr)return;let ze=a(Vt*a(ot+Ht*et));if(ze===rr)return;let Br=(Lt.x===Ht?0:2)|Number(Lt.y&be),Ln=ze;return M&&d(ze)&&(Ln=p(ze),Br^=1),new x(Ht,Ln,Br)}return{seed:rt,k2sig:_t}}let q={lowS:t.lowS,prehash:!1},j={lowS:t.lowS,prehash:!1};function lt(I,P,_=q){let{seed:N,k2sig:T}=W(I,P,_),M=t;return zs(M.hash.outputLen,M.nByteLength,M.hmac)(N,T)}u.BASE._setWindowSize(8);function Kt(I,P,_,N=j){let T=I;if(P=Bt("msgHash",P),_=Bt("publicKey",_),"strict"in N)throw new Error("options.strict was renamed to lowS");let{lowS:M,prehash:F}=N,G,X;try{if(typeof T=="string"||T instanceof Uint8Array)try{G=x.fromDER(T)}catch(Lt){if(!(Lt instanceof Wr.Err))throw Lt;G=x.fromCompact(T)}else if(typeof T=="object"&&typeof T.r=="bigint"&&typeof T.s=="bigint"){let{r:Lt,s:Ht}=T;G=new x(Lt,Ht)}else throw new Error("PARSE");X=u.fromHex(_)}catch(Lt){if(Lt.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(M&&G.hasHighS())return!1;F&&(P=t.hash(P));let{r:et,s:ut}=G,rt=L(P),ot=c(ut),_t=a(rt*ot),At=a(et*ot),Ft=u.BASE.multiplyAndAddUnsafe(X,_t,At)?.toAffine();return Ft?a(Ft.x)===et:!1}return{CURVE:t,getPublicKey:b,getSharedSecret:E,sign:lt,verify:Kt,ProjectivePoint:u,Signature:x,utils:w}}var no=class extends pn{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,Au(t);let n=qn(r);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?t.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=t.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(t){return dn(this),this.iHash.update(t),this}digestInto(t){dn(this),Os(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return t=t,t.finished=i,t.destroyed=o,t.blockLen=s,t.outputLen=a,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},wa=(e,t,r)=>new no(e,t).update(r).digest();wa.create=(e,t)=>new no(e,t);function Kg(e){return{hash:e,hmac:(t,...r)=>wa(e,t,Ki(...r)),randomBytes:yn}}function Tf(e,t){let r=n=>Af({...e,...Kg(n)});return Object.freeze({...r(t),create:r})}var Cf=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Bf=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Fg=BigInt(1),Ea=BigInt(2),If=(e,t)=>(e+t/Ea)/t;function Vg(e){let t=Cf,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,f=u*u*e%t,l=bt(f,r,t)*f%t,h=bt(l,r,t)*f%t,y=bt(h,Ea,t)*u%t,d=bt(y,i,t)*y%t,p=bt(d,o,t)*d%t,m=bt(p,a,t)*p%t,x=bt(m,c,t)*m%t,w=bt(x,a,t)*p%t,b=bt(w,r,t)*f%t,R=bt(b,s,t)*d%t,E=bt(R,n,t)*u%t,S=bt(E,Ea,t);if(!Sa.eql(Sa.sqr(S),e))throw new Error("Cannot find square root");return S}var Sa=Wi(Cf,void 0,void 0,{sqrt:Vg}),Re=Tf({a:BigInt(0),b:BigInt(7),Fp:Sa,n:Bf,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=Bf,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Fg*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=If(o*e,t),c=If(-n*e,t),u=dt(e-a*r-c*i,t),f=dt(-a*n-c*o,t),l=u>s,h=f>s;if(l&&(u=t-u),h&&(f=t-f),u>s||f>s)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:u,k2neg:h,k2:f}}}},Ef),bE=BigInt(0);var wE=Re.ProjectivePoint;function _f(){return Re.utils.randomPrivateKey()}function Rf(e,t){let r=Nt.digest(t instanceof Uint8Array?t:t.subarray());if(ve(r))return r.then(({digest:n})=>Re.sign(n,e).toDERRawBytes()).catch(n=>{throw new H(String(n),"ERR_INVALID_INPUT")});try{return Re.sign(r.digest,e).toDERRawBytes()}catch(n){throw new H(String(n),"ERR_INVALID_INPUT")}}function Lf(e,t,r){let n=Nt.digest(r instanceof Uint8Array?r:r.subarray());if(ve(n))return n.then(({digest:i})=>Re.verify(t,i,e)).catch(i=>{throw new H(String(i),"ERR_INVALID_INPUT")});try{return Re.verify(t,n.digest,e)}catch(i){throw new H(String(i),"ERR_INVALID_INPUT")}}function Df(e){return Re.ProjectivePoint.fromHex(e).toRawBytes(!0)}function Nf(e){try{Re.getPublicKey(e,!0)}catch(t){throw new H(String(t),"ERR_INVALID_PRIVATE_KEY")}}function Aa(e){try{Re.ProjectivePoint.fromHex(e)}catch(t){throw new H(String(t),"ERR_INVALID_PUBLIC_KEY")}}function Pf(e){try{return Re.getPublicKey(e,!0)}catch(t){throw new H(String(t),"ERR_INVALID_PRIVATE_KEY")}}var jn=class{_key;constructor(t){Aa(t),this._key=t}verify(t,r){return Lf(this._key,r,t)}marshal(){return Df(this._key)}get bytes(){return Ve.encode({Type:wt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return qt(this.bytes,t.bytes)}async hash(){let t=Nt.digest(this.bytes),r;return ve(t)?{bytes:r}=await t:r=t.bytes,r}},ti=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r??Pf(t),Nf(this._key),Aa(this._publicKey)}sign(t){return Rf(this._key,t)}get public(){return new jn(this._publicKey)}marshal(){return this._key}get bytes(){return qe.encode({Type:wt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return qt(this.bytes,t.bytes)}hash(){let t=Nt.digest(this.bytes);return ve(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return fe(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return vn(this.bytes,t);throw new H(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Hg(e){return new ti(e)}function zg(e){return new jn(e)}async function Gg(){let e=_f();return new ti(e)}var Yr={rsa:va,ed25519:pa,secp256k1:Ta};function kf(e){let t=Object.keys(Yr).join(" / ");return new H(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Uf(e){let t=Ve.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case wt.RSA:return Yr.rsa.unmarshalRsaPublicKey(r);case wt.Ed25519:return Yr.ed25519.unmarshalEd25519PublicKey(r);case wt.Secp256k1:return Yr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw kf(t.Type??"unknown")}}async function Of(e){let t=qe.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case wt.RSA:return Yr.rsa.unmarshalRsaPrivateKey(r);case wt.Ed25519:return Yr.ed25519.unmarshalEd25519PrivateKey(r);case wt.Secp256k1:return Yr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw kf(t.Type??"RSA")}}function Mf(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Kf(e=0){return globalThis.Buffer?.allocUnsafe!=null?Mf(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var Yg=Math.pow(2,7),$g=Math.pow(2,14),Qg=Math.pow(2,21),Ba=Math.pow(2,28),Ia=Math.pow(2,35),Ca=Math.pow(2,42),_a=Math.pow(2,49),ct=128,Qt=127;function Zt(e){if(e<Yg)return 1;if(e<$g)return 2;if(e<Qg)return 3;if(e<Ba)return 4;if(e<Ia)return 5;if(e<Ca)return 6;if(e<_a)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Zg(e,t,r=0){switch(Zt(e)){case 8:t[r++]=e&255|ct,e/=128;case 7:t[r++]=e&255|ct,e/=128;case 6:t[r++]=e&255|ct,e/=128;case 5:t[r++]=e&255|ct,e/=128;case 4:t[r++]=e&255|ct,e>>>=7;case 3:t[r++]=e&255|ct,e>>>=7;case 2:t[r++]=e&255|ct,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function Xg(e,t,r=0){switch(Zt(e)){case 8:t.set(r++,e&255|ct),e/=128;case 7:t.set(r++,e&255|ct),e/=128;case 6:t.set(r++,e&255|ct),e/=128;case 5:t.set(r++,e&255|ct),e/=128;case 4:t.set(r++,e&255|ct),e>>>=7;case 3:t.set(r++,e&255|ct),e>>>=7;case 2:t.set(r++,e&255|ct),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function Jg(e,t){let r=e[t],n=0;if(n+=r&Qt,r<ct||(r=e[t+1],n+=(r&Qt)<<7,r<ct)||(r=e[t+2],n+=(r&Qt)<<14,r<ct)||(r=e[t+3],n+=(r&Qt)<<21,r<ct)||(r=e[t+4],n+=(r&Qt)*Ba,r<ct)||(r=e[t+5],n+=(r&Qt)*Ia,r<ct)||(r=e[t+6],n+=(r&Qt)*Ca,r<ct)||(r=e[t+7],n+=(r&Qt)*_a,r<ct))return n;throw new RangeError("Could not decode varint")}function jg(e,t){let r=e.get(t),n=0;if(n+=r&Qt,r<ct||(r=e.get(t+1),n+=(r&Qt)<<7,r<ct)||(r=e.get(t+2),n+=(r&Qt)<<14,r<ct)||(r=e.get(t+3),n+=(r&Qt)<<21,r<ct)||(r=e.get(t+4),n+=(r&Qt)*Ba,r<ct)||(r=e.get(t+5),n+=(r&Qt)*Ia,r<ct)||(r=e.get(t+6),n+=(r&Qt)*Ca,r<ct)||(r=e.get(t+7),n+=(r&Qt)*_a,r<ct))return n;throw new RangeError("Could not decode varint")}function we(e,t,r=0){return t==null&&(t=Kf(Zt(e))),t instanceof Uint8Array?Zg(e,t,r):Xg(e,t,r)}function Le(e,t=0){return e instanceof Uint8Array?Jg(e,t):jg(e,t)}function ei(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function nr(e=0){return globalThis.Buffer?.alloc!=null?ei(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function ri(e=0){return globalThis.Buffer?.allocUnsafe!=null?ei(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Ra(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=ri(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return ei(r)}function Ff(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var qf=Symbol.for("@achingbrain/uint8arraylist");function Vf(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function io(e){return!!e?.[qf]}var ae=class e{bufs;length;[qf]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(io(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(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(io(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(t){let r=Vf(this.bufs,t);return r.buf[r.index]}set(t,r){let n=Vf(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(io(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return Ra(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:Ra(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),o=new e;return o.length=i,o.bufs=[...n],o}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===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,t>=c)continue;let u=t>=a&&t<c,f=r>a&&r<=c;if(u&&f){if(t===a&&r===c){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(r-t)));break}if(u){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(f){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!io(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.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 l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let l=r;l<=c;l+=f){f=0;for(let h=u;h>=0;h--){let y=this.get(l+h);if(n[h]!==y){f=Math.max(1,h-a[y]);break}}if(f===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=ri(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=nr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=nr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=nr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=ri(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=nr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=nr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=nr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=nr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=nr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Ff(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};var Hf={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var ni;(function(e){let t;e.codec=()=>(t==null&&(t=$t((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})),t),e.encode=r=>Yt(r,e.codec()),e.decode=r=>Wt(r,e.codec())})(ni||(ni={}));var ii=class e{static createFromProtobuf=async t=>{let r=ni.decode(t),n=await rc(r.publicKey);return new e({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(t,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=t.domain,i=t.codec,o=t.marshal(),s=zf(n,i,o),c=await(await Of(r.privateKey)).sign(s.subarray());return new e({peerId:r,payloadType:i,payload:o,signature:c})};static openAndCertify=async(t,r)=>{let n=await e.createFromProtobuf(t);if(!await n.validate(r))throw new H("envelope signature is not valid for the given domain",Hf.ERR_SIGNATURE_NOT_VALID);return n};peerId;payloadType;payload;signature;marshaled;constructor(t){let{peerId:r,payloadType:n,payload:i,signature:o}=t;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=ni.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return qt(this.marshal(),t.marshal())}async validate(t){let r=zf(t,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return Uf(this.peerId.publicKey).verify(r.subarray(),this.signature)}},zf=(e,t,r)=>{let n=ee(e),i=we(n.byteLength),o=we(t.length),s=we(r.length);return new ae(i,n,o,t,s,r)};function Gf(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function An(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function oo(e=0){return globalThis.Buffer?.allocUnsafe!=null?An(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Yf(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Wf=Yf("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),La=Yf("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=oo(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),t1={utf8:Wf,"utf-8":Wf,hex:ne.base16,latin1:La,ascii:La,binary:La,...ne},so=t1;function ce(e,t="utf8"){let r=so[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function ir(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=oo(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return An(r)}var ao=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();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(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let f=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let h=Number.parseInt(l,t);if(!Number.isNaN(h))return h});if(f===void 0)break;if(o*=t,o+=f,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=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]=t(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]=t(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var $f=45,e1=15,Tn=new ao;function Da(e){if(!(e.length>e1))return Tn.new(e).parseWith(()=>Tn.readIPv4Addr())}function Na(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>$f))return Tn.new(e).parseWith(()=>Tn.readIPv6Addr())}function co(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>$f))return Tn.new(e).parseWith(()=>Tn.readIPAddr())}var KS=parseInt("0xFFFF",16),FS=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Pa(e,t="utf8"){let r=so[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?An(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function Xf(e){return!!Da(e)}function Jf(e){return!!Na(e)}function uo(e){return!!co(e)}var jf=Xf,s1=Jf,ka=function(e){let t=0;if(e=e.toString().trim(),jf(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(s1(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=jf(r[n]),s;o&&(s=ka(r[n]),r[n]=ce(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,ce(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(t+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[t++]=o>>8&255,i[t++]=o&255}return i}throw new Error("invalid ip address")},tl=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(t+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Bn={},Ua={},c1=[[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"]];c1.forEach(e=>{let t=u1(...e);Ua[t.code]=t,Bn[t.name]=t});function u1(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function pt(e){if(typeof e=="number"){if(Ua[e]!=null)return Ua[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(Bn[e]!=null)return Bn[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var B8=pt("ip4"),I8=pt("ip6"),C8=pt("ipcidr");function Ma(e,t){switch(pt(e).code){case 4:case 41:return l1(t);case 42:return nl(t);case 6:case 273:case 33:case 132:return ol(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return nl(t);case 421:return y1(t);case 444:return il(t);case 445:return il(t);case 466:return p1(t);default:return ce(t,"base16")}}function Ka(e,t){switch(pt(e).code){case 4:return el(t);case 41:return el(t);case 42:return rl(t);case 6:case 273:case 33:case 132:return Fa(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return rl(t);case 421:return h1(t);case 444:return m1(t);case 445:return g1(t);case 466:return d1(t);default:return Pa(t,"base16")}}var Oa=Object.values(ne).map(e=>e.decoder),f1=function(){let e=Oa[0].or(Oa[1]);return Oa.slice(2).forEach(t=>e=e.or(t)),e}();function el(e){if(!uo(e))throw new Error("invalid ip address");return ka(e)}function l1(e){let t=tl(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!uo(t))throw new Error("invalid ip address");return t}function Fa(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function ol(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function rl(e){let t=Pa(e),r=Uint8Array.from(we(t.length));return ir([r,t],r.length+t.length)}function nl(e){let t=Le(e);if(e=e.slice(Zt(t)),e.length!==t)throw new Error("inconsistent lengths");return ce(e)}function h1(e){let t;e[0]==="Q"||e[0]==="1"?t=Ir(Dt.decode(`z${e}`)).bytes:t=ue.parse(e).multihash.bytes;let r=Uint8Array.from(we(t.length));return ir([r,t],r.length+t.length)}function d1(e){let t=f1.decode(e),r=Uint8Array.from(we(t.length));return ir([r,t],r.length+t.length)}function p1(e){let t=Le(e),r=e.slice(Zt(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+ce(r,"base64url")}function y1(e){let t=Le(e),r=e.slice(Zt(t));if(r.length!==t)throw new Error("inconsistent lengths");return ce(r,"base58btc")}function m1(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=We.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Fa(n);return ir([r,i],r.length+i.length)}function g1(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=We.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Fa(n);return ir([r,i],r.length+i.length)}function il(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=ce(t,"base32"),i=ol(r);return`${n}:${i}`}function sl(e){e=Va(e);let t=[],r=[],n=null,i=e.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=pt(s);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw cl("invalid address: "+e);if(a.path===!0){n=Va(i.slice(o).join("/")),t.push([a.code,Ka(a.code,n)]),r.push([a.code,n]);break}let c=Ka(a.code,i[o]);t.push([a.code,c]),r.push([a.code,Ma(a.code,c)])}return{string:al(r),bytes:Ha(t),tuples:t,stringTuples:r,path:n}}function qa(e){let t=[],r=[],n=null,i=0;for(;i<e.length;){let o=Le(e,i),s=Zt(o),a=pt(o),c=x1(a,e.slice(i+s));if(c===0){t.push([o]),r.push([o]),i+=s;continue}let u=e.slice(i+s,i+s+c);if(i+=c+s,i>e.length)throw cl("Invalid address Uint8Array: "+ce(e,"base16"));t.push([o,u]);let f=Ma(o,u);if(r.push([o,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(e),string:al(r),tuples:t,stringTuples:r,path:n}}function al(e){let t=[];return e.map(r=>{let n=pt(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),Va(t.join("/"))}function Ha(e){return ir(e.map(t=>{let r=pt(t[0]),n=Uint8Array.from(we(r.code));return t.length>1&&t[1]!=null&&(n=ir([n,t[1]])),n}))}function x1(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=Le(t instanceof Uint8Array?t:Uint8Array.from(t));return r+Zt(r)}}function Va(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function cl(e){return new Error("Error parsing address: "+e)}var v1=Symbol.for("nodejs.util.inspect.custom"),za=Symbol.for("@multiformats/js-multiaddr/multiaddr"),b1=[pt("dns").code,pt("dns4").code,pt("dns6").code,pt("dnsaddr").code],fo=class e{bytes;#t;#e;#r;#n;[za]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=qa(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=sl(t)}else if(fl(t))r=qa(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#t=r.string,this.#e=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,r,n,i,o="",s=pt("tcp"),a=pt("udp"),c=pt("ip4"),u=pt("ip6"),f=pt("dns6"),l=pt("ip6zone");for(let[y,d]of this.stringTuples())y===l.code&&(o=`%${d??""}`),b1.includes(y)&&(r=s.name,i=443,n=`${d??""}${o}`,t=y===f.code?6:4),(y===s.code||y===a.code)&&(r=pt(y).name,i=parseInt(d??"")),(y===c.code||y===u.code)&&(r=pt(y).name,n=`${d??""}${o}`,t=y===u.code?6:4);if(t==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:t,host:n,transport:r,port:i}}protos(){return this.#e.map(([t])=>Object.assign({},pt(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>pt(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(Ha(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,i])=>{n===Bn.p2p.code&&t.push([n,i]),n===Bn["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?ce(Dt.decode(`z${n}`),"base58btc"):ce(ue.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return Gf(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=ul.get(r.name);if(n==null)throw new H(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new e(o))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[v1](){return`Multiaddr(${this.#t})`}};var ul=new Map;function fl(e){return!!e?.[za]}function Xt(e){return new fo(e)}var w1=Uint8Array.from([3,1]);var Ga;(function(e){let t;(function(n){let i;n.codec=()=>(i==null&&(i=$t((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=>Yt(o,n.codec()),n.decode=o=>Wt(o,n.codec())})(t=e.AddressInfo||(e.AddressInfo={}));let r;e.codec=()=>(r==null&&(r=$t((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),e.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(e.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return o})),r),e.encode=n=>Yt(n,e.codec()),e.decode=n=>Wt(n,e.codec())})(Ga||(Ga={}));function wr(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var lo=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=r??"ABORT_ERR"}};async function ll(e,t,r){if(t==null)return e;if(t.aborted)return Promise.reject(new lo(r?.errorMessage,r?.errorCode));let n,i=new lo(r?.errorMessage,r?.errorCode);try{return await Promise.race([e,new Promise((o,s)=>{n=()=>{s(i)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var Wa=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=wr(),this.haveNext=wr()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let t=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=wr(),t}async throw(t){return this.ended=!0,t!=null&&this.haveNext.reject(t),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),t}async push(t,r){await this._push(t,r)}async end(t,r){t!=null?await this.throw(t):await this._push(void 0,r)}async _push(t,r){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=wr(),await ll(this.needNext.promise,r?.signal,r)}};function hl(){return new Wa}var ho=class extends Error{code;constructor(t,r){super(t),this.code=r}},Ya=class extends ho{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function dl(e,t){let r=hl();e.sink(r).catch(async s=>{await r.end(s)}),e.sink=async s=>{for await(let a of s)await r.push(a);await r.end()};let n=e.source;e.source[Symbol.iterator]!=null?n=e.source[Symbol.iterator]():e.source[Symbol.asyncIterator]!=null&&(n=e.source[Symbol.asyncIterator]());let i=new ae;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,u=new Promise((f,l)=>{c=()=>{l(new Ya("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:l,value:h}=await Promise.race([n.next(),u]);return l===!0?new ae:h}for(;i.byteLength<s;){let{value:l,done:h}=await Promise.race([n.next(),u]);if(h===!0)throw new ho("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(l)}let f=i.sublist(0,s);return i.consume(s),f}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(s,a)=>{a?.signal?.throwIfAborted(),s instanceof Uint8Array?await r.push(s,a):await r.push(s.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let s=e.source;e.source=async function*(){t?.yieldBytes===!1?yield i:yield*i,yield*s}()}return e}}}function pl(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function yl(e=0){return globalThis.Buffer?.allocUnsafe!=null?pl(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function po(e){return e[Symbol.asyncIterator]!=null}var yo=e=>{let t=Zt(e),r=yl(t);return we(e,r),yo.bytes=t,r};yo.bytes=0;function oi(e,t){t=t??{};let r=t.lengthEncoder??yo;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return po(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}oi.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??yo;return new ae(r(e.byteLength),e)};var In=zt(xl(),1);var S1=8,A1=1024*1024*4,$r;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})($r||($r={}));var Qa=e=>{let t=Le(e);return Qa.bytes=Zt(t),t};Qa.bytes=0;function $a(e,t){let r=new ae,n=$r.LENGTH,i=-1,o=t?.lengthDecoder??Qa,s=t?.maxLengthLength??S1,a=t?.maxDataLength??A1;function*c(){for(;r.byteLength>0;){if(n===$r.LENGTH)try{if(i=o(r),i<0)throw(0,In.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,In.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;r.consume(u),t?.onLength!=null&&t.onLength(i),n=$r.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,In.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===$r.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(u),yield u,n=$r.LENGTH}}}return po(e)?async function*(){for await(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,In.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,In.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}$a.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await e.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 $a(n,{...t??{},onLength:o=>{r=o}})};var mo=class extends Error{code;constructor(t,r){super(t),this.code=r}},vl=e=>Le(e);vl.bytes=0;function bl(e,t={}){let r=dl(e,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=Zt(t.maxDataLength)),{read:async i=>{let o=-1,s=new ae,a=t?.lengthDecoder??vl;for(;;){s.append(await r.read(1,i));try{o=a(s)}catch(c){if(c instanceof RangeError)continue;throw c}if(t?.maxLengthLength!=null&&s.byteLength>t.maxLengthLength)throw new mo("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(o>-1)break}if(t?.maxDataLength!=null&&o>t.maxDataLength)throw new mo("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(o,i)},write:async(i,o)=>{await r.write(oi.single(i,t),o)},writeV:async(i,o)=>{let s=new ae(...i.map(a=>oi.single(a,t)));await r.write(s,o)},unwrap:()=>r.unwrap()}}function Er(e,t){let r=bl(e,t),n={read:async(i,o)=>{let s=await r.read(o);return i.decode(s)},write:async(i,o,s)=>{await r.write(o.encode(i),s)},writeV:async(i,o,s)=>{await r.writeV(i.map(a=>o.encode(a)),s)},pb:i=>({read:async o=>n.read(i,o),write:async(o,s)=>n.write(o,i,s),writeV:async(o,s)=>n.writeV(o,i,s),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}var go="/libp2p/relay";var wl="circuit-relay-source",El="circuit-relay-relay";var Sl=BigInt(131072),Ee="/libp2p/circuit/relay/0.2.0/hop",Qr="/libp2p/circuit/relay/0.2.0/stop",Al=30*1e3,Tl=30*1e3,si=300,Bl="ERR_NO_ROUTERS_AVAILABLE",Za="ERR_RELAYED_DIAL",Il="ERR_HOP_REQUEST_FAILED",xo="ERR_TRANSFER_LIMIT_EXCEEDED";var ft;(function(e){let t;(function(i){i.RESERVE="RESERVE",i.CONNECT="CONNECT",i.STATUS="STATUS"})(t=e.Type||(e.Type={}));let r;(function(i){i[i.RESERVE=0]="RESERVE",i[i.CONNECT=1]="CONNECT",i[i.STATUS=2]="STATUS"})(r||(r={})),function(i){i.codec=()=>qr(r)}(t=e.Type||(e.Type={}));let n;e.codec=()=>(n==null&&(n=$t((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.type!=null&&(o.uint32(8),e.Type.codec().encode(i.type,o)),i.peer!=null&&(o.uint32(18),Cn.codec().encode(i.peer,o)),i.reservation!=null&&(o.uint32(26),vo.codec().encode(i.reservation,o)),i.limit!=null&&(o.uint32(34),_n.codec().encode(i.limit,o)),i.status!=null&&(o.uint32(40),tt.codec().encode(i.status,o)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.type=e.Type.codec().decode(i);break;case 2:s.peer=Cn.codec().decode(i,i.uint32());break;case 3:s.reservation=vo.codec().decode(i,i.uint32());break;case 4:s.limit=_n.codec().decode(i,i.uint32());break;case 5:s.status=tt.codec().decode(i);break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>Yt(i,e.codec()),e.decode=i=>Wt(i,e.codec())})(ft||(ft={}));var de;(function(e){let t;(function(i){i.CONNECT="CONNECT",i.STATUS="STATUS"})(t=e.Type||(e.Type={}));let r;(function(i){i[i.CONNECT=0]="CONNECT",i[i.STATUS=1]="STATUS"})(r||(r={})),function(i){i.codec=()=>qr(r)}(t=e.Type||(e.Type={}));let n;e.codec=()=>(n==null&&(n=$t((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.type!=null&&(o.uint32(8),e.Type.codec().encode(i.type,o)),i.peer!=null&&(o.uint32(18),Cn.codec().encode(i.peer,o)),i.limit!=null&&(o.uint32(26),_n.codec().encode(i.limit,o)),i.status!=null&&(o.uint32(32),tt.codec().encode(i.status,o)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.type=e.Type.codec().decode(i);break;case 2:s.peer=Cn.codec().decode(i,i.uint32());break;case 3:s.limit=_n.codec().decode(i,i.uint32());break;case 4:s.status=tt.codec().decode(i);break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>Yt(i,e.codec()),e.decode=i=>Wt(i,e.codec())})(de||(de={}));var Cn;(function(e){let t;e.codec=()=>(t==null&&(t=$t((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.id!=null&&r.id.byteLength>0&&(n.uint32(10),n.bytes(r.id)),r.addrs!=null)for(let o of r.addrs)n.uint32(18),n.bytes(o);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={id:new Uint8Array(0),addrs:[]},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.addrs.push(r.bytes());break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Yt(r,e.codec()),e.decode=r=>Wt(r,e.codec())})(Cn||(Cn={}));var vo;(function(e){let t;e.codec=()=>(t==null&&(t=$t((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.expire!=null&&r.expire!==0n&&(n.uint32(8),n.uint64(r.expire)),r.addrs!=null)for(let o of r.addrs)n.uint32(18),n.bytes(o);r.voucher!=null&&(n.uint32(26),n.bytes(r.voucher)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={expire:0n,addrs:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.expire=r.uint64();break;case 2:i.addrs.push(r.bytes());break;case 3:i.voucher=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Yt(r,e.codec()),e.decode=r=>Wt(r,e.codec())})(vo||(vo={}));var _n;(function(e){let t;e.codec=()=>(t==null&&(t=$t((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.duration!=null&&(n.uint32(8),n.uint32(r.duration)),r.data!=null&&(n.uint32(16),n.uint64(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.duration=r.uint32();break;case 2:i.data=r.uint64();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Yt(r,e.codec()),e.decode=r=>Wt(r,e.codec())})(_n||(_n={}));var tt;(function(e){e.UNUSED="UNUSED",e.OK="OK",e.RESERVATION_REFUSED="RESERVATION_REFUSED",e.RESOURCE_LIMIT_EXCEEDED="RESOURCE_LIMIT_EXCEEDED",e.PERMISSION_DENIED="PERMISSION_DENIED",e.CONNECTION_FAILED="CONNECTION_FAILED",e.NO_RESERVATION="NO_RESERVATION",e.MALFORMED_MESSAGE="MALFORMED_MESSAGE",e.UNEXPECTED_MESSAGE="UNEXPECTED_MESSAGE"})(tt||(tt={}));var Xa;(function(e){e[e.UNUSED=0]="UNUSED",e[e.OK=100]="OK",e[e.RESERVATION_REFUSED=200]="RESERVATION_REFUSED",e[e.RESOURCE_LIMIT_EXCEEDED=201]="RESOURCE_LIMIT_EXCEEDED",e[e.PERMISSION_DENIED=202]="PERMISSION_DENIED",e[e.CONNECTION_FAILED=203]="CONNECTION_FAILED",e[e.NO_RESERVATION=204]="NO_RESERVATION",e[e.MALFORMED_MESSAGE=400]="MALFORMED_MESSAGE",e[e.UNEXPECTED_MESSAGE=401]="UNEXPECTED_MESSAGE"})(Xa||(Xa={}));(function(e){e.codec=()=>qr(Xa)})(tt||(tt={}));var bo;(function(e){let t;e.codec=()=>(t==null&&(t=$t((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.relay!=null&&r.relay.byteLength>0&&(n.uint32(10),n.bytes(r.relay)),r.peer!=null&&r.peer.byteLength>0&&(n.uint32(18),n.bytes(r.peer)),r.expiration!=null&&r.expiration!==0n&&(n.uint32(24),n.uint64(r.expiration)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={relay:new Uint8Array(0),peer:new Uint8Array(0),expiration:0n},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.relay=r.bytes();break;case 2:i.peer=r.bytes();break;case 3:i.expiration=r.uint64();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Yt(r,e.codec()),e.decode=r=>Wt(r,e.codec())})(bo||(bo={}));function Cl(e){let t=new globalThis.AbortController;function r(){t.abort();for(let o of e)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}for(let o of e){if(o?.aborted===!0){r();break}o?.addEventListener!=null&&o.addEventListener("abort",r)}function n(){for(let o of e)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}let i=t.signal;return i.clear=n,i}async function*_l(e,t,r){let n=t.remaining;for await(let i of e){let o=BigInt(i.byteLength);if(t.remaining-o<0){let s=Number(t.remaining);t.remaining=0n;try{s!==0&&(yield i.subarray(0,s))}catch(a){r.log.error(a)}throw new H(`data limit of ${n} bytes exceeded`,xo)}t.remaining-=o,yield i}}function Rl(e,t,r,n,i){function o(l){e.abort(l),t.abort(l)}let s=[r];n?.duration!=null&&s.push(AbortSignal.timeout(n.duration));let a=Cl(s),c=!1,u=!1,f;n?.data!=null&&(f={remaining:n.data}),queueMicrotask(()=>{let l=()=>{t.abort(new H(`duration limit of ${n?.duration} ms exceeded`,xo))};a.addEventListener("abort",l,{once:!0}),t.sink(f==null?e.source:_l(e.source,f,i)).catch(h=>{i.log.error("error while relaying streams src -> dst",h),o(h)}).finally(()=>{c=!0,u&&(a.removeEventListener("abort",l),a.clear())})}),queueMicrotask(()=>{let l=()=>{e.abort(new H(`duration limit of ${n?.duration} ms exceeded`,xo))};a.addEventListener("abort",l,{once:!0}),e.sink(f==null?t.source:_l(t.source,f,i)).catch(h=>{i.log.error("error while relaying streams dst -> src",h),o(h)}).finally(()=>{u=!0,c&&(a.removeEventListener("abort",l),a.clear())})})}async function wo(e){let t=new TextEncoder().encode(e),r=await Nt.digest(t);return ue.createV0(r)}function Ja(e){let t=e*BigInt(1e3),r=new Date().getTime();return Number(t-BigInt(r))}var Ol=zt(kl(),1);var I1=Object.prototype.toString,C1=e=>I1.call(e)==="[object Error]",_1=new Set(["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Load failed","Network request failed","fetch failed"]);function ja(e){return e&&C1(e)&&e.name==="TypeError"&&typeof e.message=="string"?e.message==="Load failed"?e.stack===void 0:_1.has(e.message):!1}var t0=class extends Error{constructor(t){super(),t instanceof Error?(this.originalError=t,{message:t}=t):(this.originalError=new Error(t),this.originalError.stack=this.stack),this.name="AbortError",this.message=t}},Ul=(e,t,r)=>{let n=r.retries-(t-1);return e.attemptNumber=t,e.retriesLeft=n,e};async function e0(e,t){return new Promise((r,n)=>{t={onFailedAttempt(){},retries:10,...t};let i=Ol.default.operation(t),o=()=>{i.stop(),n(t.signal?.reason)};t.signal&&!t.signal.aborted&&t.signal.addEventListener("abort",o,{once:!0});let s=()=>{t.signal?.removeEventListener("abort",o),i.stop()};i.attempt(async a=>{try{let c=await e(a);s(),r(c)}catch(c){try{if(!(c instanceof Error))throw new TypeError(`Non-error was thrown: "${c}". You should only throw errors.`);if(c instanceof t0)throw c.originalError;if(c instanceof TypeError&&!ja(c))throw c;if(await t.onFailedAttempt(Ul(c,a,t)),!i.retry(c))throw i.mainError()}catch(u){Ul(u,a,t),s(),n(u)}}})})}var Eo=class extends me{contentRouting;timeout;started;bootDelay;log;constructor(t,r){super(),this.log=t.logger.forComponent("libp2p:circuit-relay:advert-service"),this.contentRouting=t.contentRouting,this.bootDelay=r?.bootDelay??Tl,this.started=!1}isStarted(){return this.started}start(){this.started||(this.timeout=setTimeout(()=>{this._advertiseService().catch(t=>{this.log.error("could not advertise service",t)})},this.bootDelay),this.started=!0)}stop(){try{clearTimeout(this.timeout)}catch{}this.started=!1}async _advertiseService(){await e0(async()=>{try{let t=await wo(go);await this.contentRouting.provide(t),this.safeDispatchEvent("advert:success",{detail:void 0})}catch(t){if(this.safeDispatchEvent("advert:error",{detail:t}),t.code===Bl){this.log.error("a content router, such as a DHT, must be provided in order to advertise the relay service",t),this.stop();return}throw this.log.error("could not advertise service",t),t}})}};function or(e,t){let r={[Symbol.iterator]:()=>r,next:()=>{let n=e.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:t(i)}}};return r}var He=class{map;constructor(t){if(this.map=new Map,t!=null)for(let[r,n]of t.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){return this.map.delete(t.toString())}entries(){return or(this.map.entries(),t=>[Et(t[0]),t[1]])}forEach(t){this.map.forEach((r,n)=>{t(r,Et(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,r){this.map.set(t.toString(),r)}keys(){return or(this.map.keys(),t=>Et(t))}values(){return this.map.values()}get size(){return this.map.size}};var So=class e{set;constructor(t){if(this.set=new Set,t!=null)for(let r of t)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return or(this.set.entries(),t=>{let r=Et(t[0]);return[r,r]})}forEach(t){this.set.forEach(r=>{let n=Et(r);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return or(this.set.values(),t=>Et(t))}intersection(t){let r=new e;for(let n of t)this.has(n)&&r.add(n);return r}difference(t){let r=new e;for(let n of this)t.has(n)||r.add(n);return r}union(t){let r=new e;for(let n of t)r.add(n);for(let n of this)r.add(n);return r}};var Ao=class e{list;constructor(t){if(this.list=[],t!=null)for(let r of t)this.list.push(r.toString())}[Symbol.iterator](){return or(this.list.entries(),t=>Et(t[1]))}concat(t){let r=new e(this);for(let n of t)r.push(n);return r}entries(){return or(this.list.entries(),t=>[t[0],Et(t[1])])}every(t){return this.list.every((r,n)=>t(Et(r),n,this))}filter(t){let r=new e;return this.list.forEach((n,i)=>{let o=Et(n);t(o,i,this)&&r.push(o)}),r}find(t){let r=this.list.find((n,i)=>t(Et(n),i,this));if(r!=null)return Et(r)}findIndex(t){return this.list.findIndex((r,n)=>t(Et(r),n,this))}forEach(t){this.list.forEach((r,n)=>{t(Et(r),n,this)})}includes(t){return this.list.includes(t.toString())}indexOf(t){return this.list.indexOf(t.toString())}pop(){let t=this.list.pop();if(t!=null)return Et(t)}push(...t){for(let r of t)this.list.push(r.toString())}shift(){let t=this.list.shift();if(t!=null)return Et(t)}unshift(...t){let r=this.list.length;for(let n=t.length-1;n>-1;n--)r=this.list.unshift(t[n].toString());return r}clear(){this.list=[]}get length(){return this.list.length}};var To=class{reservations=new He;_started=!1;interval;maxReservations;reservationClearInterval;applyDefaultLimit;reservationTtl;defaultDurationLimit;defaultDataLimit;constructor(t={}){this.maxReservations=t.maxReservations??15,this.reservationClearInterval=t.reservationClearInterval??3e5,this.applyDefaultLimit=t.applyDefaultLimit!==!1,this.reservationTtl=t.reservationTtl??72e5,this.defaultDurationLimit=t.defaultDurationLimit??12e4,this.defaultDataLimit=t.defaultDataLimit??Sl}isStarted(){return this._started}start(){this._started||(this._started=!0,this.interval=setInterval(()=>{let t=new Date().getTime();this.reservations.forEach((r,n)=>{r.expire.getTime()<t&&this.reservations.delete(n)})},this.reservationClearInterval))}stop(){clearInterval(this.interval)}reserve(t,r,n){if(this.reservations.size>=this.maxReservations&&!this.reservations.has(t))return{status:tt.RESERVATION_REFUSED};let i=new Date(Date.now()+this.reservationTtl),o;return this.applyDefaultLimit&&(o=n??{data:this.defaultDataLimit,duration:this.defaultDurationLimit}),this.reservations.set(t,{addr:r,expire:i,limit:o}),{status:tt.OK,expire:Math.round(i.getTime()/1e3)}}removeReservation(t){this.reservations.delete(t)}hasReservation(t){return this.reservations.has(t)}get(t){return this.reservations.get(t)}};var Bo=class e{domain="libp2p-relay-rsvp";codec=new Uint8Array([3,2]);relay;peer;expiration;constructor({relay:t,peer:r,expiration:n}){this.relay=t,this.peer=r,this.expiration=n}marshal(){return bo.encode({relay:this.relay.toBytes(),peer:this.peer.toBytes(),expiration:BigInt(this.expiration)})}equals(t){return!(!(t instanceof e)||!this.peer.equals(t.peer)||!this.relay.equals(t.relay)||this.expiration!==t.expiration)}};var Ml=e=>e.protoCodes().includes(290),P1={maxOutboundStopStreams:si},r0=class extends me{registrar;peerStore;addressManager;peerId;connectionManager;connectionGater;reservationStore;advertService;started;hopTimeout;shutdownController;maxInboundHopStreams;maxOutboundHopStreams;maxOutboundStopStreams;log;constructor(t,r={}){super(),this.log=t.logger.forComponent("libp2p:circuit-relay:server"),this.registrar=t.registrar,this.peerStore=t.peerStore,this.addressManager=t.addressManager,this.peerId=t.peerId,this.connectionManager=t.connectionManager,this.connectionGater=t.connectionGater,this.started=!1,this.hopTimeout=r?.hopTimeout??Al,this.shutdownController=new AbortController,this.maxInboundHopStreams=r.maxInboundHopStreams,this.maxOutboundHopStreams=r.maxOutboundHopStreams,this.maxOutboundStopStreams=r.maxOutboundStopStreams??P1.maxOutboundStopStreams,k0(1/0,this.shutdownController.signal),r.advertise!=null&&r.advertise!==!1&&(this.advertService=new Eo(t,r.advertise===!0?void 0:r.advertise),this.advertService.addEventListener("advert:success",()=>{this.safeDispatchEvent("relay:advert:success",{})}),this.advertService.addEventListener("advert:error",n=>{this.safeDispatchEvent("relay:advert:error",{detail:n.detail})})),this.reservationStore=new To(r.reservations)}isStarted(){return this.started}async start(){this.started||(this.advertService?.start(),await this.registrar.handle(Ee,t=>{this.onHop(t).catch(r=>{this.log.error(r)})},{maxInboundStreams:this.maxInboundHopStreams,maxOutboundStreams:this.maxOutboundHopStreams,runOnTransientConnection:!0}),this.reservationStore.start(),this.started=!0)}async stop(){this.advertService?.stop(),this.reservationStore.stop(),this.shutdownController.abort(),await this.registrar.unhandle(Ee),this.started=!1}async onHop({connection:t,stream:r}){this.log("received circuit v2 hop protocol stream from %p",t.remotePeer);let n=wr(),i=setTimeout(()=>{n.reject("timed out")},this.hopTimeout),o=Er(r);try{let s=await Promise.race([o.pb(ft).read(),n.promise]);if(s?.type==null)throw new Error("request was invalid, could not read from stream");this.log("received",s.type),await Promise.race([this.handleHopProtocol({connection:t,stream:o,request:s}),n.promise])}catch(s){this.log.error("error while handling hop",s),await o.pb(ft).write({type:ft.Type.STATUS,status:tt.MALFORMED_MESSAGE}),r.abort(s)}finally{clearTimeout(i)}}async handleHopProtocol({stream:t,request:r,connection:n}){switch(this.log("received hop message"),r.type){case ft.Type.RESERVE:await this.handleReserve({stream:t,request:r,connection:n});break;case ft.Type.CONNECT:await this.handleConnect({stream:t,request:r,connection:n});break;default:this.log.error("invalid hop request type %s via peer %p",r.type,n.remotePeer),await t.pb(ft).write({type:ft.Type.STATUS,status:tt.UNEXPECTED_MESSAGE})}}async handleReserve({stream:t,request:r,connection:n}){let i=t.pb(ft);if(this.log("hop reserve request from %p",n.remotePeer),Ml(n.remoteAddr)){this.log.error("relay reservation over circuit connection denied for peer: %p",n.remotePeer),await i.write({type:ft.Type.STATUS,status:tt.PERMISSION_DENIED});return}if(await this.connectionGater.denyInboundRelayReservation?.(n.remotePeer)===!0){this.log.error("reservation for %p denied by connection gater",n.remotePeer),await i.write({type:ft.Type.STATUS,status:tt.PERMISSION_DENIED});return}let o=this.reservationStore.reserve(n.remotePeer,n.remoteAddr);if(o.status!==tt.OK){await i.write({type:ft.Type.STATUS,status:o.status});return}try{if(o.expire!=null){let s=o.expire*1e3-Date.now();await this.peerStore.merge(n.remotePeer,{tags:{[wl]:{value:1,ttl:s}}})}await i.write({type:ft.Type.STATUS,status:tt.OK,reservation:await this.makeReservation(n.remotePeer,BigInt(o.expire??0)),limit:this.reservationStore.get(n.remotePeer)?.limit}),this.log("sent confirmation response to %s",n.remotePeer)}catch(s){this.log.error("failed to send confirmation response to %p",n.remotePeer,s),this.reservationStore.removeReservation(n.remotePeer)}}async makeReservation(t,r){let n=[];for(let o of this.addressManager.getAddresses())o.toString().includes("/p2p-circuit")||n.push(o.bytes);let i=await ii.seal(new Bo({peer:t,relay:this.peerId,expiration:Number(r)}),this.peerId);return{addrs:n,expire:r,voucher:i.marshal()}}async handleConnect({stream:t,request:r,connection:n}){let i=t.pb(ft);if(Ml(n.remoteAddr)){this.log.error("relay reservation over circuit connection denied for peer: %p",n.remotePeer),await i.write({type:ft.Type.STATUS,status:tt.PERMISSION_DENIED});return}this.log("hop connect request from %p",n.remotePeer);let o;try{if(r.peer==null)throw this.log.error("no peer info in hop connect request"),new Error("no peer info in request");r.peer.addrs.forEach(Xt),o=cn(r.peer.id)}catch(l){this.log.error("invalid hop connect request via peer %p %s",n.remotePeer,l),await i.write({type:ft.Type.STATUS,status:tt.MALFORMED_MESSAGE});return}if(!this.reservationStore.hasReservation(o)){this.log.error("hop connect denied for destination peer %p not having a reservation for %p with status %s",o,n.remotePeer,tt.NO_RESERVATION),await i.write({type:ft.Type.STATUS,status:tt.NO_RESERVATION});return}if(await this.connectionGater.denyOutboundRelayedConnection?.(n.remotePeer,o)===!0){this.log.error("hop connect for %p to %p denied by connection gater",n.remotePeer,o),await i.write({type:ft.Type.STATUS,status:tt.PERMISSION_DENIED});return}let s=this.connectionManager.getConnections(o);if(s.length===0){this.log("hop connect denied for destination peer %p not having a connection for %p as there is no destination connection",o,n.remotePeer),await i.write({type:ft.Type.STATUS,status:tt.NO_RESERVATION});return}let a=s[0],c=await this.stopHop({connection:a,request:{type:de.Type.CONNECT,peer:{id:n.remotePeer.toBytes(),addrs:[]}}});if(c==null){this.log.error("failed to open stream to destination peer %p",a?.remotePeer),await i.write({type:ft.Type.STATUS,status:tt.CONNECTION_FAILED});return}await i.write({type:ft.Type.STATUS,status:tt.OK});let u=t.unwrap();this.log("connection from %p to %p established - merging streams",n.remotePeer,o);let f=this.reservationStore.get(o)?.limit;Rl(u,c,this.shutdownController.signal,f,{log:this.log})}async stopHop({connection:t,request:r}){this.log("starting circuit relay v2 stop request to %s",t.remotePeer);let n=await t.newStream([Qr],{maxOutboundStreams:this.maxOutboundStopStreams,runOnTransientConnection:!0}),i=Er(n),o=i.pb(de);await o.write(r);let s;try{s=await o.read()}catch{this.log.error("error parsing stop message response from %p",t.remotePeer)}if(s==null){this.log.error("could not read response from %p",t.remotePeer),await n.close();return}if(s.status===tt.OK)return this.log("stop request to %p was successful",t.remotePeer),i.unwrap();this.log("stop request failed with code %d",s.status),await n.close()}get reservations(){return this.reservationStore.reservations}};function Kl(e={}){return t=>new r0(t,e)}var Io=class extends me{peerId;peerStore;contentRouting;registrar;started;topologyId;log;constructor(t){super(),this.log=t.logger.forComponent("libp2p:circuit-relay:discover-relays"),this.started=!1,this.peerId=t.peerId,this.peerStore=t.peerStore,this.contentRouting=t.contentRouting,this.registrar=t.registrar}isStarted(){return this.started}async start(){this.topologyId=await this.registrar.register(Ee,{notifyOnTransient:!0,onConnect:t=>{this.safeDispatchEvent("relay:discover",{detail:t})}}),this.discover().catch(t=>{this.log.error("error listening on relays",t)}),this.started=!0}stop(){this.topologyId!=null&&this.registrar.unregister(this.topologyId),this.started=!1}async discover(){this.log("searching peer store for relays");let t=await this.peerStore.all({filters:[r=>r.protocols.includes(Ee)],orders:[()=>Math.random()<.5?1:-1]});for(let r of t)this.log("found relay peer %p in content peer store",r.id),this.safeDispatchEvent("relay:discover",{detail:r.id});this.log("found %d relay peers in peer store",t.length);try{this.log("searching content routing for relays");let r=await wo(go),n=0;for await(let i of this.contentRouting.findProviders(r))if(i.multiaddrs.length>0&&!i.id.equals(this.peerId)){let o=i.id;n++,await this.peerStore.merge(o,{multiaddrs:i.multiaddrs}),this.log("found relay peer %p in content routing",o),this.safeDispatchEvent("relay:discover",{detail:o})}this.log("found %d relay peers in content routing",n)}catch(r){this.log.error("failed when finding relays on the network",r)}}};var o0=zt(Vl(),1);var ci=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},s0=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},ql=e=>globalThis.DOMException===void 0?new s0(e):new DOMException(e),Hl=e=>{let t=e.reason===void 0?ql("This operation was aborted."):e.reason;return t instanceof Error?t:ql(t)};function a0(e,t,r,n){let i,o=new Promise((s,a)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){s(e);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(Hl(c)),c.addEventListener("abort",()=>{a(Hl(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{s(r())}catch(f){a(f)}return}let c=typeof r=="string"?r:`Promise timed out after ${t} milliseconds`,u=r instanceof Error?r:new ci(c);typeof e.cancel=="function"&&e.cancel(),a(u)},t),(async()=>{try{s(await e)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function c0(e,t,r){let n=0,i=e.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(e[s],t)<=0?(n=++s,i-=o+1):i=o}return n}var Xr=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},sr,u0=class{constructor(){sr.set(this,[])}enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,run:t};if(this.size&&Xr(this,sr,"f")[this.size-1].priority>=r.priority){Xr(this,sr,"f").push(n);return}let i=c0(Xr(this,sr,"f"),n,(o,s)=>s.priority-o.priority);Xr(this,sr,"f").splice(i,0,n)}dequeue(){let t=Xr(this,sr,"f").shift();return t?.run}filter(t){return Xr(this,sr,"f").filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return Xr(this,sr,"f").length}};sr=new WeakMap;var zl=u0;var St=function(e,t,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 t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},K=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},It,fi,li,Ar,Po,hi,_o,De,ui,pe,Ro,ye,di,Sr,Lo,Gl,Wl,Ql,Yl,$l,Do,f0,l0,ko,Zl,No,Uo=class extends Error{},h0=class extends o0.default{constructor(t){var r,n,i,o;if(super(),It.add(this),fi.set(this,void 0),li.set(this,void 0),Ar.set(this,0),Po.set(this,void 0),hi.set(this,void 0),_o.set(this,0),De.set(this,void 0),ui.set(this,void 0),pe.set(this,void 0),Ro.set(this,void 0),ye.set(this,0),di.set(this,void 0),Sr.set(this,void 0),Lo.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:zl,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=t.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(o=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof t.interval})`);St(this,fi,t.carryoverConcurrencyCount,"f"),St(this,li,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),St(this,Po,t.intervalCap,"f"),St(this,hi,t.interval,"f"),St(this,pe,new t.queueClass,"f"),St(this,Ro,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,St(this,Lo,t.throwOnTimeout===!0,"f"),St(this,Sr,t.autoStart===!1,"f")}get concurrency(){return K(this,di,"f")}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);St(this,di,t,"f"),K(this,It,"m",ko).call(this)}async add(t,r={}){return r={timeout:this.timeout,throwOnTimeout:K(this,Lo,"f"),...r},new Promise((n,i)=>{K(this,pe,"f").enqueue(async()=>{var o,s,a;St(this,ye,(s=K(this,ye,"f"),s++,s),"f"),St(this,Ar,(a=K(this,Ar,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new Uo("The task was aborted.");let c=t({signal:r.signal});r.timeout&&(c=a0(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,K(this,It,"m",Zl).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof ci&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{K(this,It,"m",Ql).call(this)}},r),this.emit("add"),K(this,It,"m",Do).call(this)})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return K(this,Sr,"f")?(St(this,Sr,!1,"f"),K(this,It,"m",ko).call(this),this):this}pause(){St(this,Sr,!0,"f")}clear(){St(this,pe,new(K(this,Ro,"f")),"f")}async onEmpty(){K(this,pe,"f").size!==0&&await K(this,It,"m",No).call(this,"empty")}async onSizeLessThan(t){K(this,pe,"f").size<t||await K(this,It,"m",No).call(this,"next",()=>K(this,pe,"f").size<t)}async onIdle(){K(this,ye,"f")===0&&K(this,pe,"f").size===0||await K(this,It,"m",No).call(this,"idle")}get size(){return K(this,pe,"f").size}sizeBy(t){return K(this,pe,"f").filter(t).length}get pending(){return K(this,ye,"f")}get isPaused(){return K(this,Sr,"f")}};fi=new WeakMap,li=new WeakMap,Ar=new WeakMap,Po=new WeakMap,hi=new WeakMap,_o=new WeakMap,De=new WeakMap,ui=new WeakMap,pe=new WeakMap,Ro=new WeakMap,ye=new WeakMap,di=new WeakMap,Sr=new WeakMap,Lo=new WeakMap,It=new WeakSet,Gl=function(){return K(this,li,"f")||K(this,Ar,"f")<K(this,Po,"f")},Wl=function(){return K(this,ye,"f")<K(this,di,"f")},Ql=function(){var t;St(this,ye,(t=K(this,ye,"f"),t--,t),"f"),K(this,It,"m",Do).call(this),this.emit("next")},Yl=function(){K(this,It,"m",l0).call(this),K(this,It,"m",f0).call(this),St(this,ui,void 0,"f")},$l=function(){let t=Date.now();if(K(this,De,"f")===void 0){let r=K(this,_o,"f")-t;if(r<0)St(this,Ar,K(this,fi,"f")?K(this,ye,"f"):0,"f");else return K(this,ui,"f")===void 0&&St(this,ui,setTimeout(()=>{K(this,It,"m",Yl).call(this)},r),"f"),!0}return!1},Do=function(){if(K(this,pe,"f").size===0)return K(this,De,"f")&&clearInterval(K(this,De,"f")),St(this,De,void 0,"f"),this.emit("empty"),K(this,ye,"f")===0&&this.emit("idle"),!1;if(!K(this,Sr,"f")){let t=!K(this,It,"a",$l);if(K(this,It,"a",Gl)&&K(this,It,"a",Wl)){let r=K(this,pe,"f").dequeue();return r?(this.emit("active"),r(),t&&K(this,It,"m",f0).call(this),!0):!1}}return!1},f0=function(){K(this,li,"f")||K(this,De,"f")!==void 0||(St(this,De,setInterval(()=>{K(this,It,"m",l0).call(this)},K(this,hi,"f")),"f"),St(this,_o,Date.now()+K(this,hi,"f"),"f"))},l0=function(){K(this,Ar,"f")===0&&K(this,ye,"f")===0&&K(this,De,"f")&&(clearInterval(K(this,De,"f")),St(this,De,void 0,"f")),St(this,Ar,K(this,fi,"f")?K(this,ye,"f"):0,"f"),K(this,It,"m",ko).call(this)},ko=function(){for(;K(this,It,"m",Do).call(this););},Zl=async function(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(new Uo("The task was aborted."))},{once:!0})})},No=async function(t,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(t,i),n())};this.on(t,i)})};var Xl=h0;function O1(e,t,r){let n=0,i=e.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(e[s],t)<=0?(n=++s,i-=o+1):i=o}return n}var d0=class{#t=[];enqueue(t,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new H("missing peer id",P0);let o={priority:i,peerId:n,run:t};if(this.size>0&&this.#t[this.size-1].priority>=i){this.#t.push(o);return}let s=O1(this.#t,o,(a,c)=>c.priority-a.priority);this.#t.splice(s,0,o)}dequeue(){return this.#t.shift()?.run}filter(t){if(t.peerId!=null){let r=t.peerId;return this.#t.filter(n=>r.equals(n.peerId)).map(n=>n.run)}return this.#t.filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return this.#t.length}},Oo=class extends Xl{constructor(t={}){super({...t,queueClass:d0})}hasJob(t){return this.sizeBy({peerId:t})>0}};var K1=60*1e3*10,F1=60*1e3*5,V1=30*1e3,Mo=class extends me{peerId;connectionManager;transportManager;peerStore;events;reserveQueue;reservations;maxDiscoveredRelays;maxReservationQueueLength;reservationCompletionTimeout;started;log;constructor(t,r){super(),this.log=t.logger.forComponent("libp2p:circuit-relay:transport:reservation-store"),this.peerId=t.peerId,this.connectionManager=t.connectionManager,this.transportManager=t.transportManager,this.peerStore=t.peerStore,this.events=t.events,this.reservations=new He,this.maxDiscoveredRelays=r?.discoverRelays??0,this.maxReservationQueueLength=r?.maxReservationQueueLength??100,this.reservationCompletionTimeout=r?.reservationCompletionTimeout??1e4,this.started=!1,this.reserveQueue=new Oo({concurrency:r?.reservationConcurrency??1}),this.events.addEventListener("peer:disconnect",n=>{this.#e(n.detail)})}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.reserveQueue.clear(),this.reservations.forEach(({timeout:t})=>{clearTimeout(t)}),this.reservations.clear(),this.started=!1}async addRelay(t,r){if(this.peerId.equals(t)){this.log("not trying to use self as relay");return}if(this.reserveQueue.size>this.maxReservationQueueLength){this.log("not adding relay as the queue is full");return}if(this.reserveQueue.hasJob(t)){this.log("relay peer is already in the reservation queue");return}this.log("add relay %p",t),await this.reserveQueue.add(async()=>{try{let n=this.reservations.get(t);if(n!=null){if(Ja(n.reservation.expire)>K1){this.log("already have reservation on relay peer %p and it expires in more than 10 minutes",t);return}clearTimeout(n.timeout),this.reservations.delete(t)}if(r==="discovered"&&[...this.reservations.values()].reduce((f,l)=>(l.type==="discovered"&&f++,f),0)>=this.maxDiscoveredRelays){this.log("already have enough discovered relays");return}let i=AbortSignal.timeout(this.reservationCompletionTimeout),o=await this.connectionManager.openConnection(t,{signal:i});if(o.remoteAddr.protoNames().includes("p2p-circuit")){this.log("not creating reservation over relayed connection");return}let s=await this.#t(o,{signal:i});this.log("created reservation on relay peer %p",t);let a=Ja(s.expire),c=Math.min(Math.max(a-F1,V1),Math.pow(2,31)-1),u=setTimeout(()=>{this.addRelay(t,r).catch(f=>{this.log.error("could not refresh reservation to relay %p",t,f)})},c);this.reservations.set(t,{timeout:u,reservation:s,type:r}),await this.peerStore.merge(t,{tags:{[El]:{value:1,ttl:a}}}),await this.transportManager.listen([Xt(`/p2p/${t.toString()}/p2p-circuit`)])}catch(n){this.log.error("could not reserve slot on %p",t,n);let i=this.reservations.get(t);i!=null&&clearTimeout(i.timeout),this.reservations.delete(t)}},{peerId:t})}hasReservation(t){return this.reservations.has(t)}getReservation(t){return this.reservations.get(t)?.reservation}async#t(t,r){r.signal?.throwIfAborted(),this.log("requesting reservation from %p",t.remotePeer);let n=await t.newStream(Ee,r),o=Er(n).pb(ft);await o.write({type:ft.Type.RESERVE},r);let s;try{s=await o.read(r)}catch(c){throw this.log.error("error parsing reserve message response from %p because",t.remotePeer,c),n.abort(c),c}finally{await n.close()}if(s.status===tt.OK&&s.reservation!=null){let c=!1,u=t.remoteAddr.bytes;for(let f of s.reservation.addrs)if(qt(u,f)){c=!0;break}return c||s.reservation.addrs.push(u),s.reservation}let a=`reservation failed with status ${s.status??"undefined"}`;throw this.log.error(a),new Error(a)}#e(t){let r=this.reservations.get(t);r!=null&&(this.log("connection to relay %p closed, removing reservation from local store",t),clearTimeout(r.timeout),this.reservations.delete(t),this.safeDispatchEvent("relay:removed",{detail:t}),this.reservations.size<this.maxDiscoveredRelays&&(this.log("not enough relays %d/%d",this.reservations.size,this.maxDiscoveredRelays),this.safeDispatchEvent("relay:not-enough-relays",{})))}};function p0(e){let{stream:t,remoteAddr:r,logger:n}=e,i=n.forComponent("libp2p:stream:converter"),o=!1,s=!1,a=t.close.bind(t);t.close=async h=>{await a(h),l(!0)};let c=t.abort.bind(t);t.abort=h=>{c(h),l(!0)};let u=t.sink.bind(t);t.sink=async h=>{try{await u(h)}catch(y){y.type!=="aborted"&&i(y)}finally{s=!0,l()}};let f={log:i,sink:t.sink,source:async function*(){try{for await(let h of t.source)h instanceof Uint8Array?yield h:yield*h}finally{o=!0,l()}}(),remoteAddr:r,timeline:{open:Date.now(),close:void 0},close:t.close,abort:t.abort};function l(h){h===!0&&(o=!0,s=!0),o&&s&&f.timeline.close==null&&(f.timeline.close=Date.now())}return f}var q1=U("dns4"),H1=U("dns6"),z1=U("dnsaddr"),Jr=Ct(U("dns"),z1,q1,H1),Vo=Ct(U("ip4"),U("ip6")),Rn=Ct(z(Vo,U("tcp")),z(Jr,U("tcp"))),qo=z(Vo,U("udp")),G1=z(qo,U("utp")),W1=z(qo,U("quic")),Y1=z(qo,U("quic-v1")),y0=Ct(z(Rn,U("ws")),z(Jr,U("ws"))),Ko=Ct(z(y0,U("p2p")),y0),m0=Ct(z(Rn,U("wss")),z(Jr,U("wss")),z(Rn,U("tls"),U("ws")),z(Jr,U("tls"),U("ws"))),Fo=Ct(z(m0,U("p2p")),m0),g0=Ct(z(Rn,U("http")),z(Vo,U("http")),z(Jr,U("http"))),x0=Ct(z(Rn,U("https")),z(Vo,U("https")),z(Jr,U("https"))),Jl=z(qo,U("webrtc-direct"),U("certhash")),eh=Ct(z(Jl,U("p2p")),Jl),jl=z(Y1,U("webtransport"),U("certhash"),U("certhash")),rh=Ct(z(jl,U("p2p")),jl),nh=Ct(z(Ko,U("p2p-webrtc-star"),U("p2p")),z(Fo,U("p2p-webrtc-star"),U("p2p")),z(Ko,U("p2p-webrtc-star")),z(Fo,U("p2p-webrtc-star"))),DA=Ct(z(Ko,U("p2p-websocket-star"),U("p2p")),z(Fo,U("p2p-websocket-star"),U("p2p")),z(Ko,U("p2p-websocket-star")),z(Fo,U("p2p-websocket-star"))),ih=Ct(z(g0,U("p2p-webrtc-direct"),U("p2p")),z(x0,U("p2p-webrtc-direct"),U("p2p")),z(g0,U("p2p-webrtc-direct")),z(x0,U("p2p-webrtc-direct"))),jr=Ct(y0,m0,g0,x0,nh,ih,Rn,G1,W1,Jr,eh,rh),NA=Ct(z(jr,U("p2p-stardust"),U("p2p")),z(jr,U("p2p-stardust"))),Tr=Ct(z(jr,U("p2p")),nh,ih,eh,rh,U("p2p")),th=Ct(z(Tr,U("p2p-circuit"),Tr),z(Tr,U("p2p-circuit")),z(U("p2p-circuit"),Tr),z(jr,U("p2p-circuit")),z(U("p2p-circuit"),jr),U("p2p-circuit")),oh=()=>Ct(z(th,oh),th),ar=oh(),PA=Ct(z(ar,Tr,ar),z(Tr,ar),z(ar,Tr),ar,Tr);var kA=Ct(z(ar,U("webrtc"),U("p2p")),z(ar,U("webrtc")),z(jr,U("webrtc"),U("p2p")),z(jr,U("webrtc")),U("webrtc"));function sh(e){function t(r){let n;try{n=Xt(r)}catch{return!1}let i=e(n.protoNames());return i===null?!1:i===!0||i===!1?i:i.length===0}return t}function z(...e){function t(r){if(r.length<e.length)return null;let n=r;return e.some(i=>(n=typeof i=="function"?i().partialMatch(r):i.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:sh(t),partialMatch:t}}function Ct(...e){function t(n){let i=null;return e.some(o=>{let s=typeof o=="function"?o().partialMatch(n):o.partialMatch(n);return s!=null?(i=s,!0):!1}),i}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:sh(t),partialMatch:t}}function U(e){let t=e;function r(i){let o;try{o=Xt(i)}catch{return!1}let s=o.protoNames();return s.length===1&&s[0]===t}function n(i){return i.length===0?null:i[0]===t?i.slice(1):null}return{toString:function(){return t},matches:r,partialMatch:n}}var v0=class extends me{connectionManager;relayStore;listeningAddrs;log;constructor(t){super(),this.log=t.logger.forComponent("libp2p:circuit-relay:transport:listener"),this.connectionManager=t.connectionManager,this.relayStore=t.relayStore,this.listeningAddrs=new He,this.relayStore.addEventListener("relay:removed",this._onRemoveRelayPeer)}_onRemoveRelayPeer=t=>{this.#t(t.detail)};async listen(t){this.log("listen on %a",t);let r=t.decapsulate("/p2p-circuit"),n=await this.connectionManager.openConnection(r);if(!this.relayStore.hasReservation(n.remotePeer)){this.log("making reservation on peer %p",n.remotePeer),await this.relayStore.addRelay(n.remotePeer,"configured");return}let i=this.relayStore.getReservation(n.remotePeer);if(i==null)throw new H("Did not have reservation after making reservation","ERR_NO_RESERVATION");if(this.listeningAddrs.has(n.remotePeer)){this.log("already listening on relay %p",n.remotePeer);return}this.listeningAddrs.set(n.remotePeer,i.addrs.map(o=>Xt(o).encapsulate("/p2p-circuit"))),this.safeDispatchEvent("listening",{})}getAddrs(){return[...this.listeningAddrs.values()].flat()}async close(){}#t(t){let r=this.listeningAddrs.has(t);this.log("relay peer removed %p - had reservation",t,r),this.listeningAddrs.delete(t),r&&(this.log.trace("removing relay event listener for peer %p",t),this.relayStore.removeEventListener("relay:removed",this._onRemoveRelayPeer),this.safeDispatchEvent("close",{}))}};function ah(e){return new v0(e)}var Q1=e=>{if(e.peer==null)return!1;try{e.peer.addrs.forEach(Xt)}catch{return!1}return!0},b0={maxInboundStopStreams:si,maxOutboundStopStreams:si,stopTimeout:3e4},Ho=class{discovery;registrar;peerStore;connectionManager;transportManager;peerId;upgrader;addressManager;connectionGater;reservationStore;logger;maxInboundStopStreams;maxOutboundStopStreams;stopTimeout;started;log;constructor(t,r){this.log=t.logger.forComponent("libp2p:circuit-relay:transport"),this.registrar=t.registrar,this.peerStore=t.peerStore,this.connectionManager=t.connectionManager,this.transportManager=t.transportManager,this.logger=t.logger,this.peerId=t.peerId,this.upgrader=t.upgrader,this.addressManager=t.addressManager,this.connectionGater=t.connectionGater,this.maxInboundStopStreams=r.maxInboundStopStreams??b0.maxInboundStopStreams,this.maxOutboundStopStreams=r.maxOutboundStopStreams??b0.maxOutboundStopStreams,this.stopTimeout=r.stopTimeout??b0.stopTimeout,r.discoverRelays!=null&&r.discoverRelays>0&&(this.discovery=new Io(t),this.discovery.addEventListener("relay:discover",n=>{this.reservationStore.addRelay(n.detail,"discovered").catch(i=>{this.log.error("could not add discovered relay %p",n.detail,i)})})),this.reservationStore=new Mo(t,r),this.reservationStore.addEventListener("relay:not-enough-relays",()=>{this.discovery?.discover().catch(n=>{this.log.error("could not discover relays",n)})}),this.started=!1}isStarted(){return this.started}async start(){await this.reservationStore.start(),await this.discovery?.start(),await this.registrar.handle(Qr,t=>{this.onStop(t).catch(r=>{this.log.error("error while handling STOP protocol",r),t.stream.abort(r)})},{maxInboundStreams:this.maxInboundStopStreams,maxOutboundStreams:this.maxOutboundStopStreams,runOnTransientConnection:!0}),this.started=!0}async stop(){this.discovery?.stop(),await this.reservationStore.stop(),await this.registrar.unhandle(Qr),this.started=!1}[N0]=!0;[Symbol.toStringTag]="libp2p/circuit-relay-v2";async dial(t,r={}){if(t.protoCodes().filter(d=>d===290).length!==1){let d="Invalid circuit relay address";throw this.log.error(d,t),new H(d,Za)}let n=t.toString().split("/p2p-circuit"),i=Xt(n[0]),o=Xt(n[n.length-1]),s=i.getPeerId(),a=o.getPeerId();if(s==null||a==null){let d=`Circuit relay dial to ${t.toString()} failed as address did not have peer ids`;throw this.log.error(d),new H(d,Za)}let c=Et(s),u=Et(a),f=!1,h=this.connectionManager.getConnections(c)[0];h==null&&(await this.peerStore.merge(c,{multiaddrs:[i]}),h=await this.connectionManager.openConnection(c,r),f=!0);let y;try{return y=await h.newStream(Ee),await this.connectV2({stream:y,connection:h,destinationPeer:u,destinationAddr:o,relayAddr:i,ma:t,disconnectOnFailure:f})}catch(d){throw this.log.error("circuit relay dial to destination %p via relay %p failed",u,c,d),y?.abort(d),f&&await h.close(),d}}async connectV2({stream:t,connection:r,destinationPeer:n,destinationAddr:i,relayAddr:o,ma:s,disconnectOnFailure:a}){try{let c=Er(t),u=c.pb(ft);await u.write({type:ft.Type.CONNECT,peer:{id:n.toBytes(),addrs:[Xt(i).bytes]}});let f=await u.read();if(f.status!==tt.OK)throw new H(`failed to connect via relay with status ${f?.status?.toString()??"undefined"}`,Il);let l=p0({stream:c.unwrap(),remoteAddr:s,localAddr:o.encapsulate(`/p2p-circuit/p2p/${this.peerId.toString()}`),logger:this.logger});return this.log("new outbound transient connection %a",l.remoteAddr),await this.upgrader.upgradeOutbound(l,{transient:!0})}catch(c){throw this.log.error(`Circuit relay dial to destination ${n.toString()} via relay ${r.remotePeer.toString()} failed`,c),a&&await r.close(),c}}createListener(t){return ah({connectionManager:this.connectionManager,relayStore:this.reservationStore,logger:this.logger})}filter(t){return t=Array.isArray(t)?t:[t],t.filter(r=>ar.matches(r))}async onStop({connection:t,stream:r}){if(!this.reservationStore.hasReservation(t.remotePeer))try{this.log("dialed via relay we did not have a reservation on, start listening on that relay address"),await this.transportManager.listen([t.remoteAddr.encapsulate("/p2p-circuit")])}catch(f){this.log.error("failed to listen on a relay peer we were dialed via but did not have a reservation on",f)}let n=AbortSignal.timeout(this.stopTimeout),i=Er(r).pb(de),o=await i.read({signal:n});if(this.log("new circuit relay v2 stop stream from %p with type %s",t.remotePeer,o.type),o?.type===void 0){this.log.error("type was missing from circuit v2 stop protocol request from %s",t.remotePeer),await i.write({type:de.Type.STATUS,status:tt.MALFORMED_MESSAGE},{signal:n}),await r.close();return}if(o.type!==de.Type.CONNECT){this.log.error("invalid stop connect request via peer %p",t.remotePeer),await i.write({type:de.Type.STATUS,status:tt.UNEXPECTED_MESSAGE},{signal:n}),await r.close();return}if(!Q1(o)){this.log.error("invalid stop connect request via peer %p",t.remotePeer),await i.write({type:de.Type.STATUS,status:tt.MALFORMED_MESSAGE},{signal:n}),await r.close();return}let s=cn(o.peer.id);if(await this.connectionGater.denyInboundRelayedConnection?.(t.remotePeer,s)===!0){this.log.error("connection gater denied inbound relayed connection from %p",t.remotePeer),await i.write({type:de.Type.STATUS,status:tt.PERMISSION_DENIED},{signal:n}),await r.close();return}this.log.trace("sending success response to %p",t.remotePeer),await i.write({type:de.Type.STATUS,status:tt.OK},{signal:n});let a=t.remoteAddr.encapsulate(`/p2p-circuit/p2p/${s.toString()}`),c=this.addressManager.getAddresses()[0],u=p0({stream:i.unwrap().unwrap(),remoteAddr:a,localAddr:c,logger:this.logger});this.log("new inbound transient connection %a",u.remoteAddr),await this.upgrader.upgradeInbound(u,{transient:!0}),this.log("%s connection %a upgraded","inbound",u.remoteAddr)}};function ch(e={}){return t=>new Ho(t,e)}return Eh(Z1);})();
|
15
|
+
`+a+t.substr(s+1),o=i-s-1,s=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(s=i);return t}function Bp(e){return e.replace(/^\s+/,"")}});var X0=ot((Mb,Z0)=>{var De=ht();Cr();_t();var $0=Z0.exports=De.sha256=De.sha256||{};De.md.sha256=De.md.algorithms.sha256=$0;$0.create=function(){Y0||Ip();var e=null,t=De.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 t=De.util.createBuffer(),e={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=De.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 t.putBytes(i),G0(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=De.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(As.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};G0(l,r,i);var h=De.util.createBuffer();return h.putInt32(l.h0),h.putInt32(l.h1),h.putInt32(l.h2),h.putInt32(l.h3),h.putInt32(l.h4),h.putInt32(l.h5),h.putInt32(l.h6),h.putInt32(l.h7),h},n};var As=null,Y0=!1,W0=null;function Ip(){As="\x80",As+=De.util.fillString("\0",64),W0=[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],Y0=!0}function G0(e,t,r){for(var n,i,o,s,a,c,u,f,l,h,y,d,p,m,g,w=r.length();w>=64;){for(u=0;u<16;++u)t[u]=r.getInt32();for(;u<64;++u)n=t[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[u]=n+t[u-7]+i+t[u-16]|0;for(f=e.h0,l=e.h1,h=e.h2,y=e.h3,d=e.h4,p=e.h5,m=e.h6,g=e.h7,u=0;u<64;++u)s=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),a=m^d&(p^m),o=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&l|h&(f^l),n=g+s+a+W0[u]+t[u],i=o+c,g=m,m=p,p=d,d=y+n>>>0,y=h,h=l,l=f,f=n+i>>>0;e.h0=e.h0+f|0,e.h1=e.h1+l|0,e.h2=e.h2+h|0,e.h3=e.h3+y|0,e.h4=e.h4+d|0,e.h5=e.h5+p|0,e.h6=e.h6+m|0,e.h7=e.h7+g|0,w-=64}}});var J0=ot((Kb,Q0)=>{var Ne=ht();_t();var Ri=null;Ne.util.isNodejs&&!Ne.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Ri=Ii());var Cp=Q0.exports=Ne.prng=Ne.prng||{};Cp.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(u,f){if(!f)return t.generateSync(u);var l=t.plugin.cipher,h=t.plugin.increment,y=t.plugin.formatKey,d=t.plugin.formatSeed,p=Ne.util.createBuffer();t.key=null,m();function m(g){if(g)return f(g);if(p.length()>=u)return f(null,p.getBytes(u));if(t.generated>1048575&&(t.key=null),t.key===null)return Ne.util.nextTick(function(){o(m)});var w=l(t.key,t.seed);t.generated+=w.length,p.putBytes(w),t.key=y(l(t.key,h(t.seed))),t.seed=d(l(t.key,t.seed)),Ne.util.setImmediate(m)}},t.generateSync=function(u){var f=t.plugin.cipher,l=t.plugin.increment,h=t.plugin.formatKey,y=t.plugin.formatSeed;t.key=null;for(var d=Ne.util.createBuffer();d.length()<u;){t.generated>1048575&&(t.key=null),t.key===null&&s();var p=f(t.key,t.seed);t.generated+=p.length,d.putBytes(p),t.key=h(f(t.key,l(t.seed))),t.seed=y(f(t.key,t.seed))}return d.getBytes(u)};function o(u){if(t.pools[0].messageLength>=32)return a(),u();var f=32-t.pools[0].messageLength<<5;t.seedFile(f,function(l,h){if(l)return u(l);t.collect(h),a(),u()})}function s(){if(t.pools[0].messageLength>=32)return a();var u=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(u)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var u=t.plugin.md.create();u.update(t.keyBytes);for(var f=1,l=0;l<32;++l)t.reseeds%f===0&&(u.update(t.pools[l].digest().getBytes()),t.pools[l].start()),f=f<<1;t.keyBytes=u.digest().getBytes(),u.start(),u.update(t.keyBytes);var h=u.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(h),t.generated=0}function c(u){var f=null,l=Ne.util.globalScope,h=l.crypto||l.msCrypto;h&&h.getRandomValues&&(f=function(E){return h.getRandomValues(E)});var y=Ne.util.createBuffer();if(f)for(;y.length()<u;){var d=Math.max(1,Math.min(u-y.length(),65536)/4),p=new Uint32Array(Math.floor(d));try{f(p);for(var m=0;m<p.length;++m)y.putInt32(p[m])}catch(E){if(!(typeof QuotaExceededError<"u"&&E instanceof QuotaExceededError))throw E}}if(y.length()<u)for(var g,w,v,I=Math.floor(Math.random()*65536);y.length()<u;){w=16807*(I&65535),g=16807*(I>>16),w+=(g&32767)<<16,w+=g>>15,w=(w&2147483647)+(w>>31),I=w&4294967295;for(var m=0;m<3;++m)v=I>>>(m<<3),v^=Math.floor(Math.random()*256),y.putByte(v&255)}return y.getBytes(u)}return Ri?(t.seedFile=function(u,f){Ri.randomBytes(u,function(l,h){if(l)return f(l);f(null,h.toString())})},t.seedFileSync=function(u){return Ri.randomBytes(u).toString()}):(t.seedFile=function(u,f){try{f(null,c(u))}catch(l){f(l)}},t.seedFileSync=c),t.collect=function(u){for(var f=u.length,l=0;l<f;++l)t.pools[t.pool].update(u.substr(l,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(u,f){for(var l="",h=0;h<f;h+=8)l+=String.fromCharCode(u>>h&255);t.collect(l)},t.registerWorker=function(u){if(u===self)t.seedFile=function(l,h){function y(d){var p=d.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",y),h(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",y),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var h=l.data;h.forge&&h.forge.prng&&t.seedFile(h.forge.prng.needed,function(y,d){u.postMessage({forge:{prng:{err:y,bytes:d}}})})};u.addEventListener("message",f)}},t}});var Hn=ot((Fb,Ts)=>{var kt=ht();Ss();X0();J0();_t();(function(){if(kt.random&&kt.random.getBytes){Ts.exports=kt.random;return}(function(e){var t={},r=new Array(4),n=kt.util.createBuffer();t.formatKey=function(l){var h=kt.util.createBuffer(l);return l=new Array(4),l[0]=h.getInt32(),l[1]=h.getInt32(),l[2]=h.getInt32(),l[3]=h.getInt32(),kt.aes._expandKey(l,!1)},t.formatSeed=function(l){var h=kt.util.createBuffer(l);return l=new Array(4),l[0]=h.getInt32(),l[1]=h.getInt32(),l[2]=h.getInt32(),l[3]=h.getInt32(),l},t.cipher=function(l,h){return kt.aes._updateBlock(l,h,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(l){return++l[3],l},t.md=kt.md.sha256;function i(){var l=kt.prng.create(t);return l.getBytes=function(h,y){return l.generate(h,y)},l.getBytesSync=function(h){return l.generate(h)},l}var o=i(),s=null,a=kt.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),kt.options.usePureJavaScript||!kt.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var f in navigator)try{typeof navigator[f]=="string"&&(u+=navigator[f])}catch{}o.collect(u),u=null}e&&(e().mousemove(function(l){o.collectInt(l.clientX,16),o.collectInt(l.clientY,16)}),e().keypress(function(l){o.collectInt(l.charCode,8)}))}if(!kt.random)kt.random=o;else for(var f in o)kt.random[f]=o[f];kt.random.createInstance=i,Ts.exports=kt.random})(typeof jQuery<"u"?jQuery:null)})()});var ru=ot((Vb,eu)=>{var te=ht();_t();var Bs=[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],j0=[1,2,3,5],_p=function(e,t){return e<<t&65535|(e&65535)>>16-t},Rp=function(e,t){return(e&65535)>>t|e<<16-t&65535};eu.exports=te.rc2=te.rc2||{};te.rc2.expandKey=function(e,t){typeof e=="string"&&(e=te.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(Bs[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,Bs[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,Bs[r.at(a+1)^r.at(a+o)]);return r};var tu=function(e,t,r){var n=!1,i=null,o=null,s=null,a,c,u,f,l=[];for(e=te.rc2.expandKey(e,t),u=0;u<64;u++)l.push(e.getInt16Le());r?(a=function(d){for(u=0;u<4;u++)d[u]+=l[f]+(d[(u+3)%4]&d[(u+2)%4])+(~d[(u+3)%4]&d[(u+1)%4]),d[u]=_p(d[u],j0[u]),f++},c=function(d){for(u=0;u<4;u++)d[u]+=l[d[(u+3)%4]&63]}):(a=function(d){for(u=3;u>=0;u--)d[u]=Rp(d[u],j0[u]),d[u]-=l[f]+(d[(u+3)%4]&d[(u+2)%4])+(~d[(u+3)%4]&d[(u+1)%4]),f--},c=function(d){for(u=3;u>=0;u--)d[u]-=l[d[(u+3)%4]&63]});var h=function(d){var p=[];for(u=0;u<4;u++){var m=i.getInt16Le();s!==null&&(r?m^=s.getInt16Le():s.putInt16Le(m)),p.push(m&65535)}f=r?0:63;for(var g=0;g<d.length;g++)for(var w=0;w<d[g][0];w++)d[g][1](p);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(p[u]):p[u]^=s.getInt16Le()),o.putInt16Le(p[u])},y=null;return y={start:function(d,p){d&&typeof d=="string"&&(d=te.util.createBuffer(d)),n=!1,i=te.util.createBuffer(),o=p||new te.util.createBuffer,s=d,y.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 p=!0;if(r)if(d)p=d(8,i,!r);else{var m=i.length()===8?8:8-i.length();i.fillWithByte(m,m)}if(p&&(n=!0,y.update()),!r&&(p=i.length()===0,p))if(d)p=d(8,o,!r);else{var g=o.length(),w=o.at(g-1);w>g?p=!1:o.truncate(w)}return p}},y};te.rc2.startEncrypting=function(e,t,r){var n=te.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};te.rc2.createEncryptionCipher=function(e,t){return tu(e,t,!0)};te.rc2.startDecrypting=function(e,t,r){var n=te.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};te.rc2.createDecryptionCipher=function(e,t){return tu(e,t,!1)}});var Ni=ot((qb,fu)=>{var Is=ht();fu.exports=Is.jsbn=Is.jsbn||{};var We,Lp=0xdeadbeefcafe,nu=(Lp&16777215)==15715070;function B(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}Is.jsbn.BigInteger=B;function nt(){return new B(null)}function Dp(e,t,r,n,i,o){for(;--o>=0;){var s=t*this.data[e++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function Np(e,t,r,n,i,o){for(var s=t&32767,a=t>>15;--o>=0;){var c=this.data[e]&32767,u=this.data[e++]>>15,f=a*c+u*s;c=s*c+((f&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(f>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function iu(e,t,r,n,i,o){for(var s=t&16383,a=t>>14;--o>=0;){var c=this.data[e]&16383,u=this.data[e++]>>14,f=a*c+u*s;c=s*c+((f&16383)<<14)+r.data[n]+i,i=(c>>28)+(f>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(B.prototype.am=iu,We=28):nu&&navigator.appName=="Microsoft Internet Explorer"?(B.prototype.am=Np,We=30):nu&&navigator.appName!="Netscape"?(B.prototype.am=Dp,We=26):(B.prototype.am=iu,We=28);B.prototype.DB=We;B.prototype.DM=(1<<We)-1;B.prototype.DV=1<<We;var Cs=52;B.prototype.FV=Math.pow(2,Cs);B.prototype.F1=Cs-We;B.prototype.F2=2*We-Cs;var Pp="0123456789abcdefghijklmnopqrstuvwxyz",Li=new Array,fn,de;fn=48;for(de=0;de<=9;++de)Li[fn++]=de;fn=97;for(de=10;de<36;++de)Li[fn++]=de;fn=65;for(de=10;de<36;++de)Li[fn++]=de;function ou(e){return Pp.charAt(e)}function su(e,t){var r=Li[e.charCodeAt(t)];return r??-1}function Up(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function kp(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function hr(e){var t=nt();return t.fromInt(e),t}function Op(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,o=0;--n>=0;){var s=r==8?e[n]&255:su(e,n);if(s<0){e.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&&e[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&B.ZERO.subTo(this,this)}function Mp(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function Kp(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%t;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=ou(n));s>=0;)a<t?(n=(this.data[s]&(1<<a)-1)<<t-a,n|=this.data[--s]>>(a+=this.DB-t)):(n=this.data[s]>>(a-=t)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=ou(n));return i?o:"0"}function Fp(){var e=nt();return B.ZERO.subTo(this,e),e}function Vp(){return this.s<0?this.negate():this}function qp(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function Di(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function Hp(){return this.t<=0?0:this.DB*(this.t-1)+Di(this.data[this.t-1]^this.s&this.DM)}function zp(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function Gp(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function $p(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(e/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)t.data[a]=0;t.data[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()}function Yp(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,o=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)t.data[s-r-1]|=(this.data[s]&o)<<i,t.data[s-r]=this.data[s]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&o)<<i),t.t=this.t-r,t.clamp()}function Wp(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function Zp(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&B.ZERO.subTo(t,t)}function Xp(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function Qp(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=nt());var o=nt(),s=this.s,a=e.s,c=this.DB-Di(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var u=o.t,f=o.data[u-1];if(f!=0){var l=f*(1<<this.F1)+(u>1?o.data[u-2]>>this.F2:0),h=this.FV/l,y=(1<<this.F1)/l,d=1<<this.F2,p=r.t,m=p-u,g=t??nt();for(o.dlShiftTo(m,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),B.ONE.dlShiftTo(u,g),g.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--m>=0;){var w=r.data[--p]==f?this.DM:Math.floor(r.data[p]*h+(r.data[p-1]+d)*y);if((r.data[p]+=o.am(0,w,r,m,0,u))<w)for(o.dlShiftTo(m,g),r.subTo(g,r);r.data[p]<--w;)r.subTo(g,r)}t!=null&&(r.drShiftTo(u,t),s!=a&&B.ZERO.subTo(t,t)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&B.ZERO.subTo(r,r)}}}function Jp(e){var t=nt();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(B.ZERO)>0&&e.subTo(t,t),t}function _r(e){this.m=e}function jp(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function ty(e){return e}function ey(e){e.divRemTo(this.m,null,e)}function ry(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function ny(e,t){e.squareTo(t),this.reduce(t)}_r.prototype.convert=jp;_r.prototype.revert=ty;_r.prototype.reduce=ey;_r.prototype.mulTo=ry;_r.prototype.sqrTo=ny;function iy(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Rr(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function oy(e){var t=nt();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(B.ZERO)>0&&this.m.subTo(t,t),t}function sy(e){var t=nt();return e.copyTo(t),this.reduce(t),t}function ay(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function cy(e,t){e.squareTo(t),this.reduce(t)}function uy(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Rr.prototype.convert=oy;Rr.prototype.revert=sy;Rr.prototype.reduce=ay;Rr.prototype.mulTo=uy;Rr.prototype.sqrTo=cy;function fy(){return(this.t>0?this.data[0]&1:this.s)==0}function ly(e,t){if(e>4294967295||e<1)return B.ONE;var r=nt(),n=nt(),i=t.convert(this),o=Di(e)-1;for(i.copyTo(r);--o>=0;)if(t.sqrTo(r,n),(e&1<<o)>0)t.mulTo(n,i,r);else{var s=r;r=n,n=s}return t.revert(r)}function hy(e,t){var r;return e<256||t.isEven()?r=new _r(t):r=new Rr(t),this.exp(e,r)}B.prototype.copyTo=Up;B.prototype.fromInt=kp;B.prototype.fromString=Op;B.prototype.clamp=Mp;B.prototype.dlShiftTo=zp;B.prototype.drShiftTo=Gp;B.prototype.lShiftTo=$p;B.prototype.rShiftTo=Yp;B.prototype.subTo=Wp;B.prototype.multiplyTo=Zp;B.prototype.squareTo=Xp;B.prototype.divRemTo=Qp;B.prototype.invDigit=iy;B.prototype.isEven=fy;B.prototype.exp=ly;B.prototype.toString=Kp;B.prototype.negate=Fp;B.prototype.abs=Vp;B.prototype.compareTo=qp;B.prototype.bitLength=Hp;B.prototype.mod=Jp;B.prototype.modPowInt=hy;B.ZERO=hr(0);B.ONE=hr(1);function dy(){var e=nt();return this.copyTo(e),e}function py(){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 yy(){return this.t==0?this.s:this.data[0]<<24>>24}function my(){return this.t==0?this.s:this.data[0]<<16>>16}function gy(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function xy(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function vy(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=hr(r),i=nt(),o=nt(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(e).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(e)+s}function by(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,o=0,s=0,a=0;a<e.length;++a){var c=su(e,a);if(c<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=t*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(t,o)),this.dAddOffset(s,0)),i&&B.ZERO.subTo(this,this)}function wy(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(B.ONE.shiftLeft(e-1),_s,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(B.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Ey(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function Sy(e){return this.compareTo(e)==0}function Ay(e){return this.compareTo(e)<0?this:e}function Ty(e){return this.compareTo(e)>0?this:e}function By(e,t,r){var n,i,o=Math.min(e.t,this.t);for(n=0;n<o;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=o;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function Iy(e,t){return e&t}function Cy(e){var t=nt();return this.bitwiseTo(e,Iy,t),t}function _s(e,t){return e|t}function _y(e){var t=nt();return this.bitwiseTo(e,_s,t),t}function au(e,t){return e^t}function Ry(e){var t=nt();return this.bitwiseTo(e,au,t),t}function cu(e,t){return e&~t}function Ly(e){var t=nt();return this.bitwiseTo(e,cu,t),t}function Dy(){for(var e=nt(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function Ny(e){var t=nt();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function Py(e){var t=nt();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function Uy(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function ky(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+Uy(this.data[e]);return this.s<0?this.t*this.DB:-1}function Oy(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function My(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=Oy(this.data[r]^t);return e}function Ky(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function Fy(e,t){var r=B.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function Vy(e){return this.changeBit(e,_s)}function qy(e){return this.changeBit(e,cu)}function Hy(e){return this.changeBit(e,au)}function zy(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function Gy(e){var t=nt();return this.addTo(e,t),t}function $y(e){var t=nt();return this.subTo(e,t),t}function Yy(e){var t=nt();return this.multiplyTo(e,t),t}function Wy(e){var t=nt();return this.divRemTo(e,t,null),t}function Zy(e){var t=nt();return this.divRemTo(e,null,t),t}function Xy(e){var t=nt(),r=nt();return this.divRemTo(e,t,r),new Array(t,r)}function Qy(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function Jy(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function zn(){}function uu(e){return e}function jy(e,t,r){e.multiplyTo(t,r)}function tm(e,t){e.squareTo(t)}zn.prototype.convert=uu;zn.prototype.revert=uu;zn.prototype.mulTo=jy;zn.prototype.sqrTo=tm;function em(e){return this.exp(e,new zn)}function rm(e,t,r){var n=Math.min(this.t+e.t,t);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,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function nm(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function ln(e){this.r2=nt(),this.q3=nt(),B.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function im(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=nt();return e.copyTo(t),this.reduce(t),t}function om(e){return e}function sm(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function am(e,t){e.squareTo(t),this.reduce(t)}function cm(e,t,r){e.multiplyTo(t,r),this.reduce(r)}ln.prototype.convert=im;ln.prototype.revert=om;ln.prototype.reduce=sm;ln.prototype.mulTo=cm;ln.prototype.sqrTo=am;function um(e,t){var r=e.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 _r(t):t.isEven()?o=new ln(t):o=new Rr(t);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=nt();for(o.sqrTo(s[1],f);a<=u;)s[a]=nt(),o.mulTo(f,s[a-2],s[a]),a+=2}var l=e.t-1,h,y=!0,d=nt(),p;for(r=Di(e.data[l])-1;l>=0;){for(r>=c?h=e.data[l]>>r-c&u:(h=(e.data[l]&(1<<r+1)-1)<<c-r,l>0&&(h|=e.data[l-1]>>this.DB+r-c)),a=n;!(h&1);)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),y)s[h].copyTo(i),y=!1;else{for(;a>1;)o.sqrTo(i,d),o.sqrTo(d,i),a-=2;a>0?o.sqrTo(i,d):(p=i,i=d,d=p),o.mulTo(d,s[h],i)}for(;l>=0&&!(e.data[l]&1<<r);)o.sqrTo(i,d),p=i,i=d,d=p,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function fm(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return t;for(i<o&&(o=i),o>0&&(t.rShiftTo(o,t),r.rShiftTo(o,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function lm(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function hm(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return B.ZERO;for(var r=e.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),t?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(e,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),t?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(e,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),t&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(B.ONE)!=0)return B.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var Ee=[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],dm=(1<<26)/Ee[Ee.length-1];function pm(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=Ee[Ee.length-1]){for(t=0;t<Ee.length;++t)if(r.data[0]==Ee[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<Ee.length;){for(var n=Ee[t],i=t+1;i<Ee.length&&n<dm;)n*=Ee[i++];for(n=r.modInt(n);t<i;)if(n%Ee[t++]==0)return!1}return r.millerRabin(e)}function ym(e){var t=this.subtract(B.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=mm(),o,s=0;s<e;++s){do o=new B(this.bitLength(),i);while(o.compareTo(B.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(B.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(B.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function mm(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}B.prototype.chunkSize=gy;B.prototype.toRadix=vy;B.prototype.fromRadix=by;B.prototype.fromNumber=wy;B.prototype.bitwiseTo=By;B.prototype.changeBit=Fy;B.prototype.addTo=zy;B.prototype.dMultiply=Qy;B.prototype.dAddOffset=Jy;B.prototype.multiplyLowerTo=rm;B.prototype.multiplyUpperTo=nm;B.prototype.modInt=lm;B.prototype.millerRabin=ym;B.prototype.clone=dy;B.prototype.intValue=py;B.prototype.byteValue=yy;B.prototype.shortValue=my;B.prototype.signum=xy;B.prototype.toByteArray=Ey;B.prototype.equals=Sy;B.prototype.min=Ay;B.prototype.max=Ty;B.prototype.and=Cy;B.prototype.or=_y;B.prototype.xor=Ry;B.prototype.andNot=Ly;B.prototype.not=Dy;B.prototype.shiftLeft=Ny;B.prototype.shiftRight=Py;B.prototype.getLowestSetBit=ky;B.prototype.bitCount=My;B.prototype.testBit=Ky;B.prototype.setBit=Vy;B.prototype.clearBit=qy;B.prototype.flipBit=Hy;B.prototype.add=Gy;B.prototype.subtract=$y;B.prototype.multiply=Yy;B.prototype.divide=Wy;B.prototype.remainder=Zy;B.prototype.divideAndRemainder=Xy;B.prototype.modPow=um;B.prototype.modInverse=hm;B.prototype.pow=em;B.prototype.gcd=fm;B.prototype.isProbablePrime=pm});var yu=ot((Hb,pu)=>{var Pe=ht();Cr();_t();var hu=pu.exports=Pe.sha1=Pe.sha1||{};Pe.md.sha1=Pe.md.algorithms.sha1=hu;hu.create=function(){du||gm();var e=null,t=Pe.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 t=Pe.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Pe.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 t.putBytes(i),lu(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Pe.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Rs.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};lu(l,r,i);var h=Pe.util.createBuffer();return h.putInt32(l.h0),h.putInt32(l.h1),h.putInt32(l.h2),h.putInt32(l.h3),h.putInt32(l.h4),h},n};var Rs=null,du=!1;function gm(){Rs="\x80",Rs+=Pe.util.fillString("\0",64),du=!0}function lu(e,t,r){for(var n,i,o,s,a,c,u,f,l=r.length();l>=64;){for(i=e.h0,o=e.h1,s=e.h2,a=e.h3,c=e.h4,f=0;f<16;++f)n=r.getInt32(),t[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<20;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<32;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<40;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<60;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o&s|a&(o^s),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<80;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;e.h0=e.h0+i|0,e.h1=e.h1+o|0,e.h2=e.h2+s|0,e.h3=e.h3+a|0,e.h4=e.h4+c|0,l-=64}}});var xu=ot((zb,gu)=>{var Ue=ht();_t();Hn();yu();var mu=gu.exports=Ue.pkcs1=Ue.pkcs1||{};mu.encode_rsa_oaep=function(e,t,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=Ue.md.sha1.create(),s||(s=o);var a=Math.ceil(e.n.bitLength()/8),c=a-2*o.digestLength-2;if(t.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=t.length,u.maxLength=c,u}n||(n=""),o.update(n,"raw");for(var f=o.digest(),l="",h=c-t.length,y=0;y<h;y++)l+="\0";var d=f.getBytes()+l+""+t;if(!i)i=Ue.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 p=Pi(i,a-o.digestLength-1,s),m=Ue.util.xorBytes(d,p,d.length),g=Pi(m,o.digestLength,s),w=Ue.util.xorBytes(i,g,i.length);return"\0"+w+m};mu.decode_rsa_oaep=function(e,t,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(e.n.bitLength()/8);if(t.length!==s){var m=new Error("RSAES-OAEP encoded message length is invalid.");throw m.length=t.length,m.expectedLength=s,m}if(i===void 0?i=Ue.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=t.charAt(0),u=t.substring(1,i.digestLength+1),f=t.substring(1+i.digestLength),l=Pi(f,i.digestLength,o),h=Ue.util.xorBytes(u,l,u.length),y=Pi(h,s-i.digestLength-1,o),d=Ue.util.xorBytes(f,y,f.length),p=d.substring(0,i.digestLength),m=c!=="\0",g=0;g<i.digestLength;++g)m|=a.charAt(g)!==p.charAt(g);for(var w=1,v=i.digestLength,I=i.digestLength;I<d.length;I++){var E=d.charCodeAt(I),S=E&1^1,R=w?65534:0;m|=E&R,w=w&S,v+=w}if(m||d.charCodeAt(v)!==1)throw new Error("Invalid RSAES-OAEP padding.");return d.substring(v+1)};function Pi(e,t,r){r||(r=Ue.md.sha1.create());for(var n="",i=Math.ceil(t/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(e+s),n+=r.digest().getBytes()}return n.substring(0,t)}});var vu=ot((Gb,Ls)=>{var dr=ht();_t();Ni();Hn();(function(){if(dr.prime){Ls.exports=dr.prime;return}var e=Ls.exports=dr.prime=dr.prime||{},t=dr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(l,h){return l|h};e.generateProbablePrime=function(l,h,y){typeof h=="function"&&(y=h,h={}),h=h||{};var d=h.algorithm||"PRIMEINC";typeof d=="string"&&(d={name:d}),d.options=d.options||{};var p=h.prng||dr.random,m={nextBytes:function(g){for(var w=p.getBytesSync(g.length),v=0;v<g.length;++v)g[v]=w.charCodeAt(v)}};if(d.name==="PRIMEINC")return o(l,m,d.options,y);throw new Error("Invalid prime generation algorithm: "+d.name)};function o(l,h,y,d){return"workers"in y?c(l,h,y,d):s(l,h,y,d)}function s(l,h,y,d){var p=u(l,h),m=0,g=f(p.bitLength());"millerRabinTests"in y&&(g=y.millerRabinTests);var w=10;"maxBlockTime"in y&&(w=y.maxBlockTime),a(p,l,h,m,g,w,d)}function a(l,h,y,d,p,m,g){var w=+new Date;do{if(l.bitLength()>h&&(l=u(h,y)),l.isProbablePrime(p))return g(null,l);l.dAddOffset(r[d++%8],0)}while(m<0||+new Date-w<m);dr.util.setImmediate(function(){a(l,h,y,d,p,m,g)})}function c(l,h,y,d){if(typeof Worker>"u")return s(l,h,y,d);var p=u(l,h),m=y.workers,g=y.workLoad||100,w=g*30/8,v=y.workerScript||"forge/prime.worker.js";if(m===-1)return dr.util.estimateCores(function(E,S){E&&(S=2),m=S-1,I()});I();function I(){m=Math.max(1,m);for(var E=[],S=0;S<m;++S)E[S]=new Worker(v);for(var R=m,S=0;S<m;++S)E[S].addEventListener("message",z);var L=!1;function z($){if(!L){--R;var q=$.data;if(q.found){for(var J=0;J<E.length;++J)E[J].terminate();return L=!0,d(null,new t(q.prime,16))}p.bitLength()>l&&(p=u(l,h));var lt=p.toString(16);$.target.postMessage({hex:lt,workLoad:g}),p.dAddOffset(w,0)}}}}function u(l,h){var y=new t(l,h),d=l-1;return y.testBit(d)||y.bitwiseTo(t.ONE.shiftLeft(d),i,y),y.dAddOffset(31-y.mod(n).byteValue(),0),y}function f(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var ki=ot(($b,Bu)=>{var V=ht();qn();Ni();bi();xu();vu();Hn();_t();typeof rt>"u"&&(rt=V.jsbn.BigInteger);var rt,Ds=V.util.isNodejs?Ii():null,b=V.asn1,pe=V.util;V.pki=V.pki||{};Bu.exports=V.pki.rsa=V.rsa=V.rsa||{};var Y=V.pki,xm=[6,4,2,4,2,4,6,2],vm={name:"PrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},bm={name:"RSAPrivateKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},wm={name:"RSAPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},Em=V.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},Sm={name:"DigestInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:b.Class.UNIVERSAL,type:b.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},Am=function(e){var t;if(e.algorithm in Y.oids)t=Y.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=b.oidToDer(t).getBytes(),i=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[]),o=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[]);o.value.push(b.create(b.Class.UNIVERSAL,b.Type.OID,!1,n)),o.value.push(b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,""));var s=b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(o),i.value.push(s),b.toDer(i).getBytes()},Au=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(rt.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(rt.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new rt(V.util.bytesToHex(V.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(rt.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),o=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(o)<0;)i=i.add(t.p);var s=i.subtract(o).multiply(t.qInv).mod(t.p).multiply(t.q).add(o);return s=s.multiply(n.modInverse(t.n)).mod(t.n),s};Y.rsa.encrypt=function(e,t,r){var n=r,i,o=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=Tu(e,t,r)):(i=V.util.createBuffer(),i.putBytes(e));for(var s=new rt(i.toHex(),16),a=Au(s,t,n),c=a.toString(16),u=V.util.createBuffer(),f=o-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(V.util.hexToBytes(c)),u.getBytes()};Y.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=e.length,o.expected=i,o}var s=new rt(V.util.createBuffer(e).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Au(s,t,r),c=a.toString(16),u=V.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(V.util.hexToBytes(c)),n!==!1?Ui(u.getBytes(),t,r):u.getBytes()};Y.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||V.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:e,rng:i,eInt:t||65537,e:new rt(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};Y.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new rt(null);r.fromInt(30);for(var n=0,i=function(l,h){return l|h},o=+new Date,s,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var c=e.p===null?e.pBits:e.qBits,u=c-1;e.pqState===0?(e.num=new rt(c,e.rng),e.num.testBit(u)||e.num.bitwiseTo(rt.ONE.shiftLeft(u),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(Bm(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(xm[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(rt.ONE).gcd(e.e).compareTo(rt.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(rt.ONE),e.q1=e.q.subtract(rt.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(rt.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var f=e.e.modInverse(e.phi);e.keys={privateKey:Y.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:Y.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-o,o=s}return e.keys!==null};Y.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!V.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(bu("generateKeyPair"))return Ds.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:Y.privateKeyFromPem(u),publicKey:Y.publicKeyFromPem(c)})});if(wu("generateKey")&&wu("exportKey"))return pe.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Su(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return pe.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=Y.privateKeyFromAsn1(b.fromDer(V.util.createBuffer(a)));n(null,{privateKey:c,publicKey:Y.setRsaPublicKey(c.n,c.e)})}});if(Eu("generateKey")&&Eu("exportKey")){var i=pe.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Su(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=pe.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var l=f.target.result,h=Y.privateKeyFromAsn1(b.fromDer(V.util.createBuffer(l)));n(null,{privateKey:h,publicKey:Y.setRsaPublicKey(h.n,h.e)})},u.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(bu("generateKeyPairSync")){var o=Ds.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:Y.privateKeyFromPem(o.privateKey),publicKey:Y.publicKeyFromPem(o.publicKey)}}}var s=Y.rsa.createKeyPairGenerationState(e,t,r);if(!n)return Y.rsa.stepKeyPairGenerationState(s,0),s.keys;Tm(s,r,n)};Y.setRsaPublicKey=Y.rsa.setPublicKey=function(e,t){var r={n:e,e:t};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 Tu(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return V.pkcs1.encode_rsa_oaep(c,a,o)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var s=i.encode(n,r,!0);return Y.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,u){u=Ui(u,r,!0);var f=b.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),l={},h=[];if(!b.validate(f,Sm,l,h)){var y=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw y.errors=h,y}var d=b.derToOid(l.algorithmIdentifier);if(!(d===V.oids.md2||d===V.oids.md5||d===V.oids.sha1||d===V.oids.sha224||d===V.oids.sha256||d===V.oids.sha384||d===V.oids.sha512||d===V.oids["sha512-224"]||d===V.oids["sha512-256"])){var y=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw y.oid=d,y}if((d===V.oids.md2||d===V.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===l.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,u){return u=Ui(u,r,!0),c===u}});var a=Y.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};Y.setRsaPrivateKey=Y.rsa.setPrivateKey=function(e,t,r,n,i,o,s,a){var c={n:e,e:t,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(u,f,l){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var h=Y.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:Ui};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(y,d){return V.pkcs1.decode_rsa_oaep(d,y,l)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(y){return y}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(h,c,!1)},c.sign=function(u,f){var l=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:Am},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},l=1);var h=f.encode(u,c.n.bitLength());return Y.rsa.encrypt(h,c,l)},c};Y.wrapRsaPrivateKey=function(e){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,b.integerToDer(0).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(Y.oids.rsaEncryption).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")]),b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,b.toDer(e).getBytes())])};Y.privateKeyFromAsn1=function(e){var t={},r=[];if(b.validate(e,vm,t,r)&&(e=b.fromDer(V.util.createBuffer(t.privateKey))),t={},r=[],!b.validate(e,bm,t,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,u,f,l;return i=V.util.createBuffer(t.privateKeyModulus).toHex(),o=V.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=V.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=V.util.createBuffer(t.privateKeyPrime1).toHex(),c=V.util.createBuffer(t.privateKeyPrime2).toHex(),u=V.util.createBuffer(t.privateKeyExponent1).toHex(),f=V.util.createBuffer(t.privateKeyExponent2).toHex(),l=V.util.createBuffer(t.privateKeyCoefficient).toHex(),Y.setRsaPrivateKey(new rt(i,16),new rt(o,16),new rt(s,16),new rt(a,16),new rt(c,16),new rt(u,16),new rt(f,16),new rt(l,16))};Y.privateKeyToAsn1=Y.privateKeyToRSAPrivateKey=function(e){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,b.integerToDer(0).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,ke(e.n)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,ke(e.e)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,ke(e.d)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,ke(e.p)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,ke(e.q)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,ke(e.dP)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,ke(e.dQ)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,ke(e.qInv))])};Y.publicKeyFromAsn1=function(e){var t={},r=[];if(b.validate(e,Em,t,r)){var n=b.derToOid(t.publicKeyOid);if(n!==Y.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!b.validate(e,wm,t,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=V.util.createBuffer(t.publicKeyModulus).toHex(),s=V.util.createBuffer(t.publicKeyExponent).toHex();return Y.setRsaPublicKey(new rt(o,16),new rt(s,16))};Y.publicKeyToAsn1=Y.publicKeyToSubjectPublicKeyInfo=function(e){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(Y.oids.rsaEncryption).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")]),b.create(b.Class.UNIVERSAL,b.Type.BITSTRING,!1,[Y.publicKeyToRSAPublicKey(e)])])};Y.publicKeyToRSAPublicKey=function(e){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,ke(e.n)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,ke(e.e))])};function Tu(e,t,r){var n=V.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=e.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-e.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var u=0,f=V.random.getBytes(s),c=0;c<s;++c)a=f.charCodeAt(c),a===0?++u:n.putByte(a);s=u}return n.putByte(0),n.putBytes(e),n}function Ui(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),o=V.util.createBuffer(e),s=o.getByte(),a=o.getByte();if(s!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var f=o.getByte();if(f!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function Tm(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){o(e.pBits,function(a,c){if(a)return r(a);if(e.p=c,e.q!==null)return s(a,e.q);o(e.qBits,s)})}function o(a,c){V.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(e.q=c,e.p.compareTo(e.q)<0){var u=e.p;e.p=e.q,e.q=u}if(e.p.subtract(rt.ONE).gcd(e.e).compareTo(rt.ONE)!==0){e.p=null,i();return}if(e.q.subtract(rt.ONE).gcd(e.e).compareTo(rt.ONE)!==0){e.q=null,o(e.qBits,s);return}if(e.p1=e.p.subtract(rt.ONE),e.q1=e.q.subtract(rt.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(rt.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,o(e.qBits,s);return}var f=e.e.modInverse(e.phi);e.keys={privateKey:Y.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:Y.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function ke(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=V.util.hexToBytes(t);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 Bm(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function bu(e){return V.util.isNodejs&&typeof Ds[e]=="function"}function wu(e){return typeof pe.globalScope<"u"&&typeof pe.globalScope.crypto=="object"&&typeof pe.globalScope.crypto.subtle=="object"&&typeof pe.globalScope.crypto.subtle[e]=="function"}function Eu(e){return typeof pe.globalScope<"u"&&typeof pe.globalScope.msCrypto=="object"&&typeof pe.globalScope.msCrypto.subtle=="object"&&typeof pe.globalScope.msCrypto.subtle[e]=="function"}function Su(e){for(var t=V.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var Du=ot((Yb,Lu)=>{var O=ht();Ss();qn();k0();Cr();bi();V0();z0();Hn();ru();ki();_t();typeof Iu>"u"&&(Iu=O.jsbn.BigInteger);var Iu,A=O.asn1,W=O.pki=O.pki||{};Lu.exports=W.pbe=O.pbe=O.pbe||{};var Lr=W.oids,Im={name:"EncryptedPrivateKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Cm={name:"PBES2Algorithms",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},_m={name:"pkcs-12PbeParams",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"iterations"}]};W.encryptPrivateKeyInfo=function(e,t,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=O.random.getBytesSync(r.saltSize),i=r.count,o=A.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,f,l;switch(r.algorithm){case"aes128":s=16,u=16,f=Lr["aes128-CBC"],l=O.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,f=Lr["aes192-CBC"],l=O.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,f=Lr["aes256-CBC"],l=O.aes.createEncryptionCipher;break;case"des":s=8,u=8,f=Lr.desCBC,l=O.des.createEncryptionCipher;break;default:var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var y="hmacWith"+r.prfAlgorithm.toUpperCase(),d=Ru(y),p=O.pkcs5.pbkdf2(t,n,i,s,d),m=O.random.getBytesSync(u),g=l(p);g.start(m),g.update(A.toDer(e)),g.finish(),c=g.output.getBytes();var w=Rm(n,o,s,y);a=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(Lr.pkcs5PBES2).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(Lr.pkcs5PBKDF2).getBytes()),w]),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(f).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,m)])])])}else if(r.algorithm==="3des"){s=24;var v=new O.util.ByteBuffer(n),p=W.pbe.generatePkcs12Key(t,v,1,i,s),m=W.pbe.generatePkcs12Key(t,v,2,i,s),g=O.des.createEncryptionCipher(p);g.start(m),g.update(A.toDer(e)),g.finish(),c=g.output.getBytes(),a=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(Lr["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,n),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,o.getBytes())])])}else{var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var I=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[a,A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,c)]);return I};W.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!A.validate(e,Im,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=A.derToOid(n.encryptionOid),a=W.pbe.getCipher(s,n.encryptionParams,t),c=O.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=A.fromDer(a.output)),r};W.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:A.toDer(e).getBytes()};return O.pem.encode(r,{maxline:t})};W.encryptedPrivateKeyFromPem=function(e){var t=O.pem.decode(e)[0];if(t.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=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return A.fromDer(t.body)};W.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=W.wrapRsaPrivateKey(W.privateKeyToAsn1(e));return n=W.encryptPrivateKeyInfo(n,t,r),W.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=O.random.getBytesSync(16),a=O.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=O.random.getBytesSync(16),a=O.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=O.random.getBytesSync(16),a=O.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=O.random.getBytesSync(8),a=O.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=O.random.getBytesSync(8),a=O.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=O.pbe.opensslDeriveBytes(t,o.substr(0,8),s),f=a(u);f.start(o),f.update(A.toDer(W.privateKeyToAsn1(e))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:O.util.bytesToHex(o).toUpperCase()},body:f.output.getBytes()};return O.pem.encode(l)};W.decryptRsaPrivateKey=function(e,t){var r=null,n=O.pem.decode(e)[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=O.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=O.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=O.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=O.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=O.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return O.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return O.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return O.rc2.createDecryptionCipher(l,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=O.util.hexToBytes(n.dekInfo.parameters),c=O.pbe.opensslDeriveBytes(t,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(O.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=W.decryptPrivateKeyInfo(A.fromDer(r),t):r=A.fromDer(r),r!==null&&(r=W.privateKeyFromAsn1(r)),r};W.pbe.generatePkcs12Key=function(e,t,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in O.md))throw new Error('"sha1" hash algorithm unavailable.');o=O.md.sha1.create()}var c=o.digestLength,u=o.blockLength,f=new O.util.ByteBuffer,l=new O.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)l.putInt16(e.charCodeAt(a));l.putInt16(0)}var h=l.length(),y=t.length(),d=new O.util.ByteBuffer;d.fillWithByte(r,u);var p=u*Math.ceil(y/u),m=new O.util.ByteBuffer;for(a=0;a<p;a++)m.putByte(t.at(a%y));var g=u*Math.ceil(h/u),w=new O.util.ByteBuffer;for(a=0;a<g;a++)w.putByte(l.at(a%h));var v=m;v.putBuffer(w);for(var I=Math.ceil(i/c),E=1;E<=I;E++){var S=new O.util.ByteBuffer;S.putBytes(d.bytes()),S.putBytes(v.bytes());for(var R=0;R<n;R++)o.start(),o.update(S.getBytes()),S=o.digest();var L=new O.util.ByteBuffer;for(a=0;a<u;a++)L.putByte(S.at(a%c));var z=Math.ceil(y/u)+Math.ceil(h/u),$=new O.util.ByteBuffer;for(s=0;s<z;s++){var q=new O.util.ByteBuffer(v.getBytes(u)),J=511;for(a=L.length()-1;a>=0;a--)J=J>>8,J+=L.at(a)+q.at(a),q.setAt(a,J&255);$.putBuffer(q)}v=$,f.putBuffer(S)}return f.truncate(f.length()-i),f};W.pbe.getCipher=function(e,t,r){switch(e){case W.oids.pkcs5PBES2:return W.pbe.getCipherForPBES2(e,t,r);case W.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case W.oids["pbewithSHAAnd40BitRC2-CBC"]:return W.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};W.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!A.validate(t,Cm,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(e=A.derToOid(n.kdfOid),e!==W.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=e,o.supportedOids=["pkcs5PBKDF2"],o}if(e=A.derToOid(n.encOid),e!==W.oids["aes128-CBC"]&&e!==W.oids["aes192-CBC"]&&e!==W.oids["aes256-CBC"]&&e!==W.oids["des-EDE3-CBC"]&&e!==W.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=e,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=O.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(W.oids[e]){case"aes128-CBC":c=16,u=O.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=O.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=O.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=O.des.createDecryptionCipher;break;case"desCBC":c=8,u=O.des.createDecryptionCipher;break}var f=_u(n.prfOid),l=O.pkcs5.pbkdf2(r,s,a,c,f),h=n.encIv,y=u(l);return y.start(h),y};W.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!A.validate(t,_m,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=O.util.createBuffer(n.salt),a=O.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(e){case W.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=O.des.startDecrypting;break;case W.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(p,m){var g=O.rc2.createDecryptionCipher(p,40);return g.start(m,null),g};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=e,o}var l=_u(n.prfOid),h=W.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var y=W.pbe.generatePkcs12Key(r,s,2,a,u,l);return f(h,y)};W.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in O.md))throw new Error('"md5" hash algorithm unavailable.');n=O.md.md5.create()}t===null&&(t="");for(var i=[Cu(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(Cu(n,i[s-1]+e+t));return i.join("").substr(0,r)};function Cu(e,t){return e.start().update(t).digest().getBytes()}function _u(e){var t;if(!e)t="hmacWithSHA1";else if(t=W.oids[A.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Ru(t)}function Ru(e){var t=O.md;switch(e){case"hmacWithSHA224":t=O.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function Rm(e,t,r,n){var i=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,e),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,O.util.hexToBytes(r.toString(16))),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(W.oids[n]).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")])),i}});var Gf=ot((rS,zf)=>{var gt=ht();Cr();_t();var ri=zf.exports=gt.sha512=gt.sha512||{};gt.md.sha512=gt.md.algorithms.sha512=ri;var qf=gt.sha384=gt.sha512.sha384=gt.sha512.sha384||{};qf.create=function(){return ri.create("SHA-384")};gt.md.sha384=gt.md.algorithms.sha384=qf;gt.sha512.sha256=gt.sha512.sha256||{create:function(){return ri.create("SHA-512/256")}};gt.md["sha512/256"]=gt.md.algorithms["sha512/256"]=gt.sha512.sha256;gt.sha512.sha224=gt.sha512.sha224||{create:function(){return ri.create("SHA-512/224")}};gt.md["sha512/224"]=gt.md.algorithms["sha512/224"]=gt.sha512.sha224;ri.create=function(e){if(Hf||ox(),typeof e>"u"&&(e="SHA-512"),!(e in Hr))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=Hr[e],r=null,n=gt.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(e){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:e.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=gt.util.createBuffer(),r=new Array(t.length);for(var u=0;u<t.length;++u)r[u]=t[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=gt.util.encodeUtf8(c));var f=c.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=f[1],f[1]=f[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(c),Vf(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=gt.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=u&a.blockLength-1;c.putBytes(Na.substr(0,a.blockLength-f));for(var l,h,y=a.fullMessageLength[0]*8,d=0;d<a.fullMessageLength.length-1;++d)l=a.fullMessageLength[d+1]*8,h=l/4294967296>>>0,y+=h,c.putInt32(y>>>0),y=l>>>0;c.putInt32(y);for(var p=new Array(r.length),d=0;d<r.length;++d)p[d]=r[d].slice(0);Vf(p,i,c);var m=gt.util.createBuffer(),g;e==="SHA-512"?g=p.length:e==="SHA-384"?g=p.length-2:g=p.length-4;for(var d=0;d<g;++d)m.putInt32(p[d][0]),(d!==g-1||e!=="SHA-512/224")&&m.putInt32(p[d][1]);return m},a};var Na=null,Hf=!1,Pa=null,Hr=null;function ox(){Na="\x80",Na+=gt.util.fillString("\0",128),Pa=[[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]],Hr={},Hr["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Hr["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Hr["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Hr["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Hf=!0}function Vf(e,t,r){for(var n,i,o,s,a,c,u,f,l,h,y,d,p,m,g,w,v,I,E,S,R,L,z,$,q,J,lt,Ot,C,P,D,N,T,M,K,G=r.length();G>=128;){for(C=0;C<16;++C)t[C][0]=r.getInt32()>>>0,t[C][1]=r.getInt32()>>>0;for(;C<80;++C)N=t[C-2],P=N[0],D=N[1],n=((P>>>19|D<<13)^(D>>>29|P<<3)^P>>>6)>>>0,i=((P<<13|D>>>19)^(D<<3|P>>>29)^(P<<26|D>>>6))>>>0,M=t[C-15],P=M[0],D=M[1],o=((P>>>1|D<<31)^(P>>>8|D<<24)^P>>>7)>>>0,s=((P<<31|D>>>1)^(P<<24|D>>>8)^(P<<25|D>>>7))>>>0,T=t[C-7],K=t[C-16],D=i+T[1]+s+K[1],t[C][0]=n+T[0]+o+K[0]+(D/4294967296>>>0)>>>0,t[C][1]=D>>>0;for(p=e[0][0],m=e[0][1],g=e[1][0],w=e[1][1],v=e[2][0],I=e[2][1],E=e[3][0],S=e[3][1],R=e[4][0],L=e[4][1],z=e[5][0],$=e[5][1],q=e[6][0],J=e[6][1],lt=e[7][0],Ot=e[7][1],C=0;C<80;++C)u=((R>>>14|L<<18)^(R>>>18|L<<14)^(L>>>9|R<<23))>>>0,f=((R<<18|L>>>14)^(R<<14|L>>>18)^(L<<23|R>>>9))>>>0,l=(q^R&(z^q))>>>0,h=(J^L&($^J))>>>0,a=((p>>>28|m<<4)^(m>>>2|p<<30)^(m>>>7|p<<25))>>>0,c=((p<<4|m>>>28)^(m<<30|p>>>2)^(m<<25|p>>>7))>>>0,y=(p&g|v&(p^g))>>>0,d=(m&w|I&(m^w))>>>0,D=Ot+f+h+Pa[C][1]+t[C][1],n=lt+u+l+Pa[C][0]+t[C][0]+(D/4294967296>>>0)>>>0,i=D>>>0,D=c+d,o=a+y+(D/4294967296>>>0)>>>0,s=D>>>0,lt=q,Ot=J,q=z,J=$,z=R,$=L,D=S+i,R=E+n+(D/4294967296>>>0)>>>0,L=D>>>0,E=v,S=I,v=g,I=w,g=p,w=m,D=i+s,p=n+o+(D/4294967296>>>0)>>>0,m=D>>>0;D=e[0][1]+m,e[0][0]=e[0][0]+p+(D/4294967296>>>0)>>>0,e[0][1]=D>>>0,D=e[1][1]+w,e[1][0]=e[1][0]+g+(D/4294967296>>>0)>>>0,e[1][1]=D>>>0,D=e[2][1]+I,e[2][0]=e[2][0]+v+(D/4294967296>>>0)>>>0,e[2][1]=D>>>0,D=e[3][1]+S,e[3][0]=e[3][0]+E+(D/4294967296>>>0)>>>0,e[3][1]=D>>>0,D=e[4][1]+L,e[4][0]=e[4][0]+R+(D/4294967296>>>0)>>>0,e[4][1]=D>>>0,D=e[5][1]+$,e[5][0]=e[5][0]+z+(D/4294967296>>>0)>>>0,e[5][1]=D>>>0,D=e[6][1]+J,e[6][0]=e[6][0]+q+(D/4294967296>>>0)>>>0,e[6][1]=D>>>0,D=e[7][1]+Ot,e[7][0]=e[7][0]+lt+(D/4294967296>>>0)>>>0,e[7][1]=D>>>0,G-=128}}});var rh=ot((cT,eh)=>{"use strict";function th(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function c2(e,t,r){if(!e||typeof e=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof t=="object"&&(r=t,t=""),t&&(r.code=t);try{return th(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),th(new i,r)}}eh.exports=c2});var mh=ot((_T,yh)=>{function ve(e,t){typeof t=="boolean"&&(t={forever:t}),this._originalTimeouts=JSON.parse(JSON.stringify(e)),this._timeouts=e,this._options=t||{},this._maxRetryTime=t&&t.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}yh.exports=ve;ve.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)};ve.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null};ve.prototype.retry=function(e){if(this._timeout&&clearTimeout(this._timeout),!e)return!1;var t=new Date().getTime();if(e&&t-this._operationStart>=this._maxRetryTime)return this._errors.push(e),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(e);var r=this._timeouts.shift();if(r===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),r=this._cachedTimeouts.slice(-1);else return!1;var n=this;return this._timer=setTimeout(function(){n._attempts++,n._operationTimeoutCb&&(n._timeout=setTimeout(function(){n._operationTimeoutCb(n._attempts)},n._operationTimeout),n._options.unref&&n._timeout.unref()),n._fn(n._attempts)},r),this._options.unref&&this._timer.unref(),!0};ve.prototype.attempt=function(e,t){this._fn=e,t&&(t.timeout&&(this._operationTimeout=t.timeout),t.cb&&(this._operationTimeoutCb=t.cb));var r=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){r._operationTimeoutCb()},r._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};ve.prototype.try=function(e){console.log("Using RetryOperation.try() is deprecated"),this.attempt(e)};ve.prototype.start=function(e){console.log("Using RetryOperation.start() is deprecated"),this.attempt(e)};ve.prototype.start=ve.prototype.try;ve.prototype.errors=function(){return this._errors};ve.prototype.attempts=function(){return this._attempts};ve.prototype.mainError=function(){if(this._errors.length===0)return null;for(var e={},t=null,r=0,n=0;n<this._errors.length;n++){var i=this._errors[n],o=i.message,s=(e[o]||0)+1;e[o]=s,s>=r&&(t=i,r=s)}return t}});var gh=ot(Xr=>{var h2=mh();Xr.operation=function(e){var t=Xr.timeouts(e);return new h2(t,{forever:e&&(e.forever||e.retries===1/0),unref:e&&e.unref,maxRetryTime:e&&e.maxRetryTime})};Xr.timeouts=function(e){if(e instanceof Array)return[].concat(e);var t={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var r in e)t[r]=e[r];if(t.minTimeout>t.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var n=[],i=0;i<t.retries;i++)n.push(this.createTimeout(i,t));return e&&e.forever&&!n.length&&n.push(this.createTimeout(i,t)),n.sort(function(o,s){return o-s}),n};Xr.createTimeout=function(e,t){var r=t.randomize?Math.random()+1:1,n=Math.round(r*Math.max(t.minTimeout,1)*Math.pow(t.factor,e));return n=Math.min(n,t.maxTimeout),n};Xr.wrap=function(e,t,r){if(t instanceof Array&&(r=t,t=null),!r){r=[];for(var n in e)typeof e[n]=="function"&&r.push(n)}for(var i=0;i<r.length;i++){var o=r[i],s=e[o];e[o]=function(c){var u=Xr.operation(t),f=Array.prototype.slice.call(arguments,1),l=f.pop();f.push(function(h){u.retry(h)||(h&&(arguments[0]=u.mainError()),l.apply(this,arguments))}),u.attempt(function(){c.apply(e,f)})}.bind(e,s),e[o].options=t}}});var vh=ot((LT,xh)=>{xh.exports=gh()});var Th=ot((MB,Sc)=>{"use strict";var w2=Object.prototype.hasOwnProperty,Jt="~";function hi(){}Object.create&&(hi.prototype=Object.create(null),new hi().__proto__||(Jt=!1));function E2(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function Ah(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new E2(r,n||e,i),s=Jt?Jt+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],o]:e._events[s].push(o):(e._events[s]=o,e._eventsCount++),e}function Lo(e,t){--e._eventsCount===0?e._events=new hi:delete e._events[t]}function Zt(){this._events=new hi,this._eventsCount=0}Zt.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)w2.call(r,n)&&t.push(Jt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Zt.prototype.listeners=function(t){var r=Jt?Jt+t:t,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};Zt.prototype.listenerCount=function(t){var r=Jt?Jt+t:t,n=this._events[r];return n?n.fn?1:n.length:0};Zt.prototype.emit=function(t,r,n,i,o,s){var a=Jt?Jt+t:t;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,f,l;if(c.fn){switch(c.once&&this.removeListener(t,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(l=1,f=new Array(u-1);l<u;l++)f[l-1]=arguments[l];c.fn.apply(c.context,f)}else{var h=c.length,y;for(l=0;l<h;l++)switch(c[l].once&&this.removeListener(t,c[l].fn,void 0,!0),u){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,r);break;case 3:c[l].fn.call(c[l].context,r,n);break;case 4:c[l].fn.call(c[l].context,r,n,i);break;default:if(!f)for(y=1,f=new Array(u-1);y<u;y++)f[y-1]=arguments[y];c[l].fn.apply(c[l].context,f)}}return!0};Zt.prototype.on=function(t,r,n){return Ah(this,t,r,n,!1)};Zt.prototype.once=function(t,r,n){return Ah(this,t,r,n,!0)};Zt.prototype.removeListener=function(t,r,n,i){var o=Jt?Jt+t:t;if(!this._events[o])return this;if(!r)return Lo(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&Lo(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:Lo(this,o)}return this};Zt.prototype.removeAllListeners=function(t){var r;return t?(r=Jt?Jt+t:t,this._events[r]&&Lo(this,r)):(this._events=new hi,this._eventsCount=0),this};Zt.prototype.off=Zt.prototype.removeListener;Zt.prototype.addListener=Zt.prototype.on;Zt.prefixed=Jt;Zt.EventEmitter=Zt;typeof Sc<"u"&&(Sc.exports=Zt)});var k2={};st(k2,{RELAY_V2_HOP_CODEC:()=>xe,RELAY_V2_STOP_CODEC:()=>Zr,circuitRelayServer:()=>Sh,circuitRelayTransport:()=>Kh});var M2=Symbol.for("@libp2p/connection");var F2=Symbol.for("@libp2p/content-routing");var H2=Symbol.for("@libp2p/peer-discovery");var Gc=Symbol.for("@libp2p/peer-id");var $2=Symbol.for("@libp2p/peer-routing");var $c;(function(e){e.Accept="accept",e.Ignore="ignore",e.Reject="reject"})($c||($c={}));var Wc=Symbol.for("@libp2p/transport");var Yc;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(Yc||(Yc={}));var F=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Fo="ERR_INVALID_PARAMETERS";var he=class extends EventTarget{#t=new Map;listenerCount(t){let r=this.#t.get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=this.#t.get(t);i==null&&(i=[],this.#t.set(t,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let i=this.#t.get(t);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#t.set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:i})=>!i),this.#t.set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new td(t,r))}},Vo=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},td=globalThis.CustomEvent??Vo;var Zc=(e,...t)=>{try{[...t]}catch{}};var $o={};st($o,{base58btc:()=>Lt,base58flickr:()=>sd});var Iv=new Uint8Array(0);function Xc(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function ze(e){if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")}function Qc(e){return new TextEncoder().encode(e)}function Jc(e){return new TextDecoder().decode(e)}function ed(e,t){if(e.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<e.length;i++){var o=e.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(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 p=0,m=0,g=0,w=d.length;g!==w&&d[g]===0;)g++,p++;for(var v=(w-g)*f+1>>>0,I=new Uint8Array(v);g!==w;){for(var E=d[g],S=0,R=v-1;(E!==0||S<m)&&R!==-1;R--,S++)E+=256*I[R]>>>0,I[R]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");m=S,g++}for(var L=v-m;L!==v&&I[L]===0;)L++;for(var z=c.repeat(p);L<v;++L)z+=e.charAt(I[L]);return z}function h(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var p=0;if(d[p]!==" "){for(var m=0,g=0;d[p]===c;)m++,p++;for(var w=(d.length-p)*u+1>>>0,v=new Uint8Array(w);d[p];){var I=r[d.charCodeAt(p)];if(I===255)return;for(var E=0,S=w-1;(I!==0||E<g)&&S!==-1;S--,E++)I+=a*v[S]>>>0,v[S]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");g=E,p++}if(d[p]!==" "){for(var R=w-g;R!==w&&v[R]===0;)R++;for(var L=new Uint8Array(m+(w-R)),z=m;R!==w;)L[z++]=v[R++];return L}}}function y(d){var p=h(d);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:h,decode:y}}var rd=ed,nd=rd,t0=nd;var qo=class{name;prefix;baseEncode;constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Ho=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return e0(this,t)}},zo=class{decoders;constructor(t){this.decoders=t}or(t){return e0(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function e0(e,t){return new zo({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}var Go=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new qo(t,r,n),this.decoder=new Ho(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function jr({name:e,prefix:t,encode:r,decode:n}){return new Go(e,t,r,n)}function cr({name:e,prefix:t,alphabet:r}){let{encode:n,decode:i}=t0(r,e);return jr({prefix:t,name:e,encode:n,decode:o=>ze(i(o))})}function id(e,t,r,n){let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s}function od(e,t,r){let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s!==0&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o}function At({name:e,prefix:t,bitsPerChar:r,alphabet:n}){return jr({prefix:t,name:e,encode(i){return od(i,n,r)},decode(i){return id(i,n,r,e)}})}var Lt=cr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),sd=cr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Yo={};st(Yo,{base10:()=>ad});var ad=cr({prefix:"9",name:"base10",alphabet:"0123456789"});var Wo={};st(Wo,{base16:()=>cd,base16upper:()=>ud});var cd=At({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),ud=At({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Zo={};st(Zo,{base2:()=>fd});var fd=At({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Xo={};st(Xo,{base256emoji:()=>yd});var r0=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}"),ld=r0.reduce((e,t,r)=>(e[r]=t,e),[]),hd=r0.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function dd(e){return e.reduce((t,r)=>(t+=ld[r],t),"")}function pd(e){let t=[];for(let r of e){let n=hd[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var yd=jr({prefix:"\u{1F680}",name:"base256emoji",encode:dd,decode:pd});var Qo={};st(Qo,{base32:()=>Ge,base32hex:()=>vd,base32hexpad:()=>wd,base32hexpadupper:()=>Ed,base32hexupper:()=>bd,base32pad:()=>gd,base32padupper:()=>xd,base32upper:()=>md,base32z:()=>Sd});var Ge=At({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),md=At({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),gd=At({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),xd=At({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),vd=At({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),bd=At({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),wd=At({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Ed=At({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Sd=At({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Jo={};st(Jo,{base36:()=>Ad,base36upper:()=>Td});var Ad=cr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Td=cr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var jo={};st(jo,{base64:()=>gi,base64pad:()=>Bd,base64url:()=>Id,base64urlpad:()=>Cd});var gi=At({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Bd=At({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Id=At({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Cd=At({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ts={};st(ts,{base8:()=>_d});var _d=At({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var es={};st(es,{identity:()=>Rd});var Rd=jr({prefix:"\0",name:"identity",encode:e=>Jc(e),decode:e=>Qc(e)});var Hv=new TextEncoder,zv=new TextDecoder;var ns={};st(ns,{identity:()=>ur});var Nd=o0,n0=128,Pd=127,Ud=~Pd,kd=Math.pow(2,31);function o0(e,t,r){t=t||[],r=r||0;for(var n=r;e>=kd;)t[r++]=e&255|n0,e/=128;for(;e&Ud;)t[r++]=e&255|n0,e>>>=7;return t[r]=e|0,o0.bytes=r-n+1,t}var Od=rs,Md=128,i0=127;function rs(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw rs.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&i0)<<i:(s&i0)*Math.pow(2,i),i+=7}while(s>=Md);return rs.bytes=o-n,r}var Kd=Math.pow(2,7),Fd=Math.pow(2,14),Vd=Math.pow(2,21),qd=Math.pow(2,28),Hd=Math.pow(2,35),zd=Math.pow(2,42),Gd=Math.pow(2,49),$d=Math.pow(2,56),Yd=Math.pow(2,63),Wd=function(e){return e<Kd?1:e<Fd?2:e<Vd?3:e<qd?4:e<Hd?5:e<zd?6:e<Gd?7:e<$d?8:e<Yd?9:10},Zd={encode:Nd,decode:Od,encodingLength:Wd},Xd=Zd,Un=Xd;function kn(e,t=0){return[Un.decode(e,t),Un.decode.bytes]}function tn(e,t,r=0){return Un.encode(e,t,r),t}function en(e){return Un.encodingLength(e)}function Re(e,t){let r=t.byteLength,n=en(e),i=n+en(r),o=new Uint8Array(i+r);return tn(e,o,0),tn(r,o,n),o.set(t,i),new rn(e,r,t,o)}function Tr(e){let t=ze(e),[r,n]=kn(t),[i,o]=kn(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new rn(r,i,s,t)}function s0(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Xc(e.bytes,r.bytes)}}var rn=class{code;size;digest;bytes;constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var a0=0,Qd="identity",c0=ze;function Jd(e){return Re(a0,c0(e))}var ur={code:a0,name:Qd,encode:c0,digest:Jd};var ss={};st(ss,{sha256:()=>Dt,sha512:()=>jd});function os({name:e,code:t,encode:r}){return new is(e,t,r)}var is=class{name;code;encode;constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Re(this.code,r):r.then(n=>Re(this.code,n))}else throw Error("Unknown type, must be binary type")}};function f0(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}var Dt=os({name:"sha2-256",code:18,encode:f0("SHA-256")}),jd=os({name:"sha2-512",code:19,encode:f0("SHA-512")});function l0(e,t){let{bytes:r,version:n}=e;switch(n){case 0:return ep(r,as(e),t??Lt.encoder);default:return rp(r,as(e),t??Ge.encoder)}}var h0=new WeakMap;function as(e){let t=h0.get(e);if(t==null){let r=new Map;return h0.set(e,r),r}return t}var se=class e{code;version;multihash;bytes;"/";constructor(t,r,n,i){this.code=r,this.version=t,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:t,multihash:r}=this;if(t!==On)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==np)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=Re(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n!=null&&t.code===n.code&&t.version===n.version&&s0(t.multihash,n.multihash)}toString(t){return l0(this,t)}toJSON(){return{"/":l0(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new e(n,i,o,s??d0(n,i,o.bytes))}else if(r[ip]===!0){let{version:n,multihash:i,code:o}=r,s=Tr(i);return e.create(n,o,s)}else return null}static create(t,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(t){case 0:{if(r!==On)throw new Error(`Version 0 CID must use dag-pb (code: ${On}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=d0(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,On,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,i=ze(t.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 rn(r.multihashCode,r.digestSize,o,i);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,h]=kn(t.subarray(r));return r+=h,l},i=n(),o=On;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,r){let[n,i]=tp(t,r),o=e.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return as(o).set(n,t),o}};function tp(e,t){switch(e[0]){case"Q":{let r=t??Lt;return[Lt.prefix,r.decode(`${Lt.prefix}${e}`)]}case Lt.prefix:{let r=t??Lt;return[Lt.prefix,r.decode(e)]}case Ge.prefix:{let r=t??Ge;return[Ge.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}}function ep(e,t,r){let{prefix:n}=r;if(n!==Lt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let o=r.encode(e).slice(1);return t.set(n,o),o}else return i}function rp(e,t,r){let{prefix:n}=r,i=t.get(n);if(i==null){let o=r.encode(e);return t.set(n,o),o}else return i}var On=112,np=18;function d0(e,t,r){let n=en(e),i=n+en(t),o=new Uint8Array(i+r.byteLength);return tn(e,o,0),tn(t,o,n),o.set(r,i),o}var ip=Symbol.for("@ipld/js-cid/CID");var jt={...es,...Zo,...ts,...Yo,...Wo,...Qo,...Jo,...$o,...jo,...Xo},lb={...ss,...ns};function cs(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var op=Symbol.for("nodejs.util.inspect.custom"),p0=Object.values(jt).map(e=>e.decoder).reduce((e,t)=>e.or(t),jt.identity.decoder),y0=114,us=36,fs=37,Mn=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Gc]=!0;toString(){return this.string==null&&(this.string=Lt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return se.createV1(y0,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return cs(this.multihash.bytes,t);if(typeof t=="string")return Et(t).equals(this);if(t?.multihash?.bytes!=null)return cs(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[op](){return`PeerId(${this.toString()})`}},nn=class extends Mn{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},on=class extends Mn{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},sn=class extends Mn{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function Et(e,t){if(t=t??p0,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=Tr(Lt.decode(`z${e}`));return e.startsWith("12D")?new on({multihash:r}):e.startsWith("16U")?new sn({multihash:r}):new nn({multihash:r})}return an(p0.decode(e))}function an(e){try{let t=Tr(e);if(t.code===ur.code){if(t.digest.length===us)return new on({multihash:t});if(t.digest.length===fs)return new sn({multihash:t})}if(t.code===Dt.code)return new nn({multihash:t})}catch{return sp(se.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function sp(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==y0)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===Dt.code)return new nn({multihash:e.multihash});if(t.code===ur.code){if(t.digest.length===us)return new on({multihash:e.multihash});if(t.digest.length===fs)return new sn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function m0(e,t){return e.length===us?new on({multihash:Re(ur.code,e),privateKey:t}):e.length===fs?new sn({multihash:Re(ur.code,e),privateKey:t}):new nn({multihash:await Dt.digest(e),publicKey:e,privateKey:t})}var u4=Vt(qn(),1),f4=Vt(Du(),1);var Lx=Vt(ht(),1);function Dr(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Oi(e=0){return globalThis.Buffer?.allocUnsafe!=null?Dr(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Pu(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Nu=Pu("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Ns=Pu("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Oi(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Lm={utf8:Nu,"utf-8":Nu,hex:jt.base16,latin1:Ns,ascii:Ns,binary:Ns,...jt},Mi=Lm;function ae(e,t="utf8"){let r=Mi[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Dr(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var Da={};st(Da,{Ed25519PrivateKey:()=>qr,Ed25519PublicKey:()=>ei,generateKeyPair:()=>ex,generateKeyPairFromSeed:()=>Ff,unmarshalEd25519PrivateKey:()=>j1,unmarshalEd25519PublicKey:()=>tx});function Oe(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var uw=Vt(_t(),1),fw=Vt(Ni(),1),Uu=Vt(ht(),1);function Nr(e,t){if(globalThis.Buffer!=null)return Dr(globalThis.Buffer.concat(e,t));t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=Oi(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return Dr(r)}function ce(e,t="utf8"){let r=Mi[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function Se(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=Nr([new Uint8Array(t-r.length),r])}return ce(r,"base64url")}function ue(e){let t=ku(e);return new Uu.default.jsbn.BigInteger(ce(t,"base16"),16)}function ku(e,t){let r=ae(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=Nr([new Uint8Array(t-r.length),r])}return r}function ye(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}function Ou(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Dm(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function Ps(e,...t){if(!Dm(e))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function Mu(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Ou(e.outputLen),Ou(e.blockLen)}function hn(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Ku(e,t){Ps(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Ki=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Fu(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}var Fi=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),Ae=(e,t)=>e<<32-t|e>>>t,Nm=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Nm)throw new Error("Non little-endian hardware is not supported");function Us(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Gn(e){if(typeof e=="string"&&(e=Us(e)),!Fu(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}function Vi(...e){let t=0;for(let n=0;n<e.length;n++){let i=e[n];if(!Fu(i))throw new Error("Uint8Array expected");t+=i.length}let r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let o=e[n];r.set(o,i),i+=o.length}return r}var dn=class{clone(){return this._cloneInto()}},xw={}.toString;function qi(e){let t=n=>e().update(Gn(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function pn(e=32){if(Ki&&typeof Ki.getRandomValues=="function")return Ki.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function Pm(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}var yn=class extends dn{constructor(t,r,n,i){super(),this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=Fi(this.buffer)}update(t){hn(this);let{view:r,buffer:n,blockLen:i}=this;t=Gn(t);let o=t.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=Fi(t);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){hn(this),Ku(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let l=s;l<i;l++)r[l]=0;Pm(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=Fi(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,f[l],o)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return t.length=i,t.pos=a,t.finished=o,t.destroyed=s,i%r&&t.buffer.set(n),t}};var Hi=BigInt(4294967295),ks=BigInt(32);function Vu(e,t=!1){return t?{h:Number(e&Hi),l:Number(e>>ks&Hi)}:{h:Number(e>>ks&Hi)|0,l:Number(e&Hi)|0}}function Um(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:o,l:s}=Vu(e[i],t);[r[i],n[i]]=[o,s]}return[r,n]}var km=(e,t)=>BigInt(e>>>0)<<ks|BigInt(t>>>0),Om=(e,t,r)=>e>>>r,Mm=(e,t,r)=>e<<32-r|t>>>r,Km=(e,t,r)=>e>>>r|t<<32-r,Fm=(e,t,r)=>e<<32-r|t>>>r,Vm=(e,t,r)=>e<<64-r|t>>>r-32,qm=(e,t,r)=>e>>>r-32|t<<64-r,Hm=(e,t)=>t,zm=(e,t)=>e,Gm=(e,t,r)=>e<<r|t>>>32-r,$m=(e,t,r)=>t<<r|e>>>32-r,Ym=(e,t,r)=>t<<r-32|e>>>64-r,Wm=(e,t,r)=>e<<r-32|t>>>64-r;function Zm(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var Xm=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Qm=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Jm=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),jm=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,tg=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),eg=(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0;var rg={fromBig:Vu,split:Um,toBig:km,shrSH:Om,shrSL:Mm,rotrSH:Km,rotrSL:Fm,rotrBH:Vm,rotrBL:qm,rotr32H:Hm,rotr32L:zm,rotlSH:Gm,rotlSL:$m,rotlBH:Ym,rotlBL:Wm,add:Zm,add3L:Xm,add3H:Qm,add4L:Jm,add4H:jm,add5H:eg,add5L:tg},Z=rg;var[ng,ig]=Z.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),pr=new Uint32Array(80),yr=new Uint32Array(80),Os=class extends yn{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:r,Bh:n,Bl:i,Ch:o,Cl:s,Dh:a,Dl:c,Eh:u,El:f,Fh:l,Fl:h,Gh:y,Gl:d,Hh:p,Hl:m}=this;return[t,r,n,i,o,s,a,c,u,f,l,h,y,d,p,m]}set(t,r,n,i,o,s,a,c,u,f,l,h,y,d,p,m){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=o|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=f|0,this.Fh=l|0,this.Fl=h|0,this.Gh=y|0,this.Gl=d|0,this.Hh=p|0,this.Hl=m|0}process(t,r){for(let v=0;v<16;v++,r+=4)pr[v]=t.getUint32(r),yr[v]=t.getUint32(r+=4);for(let v=16;v<80;v++){let I=pr[v-15]|0,E=yr[v-15]|0,S=Z.rotrSH(I,E,1)^Z.rotrSH(I,E,8)^Z.shrSH(I,E,7),R=Z.rotrSL(I,E,1)^Z.rotrSL(I,E,8)^Z.shrSL(I,E,7),L=pr[v-2]|0,z=yr[v-2]|0,$=Z.rotrSH(L,z,19)^Z.rotrBH(L,z,61)^Z.shrSH(L,z,6),q=Z.rotrSL(L,z,19)^Z.rotrBL(L,z,61)^Z.shrSL(L,z,6),J=Z.add4L(R,q,yr[v-7],yr[v-16]),lt=Z.add4H(J,S,$,pr[v-7],pr[v-16]);pr[v]=lt|0,yr[v]=J|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:h,Fh:y,Fl:d,Gh:p,Gl:m,Hh:g,Hl:w}=this;for(let v=0;v<80;v++){let I=Z.rotrSH(l,h,14)^Z.rotrSH(l,h,18)^Z.rotrBH(l,h,41),E=Z.rotrSL(l,h,14)^Z.rotrSL(l,h,18)^Z.rotrBL(l,h,41),S=l&y^~l&p,R=h&d^~h&m,L=Z.add5L(w,E,R,ig[v],yr[v]),z=Z.add5H(L,g,I,S,ng[v],pr[v]),$=L|0,q=Z.rotrSH(n,i,28)^Z.rotrBH(n,i,34)^Z.rotrBH(n,i,39),J=Z.rotrSL(n,i,28)^Z.rotrBL(n,i,34)^Z.rotrBL(n,i,39),lt=n&o^n&a^o&a,Ot=i&s^i&c^s&c;g=p|0,w=m|0,p=y|0,m=d|0,y=l|0,d=h|0,{h:l,l:h}=Z.add(u|0,f|0,z|0,$|0),u=a|0,f=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let C=Z.add3L($,J,Ot);n=Z.add3H(C,z,q,lt),i=C|0}({h:n,l:i}=Z.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=Z.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=Z.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=Z.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:h}=Z.add(this.Eh|0,this.El|0,l|0,h|0),{h:y,l:d}=Z.add(this.Fh|0,this.Fl|0,y|0,d|0),{h:p,l:m}=Z.add(this.Gh|0,this.Gl|0,p|0,m|0),{h:g,l:w}=Z.add(this.Hh|0,this.Hl|0,g|0,w|0),this.set(n,i,o,s,a,c,u,f,l,h,y,d,p,m,g,w)}roundClean(){pr.fill(0),yr.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Ms=qi(()=>new Os);var Gi={};st(Gi,{bitGet:()=>lg,bitLen:()=>fg,bitMask:()=>$n,bitSet:()=>hg,bytesToHex:()=>Xe,bytesToNumberBE:()=>Qe,bytesToNumberLE:()=>mr,concatBytes:()=>Je,createHmacDrbg:()=>Vs,ensureBytes:()=>Tt,equalBytes:()=>cg,hexToBytes:()=>Pr,hexToNumber:()=>Fs,isBytes:()=>Te,numberToBytesBE:()=>gr,numberToBytesLE:()=>Ur,numberToHexUnpadded:()=>Gu,numberToVarBytesBE:()=>ag,utf8ToBytes:()=>ug,validateObject:()=>Me});var zu=BigInt(0),zi=BigInt(1),og=BigInt(2);function Te(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}var sg=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Xe(e){if(!Te(e))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=sg[e[r]];return t}function Gu(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Fs(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}var Ze={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function qu(e){if(e>=Ze._0&&e<=Ze._9)return e-Ze._0;if(e>=Ze._A&&e<=Ze._F)return e-(Ze._A-10);if(e>=Ze._a&&e<=Ze._f)return e-(Ze._a-10)}function Pr(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length,r=t/2;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let i=0,o=0;i<r;i++,o+=2){let s=qu(e.charCodeAt(o)),a=qu(e.charCodeAt(o+1));if(s===void 0||a===void 0){let c=e[o]+e[o+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+o)}n[i]=s*16+a}return n}function Qe(e){return Fs(Xe(e))}function mr(e){if(!Te(e))throw new Error("Uint8Array expected");return Fs(Xe(Uint8Array.from(e).reverse()))}function gr(e,t){return Pr(e.toString(16).padStart(t*2,"0"))}function Ur(e,t){return gr(e,t).reverse()}function ag(e){return Pr(Gu(e))}function Tt(e,t,r){let n;if(typeof t=="string")try{n=Pr(t)}catch(o){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${o}`)}else if(Te(t))n=Uint8Array.from(t);else throw new Error(`${e} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${e} expected ${r} bytes, got ${i}`);return n}function Je(...e){let t=0;for(let i=0;i<e.length;i++){let o=e[i];if(!Te(o))throw new Error("Uint8Array expected");t+=o.length}let r=new Uint8Array(t),n=0;for(let i=0;i<e.length;i++){let o=e[i];r.set(o,n),n+=o.length}return r}function cg(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}function ug(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function fg(e){let t;for(t=0;e>zu;e>>=zi,t+=1);return t}function lg(e,t){return e>>BigInt(t)&zi}var hg=(e,t,r)=>e|(r?zi:zu)<<BigInt(t),$n=e=>(og<<BigInt(e-1))-zi,Ks=e=>new Uint8Array(e),Hu=e=>Uint8Array.from(e);function Vs(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Ks(e),i=Ks(e),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...l)=>r(i,n,...l),c=(l=Ks())=>{i=a(Hu([0]),l),n=a(),l.length!==0&&(i=a(Hu([1]),l),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,h=[];for(;l<t;){n=a();let y=n.slice();h.push(y),l+=n.length}return Je(...h)};return(l,h)=>{s(),c(l);let y;for(;!(y=h(u()));)c();return s(),y}}var dg={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||Te(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function Me(e,t,r={}){let n=(i,o,s)=>{let a=dg[o];if(typeof a!="function")throw new Error(`Invalid validator "${o}", expected function`);let c=e[i];if(!(s&&c===void 0)&&!a(c,e))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${o}`)};for(let[i,o]of Object.entries(t))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return e}var Nt=BigInt(0),vt=BigInt(1),kr=BigInt(2),pg=BigInt(3),qs=BigInt(4),$u=BigInt(5),Yu=BigInt(8),yg=BigInt(9),mg=BigInt(16);function dt(e,t){let r=e%t;return r>=Nt?r:t+r}function gg(e,t,r){if(r<=Nt||t<Nt)throw new Error("Expected power/modulo > 0");if(r===vt)return Nt;let n=vt;for(;t>Nt;)t&vt&&(n=n*e%r),e=e*e%r,t>>=vt;return n}function bt(e,t,r){let n=e;for(;t-- >Nt;)n*=n,n%=r;return n}function $i(e,t){if(e===Nt||t<=Nt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=dt(e,t),n=t,i=Nt,o=vt,s=vt,a=Nt;for(;r!==Nt;){let u=n/r,f=n%r,l=i-s*u,h=o-a*u;n=r,r=f,i=s,o=a,s=l,a=h}if(n!==vt)throw new Error("invert: does not exist");return dt(i,t)}function xg(e){let t=(e-vt)/kr,r,n,i;for(r=e-vt,n=0;r%kr===Nt;r/=kr,n++);for(i=kr;i<e&&gg(i,t,e)!==e-vt;i++);if(n===1){let s=(e+vt)/qs;return function(c,u){let f=c.pow(u,s);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let o=(r+vt)/kr;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,f=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,o),h=a.pow(c,r);for(;!a.eql(h,a.ONE);){if(a.eql(h,a.ZERO))return a.ZERO;let y=1;for(let p=a.sqr(h);y<u&&!a.eql(p,a.ONE);y++)p=a.sqr(p);let d=a.pow(f,vt<<BigInt(u-y-1));f=a.sqr(d),l=a.mul(l,d),h=a.mul(h,f),u=y}return l}}function vg(e){if(e%qs===pg){let t=(e+vt)/qs;return function(n,i){let o=n.pow(i,t);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(e%Yu===$u){let t=(e-$u)/Yu;return function(n,i){let o=n.mul(i,kr),s=n.pow(o,t),a=n.mul(i,s),c=n.mul(n.mul(a,kr),s),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return e%mg,xg(e)}var Wu=(e,t)=>(dt(e,t)&vt)===vt,bg=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Hs(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=bg.reduce((n,i)=>(n[i]="function",n),t);return Me(e,r)}function wg(e,t,r){if(r<Nt)throw new Error("Expected power > 0");if(r===Nt)return e.ONE;if(r===vt)return t;let n=e.ONE,i=t;for(;r>Nt;)r&vt&&(n=e.mul(n,i)),i=e.sqr(i),r>>=vt;return n}function Eg(e,t){let r=new Array(t.length),n=t.reduce((o,s,a)=>e.is0(s)?o:(r[a]=o,e.mul(o,s)),e.ONE),i=e.inv(n);return t.reduceRight((o,s,a)=>e.is0(s)?o:(r[a]=e.mul(o,r[a]),e.mul(o,s)),i),r}function zs(e,t){let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Yi(e,t,r=!1,n={}){if(e<=Nt)throw new Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:i,nByteLength:o}=zs(e,t);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=vg(e),a=Object.freeze({ORDER:e,BITS:i,BYTES:o,MASK:$n(i),ZERO:Nt,ONE:vt,create:c=>dt(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Nt<=c&&c<e},is0:c=>c===Nt,isOdd:c=>(c&vt)===vt,neg:c=>dt(-c,e),eql:(c,u)=>c===u,sqr:c=>dt(c*c,e),add:(c,u)=>dt(c+u,e),sub:(c,u)=>dt(c-u,e),mul:(c,u)=>dt(c*u,e),pow:(c,u)=>wg(a,c,u),div:(c,u)=>dt(c*$i(u,e),e),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>$i(c,e),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>Eg(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>r?Ur(c,o):gr(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?mr(c):Qe(c)}});return Object.freeze(a)}function Zu(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");let r=e.sqrt(t);return e.isOdd(r)?e.neg(r):r}function Xu(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function Gs(e){let t=Xu(e);return t+Math.ceil(t/2)}function Qu(e,t,r=!1){let n=e.length,i=Xu(t),o=Gs(t);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?Qe(e):mr(e),a=dt(s,t-vt)+vt;return r?Ur(a,i):gr(a,i)}var Ag=BigInt(0),$s=BigInt(1);function Wi(e,t){let r=(i,o)=>{let s=o.negate();return i?s:o},n=i=>{let o=Math.ceil(t/i)+1,s=2**(i-1);return{windows:o,windowSize:s}};return{constTimeNegate:r,unsafeLadder(i,o){let s=e.ZERO,a=i;for(;o>Ag;)o&$s&&(s=s.add(a)),a=a.double(),o>>=$s;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],u=i,f=u;for(let l=0;l<s;l++){f=u,c.push(f);for(let h=1;h<a;h++)f=f.add(u),c.push(f);u=f.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),u=e.ZERO,f=e.BASE,l=BigInt(2**i-1),h=2**i,y=BigInt(i);for(let d=0;d<a;d++){let p=d*c,m=Number(s&l);s>>=y,m>c&&(m-=h,s+=$s);let g=p,w=p+Math.abs(m)-1,v=d%2!==0,I=m<0;m===0?f=f.add(r(v,o[g])):u=u.add(r(I,o[w]))}return{p:u,f}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,u=o.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&o.set(i,a(u))),this.wNAF(c,u,s)}}}function Yn(e){return Hs(e.Fp),Me(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...zs(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Be=BigInt(0),fe=BigInt(1),Zi=BigInt(2),Tg=BigInt(8),Bg={zip215:!0};function Ig(e){let t=Yn(e);return Me(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function Xi(e){let t=Ig(e),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=t,u=Zi<<BigInt(a*8)-fe,f=r.create,l=t.uvRatio||((N,T)=>{try{return{isValid:!0,value:r.sqrt(N*r.inv(T))}}catch{return{isValid:!1,value:Be}}}),h=t.adjustScalarBytes||(N=>N),y=t.domain||((N,T,M)=>{if(T.length||M)throw new Error("Contexts/pre-hash are not supported");return N}),d=N=>typeof N=="bigint"&&Be<N,p=(N,T)=>d(N)&&d(T)&&N<T,m=N=>N===Be||p(N,u);function g(N,T){if(p(N,T))return N;throw new Error(`Expected valid scalar < ${T}, got ${typeof N} ${N}`)}function w(N){return N===Be?N:g(N,n)}let v=new Map;function I(N){if(!(N instanceof E))throw new Error("ExtendedPoint expected")}class E{constructor(T,M,K,G){if(this.ex=T,this.ey=M,this.ez=K,this.et=G,!m(T))throw new Error("x required");if(!m(M))throw new Error("y required");if(!m(K))throw new Error("z required");if(!m(G))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(T){if(T instanceof E)throw new Error("extended point not allowed");let{x:M,y:K}=T||{};if(!m(M)||!m(K))throw new Error("invalid affine point");return new E(M,K,fe,f(M*K))}static normalizeZ(T){let M=r.invertBatch(T.map(K=>K.ez));return T.map((K,G)=>K.toAffine(M[G])).map(E.fromAffine)}_setWindowSize(T){this._WINDOW_SIZE=T,v.delete(this)}assertValidity(){let{a:T,d:M}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:K,ey:G,ez:X,et:tt}=this,ut=f(K*K),et=f(G*G),it=f(X*X),Ct=f(it*it),St=f(ut*T),Mt=f(it*f(St+et)),Kt=f(Ct+f(M*f(ut*et)));if(Mt!==Kt)throw new Error("bad point: equation left != right (1)");let Rt=f(K*G),Ft=f(X*tt);if(Rt!==Ft)throw new Error("bad point: equation left != right (2)")}equals(T){I(T);let{ex:M,ey:K,ez:G}=this,{ex:X,ey:tt,ez:ut}=T,et=f(M*ut),it=f(X*G),Ct=f(K*ut),St=f(tt*G);return et===it&&Ct===St}is0(){return this.equals(E.ZERO)}negate(){return new E(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:T}=t,{ex:M,ey:K,ez:G}=this,X=f(M*M),tt=f(K*K),ut=f(Zi*f(G*G)),et=f(T*X),it=M+K,Ct=f(f(it*it)-X-tt),St=et+tt,Mt=St-ut,Kt=et-tt,Rt=f(Ct*Mt),Ft=f(St*Kt),He=f(Ct*Kt),Ar=f(Mt*St);return new E(Rt,Ft,Ar,He)}add(T){I(T);let{a:M,d:K}=t,{ex:G,ey:X,ez:tt,et:ut}=this,{ex:et,ey:it,ez:Ct,et:St}=T;if(M===BigInt(-1)){let Oc=f((X-G)*(it+et)),Mc=f((X+G)*(it-et)),Ko=f(Mc-Oc);if(Ko===Be)return this.double();let Kc=f(tt*Zi*St),Fc=f(ut*Zi*Ct),Vc=Fc+Kc,qc=Mc+Oc,Hc=Fc-Kc,zh=f(Vc*Ko),Gh=f(qc*Hc),$h=f(Vc*Hc),Yh=f(Ko*qc);return new E(zh,Gh,Yh,$h)}let Mt=f(G*et),Kt=f(X*it),Rt=f(ut*K*St),Ft=f(tt*Ct),He=f((G+X)*(et+it)-Mt-Kt),Ar=Ft-Rt,Pn=Ft+Rt,kc=f(Kt-M*Mt),Fh=f(He*Ar),Vh=f(Pn*kc),qh=f(He*kc),Hh=f(Ar*Pn);return new E(Fh,Vh,Hh,qh)}subtract(T){return this.add(T.negate())}wNAF(T){return L.wNAFCached(this,v,T,E.normalizeZ)}multiply(T){let{p:M,f:K}=this.wNAF(g(T,n));return E.normalizeZ([M,K])[0]}multiplyUnsafe(T){let M=w(T);return M===Be?R:this.equals(R)||M===fe?this:this.equals(S)?this.wNAF(M).p:L.unsafeLadder(this,M)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return L.unsafeLadder(this,n).is0()}toAffine(T){let{ex:M,ey:K,ez:G}=this,X=this.is0();T==null&&(T=X?Tg:r.inv(G));let tt=f(M*T),ut=f(K*T),et=f(G*T);if(X)return{x:Be,y:fe};if(et!==fe)throw new Error("invZ was invalid");return{x:tt,y:ut}}clearCofactor(){let{h:T}=t;return T===fe?this:this.multiplyUnsafe(T)}static fromHex(T,M=!1){let{d:K,a:G}=t,X=r.BYTES;T=Tt("pointHex",T,X);let tt=T.slice(),ut=T[X-1];tt[X-1]=ut&-129;let et=mr(tt);et===Be||(M?g(et,u):g(et,r.ORDER));let it=f(et*et),Ct=f(it-fe),St=f(K*it-G),{isValid:Mt,value:Kt}=l(Ct,St);if(!Mt)throw new Error("Point.fromHex: invalid y coordinate");let Rt=(Kt&fe)===fe,Ft=(ut&128)!==0;if(!M&&Kt===Be&&Ft)throw new Error("Point.fromHex: x=0 and x_0=1");return Ft!==Rt&&(Kt=f(-Kt)),E.fromAffine({x:Kt,y:et})}static fromPrivateKey(T){return q(T).point}toRawBytes(){let{x:T,y:M}=this.toAffine(),K=Ur(M,r.BYTES);return K[K.length-1]|=T&fe?128:0,K}toHex(){return Xe(this.toRawBytes())}}E.BASE=new E(t.Gx,t.Gy,fe,f(t.Gx*t.Gy)),E.ZERO=new E(Be,fe,fe,Be);let{BASE:S,ZERO:R}=E,L=Wi(E,a*8);function z(N){return dt(N,n)}function $(N){return z(mr(N))}function q(N){let T=a;N=Tt("private key",N,T);let M=Tt("hashed private key",o(N),2*T),K=h(M.slice(0,T)),G=M.slice(T,2*T),X=$(K),tt=S.multiply(X),ut=tt.toRawBytes();return{head:K,prefix:G,scalar:X,point:tt,pointBytes:ut}}function J(N){return q(N).pointBytes}function lt(N=new Uint8Array,...T){let M=Je(...T);return $(o(y(M,Tt("context",N),!!i)))}function Ot(N,T,M={}){N=Tt("message",N),i&&(N=i(N));let{prefix:K,scalar:G,pointBytes:X}=q(T),tt=lt(M.context,K,N),ut=S.multiply(tt).toRawBytes(),et=lt(M.context,ut,X,N),it=z(tt+et*G);w(it);let Ct=Je(ut,Ur(it,r.BYTES));return Tt("result",Ct,a*2)}let C=Bg;function P(N,T,M,K=C){let{context:G,zip215:X}=K,tt=r.BYTES;N=Tt("signature",N,2*tt),T=Tt("message",T),i&&(T=i(T));let ut=mr(N.slice(tt,2*tt)),et,it,Ct;try{et=E.fromHex(M,X),it=E.fromHex(N.slice(0,tt),X),Ct=S.multiplyUnsafe(ut)}catch{return!1}if(!X&&et.isSmallOrder())return!1;let St=lt(G,it.toRawBytes(),et.toRawBytes(),T);return it.add(et.multiplyUnsafe(St)).subtract(Ct).clearCofactor().equals(E.ZERO)}return S._setWindowSize(8),{CURVE:t,getPublicKey:J,sign:Ot,verify:P,ExtendedPoint:E,utils:{getExtendedPublicKey:q,randomPrivateKey:()=>s(r.BYTES),precompute(N=8,T=E.BASE){return T._setWindowSize(N),T.multiply(BigInt(3)),T}}}}var Ws=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Ju=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Fw=BigInt(0),Cg=BigInt(1),Ys=BigInt(2),_g=BigInt(5),ju=BigInt(10),Rg=BigInt(20),Lg=BigInt(40),tf=BigInt(80);function Dg(e){let t=Ws,n=e*e%t*e%t,i=bt(n,Ys,t)*n%t,o=bt(i,Cg,t)*e%t,s=bt(o,_g,t)*o%t,a=bt(s,ju,t)*s%t,c=bt(a,Rg,t)*a%t,u=bt(c,Lg,t)*c%t,f=bt(u,tf,t)*u%t,l=bt(f,tf,t)*u%t,h=bt(l,ju,t)*s%t;return{pow_p_5_8:bt(h,Ys,t)*e%t,b2:n}}function Ng(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function Pg(e,t){let r=Ws,n=dt(t*t*t,r),i=dt(n*n*t,r),o=Dg(e*i).pow_p_5_8,s=dt(e*n*o,r),a=dt(t*s*s,r),c=s,u=dt(s*Ju,r),f=a===e,l=a===dt(-e,r),h=a===dt(-e*Ju,r);return f&&(s=c),(l||h)&&(s=u),Wu(s,r)&&(s=dt(-s,r)),{isValid:f||l,value:s}}var je=Yi(Ws,void 0,!0),Zs={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:je,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Ms,randomBytes:pn,adjustScalarBytes:Ng,uvRatio:Pg},mn=Xi(Zs);function ef(e,t,r){if(t.length>255)throw new Error("Context is too big");return Vi(Us("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,t.length]),t,e)}var Vw=Xi({...Zs,domain:ef}),qw=Xi({...Zs,domain:ef,prehash:Ms});var Ug=(je.ORDER+BigInt(3))/BigInt(8),Hw=je.pow(Ys,Ug),zw=je.sqrt(je.neg(je.ONE)),Gw=(je.ORDER-BigInt(5))/BigInt(8),$w=BigInt(486662);var Yw=Zu(je,je.neg(BigInt(486664)));var Ww=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Zw=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Xw=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Qw=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var Jw=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var gn=32,tr=64,Qi=32;function rf(){let e=mn.utils.randomPrivateKey(),t=mn.getPublicKey(e);return{privateKey:af(e,t),publicKey:t}}function nf(e){if(e.length!==Qi)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=mn.getPublicKey(t);return{privateKey:af(t,r),publicKey:r}}function of(e,t){let r=e.subarray(0,Qi);return mn.sign(t instanceof Uint8Array?t:t.subarray(),r)}function sf(e,t,r){return mn.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}function af(e,t){let r=new Uint8Array(tr);for(let n=0;n<Qi;n++)r[n]=e[n],r[Qi+n]=t[n];return r}var ee={get(e=globalThis){let t=e.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var Xs={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Qs(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",o=e?.saltLength??16,s=e?.iterations??32767,a=ee.get();r*=8;async function c(l,h){let y=a.getRandomValues(new Uint8Array(o)),d=a.getRandomValues(new Uint8Array(n)),p={name:t,iv:d};typeof h=="string"&&(h=ae(h));let m;if(h.length===0){m=await a.subtle.importKey("jwk",Xs,{name:"AES-GCM"},!0,["encrypt"]);try{let w={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},v=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(w,v,{name:t,length:r},!0,["encrypt"])}catch{m=await a.subtle.importKey("jwk",Xs,{name:"AES-GCM"},!0,["encrypt"])}}else{let w={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},v=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(w,v,{name:t,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(p,m,l);return Nr([y,p.iv,new Uint8Array(g)])}async function u(l,h){let y=l.subarray(0,o),d=l.subarray(o,o+n),p=l.subarray(o+n),m={name:t,iv:d};typeof h=="string"&&(h=ae(h));let g;if(h.length===0)try{let v={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},I=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(v,I,{name:t,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",Xs,{name:"AES-GCM"},!0,["decrypt"])}else{let v={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},I=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(v,I,{name:t,length:r},!0,["decrypt"])}let w=await a.subtle.decrypt(m,g,p);return new Uint8Array(w)}return{encrypt:c,decrypt:u}}async function xn(e,t){let n=await Qs().encrypt(e,t);return gi.encode(n)}var Js=new Float32Array([-0]),xr=new Uint8Array(Js.buffer);function uf(e,t,r){Js[0]=e,t[r]=xr[0],t[r+1]=xr[1],t[r+2]=xr[2],t[r+3]=xr[3]}function ff(e,t){return xr[0]=e[t],xr[1]=e[t+1],xr[2]=e[t+2],xr[3]=e[t+3],Js[0]}var js=new Float64Array([-0]),qt=new Uint8Array(js.buffer);function lf(e,t,r){js[0]=e,t[r]=qt[0],t[r+1]=qt[1],t[r+2]=qt[2],t[r+3]=qt[3],t[r+4]=qt[4],t[r+5]=qt[5],t[r+6]=qt[6],t[r+7]=qt[7]}function hf(e,t){return qt[0]=e[t],qt[1]=e[t+1],qt[2]=e[t+2],qt[3]=e[t+3],qt[4]=e[t+4],qt[5]=e[t+5],qt[6]=e[t+6],qt[7]=e[t+7],js[0]}var Og=BigInt(Number.MAX_SAFE_INTEGER),Mg=BigInt(Number.MIN_SAFE_INTEGER),re=class e{lo;hi;constructor(t,r){this.lo=t|0,this.hi=r|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return Or;if(t<Og&&t>Mg)return this.fromNumber(Number(t));let r=t<0n;r&&(t=-t);let n=t>>32n,i=t-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>df&&(i=0n,++n>df&&(n=0n))),new e(Number(i),Number(n))}static fromNumber(t){if(t===0)return Or;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new e(n,i)}static from(t){return typeof t=="number"?e.fromNumber(t):typeof t=="bigint"?e.fromBigInt(t):typeof t=="string"?e.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new e(t.low>>>0,t.high>>>0):Or}},Or=new re(0,0);Or.toBigInt=function(){return 0n};Or.zzEncode=Or.zzDecode=function(){return this};Or.length=function(){return 1};var df=4294967296n;function pf(e){let t=0,r=0;for(let n=0;n<e.length;++n)r=e.charCodeAt(n),r<128?t+=1:r<2048?t+=2:(r&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function yf(e,t,r){if(r-t<1)return"";let i,o=[],s=0,a;for(;t<r;)a=e[t++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|e[t++]&63:a>239&&a<365?(a=((a&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(e[t++]&63)<<6|e[t++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function ta(e,t,r){let n=r,i,o;for(let s=0;s<e.length;++s)i=e.charCodeAt(s),i<128?t[r++]=i:i<2048?(t[r++]=i>>6|192,t[r++]=i&63|128):(i&64512)===55296&&((o=e.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,t[r++]=i>>18|240,t[r++]=i>>12&63|128,t[r++]=i>>6&63|128,t[r++]=i&63|128):(t[r++]=i>>12|224,t[r++]=i>>6&63|128,t[r++]=i&63|128);return r-n}function Ie(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function Ji(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var ea=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,Ie(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Ie(this,4);return Ji(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Ie(this,4);return Ji(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Ie(this,4);let t=ff(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Ie(this,4);let t=hf(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw Ie(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return yf(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Ie(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Ie(this);while(this.buf[this.pos++]&128);return this}skipType(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}readLongVarint(){let t=new re(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*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;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw Ie(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,t}if(this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw Ie(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Ie(this,8);let t=Ji(this.buf,this.pos+=4),r=Ji(this.buf,this.pos+=4);return new re(t,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function ra(e){return new ea(e instanceof Uint8Array?e:e.subarray())}function Ht(e,t){let r=ra(e);return t.decode(r)}function Mr(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function er(e=0){return globalThis.Buffer?.alloc!=null?Mr(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function ne(e=0){return globalThis.Buffer?.allocUnsafe!=null?Mr(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var aa={};st(aa,{base10:()=>zg});function Kg(e,t){if(e.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<e.length;i++){var o=e.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(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 p=0,m=0,g=0,w=d.length;g!==w&&d[g]===0;)g++,p++;for(var v=(w-g)*f+1>>>0,I=new Uint8Array(v);g!==w;){for(var E=d[g],S=0,R=v-1;(E!==0||S<m)&&R!==-1;R--,S++)E+=256*I[R]>>>0,I[R]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");m=S,g++}for(var L=v-m;L!==v&&I[L]===0;)L++;for(var z=c.repeat(p);L<v;++L)z+=e.charAt(I[L]);return z}function h(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var p=0;if(d[p]!==" "){for(var m=0,g=0;d[p]===c;)m++,p++;for(var w=(d.length-p)*u+1>>>0,v=new Uint8Array(w);d[p];){var I=r[d.charCodeAt(p)];if(I===255)return;for(var E=0,S=w-1;(I!==0||E<g)&&S!==-1;S--,E++)I+=a*v[S]>>>0,v[S]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");g=E,p++}if(d[p]!==" "){for(var R=w-g;R!==w&&v[R]===0;)R++;for(var L=new Uint8Array(m+(w-R)),z=m;R!==w;)L[z++]=v[R++];return L}}}function y(d){var p=h(d);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:h,decode:y}}var Fg=Kg,Vg=Fg,gf=Vg;var xE=new Uint8Array(0);var xf=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},rr=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var vf=e=>new TextEncoder().encode(e),bf=e=>new TextDecoder().decode(e);var na=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},ia=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Ef(this,t)}},oa=class{constructor(t){this.decoders=t}or(t){return Ef(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Ef=(e,t)=>new oa({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),sa=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new na(t,r,n),this.decoder=new ia(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},vn=({name:e,prefix:t,encode:r,decode:n})=>new sa(e,t,r,n),vr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=gf(r,t);return vn({prefix:e,name:t,encode:n,decode:o=>rr(i(o))})},qg=(e,t,r,n)=>{let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,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},Hg=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Bt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>vn({prefix:t,name:e,encode(i){return Hg(i,n,r)},decode(i){return qg(i,n,r,e)}});var zg=vr({prefix:"9",name:"base10",alphabet:"0123456789"});var ca={};st(ca,{base16:()=>Gg,base16upper:()=>$g});var Gg=Bt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),$g=Bt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ua={};st(ua,{base2:()=>Yg});var Yg=Bt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var fa={};st(fa,{base256emoji:()=>Jg});var Sf=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}"),Wg=Sf.reduce((e,t,r)=>(e[r]=t,e),[]),Zg=Sf.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function Xg(e){return e.reduce((t,r)=>(t+=Wg[r],t),"")}function Qg(e){let t=[];for(let r of e){let n=Zg[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var Jg=vn({prefix:"\u{1F680}",name:"base256emoji",encode:Xg,decode:Qg});var la={};st(la,{base32:()=>bn,base32hex:()=>r1,base32hexpad:()=>i1,base32hexpadupper:()=>o1,base32hexupper:()=>n1,base32pad:()=>t1,base32padupper:()=>e1,base32upper:()=>jg,base32z:()=>s1});var bn=Bt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),jg=Bt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),t1=Bt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),e1=Bt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),r1=Bt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),n1=Bt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),i1=Bt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),o1=Bt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),s1=Bt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ha={};st(ha,{base36:()=>a1,base36upper:()=>c1});var a1=vr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),c1=vr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var da={};st(da,{base58btc:()=>Ke,base58flickr:()=>u1});var Ke=vr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),u1=vr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var pa={};st(pa,{base64:()=>f1,base64pad:()=>l1,base64url:()=>h1,base64urlpad:()=>d1});var f1=Bt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),l1=Bt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),h1=Bt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),d1=Bt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ya={};st(ya,{base8:()=>p1});var p1=Bt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ma={};st(ma,{identity:()=>y1});var y1=vn({prefix:"\0",name:"identity",encode:e=>bf(e),decode:e=>vf(e)});var NE=new TextEncoder,PE=new TextDecoder;var xa={};st(xa,{identity:()=>M1});var x1=Bf,Af=128,v1=127,b1=~v1,w1=Math.pow(2,31);function Bf(e,t,r){t=t||[],r=r||0;for(var n=r;e>=w1;)t[r++]=e&255|Af,e/=128;for(;e&b1;)t[r++]=e&255|Af,e>>>=7;return t[r]=e|0,Bf.bytes=r-n+1,t}var E1=ga,S1=128,Tf=127;function ga(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw ga.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&Tf)<<i:(s&Tf)*Math.pow(2,i),i+=7}while(s>=S1);return ga.bytes=o-n,r}var A1=Math.pow(2,7),T1=Math.pow(2,14),B1=Math.pow(2,21),I1=Math.pow(2,28),C1=Math.pow(2,35),_1=Math.pow(2,42),R1=Math.pow(2,49),L1=Math.pow(2,56),D1=Math.pow(2,63),N1=function(e){return e<A1?1:e<T1?2:e<B1?3:e<I1?4:e<C1?5:e<_1?6:e<R1?7:e<L1?8:e<D1?9:10},P1={encode:x1,decode:E1,encodingLength:N1},U1=P1,Wn=U1;var Zn=(e,t=0)=>[Wn.decode(e,t),Wn.decode.bytes],wn=(e,t,r=0)=>(Wn.encode(e,t,r),t),En=e=>Wn.encodingLength(e);var Kr=(e,t)=>{let r=t.byteLength,n=En(e),i=n+En(r),o=new Uint8Array(i+r);return wn(e,o,0),wn(r,o,n),o.set(t,i),new Sn(e,r,t,o)},If=e=>{let t=rr(e),[r,n]=Zn(t),[i,o]=Zn(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Sn(r,i,s,t)},Cf=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&xf(e.bytes,r.bytes)}},Sn=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var _f=0,k1="identity",Rf=rr,O1=e=>Kr(_f,Rf(e)),M1={code:_f,name:k1,encode:Rf,digest:O1};var wa={};st(wa,{sha256:()=>K1,sha512:()=>F1});var ba=({name:e,code:t,encode:r})=>new va(e,t,r),va=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Kr(this.code,r):r.then(n=>Kr(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Df=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),K1=ba({name:"sha2-256",code:18,encode:Df("SHA-256")}),F1=ba({name:"sha2-512",code:19,encode:Df("SHA-512")});var Nf=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return q1(r,Ea(e),t||Ke.encoder);default:return H1(r,Ea(e),t||bn.encoder)}};var Pf=new WeakMap,Ea=e=>{let t=Pf.get(e);if(t==null){let r=new Map;return Pf.set(e,r),r}return t},to=class e{constructor(t,r,n,i){this.code=r,this.version=t,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:t,multihash:r}=this;if(t!==Qn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==z1)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=Kr(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&Cf(t.multihash,n.multihash)}toString(t){return Nf(this,t)}toJSON(){return{"/":Nf(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new e(n,i,o,s||Uf(n,i,o.bytes))}else if(r[G1]===!0){let{version:n,multihash:i,code:o}=r,s=If(i);return e.create(n,o,s)}else return null}static create(t,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(t){case 0:{if(r!==Qn)throw new Error(`Version 0 CID must use dag-pb (code: ${Qn}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=Uf(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,Qn,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,i=rr(t.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 Sn(r.multihashCode,r.digestSize,o,i);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,h]=Zn(t.subarray(r));return r+=h,l},i=n(),o=Qn;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,r){let[n,i]=V1(t,r),o=e.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ea(o).set(n,t),o}},V1=(e,t)=>{switch(e[0]){case"Q":{let r=t||Ke;return[Ke.prefix,r.decode(`${Ke.prefix}${e}`)]}case Ke.prefix:{let r=t||Ke;return[Ke.prefix,r.decode(e)]}case bn.prefix:{let r=t||bn;return[bn.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},q1=(e,t,r)=>{let{prefix:n}=r;if(n!==Ke.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let o=r.encode(e).slice(1);return t.set(n,o),o}else return i},H1=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let o=r.encode(e);return t.set(n,o),o}else return i},Qn=112,z1=18,Uf=(e,t,r)=>{let n=En(e),i=n+En(t),o=new Uint8Array(i+r.byteLength);return wn(e,o,0),wn(t,o,n),o.set(r,i),o},G1=Symbol.for("@ipld/js-cid/CID");var Sa={...ma,...ua,...ya,...aa,...ca,...la,...ha,...da,...pa,...fa},XE={...wa,...xa};function Of(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var kf=Of("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Aa=Of("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=ne(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),$1={utf8:kf,"utf-8":kf,hex:Sa.base16,latin1:Aa,ascii:Aa,binary:Aa,...Sa},Mf=$1;function Kf(e,t="utf8"){let r=Mf[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Mr(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function Ta(e){let t=e??8192,r=t>>>1,n,i=t;return function(s){if(s<1||s>r)return ne(s);i+s>t&&(n=ne(t),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var Fr=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function Ba(){}var Ca=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Y1=Ta();function W1(e){return globalThis.Buffer!=null?ne(e):Y1(e)}var ti=class{len;head;tail;states;constructor(){this.len=0,this.head=new Fr(Ba,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new Fr(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new _a((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(Jn,10,re.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=re.fromBigInt(t);return this._push(Jn,r.length(),r)}uint64Number(t){let r=re.fromNumber(t);return this._push(Jn,r.length(),r)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let r=re.fromBigInt(t).zzEncode();return this._push(Jn,r.length(),r)}sint64Number(t){let r=re.fromNumber(t).zzEncode();return this._push(Jn,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Ia,1,t?1:0)}fixed32(t){return this._push(jn,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=re.fromBigInt(t);return this._push(jn,4,r.lo)._push(jn,4,r.hi)}fixed64Number(t){let r=re.fromNumber(t);return this._push(jn,4,r.lo)._push(jn,4,r.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(uf,4,t)}double(t){return this._push(lf,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(Ia,1,0):this.uint32(r)._push(X1,r,t)}string(t){let r=pf(t);return r!==0?this.uint32(r)._push(ta,r,t):this._push(Ia,1,0)}fork(){return this.states=new Ca(this),this.head=this.tail=new Fr(Ba,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Fr(Ba,0,0),this.len=0),this}ldelim(){let t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=r,this.len+=n),this}finish(){let t=this.head.next,r=W1(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function Ia(e,t,r){t[r]=e&255}function Z1(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var _a=class extends Fr{next;constructor(t,r){super(Z1,t,r),this.next=void 0}};function Jn(e,t,r){for(;e.hi!==0;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}function jn(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function X1(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(ti.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(Q1,t,e),this},ti.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(J1,t,e),this});function Q1(e,t,r){t.set(e,r)}function J1(e,t,r){e.length<40?ta(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(Kf(e),r)}function Ra(){return new ti}function zt(e,t){let r=Ra();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var An;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(An||(An={}));function eo(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Vr(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return eo("enum",An.VARINT,r,n)}function Gt(e,t){return eo("message",An.LENGTH_DELIMITED,e,t)}var wt;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(wt||(wt={}));var La;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(La||(La={}));(function(e){e.codec=()=>Vr(La)})(wt||(wt={}));var Fe;(function(e){let t;e.codec=()=>(t==null&&(t=Gt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),wt.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=wt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>zt(r,e.codec()),e.decode=r=>Ht(r,e.codec())})(Fe||(Fe={}));var Ve;(function(e){let t;e.codec=()=>(t==null&&(t=Gt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),wt.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=wt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>zt(r,e.codec()),e.decode=r=>Ht(r,e.codec())})(Ve||(Ve={}));var ei=class{_key;constructor(t){this._key=Tn(t,gn)}verify(t,r){return sf(this._key,r,t)}marshal(){return this._key}get bytes(){return Fe.encode({Type:wt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Oe(this.bytes,t.bytes)}hash(){let t=Dt.digest(this.bytes);return ye(t)?t.then(({bytes:r})=>r):t.bytes}},qr=class{_key;_publicKey;constructor(t,r){this._key=Tn(t,tr),this._publicKey=Tn(r,gn)}sign(t){return of(this._key,t)}get public(){return new ei(this._publicKey)}marshal(){return this._key}get bytes(){return Ve.encode({Type:wt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Oe(this.bytes,t.bytes)}async hash(){let t=Dt.digest(this.bytes),r;return ye(t)?{bytes:r}=await t:r=t.bytes,r}async id(){let t=ur.digest(this.public.bytes);return Lt.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return xn(this.bytes,t);throw new F(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function j1(e){if(e.length>tr){e=Tn(e,tr+gn);let n=e.subarray(0,tr),i=e.subarray(tr,e.length);return new qr(n,i)}e=Tn(e,tr);let t=e.subarray(0,tr),r=e.subarray(gn);return new qr(t,r)}function tx(e){return e=Tn(e,gn),new ei(e)}async function ex(){let{privateKey:e,publicKey:t}=rf();return new qr(e,t)}async function Ff(e){let{privateKey:t,publicKey:r}=nf(e);return new qr(t,r)}function Tn(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new F(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var rx={"P-256":256,"P-384":384,"P-521":521},nx=Object.keys(rx),F8=nx.join(" / ");var Oa={};st(Oa,{MAX_KEY_SIZE:()=>oi,RsaPrivateKey:()=>Bn,RsaPublicKey:()=>ii,fromJwk:()=>px,generateKeyPair:()=>yx,unmarshalRsaPrivateKey:()=>hx,unmarshalRsaPublicKey:()=>dx});var ni=Vt(ht(),1);var AS=Vt(Gf(),1);function no(e){if(isNaN(e)||e<=0)throw new F("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return pn(e)}var sS=Vt(ki(),1),Ua=Vt(ht(),1);function $f(e,t){return t.map(r=>ue(e[r]))}function Yf(e){return Ua.default.pki.setRsaPrivateKey(...$f(e,["n","e","d","p","q","dp","dq","qi"]))}function Wf(e){return Ua.default.pki.setRsaPublicKey(...$f(e,["n","e"]))}var zr={};st(zr,{jwkToPkcs1:()=>ax,jwkToPkix:()=>ux,pkcs1ToJwk:()=>sx,pkixToJwk:()=>cx});var uS=Vt(qn(),1),fS=Vt(ki(),1);var nr=Vt(ht(),1);function sx(e){let t=nr.default.asn1.fromDer(ce(e,"ascii")),r=nr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:Se(r.n),e:Se(r.e),d:Se(r.d),p:Se(r.p),q:Se(r.q),dp:Se(r.dP),dq:Se(r.dQ),qi:Se(r.qInv),alg:"RS256"}}function ax(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new F("JWK was missing components","ERR_INVALID_PARAMETERS");let t=nr.default.pki.privateKeyToAsn1({n:ue(e.n),e:ue(e.e),d:ue(e.d),p:ue(e.p),q:ue(e.q),dP:ue(e.dp),dQ:ue(e.dq),qInv:ue(e.qi)});return ae(nr.default.asn1.toDer(t).getBytes(),"ascii")}function cx(e){let t=nr.default.asn1.fromDer(ce(e,"ascii")),r=nr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:Se(r.n),e:Se(r.e)}}function ux(e){if(e.n==null||e.e==null)throw new F("JWK was missing components","ERR_INVALID_PARAMETERS");let t=nr.default.pki.publicKeyToAsn1({n:ue(e.n),e:ue(e.e)});return ae(nr.default.asn1.toDer(t).getBytes(),"ascii")}async function Zf(e){let t=await ee.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await Jf(t);return{privateKey:r[0],publicKey:r[1]}}async function ka(e){let r=[await ee.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await fx(e)],n=await Jf({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Xf(e,t){let r=await ee.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await ee.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function Qf(e,t,r){let n=await ee.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return ee.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r instanceof Uint8Array?r:r.subarray())}async function Jf(e){if(e.privateKey==null||e.publicKey==null)throw new F("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([ee.get().subtle.exportKey("jwk",e.privateKey),ee.get().subtle.exportKey("jwk",e.publicKey)])}async function fx(e){return ee.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function jf(e,t,r,n){let i=t?Wf(e):Yf(e),o=ce(r instanceof Uint8Array?r:r.subarray(),"ascii"),s=n(o,i);return ae(s,"ascii")}function tl(e,t){return jf(e,!0,t,(r,n)=>n.encrypt(r))}function el(e,t){return jf(e,!1,t,(r,n)=>n.decrypt(r))}function io(e){if(e.kty!=="RSA")throw new F("invalid key type","ERR_INVALID_KEY_TYPE");if(e.n==null)throw new F("invalid key modulus","ERR_INVALID_KEY_MODULUS");return ae(e.n,"base64url").length*8}var oi=8192,ii=class{_key;constructor(t){this._key=t}verify(t,r){return Qf(this._key,r,t)}marshal(){return zr.jwkToPkix(this._key)}get bytes(){return Fe.encode({Type:wt.RSA,Data:this.marshal()}).subarray()}encrypt(t){return tl(this._key,t)}equals(t){return Oe(this.bytes,t.bytes)}hash(){let t=Dt.digest(this.bytes);return ye(t)?t.then(({bytes:r})=>r):t.bytes}},Bn=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return no(16)}sign(t){return Xf(this._key,t)}get public(){if(this._publicKey==null)throw new F("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new ii(this._publicKey)}decrypt(t){return el(this._key,t)}marshal(){return zr.jwkToPkcs1(this._key)}get bytes(){return Ve.encode({Type:wt.RSA,Data:this.marshal()}).subarray()}equals(t){return Oe(this.bytes,t.bytes)}hash(){let t=Dt.digest(this.bytes);return ye(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return ce(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new ni.default.util.ByteBuffer(this.marshal()),i=ni.default.asn1.fromDer(n),o=ni.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return ni.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return xn(this.bytes,t);throw new F(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function hx(e){let t=zr.pkcs1ToJwk(e);if(io(t)>oi)throw new F("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await ka(t);return new Bn(r.privateKey,r.publicKey)}function dx(e){let t=zr.pkixToJwk(e);if(io(t)>oi)throw new F("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new ii(t)}async function px(e){if(io(e)>oi)throw new F("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await ka(e);return new Bn(t.privateKey,t.publicKey)}async function yx(e){if(e>oi)throw new F("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await Zf(e);return new Bn(t.privateKey,t.publicKey)}var Ha={};st(Ha,{Secp256k1PrivateKey:()=>ai,Secp256k1PublicKey:()=>si,generateKeyPair:()=>Rx,unmarshalSecp256k1PrivateKey:()=>Cx,unmarshalSecp256k1PublicKey:()=>_x});var mx=(e,t,r)=>e&t^~e&r,gx=(e,t,r)=>e&t^e&r^t&r,xx=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),br=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),wr=new Uint32Array(64),Ma=class extends yn{constructor(){super(64,32,8,!1),this.A=br[0]|0,this.B=br[1]|0,this.C=br[2]|0,this.D=br[3]|0,this.E=br[4]|0,this.F=br[5]|0,this.G=br[6]|0,this.H=br[7]|0}get(){let{A:t,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[t,r,n,i,o,s,a,c]}set(t,r,n,i,o,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let l=0;l<16;l++,r+=4)wr[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let h=wr[l-15],y=wr[l-2],d=Ae(h,7)^Ae(h,18)^h>>>3,p=Ae(y,17)^Ae(y,19)^y>>>10;wr[l]=p+wr[l-7]+d+wr[l-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:u,H:f}=this;for(let l=0;l<64;l++){let h=Ae(a,6)^Ae(a,11)^Ae(a,25),y=f+h+mx(a,c,u)+xx[l]+wr[l]|0,p=(Ae(n,2)^Ae(n,13)^Ae(n,22))+gx(n,i,o)|0;f=u,u=c,c=a,a=s+y|0,s=o,o=i,i=n,n=y+p|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,f=f+this.H|0,this.set(n,i,o,s,a,c,u,f)}roundClean(){wr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var rl=qi(()=>new Ma);function vx(e){let t=Yn(e);Me(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=t;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:bx,hexToBytes:wx}=Gi,Gr={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){let{Err:t}=Gr;if(e.length<2||e[0]!==2)throw new t("Invalid signature integer tag");let r=e[1],n=e.subarray(2,r+2);if(!r||n.length!==r)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:bx(n),l:e.subarray(r+2)}},toSig(e){let{Err:t}=Gr,r=typeof e=="string"?wx(e):e;if(!Te(r))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new t("Invalid signature tag");if(r[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:i,l:o}=Gr._parseInt(r.subarray(2)),{d:s,l:a}=Gr._parseInt(o);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(e){let t=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let f=u.toString(16);return f.length&1?`0${f}`:f},n=t(r(e.s)),i=t(r(e.r)),o=n.length/2,s=i.length/2,a=r(o),c=r(s);return`30${r(s+o+4)}02${c}${i}02${a}${n}`}},ir=BigInt(0),me=BigInt(1),PS=BigInt(2),nl=BigInt(3),US=BigInt(4);function Ex(e){let t=vx(e),{Fp:r}=t,n=t.toBytes||((d,p,m)=>{let g=p.toAffine();return Je(Uint8Array.from([4]),r.toBytes(g.x),r.toBytes(g.y))}),i=t.fromBytes||(d=>{let p=d.subarray(1),m=r.fromBytes(p.subarray(0,r.BYTES)),g=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:m,y:g}});function o(d){let{a:p,b:m}=t,g=r.sqr(d),w=r.mul(g,d);return r.add(r.add(w,r.mul(d,p)),m)}if(!r.eql(r.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function s(d){return typeof d=="bigint"&&ir<d&&d<t.n}function a(d){if(!s(d))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(d){let{allowedPrivateKeyLengths:p,nByteLength:m,wrapPrivateKey:g,n:w}=t;if(p&&typeof d!="bigint"){if(Te(d)&&(d=Xe(d)),typeof d!="string"||!p.includes(d.length))throw new Error("Invalid key");d=d.padStart(m*2,"0")}let v;try{v=typeof d=="bigint"?d:Qe(Tt("private key",d,m))}catch{throw new Error(`private key must be ${m} bytes, hex or bigint, not ${typeof d}`)}return g&&(v=dt(v,w)),a(v),v}let u=new Map;function f(d){if(!(d instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(p,m,g){if(this.px=p,this.py=m,this.pz=g,p==null||!r.isValid(p))throw new Error("x required");if(m==null||!r.isValid(m))throw new Error("y required");if(g==null||!r.isValid(g))throw new Error("z required")}static fromAffine(p){let{x:m,y:g}=p||{};if(!p||!r.isValid(m)||!r.isValid(g))throw new Error("invalid affine point");if(p instanceof l)throw new Error("projective point not allowed");let w=v=>r.eql(v,r.ZERO);return w(m)&&w(g)?l.ZERO:new l(m,g,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let m=r.invertBatch(p.map(g=>g.pz));return p.map((g,w)=>g.toAffine(m[w])).map(l.fromAffine)}static fromHex(p){let m=l.fromAffine(i(Tt("pointHex",p)));return m.assertValidity(),m}static fromPrivateKey(p){return l.BASE.multiply(c(p))}_setWindowSize(p){this._WINDOW_SIZE=p,u.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:p,y:m}=this.toAffine();if(!r.isValid(p)||!r.isValid(m))throw new Error("bad point: x or y not FE");let g=r.sqr(m),w=o(p);if(!r.eql(g,w))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:p}=this.toAffine();if(r.isOdd)return!r.isOdd(p);throw new Error("Field doesn't support isOdd")}equals(p){f(p);let{px:m,py:g,pz:w}=this,{px:v,py:I,pz:E}=p,S=r.eql(r.mul(m,E),r.mul(v,w)),R=r.eql(r.mul(g,E),r.mul(I,w));return S&&R}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:m}=t,g=r.mul(m,nl),{px:w,py:v,pz:I}=this,E=r.ZERO,S=r.ZERO,R=r.ZERO,L=r.mul(w,w),z=r.mul(v,v),$=r.mul(I,I),q=r.mul(w,v);return q=r.add(q,q),R=r.mul(w,I),R=r.add(R,R),E=r.mul(p,R),S=r.mul(g,$),S=r.add(E,S),E=r.sub(z,S),S=r.add(z,S),S=r.mul(E,S),E=r.mul(q,E),R=r.mul(g,R),$=r.mul(p,$),q=r.sub(L,$),q=r.mul(p,q),q=r.add(q,R),R=r.add(L,L),L=r.add(R,L),L=r.add(L,$),L=r.mul(L,q),S=r.add(S,L),$=r.mul(v,I),$=r.add($,$),L=r.mul($,q),E=r.sub(E,L),R=r.mul($,z),R=r.add(R,R),R=r.add(R,R),new l(E,S,R)}add(p){f(p);let{px:m,py:g,pz:w}=this,{px:v,py:I,pz:E}=p,S=r.ZERO,R=r.ZERO,L=r.ZERO,z=t.a,$=r.mul(t.b,nl),q=r.mul(m,v),J=r.mul(g,I),lt=r.mul(w,E),Ot=r.add(m,g),C=r.add(v,I);Ot=r.mul(Ot,C),C=r.add(q,J),Ot=r.sub(Ot,C),C=r.add(m,w);let P=r.add(v,E);return C=r.mul(C,P),P=r.add(q,lt),C=r.sub(C,P),P=r.add(g,w),S=r.add(I,E),P=r.mul(P,S),S=r.add(J,lt),P=r.sub(P,S),L=r.mul(z,C),S=r.mul($,lt),L=r.add(S,L),S=r.sub(J,L),L=r.add(J,L),R=r.mul(S,L),J=r.add(q,q),J=r.add(J,q),lt=r.mul(z,lt),C=r.mul($,C),J=r.add(J,lt),lt=r.sub(q,lt),lt=r.mul(z,lt),C=r.add(C,lt),q=r.mul(J,C),R=r.add(R,q),q=r.mul(P,C),S=r.mul(Ot,S),S=r.sub(S,q),q=r.mul(Ot,J),L=r.mul(P,L),L=r.add(L,q),new l(S,R,L)}subtract(p){return this.add(p.negate())}is0(){return this.equals(l.ZERO)}wNAF(p){return y.wNAFCached(this,u,p,m=>{let g=r.invertBatch(m.map(w=>w.pz));return m.map((w,v)=>w.toAffine(g[v])).map(l.fromAffine)})}multiplyUnsafe(p){let m=l.ZERO;if(p===ir)return m;if(a(p),p===me)return this;let{endo:g}=t;if(!g)return y.unsafeLadder(this,p);let{k1neg:w,k1:v,k2neg:I,k2:E}=g.splitScalar(p),S=m,R=m,L=this;for(;v>ir||E>ir;)v&me&&(S=S.add(L)),E&me&&(R=R.add(L)),L=L.double(),v>>=me,E>>=me;return w&&(S=S.negate()),I&&(R=R.negate()),R=new l(r.mul(R.px,g.beta),R.py,R.pz),S.add(R)}multiply(p){a(p);let m=p,g,w,{endo:v}=t;if(v){let{k1neg:I,k1:E,k2neg:S,k2:R}=v.splitScalar(m),{p:L,f:z}=this.wNAF(E),{p:$,f:q}=this.wNAF(R);L=y.constTimeNegate(I,L),$=y.constTimeNegate(S,$),$=new l(r.mul($.px,v.beta),$.py,$.pz),g=L.add($),w=z.add(q)}else{let{p:I,f:E}=this.wNAF(m);g=I,w=E}return l.normalizeZ([g,w])[0]}multiplyAndAddUnsafe(p,m,g){let w=l.BASE,v=(E,S)=>S===ir||S===me||!E.equals(w)?E.multiplyUnsafe(S):E.multiply(S),I=v(this,m).add(v(p,g));return I.is0()?void 0:I}toAffine(p){let{px:m,py:g,pz:w}=this,v=this.is0();p==null&&(p=v?r.ONE:r.inv(w));let I=r.mul(m,p),E=r.mul(g,p),S=r.mul(w,p);if(v)return{x:r.ZERO,y:r.ZERO};if(!r.eql(S,r.ONE))throw new Error("invZ was invalid");return{x:I,y:E}}isTorsionFree(){let{h:p,isTorsionFree:m}=t;if(p===me)return!0;if(m)return m(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:m}=t;return p===me?this:m?m(l,this):this.multiplyUnsafe(t.h)}toRawBytes(p=!0){return this.assertValidity(),n(l,this,p)}toHex(p=!0){return Xe(this.toRawBytes(p))}}l.BASE=new l(t.Gx,t.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);let h=t.nBitLength,y=Wi(l,t.endo?Math.ceil(h/2):h);return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function Sx(e){let t=Yn(e);return Me(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function il(e){let t=Sx(e),{Fp:r,n}=t,i=r.BYTES+1,o=2*r.BYTES+1;function s(C){return ir<C&&C<r.ORDER}function a(C){return dt(C,n)}function c(C){return $i(C,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:h}=Ex({...t,toBytes(C,P,D){let N=P.toAffine(),T=r.toBytes(N.x),M=Je;return D?M(Uint8Array.from([P.hasEvenY()?2:3]),T):M(Uint8Array.from([4]),T,r.toBytes(N.y))},fromBytes(C){let P=C.length,D=C[0],N=C.subarray(1);if(P===i&&(D===2||D===3)){let T=Qe(N);if(!s(T))throw new Error("Point is not on curve");let M=l(T),K=r.sqrt(M),G=(K&me)===me;return(D&1)===1!==G&&(K=r.neg(K)),{x:T,y:K}}else if(P===o&&D===4){let T=r.fromBytes(N.subarray(0,r.BYTES)),M=r.fromBytes(N.subarray(r.BYTES,2*r.BYTES));return{x:T,y:M}}else throw new Error(`Point of length ${P} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),y=C=>Xe(gr(C,t.nByteLength));function d(C){let P=n>>me;return C>P}function p(C){return d(C)?a(-C):C}let m=(C,P,D)=>Qe(C.slice(P,D));class g{constructor(P,D,N){this.r=P,this.s=D,this.recovery=N,this.assertValidity()}static fromCompact(P){let D=t.nByteLength;return P=Tt("compactSignature",P,D*2),new g(m(P,0,D),m(P,D,2*D))}static fromDER(P){let{r:D,s:N}=Gr.toSig(Tt("DER",P));return new g(D,N)}assertValidity(){if(!h(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!h(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(P){return new g(this.r,this.s,P)}recoverPublicKey(P){let{r:D,s:N,recovery:T}=this,M=R(Tt("msgHash",P));if(T==null||![0,1,2,3].includes(T))throw new Error("recovery id invalid");let K=T===2||T===3?D+t.n:D;if(K>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let G=T&1?"03":"02",X=u.fromHex(G+y(K)),tt=c(K),ut=a(-M*tt),et=a(N*tt),it=u.BASE.multiplyAndAddUnsafe(X,ut,et);if(!it)throw new Error("point at infinify");return it.assertValidity(),it}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return Pr(this.toDERHex())}toDERHex(){return Gr.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Pr(this.toCompactHex())}toCompactHex(){return y(this.r)+y(this.s)}}let w={isValidPrivateKey(C){try{return f(C),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let C=Gs(t.n);return Qu(t.randomBytes(C),t.n)},precompute(C=8,P=u.BASE){return P._setWindowSize(C),P.multiply(BigInt(3)),P}};function v(C,P=!0){return u.fromPrivateKey(C).toRawBytes(P)}function I(C){let P=Te(C),D=typeof C=="string",N=(P||D)&&C.length;return P?N===i||N===o:D?N===2*i||N===2*o:C instanceof u}function E(C,P,D=!0){if(I(C))throw new Error("first arg must be private key");if(!I(P))throw new Error("second arg must be public key");return u.fromHex(P).multiply(f(C)).toRawBytes(D)}let S=t.bits2int||function(C){let P=Qe(C),D=C.length*8-t.nBitLength;return D>0?P>>BigInt(D):P},R=t.bits2int_modN||function(C){return a(S(C))},L=$n(t.nBitLength);function z(C){if(typeof C!="bigint")throw new Error("bigint expected");if(!(ir<=C&&C<L))throw new Error(`bigint expected < 2^${t.nBitLength}`);return gr(C,t.nByteLength)}function $(C,P,D=q){if(["recovered","canonical"].some(St=>St in D))throw new Error("sign() legacy options not supported");let{hash:N,randomBytes:T}=t,{lowS:M,prehash:K,extraEntropy:G}=D;M==null&&(M=!0),C=Tt("msgHash",C),K&&(C=Tt("prehashed msgHash",N(C)));let X=R(C),tt=f(P),ut=[z(tt),z(X)];if(G!=null){let St=G===!0?T(r.BYTES):G;ut.push(Tt("extraEntropy",St))}let et=Je(...ut),it=X;function Ct(St){let Mt=S(St);if(!h(Mt))return;let Kt=c(Mt),Rt=u.BASE.multiply(Mt).toAffine(),Ft=a(Rt.x);if(Ft===ir)return;let He=a(Kt*a(it+Ft*tt));if(He===ir)return;let Ar=(Rt.x===Ft?0:2)|Number(Rt.y&me),Pn=He;return M&&d(He)&&(Pn=p(He),Ar^=1),new g(Ft,Pn,Ar)}return{seed:et,k2sig:Ct}}let q={lowS:t.lowS,prehash:!1},J={lowS:t.lowS,prehash:!1};function lt(C,P,D=q){let{seed:N,k2sig:T}=$(C,P,D),M=t;return Vs(M.hash.outputLen,M.nByteLength,M.hmac)(N,T)}u.BASE._setWindowSize(8);function Ot(C,P,D,N=J){let T=C;if(P=Tt("msgHash",P),D=Tt("publicKey",D),"strict"in N)throw new Error("options.strict was renamed to lowS");let{lowS:M,prehash:K}=N,G,X;try{if(typeof T=="string"||Te(T))try{G=g.fromDER(T)}catch(Rt){if(!(Rt instanceof Gr.Err))throw Rt;G=g.fromCompact(T)}else if(typeof T=="object"&&typeof T.r=="bigint"&&typeof T.s=="bigint"){let{r:Rt,s:Ft}=T;G=new g(Rt,Ft)}else throw new Error("PARSE");X=u.fromHex(D)}catch(Rt){if(Rt.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(M&&G.hasHighS())return!1;K&&(P=t.hash(P));let{r:tt,s:ut}=G,et=R(P),it=c(ut),Ct=a(et*it),St=a(tt*it),Mt=u.BASE.multiplyAndAddUnsafe(X,Ct,St)?.toAffine();return Mt?a(Mt.x)===tt:!1}return{CURVE:t,getPublicKey:v,getSharedSecret:E,sign:lt,verify:Ot,ProjectivePoint:u,Signature:g,utils:w}}var oo=class extends dn{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,Mu(t);let n=Gn(r);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?t.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=t.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(t){return hn(this),this.iHash.update(t),this}digestInto(t){hn(this),Ps(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return t=t,t.finished=i,t.destroyed=o,t.blockLen=s,t.outputLen=a,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Ka=(e,t,r)=>new oo(e,t).update(r).digest();Ka.create=(e,t)=>new oo(e,t);function Ax(e){return{hash:e,hmac:(t,...r)=>Ka(e,t,Vi(...r)),randomBytes:pn}}function ol(e,t){let r=n=>il({...e,...Ax(n)});return Object.freeze({...r(t),create:r})}var cl=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),sl=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Tx=BigInt(1),Fa=BigInt(2),al=(e,t)=>(e+t/Fa)/t;function Bx(e){let t=cl,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,f=u*u*e%t,l=bt(f,r,t)*f%t,h=bt(l,r,t)*f%t,y=bt(h,Fa,t)*u%t,d=bt(y,i,t)*y%t,p=bt(d,o,t)*d%t,m=bt(p,a,t)*p%t,g=bt(m,c,t)*m%t,w=bt(g,a,t)*p%t,v=bt(w,r,t)*f%t,I=bt(v,s,t)*d%t,E=bt(I,n,t)*u%t,S=bt(E,Fa,t);if(!Va.eql(Va.sqr(S),e))throw new Error("Cannot find square root");return S}var Va=Yi(cl,void 0,void 0,{sqrt:Bx}),Ce=ol({a:BigInt(0),b:BigInt(7),Fp:Va,n:sl,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=sl,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Tx*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=al(o*e,t),c=al(-n*e,t),u=dt(e-a*r-c*i,t),f=dt(-a*n-c*o,t),l=u>s,h=f>s;if(l&&(u=t-u),h&&(f=t-f),u>s||f>s)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:u,k2neg:h,k2:f}}}},rl),YS=BigInt(0);var WS=Ce.ProjectivePoint;function ul(){return Ce.utils.randomPrivateKey()}function fl(e,t){let r=Dt.digest(t instanceof Uint8Array?t:t.subarray());if(ye(r))return r.then(({digest:n})=>Ce.sign(n,e).toDERRawBytes()).catch(n=>{throw new F(String(n),"ERR_INVALID_INPUT")});try{return Ce.sign(r.digest,e).toDERRawBytes()}catch(n){throw new F(String(n),"ERR_INVALID_INPUT")}}function ll(e,t,r){let n=Dt.digest(r instanceof Uint8Array?r:r.subarray());if(ye(n))return n.then(({digest:i})=>Ce.verify(t,i,e)).catch(i=>{throw new F(String(i),"ERR_INVALID_INPUT")});try{return Ce.verify(t,n.digest,e)}catch(i){throw new F(String(i),"ERR_INVALID_INPUT")}}function hl(e){return Ce.ProjectivePoint.fromHex(e).toRawBytes(!0)}function dl(e){try{Ce.getPublicKey(e,!0)}catch(t){throw new F(String(t),"ERR_INVALID_PRIVATE_KEY")}}function qa(e){try{Ce.ProjectivePoint.fromHex(e)}catch(t){throw new F(String(t),"ERR_INVALID_PUBLIC_KEY")}}function pl(e){try{return Ce.getPublicKey(e,!0)}catch(t){throw new F(String(t),"ERR_INVALID_PRIVATE_KEY")}}var si=class{_key;constructor(t){qa(t),this._key=t}verify(t,r){return ll(this._key,r,t)}marshal(){return hl(this._key)}get bytes(){return Fe.encode({Type:wt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Oe(this.bytes,t.bytes)}async hash(){let t=Dt.digest(this.bytes),r;return ye(t)?{bytes:r}=await t:r=t.bytes,r}},ai=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r??pl(t),dl(this._key),qa(this._publicKey)}sign(t){return fl(this._key,t)}get public(){return new si(this._publicKey)}marshal(){return this._key}get bytes(){return Ve.encode({Type:wt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Oe(this.bytes,t.bytes)}hash(){let t=Dt.digest(this.bytes);return ye(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return ce(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return xn(this.bytes,t);throw new F(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Cx(e){return new ai(e)}function _x(e){return new si(e)}async function Rx(){let e=ul();return new ai(e)}var $r={rsa:Oa,ed25519:Da,secp256k1:Ha};function yl(e){let t=Object.keys($r).join(" / ");return new F(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function ml(e){let t=Fe.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case wt.RSA:return $r.rsa.unmarshalRsaPublicKey(r);case wt.Ed25519:return $r.ed25519.unmarshalEd25519PublicKey(r);case wt.Secp256k1:return $r.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw yl(t.Type??"unknown")}}async function gl(e){let t=Ve.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case wt.RSA:return $r.rsa.unmarshalRsaPrivateKey(r);case wt.Ed25519:return $r.ed25519.unmarshalEd25519PrivateKey(r);case wt.Secp256k1:return $r.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw yl(t.Type??"RSA")}}function xl(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function vl(e=0){return globalThis.Buffer?.allocUnsafe!=null?xl(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var Dx=Math.pow(2,7),Nx=Math.pow(2,14),Px=Math.pow(2,21),za=Math.pow(2,28),Ga=Math.pow(2,35),$a=Math.pow(2,42),Ya=Math.pow(2,49),ct=128,$t=127;function Yt(e){if(e<Dx)return 1;if(e<Nx)return 2;if(e<Px)return 3;if(e<za)return 4;if(e<Ga)return 5;if(e<$a)return 6;if(e<Ya)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Ux(e,t,r=0){switch(Yt(e)){case 8:t[r++]=e&255|ct,e/=128;case 7:t[r++]=e&255|ct,e/=128;case 6:t[r++]=e&255|ct,e/=128;case 5:t[r++]=e&255|ct,e/=128;case 4:t[r++]=e&255|ct,e>>>=7;case 3:t[r++]=e&255|ct,e>>>=7;case 2:t[r++]=e&255|ct,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function kx(e,t,r=0){switch(Yt(e)){case 8:t.set(r++,e&255|ct),e/=128;case 7:t.set(r++,e&255|ct),e/=128;case 6:t.set(r++,e&255|ct),e/=128;case 5:t.set(r++,e&255|ct),e/=128;case 4:t.set(r++,e&255|ct),e>>>=7;case 3:t.set(r++,e&255|ct),e>>>=7;case 2:t.set(r++,e&255|ct),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function Ox(e,t){let r=e[t],n=0;if(n+=r&$t,r<ct||(r=e[t+1],n+=(r&$t)<<7,r<ct)||(r=e[t+2],n+=(r&$t)<<14,r<ct)||(r=e[t+3],n+=(r&$t)<<21,r<ct)||(r=e[t+4],n+=(r&$t)*za,r<ct)||(r=e[t+5],n+=(r&$t)*Ga,r<ct)||(r=e[t+6],n+=(r&$t)*$a,r<ct)||(r=e[t+7],n+=(r&$t)*Ya,r<ct))return n;throw new RangeError("Could not decode varint")}function Mx(e,t){let r=e.get(t),n=0;if(n+=r&$t,r<ct||(r=e.get(t+1),n+=(r&$t)<<7,r<ct)||(r=e.get(t+2),n+=(r&$t)<<14,r<ct)||(r=e.get(t+3),n+=(r&$t)<<21,r<ct)||(r=e.get(t+4),n+=(r&$t)*za,r<ct)||(r=e.get(t+5),n+=(r&$t)*Ga,r<ct)||(r=e.get(t+6),n+=(r&$t)*$a,r<ct)||(r=e.get(t+7),n+=(r&$t)*Ya,r<ct))return n;throw new RangeError("Could not decode varint")}function ge(e,t,r=0){return t==null&&(t=vl(Yt(e))),t instanceof Uint8Array?Ux(e,t,r):kx(e,t,r)}function _e(e,t=0){return e instanceof Uint8Array?Ox(e,t):Mx(e,t)}function Wa(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=ne(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return Mr(r)}function bl(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var El=Symbol.for("@achingbrain/uint8arraylist");function wl(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function so(e){return!!e?.[El]}var ie=class e{bufs;length;[El]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(so(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(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(so(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(t){let r=wl(this.bufs,t);return r.buf[r.index]}set(t,r){let n=wl(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(so(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return Wa(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:Wa(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),o=new e;return o.length=i,o.bufs=[...n],o}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===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,t>=c)continue;let u=t>=a&&t<c,f=r>a&&r<=c;if(u&&f){if(t===a&&r===c){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(r-t)));break}if(u){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(f){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!so(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.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 l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let l=r;l<=c;l+=f){f=0;for(let h=u;h>=0;h--){let y=this.get(l+h);if(n[h]!==y){f=Math.max(1,h-a[y]);break}}if(f===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=ne(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=er(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=er(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=er(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=ne(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=er(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=er(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=er(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=er(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=er(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!bl(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function Sl(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function ao(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Al(e=0){return globalThis.Buffer?.allocUnsafe!=null?ao(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Bl(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Tl=Bl("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Za=Bl("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Al(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Kx={utf8:Tl,"utf-8":Tl,hex:jt.base16,latin1:Za,ascii:Za,binary:Za,...jt},Il=Kx;function Cl(e,t="utf8"){let r=Il[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ao(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var _l={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var ci;(function(e){let t;e.codec=()=>(t==null&&(t=Gt((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})),t),e.encode=r=>zt(r,e.codec()),e.decode=r=>Ht(r,e.codec())})(ci||(ci={}));var ui=class e{static createFromProtobuf=async t=>{let r=ci.decode(t),n=await m0(r.publicKey);return new e({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(t,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=t.domain,i=t.codec,o=t.marshal(),s=Rl(n,i,o),c=await(await gl(r.privateKey)).sign(s.subarray());return new e({peerId:r,payloadType:i,payload:o,signature:c})};static openAndCertify=async(t,r)=>{let n=await e.createFromProtobuf(t);if(!await n.validate(r))throw new F("envelope signature is not valid for the given domain",_l.ERR_SIGNATURE_NOT_VALID);return n};peerId;payloadType;payload;signature;marshaled;constructor(t){let{peerId:r,payloadType:n,payload:i,signature:o}=t;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=ci.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return Sl(this.marshal(),t.marshal())}async validate(t){let r=Rl(t,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return ml(this.peerId.publicKey).verify(r.subarray(),this.signature)}},Rl=(e,t,r)=>{let n=Cl(e),i=ge(n.byteLength),o=ge(t.length),s=ge(r.length);return new ie(i,n,o,t,s,r)};function Ll(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function Yr(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function co(e=0){return globalThis.Buffer?.allocUnsafe!=null?Yr(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Nl(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Dl=Nl("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Xa=Nl("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=co(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Fx={utf8:Dl,"utf-8":Dl,hex:jt.base16,latin1:Xa,ascii:Xa,binary:Xa,...jt},uo=Fx;function oe(e,t="utf8"){let r=uo[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function or(e,t){if(globalThis.Buffer!=null)return Yr(globalThis.Buffer.concat(e,t));t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=co(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return Yr(r)}var fo=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();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(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let f=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let h=Number.parseInt(l,t);if(!Number.isNaN(h))return h});if(f===void 0)break;if(o*=t,o+=f,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=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]=t(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]=t(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Pl=45,Vx=15,Cn=new fo;function Qa(e){if(!(e.length>Vx))return Cn.new(e).parseWith(()=>Cn.readIPv4Addr())}function Ja(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Pl))return Cn.new(e).parseWith(()=>Cn.readIPv6Addr())}function lo(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Pl))return Cn.new(e).parseWith(()=>Cn.readIPAddr())}var v3=parseInt("0xFFFF",16),b3=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function ja(e,t="utf8"){let r=uo[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Yr(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function Ol(e){return!!Qa(e)}function Ml(e){return!!Ja(e)}function ho(e){return!!lo(e)}var Kl=Ol,$x=Ml,tc=function(e){let t=0;if(e=e.toString().trim(),Kl(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if($x(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=Kl(r[n]),s;o&&(s=tc(r[n]),r[n]=oe(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,oe(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(t+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[t++]=o>>8&255,i[t++]=o&255}return i}throw new Error("invalid ip address")},Fl=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(t+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var _n={},ec={},Wx=[[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"]];Wx.forEach(e=>{let t=Zx(...e);ec[t.code]=t,_n[t.name]=t});function Zx(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function pt(e){if(typeof e=="number"){if(ec[e]!=null)return ec[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(_n[e]!=null)return _n[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var sA=pt("ip4"),aA=pt("ip6"),cA=pt("ipcidr");function nc(e,t){switch(pt(e).code){case 4:case 41:return Qx(t);case 42:return Hl(t);case 6:case 273:case 33:case 132:return Gl(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Hl(t);case 421:return e2(t);case 444:return zl(t);case 445:return zl(t);case 466:return t2(t);default:return oe(t,"base16")}}function ic(e,t){switch(pt(e).code){case 4:return Vl(t);case 41:return Vl(t);case 42:return ql(t);case 6:case 273:case 33:case 132:return oc(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return ql(t);case 421:return Jx(t);case 444:return r2(t);case 445:return n2(t);case 466:return jx(t);default:return ja(t,"base16")}}var rc=Object.values(jt).map(e=>e.decoder),Xx=function(){let e=rc[0].or(rc[1]);return rc.slice(2).forEach(t=>e=e.or(t)),e}();function Vl(e){if(!ho(e))throw new Error("invalid ip address");return tc(e)}function Qx(e){let t=Fl(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!ho(t))throw new Error("invalid ip address");return t}function oc(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Gl(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function ql(e){let t=ja(e),r=Uint8Array.from(ge(t.length));return or([r,t],r.length+t.length)}function Hl(e){let t=_e(e);if(e=e.slice(Yt(t)),e.length!==t)throw new Error("inconsistent lengths");return oe(e)}function Jx(e){let t;e[0]==="Q"||e[0]==="1"?t=Tr(Lt.decode(`z${e}`)).bytes:t=se.parse(e).multihash.bytes;let r=Uint8Array.from(ge(t.length));return or([r,t],r.length+t.length)}function jx(e){let t=Xx.decode(e),r=Uint8Array.from(ge(t.length));return or([r,t],r.length+t.length)}function t2(e){let t=_e(e),r=e.slice(Yt(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+oe(r,"base64url")}function e2(e){let t=_e(e),r=e.slice(Yt(t));if(r.length!==t)throw new Error("inconsistent lengths");return oe(r,"base58btc")}function r2(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=Ge.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=oc(n);return or([r,i],r.length+i.length)}function n2(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=Ge.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=oc(n);return or([r,i],r.length+i.length)}function zl(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=oe(t,"base32"),i=Gl(r);return`${n}:${i}`}function $l(e){e=sc(e);let t=[],r=[],n=null,i=e.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=pt(s);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw Wl("invalid address: "+e);if(a.path===!0){n=sc(i.slice(o).join("/")),t.push([a.code,ic(a.code,n)]),r.push([a.code,n]);break}let c=ic(a.code,i[o]);t.push([a.code,c]),r.push([a.code,nc(a.code,c)])}return{string:Yl(r),bytes:cc(t),tuples:t,stringTuples:r,path:n}}function ac(e){let t=[],r=[],n=null,i=0;for(;i<e.length;){let o=_e(e,i),s=Yt(o),a=pt(o),c=i2(a,e.slice(i+s));if(c===0){t.push([o]),r.push([o]),i+=s;continue}let u=e.slice(i+s,i+s+c);if(i+=c+s,i>e.length)throw Wl("Invalid address Uint8Array: "+oe(e,"base16"));t.push([o,u]);let f=nc(o,u);if(r.push([o,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(e),string:Yl(r),tuples:t,stringTuples:r,path:n}}function Yl(e){let t=[];return e.map(r=>{let n=pt(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),sc(t.join("/"))}function cc(e){return or(e.map(t=>{let r=pt(t[0]),n=Uint8Array.from(ge(r.code));return t.length>1&&t[1]!=null&&(n=or([n,t[1]])),n}))}function i2(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=_e(t instanceof Uint8Array?t:Uint8Array.from(t));return r+Yt(r)}}function sc(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function Wl(e){return new Error("Error parsing address: "+e)}var o2=Symbol.for("nodejs.util.inspect.custom"),uc=Symbol.for("@multiformats/js-multiaddr/multiaddr"),s2=[pt("dns").code,pt("dns4").code,pt("dns6").code,pt("dnsaddr").code],po=class e{bytes;#t;#e;#o;#a;[uc]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=ac(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=$l(t)}else if(Xl(t))r=ac(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#t=r.string,this.#e=r.tuples,this.#o=r.stringTuples,this.#a=r.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,r,n,i,o="",s=pt("tcp"),a=pt("udp"),c=pt("ip4"),u=pt("ip6"),f=pt("dns6"),l=pt("ip6zone");for(let[y,d]of this.stringTuples())y===l.code&&(o=`%${d??""}`),s2.includes(y)&&(r=s.name,i=443,n=`${d??""}${o}`,t=y===f.code?6:4),(y===s.code||y===a.code)&&(r=pt(y).name,i=parseInt(d??"")),(y===c.code||y===u.code)&&(r=pt(y).name,n=`${d??""}${o}`,t=y===u.code?6:4);if(t==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:t,host:n,transport:r,port:i}}protos(){return this.#e.map(([t])=>Object.assign({},pt(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>pt(t).name)}tuples(){return this.#e}stringTuples(){return this.#o}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(cc(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,i])=>{n===_n.p2p.code&&t.push([n,i]),n===_n["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?oe(Lt.decode(`z${n}`),"base58btc"):oe(se.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#a}equals(t){return Ll(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=Zl.get(r.name);if(n==null)throw new F(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new e(o))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[o2](){return`Multiaddr(${this.#t})`}};var Zl=new Map;function Xl(e){return!!e?.[uc]}function Wt(e){return new po(e)}var a2=Uint8Array.from([3,1]);var fc;(function(e){let t;(function(n){let i;n.codec=()=>(i==null&&(i=Gt((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=>zt(o,n.codec()),n.decode=o=>Ht(o,n.codec())})(t=e.AddressInfo||(e.AddressInfo={}));let r;e.codec=()=>(r==null&&(r=Gt((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),e.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(e.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return o})),r),e.encode=n=>zt(n,e.codec()),e.decode=n=>Ht(n,e.codec())})(fc||(fc={}));function qe(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var yo=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=r??"ABORT_ERR"}};async function Ql(e,t,r){if(t==null)return e;if(t.aborted)return Promise.reject(new yo(r?.errorMessage,r?.errorCode));let n,i=new yo(r?.errorMessage,r?.errorCode);try{return await Promise.race([e,new Promise((o,s)=>{n=()=>{s(i)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var lc=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=qe(),this.haveNext=qe()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let t=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=qe(),t}async throw(t){return this.ended=!0,t!=null&&this.haveNext.reject(t),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),t}async push(t,r){await this._push(t,r)}async end(t,r){t!=null?await this.throw(t):await this._push(void 0,r)}async _push(t,r){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=qe(),await Ql(this.needNext.promise,r?.signal,r)}};function Jl(){return new lc}var mo=class extends Error{code;constructor(t,r){super(t),this.code=r}},hc=class extends mo{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function jl(e,t){let r=Jl();e.sink(r).catch(async s=>{await r.end(s)}),e.sink=async s=>{for await(let a of s)await r.push(a);await r.end()};let n=e.source;e.source[Symbol.iterator]!=null?n=e.source[Symbol.iterator]():e.source[Symbol.asyncIterator]!=null&&(n=e.source[Symbol.asyncIterator]());let i=new ie;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,u=new Promise((f,l)=>{c=()=>{l(new hc("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:l,value:h}=await Promise.race([n.next(),u]);return l===!0?new ie:h}for(;i.byteLength<s;){let{value:l,done:h}=await Promise.race([n.next(),u]);if(h===!0)throw new mo("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(l)}let f=i.sublist(0,s);return i.consume(s),f}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(s,a)=>{a?.signal?.throwIfAborted(),s instanceof Uint8Array?await r.push(s,a):await r.push(s.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let s=e.source;e.source=async function*(){t?.yieldBytes===!1?yield i:yield*i,yield*s}()}return e}}}function go(e){return e[Symbol.asyncIterator]!=null}var xo=e=>{let t=Yt(e),r=ne(t);return ge(e,r),xo.bytes=t,r};xo.bytes=0;function fi(e,t){t=t??{};let r=t.lengthEncoder??xo;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return go(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}fi.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??xo;return new ie(r(e.byteLength),e)};var Rn=Vt(rh(),1);var u2=8,f2=1024*1024*4,Wr;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(Wr||(Wr={}));var pc=e=>{let t=_e(e);return pc.bytes=Yt(t),t};pc.bytes=0;function dc(e,t){let r=new ie,n=Wr.LENGTH,i=-1,o=t?.lengthDecoder??pc,s=t?.maxLengthLength??u2,a=t?.maxDataLength??f2;function*c(){for(;r.byteLength>0;){if(n===Wr.LENGTH)try{if(i=o(r),i<0)throw(0,Rn.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Rn.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;r.consume(u),t?.onLength!=null&&t.onLength(i),n=Wr.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,Rn.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===Wr.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(u),yield u,n=Wr.LENGTH}}}return go(e)?async function*(){for await(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,Rn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,Rn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}dc.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await e.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 dc(n,{...t??{},onLength:o=>{r=o}})};var vo=class extends Error{code;constructor(t,r){super(t),this.code=r}},nh=e=>_e(e);nh.bytes=0;function ih(e,t={}){let r=jl(e,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=Yt(t.maxDataLength)),{read:async i=>{let o=-1,s=new ie,a=t?.lengthDecoder??nh;for(;;){s.append(await r.read(1,i));try{o=a(s)}catch(c){if(c instanceof RangeError)continue;throw c}if(t?.maxLengthLength!=null&&s.byteLength>t.maxLengthLength)throw new vo("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(o>-1)break}if(t?.maxDataLength!=null&&o>t.maxDataLength)throw new vo("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(o,i)},write:async(i,o)=>{await r.write(fi.single(i,t),o)},writeV:async(i,o)=>{let s=new ie(...i.map(a=>fi.single(a,t)));await r.write(s,o)},unwrap:()=>r.unwrap()}}function Er(e,t){let r=ih(e,t),n={read:async(i,o)=>{let s=await r.read(o);return i.decode(s)},write:async(i,o,s)=>{await r.write(o.encode(i),s)},writeV:async(i,o,s)=>{await r.writeV(i.map(a=>o.encode(a)),s)},pb:i=>({read:async o=>n.read(i,o),write:async(o,s)=>n.write(o,i,s),writeV:async(o,s)=>n.writeV(o,i,s),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}var bo="/libp2p/relay";var oh="circuit-relay-source",sh="circuit-relay-relay";var ah=BigInt(131072),xe="/libp2p/circuit/relay/0.2.0/hop",Zr="/libp2p/circuit/relay/0.2.0/stop",ch=30*1e3,uh=30*1e3,li=300,fh="ERR_NO_ROUTERS_AVAILABLE",yc="ERR_RELAYED_DIAL",lh="ERR_HOP_REQUEST_FAILED",wo="ERR_TRANSFER_LIMIT_EXCEEDED";var ft;(function(e){let t;(function(i){i.RESERVE="RESERVE",i.CONNECT="CONNECT",i.STATUS="STATUS"})(t=e.Type||(e.Type={}));let r;(function(i){i[i.RESERVE=0]="RESERVE",i[i.CONNECT=1]="CONNECT",i[i.STATUS=2]="STATUS"})(r||(r={})),function(i){i.codec=()=>Vr(r)}(t=e.Type||(e.Type={}));let n;e.codec=()=>(n==null&&(n=Gt((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.type!=null&&(o.uint32(8),e.Type.codec().encode(i.type,o)),i.peer!=null&&(o.uint32(18),Ln.codec().encode(i.peer,o)),i.reservation!=null&&(o.uint32(26),Eo.codec().encode(i.reservation,o)),i.limit!=null&&(o.uint32(34),Dn.codec().encode(i.limit,o)),i.status!=null&&(o.uint32(40),j.codec().encode(i.status,o)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.type=e.Type.codec().decode(i);break;case 2:s.peer=Ln.codec().decode(i,i.uint32());break;case 3:s.reservation=Eo.codec().decode(i,i.uint32());break;case 4:s.limit=Dn.codec().decode(i,i.uint32());break;case 5:s.status=j.codec().decode(i);break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>zt(i,e.codec()),e.decode=i=>Ht(i,e.codec())})(ft||(ft={}));var le;(function(e){let t;(function(i){i.CONNECT="CONNECT",i.STATUS="STATUS"})(t=e.Type||(e.Type={}));let r;(function(i){i[i.CONNECT=0]="CONNECT",i[i.STATUS=1]="STATUS"})(r||(r={})),function(i){i.codec=()=>Vr(r)}(t=e.Type||(e.Type={}));let n;e.codec=()=>(n==null&&(n=Gt((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.type!=null&&(o.uint32(8),e.Type.codec().encode(i.type,o)),i.peer!=null&&(o.uint32(18),Ln.codec().encode(i.peer,o)),i.limit!=null&&(o.uint32(26),Dn.codec().encode(i.limit,o)),i.status!=null&&(o.uint32(32),j.codec().encode(i.status,o)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.type=e.Type.codec().decode(i);break;case 2:s.peer=Ln.codec().decode(i,i.uint32());break;case 3:s.limit=Dn.codec().decode(i,i.uint32());break;case 4:s.status=j.codec().decode(i);break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>zt(i,e.codec()),e.decode=i=>Ht(i,e.codec())})(le||(le={}));var Ln;(function(e){let t;e.codec=()=>(t==null&&(t=Gt((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.id!=null&&r.id.byteLength>0&&(n.uint32(10),n.bytes(r.id)),r.addrs!=null)for(let o of r.addrs)n.uint32(18),n.bytes(o);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={id:new Uint8Array(0),addrs:[]},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.addrs.push(r.bytes());break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>zt(r,e.codec()),e.decode=r=>Ht(r,e.codec())})(Ln||(Ln={}));var Eo;(function(e){let t;e.codec=()=>(t==null&&(t=Gt((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.expire!=null&&r.expire!==0n&&(n.uint32(8),n.uint64(r.expire)),r.addrs!=null)for(let o of r.addrs)n.uint32(18),n.bytes(o);r.voucher!=null&&(n.uint32(26),n.bytes(r.voucher)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={expire:0n,addrs:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.expire=r.uint64();break;case 2:i.addrs.push(r.bytes());break;case 3:i.voucher=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>zt(r,e.codec()),e.decode=r=>Ht(r,e.codec())})(Eo||(Eo={}));var Dn;(function(e){let t;e.codec=()=>(t==null&&(t=Gt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.duration!=null&&(n.uint32(8),n.uint32(r.duration)),r.data!=null&&(n.uint32(16),n.uint64(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.duration=r.uint32();break;case 2:i.data=r.uint64();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>zt(r,e.codec()),e.decode=r=>Ht(r,e.codec())})(Dn||(Dn={}));var j;(function(e){e.UNUSED="UNUSED",e.OK="OK",e.RESERVATION_REFUSED="RESERVATION_REFUSED",e.RESOURCE_LIMIT_EXCEEDED="RESOURCE_LIMIT_EXCEEDED",e.PERMISSION_DENIED="PERMISSION_DENIED",e.CONNECTION_FAILED="CONNECTION_FAILED",e.NO_RESERVATION="NO_RESERVATION",e.MALFORMED_MESSAGE="MALFORMED_MESSAGE",e.UNEXPECTED_MESSAGE="UNEXPECTED_MESSAGE"})(j||(j={}));var mc;(function(e){e[e.UNUSED=0]="UNUSED",e[e.OK=100]="OK",e[e.RESERVATION_REFUSED=200]="RESERVATION_REFUSED",e[e.RESOURCE_LIMIT_EXCEEDED=201]="RESOURCE_LIMIT_EXCEEDED",e[e.PERMISSION_DENIED=202]="PERMISSION_DENIED",e[e.CONNECTION_FAILED=203]="CONNECTION_FAILED",e[e.NO_RESERVATION=204]="NO_RESERVATION",e[e.MALFORMED_MESSAGE=400]="MALFORMED_MESSAGE",e[e.UNEXPECTED_MESSAGE=401]="UNEXPECTED_MESSAGE"})(mc||(mc={}));(function(e){e.codec=()=>Vr(mc)})(j||(j={}));var So;(function(e){let t;e.codec=()=>(t==null&&(t=Gt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.relay!=null&&r.relay.byteLength>0&&(n.uint32(10),n.bytes(r.relay)),r.peer!=null&&r.peer.byteLength>0&&(n.uint32(18),n.bytes(r.peer)),r.expiration!=null&&r.expiration!==0n&&(n.uint32(24),n.uint64(r.expiration)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={relay:new Uint8Array(0),peer:new Uint8Array(0),expiration:0n},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.relay=r.bytes();break;case 2:i.peer=r.bytes();break;case 3:i.expiration=r.uint64();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>zt(r,e.codec()),e.decode=r=>Ht(r,e.codec())})(So||(So={}));function hh(e){let t=new globalThis.AbortController;function r(){t.abort();for(let o of e)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}for(let o of e){if(o?.aborted===!0){r();break}o?.addEventListener!=null&&o.addEventListener("abort",r)}function n(){for(let o of e)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}let i=t.signal;return i.clear=n,i}async function*dh(e,t,r){let n=t.remaining;for await(let i of e){let o=BigInt(i.byteLength);if(t.remaining-o<0){let s=Number(t.remaining);t.remaining=0n;try{s!==0&&(yield i.subarray(0,s))}catch(a){r.log.error(a)}throw new F(`data limit of ${n} bytes exceeded`,wo)}t.remaining-=o,yield i}}function ph(e,t,r,n,i){function o(l){e.abort(l),t.abort(l)}let s=[r];n?.duration!=null&&s.push(AbortSignal.timeout(n.duration));let a=hh(s),c=!1,u=!1,f;n?.data!=null&&(f={remaining:n.data}),queueMicrotask(()=>{let l=()=>{t.abort(new F(`duration limit of ${n?.duration} ms exceeded`,wo))};a.addEventListener("abort",l,{once:!0}),t.sink(f==null?e.source:dh(e.source,f,i)).catch(h=>{i.log.error("error while relaying streams src -> dst",h),o(h)}).finally(()=>{c=!0,u&&(a.removeEventListener("abort",l),a.clear())})}),queueMicrotask(()=>{let l=()=>{e.abort(new F(`duration limit of ${n?.duration} ms exceeded`,wo))};a.addEventListener("abort",l,{once:!0}),e.sink(f==null?t.source:dh(t.source,f,i)).catch(h=>{i.log.error("error while relaying streams dst -> src",h),o(h)}).finally(()=>{u=!0,c&&(a.removeEventListener("abort",l),a.clear())})})}async function Ao(e){let t=new TextEncoder().encode(e),r=await Dt.digest(t);return se.createV0(r)}function gc(e){let t=e*BigInt(1e3),r=new Date().getTime();return Number(t-BigInt(r))}var wh=Vt(vh(),1);var d2=Object.prototype.toString,p2=e=>d2.call(e)==="[object Error]",y2=new Set(["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Load failed","Network request failed","fetch failed"]);function xc(e){return e&&p2(e)&&e.name==="TypeError"&&typeof e.message=="string"?e.message==="Load failed"?e.stack===void 0:y2.has(e.message):!1}var vc=class extends Error{constructor(t){super(),t instanceof Error?(this.originalError=t,{message:t}=t):(this.originalError=new Error(t),this.originalError.stack=this.stack),this.name="AbortError",this.message=t}},bh=(e,t,r)=>{let n=r.retries-(t-1);return e.attemptNumber=t,e.retriesLeft=n,e};async function bc(e,t){return new Promise((r,n)=>{t={onFailedAttempt(){},retries:10,shouldRetry:()=>!0,...t};let i=wh.default.operation(t),o=()=>{i.stop(),n(t.signal?.reason)};t.signal&&!t.signal.aborted&&t.signal.addEventListener("abort",o,{once:!0});let s=()=>{t.signal?.removeEventListener("abort",o),i.stop()};i.attempt(async a=>{try{let c=await e(a);s(),r(c)}catch(c){try{if(!(c instanceof Error))throw new TypeError(`Non-error was thrown: "${c}". You should only throw errors.`);if(c instanceof vc)throw c.originalError;if(c instanceof TypeError&&!xc(c))throw c;if(bh(c,a,t),await t.shouldRetry(c)||(i.stop(),n(c)),await t.onFailedAttempt(c),!i.retry(c))throw i.mainError()}catch(u){bh(u,a,t),s(),n(u)}}})})}var To=class extends he{contentRouting;timeout;started;bootDelay;log;constructor(t,r){super(),this.log=t.logger.forComponent("libp2p:circuit-relay:advert-service"),this.contentRouting=t.contentRouting,this.bootDelay=r?.bootDelay??uh,this.started=!1}isStarted(){return this.started}start(){this.started||(this.timeout=setTimeout(()=>{this._advertiseService().catch(t=>{this.log.error("could not advertise service",t)})},this.bootDelay),this.started=!0)}stop(){try{clearTimeout(this.timeout)}catch{}this.started=!1}async _advertiseService(){await bc(async()=>{try{let t=await Ao(bo);await this.contentRouting.provide(t),this.safeDispatchEvent("advert:success",{detail:void 0})}catch(t){if(this.safeDispatchEvent("advert:error",{detail:t}),t.code===fh){this.log.error("a content router, such as a DHT, must be provided in order to advertise the relay service",t),this.stop();return}throw this.log.error("could not advertise service",t),t}})}};function sr(e,t){let r={[Symbol.iterator]:()=>r,next:()=>{let n=e.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:t(i)}}};return r}var be=class{map;constructor(t){if(this.map=new Map,t!=null)for(let[r,n]of t.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){return this.map.delete(t.toString())}entries(){return sr(this.map.entries(),t=>[Et(t[0]),t[1]])}forEach(t){this.map.forEach((r,n)=>{t(r,Et(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,r){this.map.set(t.toString(),r)}keys(){return sr(this.map.keys(),t=>Et(t))}values(){return this.map.values()}get size(){return this.map.size}};var Bo=class e{set;constructor(t){if(this.set=new Set,t!=null)for(let r of t)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return sr(this.set.entries(),t=>{let r=Et(t[0]);return[r,r]})}forEach(t){this.set.forEach(r=>{let n=Et(r);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return sr(this.set.values(),t=>Et(t))}intersection(t){let r=new e;for(let n of t)this.has(n)&&r.add(n);return r}difference(t){let r=new e;for(let n of this)t.has(n)||r.add(n);return r}union(t){let r=new e;for(let n of t)r.add(n);for(let n of this)r.add(n);return r}};var Io=class e{list;constructor(t){if(this.list=[],t!=null)for(let r of t)this.list.push(r.toString())}[Symbol.iterator](){return sr(this.list.entries(),t=>Et(t[1]))}concat(t){let r=new e(this);for(let n of t)r.push(n);return r}entries(){return sr(this.list.entries(),t=>[t[0],Et(t[1])])}every(t){return this.list.every((r,n)=>t(Et(r),n,this))}filter(t){let r=new e;return this.list.forEach((n,i)=>{let o=Et(n);t(o,i,this)&&r.push(o)}),r}find(t){let r=this.list.find((n,i)=>t(Et(n),i,this));if(r!=null)return Et(r)}findIndex(t){return this.list.findIndex((r,n)=>t(Et(r),n,this))}forEach(t){this.list.forEach((r,n)=>{t(Et(r),n,this)})}includes(t){return this.list.includes(t.toString())}indexOf(t){return this.list.indexOf(t.toString())}pop(){let t=this.list.pop();if(t!=null)return Et(t)}push(...t){for(let r of t)this.list.push(r.toString())}shift(){let t=this.list.shift();if(t!=null)return Et(t)}unshift(...t){let r=this.list.length;for(let n=t.length-1;n>-1;n--)r=this.list.unshift(t[n].toString());return r}clear(){this.list=[]}get length(){return this.list.length}};var Co=class{reservations=new be;_started=!1;interval;maxReservations;reservationClearInterval;applyDefaultLimit;reservationTtl;defaultDurationLimit;defaultDataLimit;constructor(t={}){this.maxReservations=t.maxReservations??15,this.reservationClearInterval=t.reservationClearInterval??3e5,this.applyDefaultLimit=t.applyDefaultLimit!==!1,this.reservationTtl=t.reservationTtl??72e5,this.defaultDurationLimit=t.defaultDurationLimit??12e4,this.defaultDataLimit=t.defaultDataLimit??ah}isStarted(){return this._started}start(){this._started||(this._started=!0,this.interval=setInterval(()=>{let t=new Date().getTime();this.reservations.forEach((r,n)=>{r.expire.getTime()<t&&this.reservations.delete(n)})},this.reservationClearInterval))}stop(){clearInterval(this.interval)}reserve(t,r,n){if(this.reservations.size>=this.maxReservations&&!this.reservations.has(t))return{status:j.RESERVATION_REFUSED};let i=new Date(Date.now()+this.reservationTtl),o;return this.applyDefaultLimit&&(o=n??{data:this.defaultDataLimit,duration:this.defaultDurationLimit}),this.reservations.set(t,{addr:r,expire:i,limit:o}),{status:j.OK,expire:Math.round(i.getTime()/1e3)}}removeReservation(t){this.reservations.delete(t)}hasReservation(t){return this.reservations.has(t)}get(t){return this.reservations.get(t)}};var _o=class e{domain="libp2p-relay-rsvp";codec=new Uint8Array([3,2]);relay;peer;expiration;constructor({relay:t,peer:r,expiration:n}){this.relay=t,this.peer=r,this.expiration=n}marshal(){return So.encode({relay:this.relay.toBytes(),peer:this.peer.toBytes(),expiration:BigInt(this.expiration)})}equals(t){return!(!(t instanceof e)||!this.peer.equals(t.peer)||!this.relay.equals(t.relay)||this.expiration!==t.expiration)}};var Eh=e=>e.protoCodes().includes(290),b2={maxOutboundStopStreams:li},wc=class extends he{registrar;peerStore;addressManager;peerId;connectionManager;connectionGater;reservationStore;advertService;started;hopTimeout;shutdownController;maxInboundHopStreams;maxOutboundHopStreams;maxOutboundStopStreams;log;constructor(t,r={}){super(),this.log=t.logger.forComponent("libp2p:circuit-relay:server"),this.registrar=t.registrar,this.peerStore=t.peerStore,this.addressManager=t.addressManager,this.peerId=t.peerId,this.connectionManager=t.connectionManager,this.connectionGater=t.connectionGater,this.started=!1,this.hopTimeout=r?.hopTimeout??ch,this.shutdownController=new AbortController,this.maxInboundHopStreams=r.maxInboundHopStreams,this.maxOutboundHopStreams=r.maxOutboundHopStreams,this.maxOutboundStopStreams=r.maxOutboundStopStreams??b2.maxOutboundStopStreams,Zc(1/0,this.shutdownController.signal),r.advertise!=null&&r.advertise!==!1&&(this.advertService=new To(t,r.advertise===!0?void 0:r.advertise),this.advertService.addEventListener("advert:success",()=>{this.safeDispatchEvent("relay:advert:success",{})}),this.advertService.addEventListener("advert:error",n=>{this.safeDispatchEvent("relay:advert:error",{detail:n.detail})})),this.reservationStore=new Co(r.reservations)}isStarted(){return this.started}async start(){this.started||(this.advertService?.start(),await this.registrar.handle(xe,t=>{this.onHop(t).catch(r=>{this.log.error(r)})},{maxInboundStreams:this.maxInboundHopStreams,maxOutboundStreams:this.maxOutboundHopStreams,runOnTransientConnection:!0}),this.reservationStore.start(),this.started=!0)}async stop(){this.advertService?.stop(),this.reservationStore.stop(),this.shutdownController.abort(),await this.registrar.unhandle(xe),this.started=!1}async onHop({connection:t,stream:r}){this.log("received circuit v2 hop protocol stream from %p",t.remotePeer);let n=qe(),i=setTimeout(()=>{n.reject("timed out")},this.hopTimeout),o=Er(r);try{let s=await Promise.race([o.pb(ft).read(),n.promise]);if(s?.type==null)throw new Error("request was invalid, could not read from stream");this.log("received",s.type),await Promise.race([this.handleHopProtocol({connection:t,stream:o,request:s}),n.promise])}catch(s){this.log.error("error while handling hop",s),await o.pb(ft).write({type:ft.Type.STATUS,status:j.MALFORMED_MESSAGE}),r.abort(s)}finally{clearTimeout(i)}}async handleHopProtocol({stream:t,request:r,connection:n}){switch(this.log("received hop message"),r.type){case ft.Type.RESERVE:await this.handleReserve({stream:t,request:r,connection:n});break;case ft.Type.CONNECT:await this.handleConnect({stream:t,request:r,connection:n});break;default:this.log.error("invalid hop request type %s via peer %p",r.type,n.remotePeer),await t.pb(ft).write({type:ft.Type.STATUS,status:j.UNEXPECTED_MESSAGE})}}async handleReserve({stream:t,request:r,connection:n}){let i=t.pb(ft);if(this.log("hop reserve request from %p",n.remotePeer),Eh(n.remoteAddr)){this.log.error("relay reservation over circuit connection denied for peer: %p",n.remotePeer),await i.write({type:ft.Type.STATUS,status:j.PERMISSION_DENIED});return}if(await this.connectionGater.denyInboundRelayReservation?.(n.remotePeer)===!0){this.log.error("reservation for %p denied by connection gater",n.remotePeer),await i.write({type:ft.Type.STATUS,status:j.PERMISSION_DENIED});return}let o=this.reservationStore.reserve(n.remotePeer,n.remoteAddr);if(o.status!==j.OK){await i.write({type:ft.Type.STATUS,status:o.status});return}try{if(o.expire!=null){let s=o.expire*1e3-Date.now();await this.peerStore.merge(n.remotePeer,{tags:{[oh]:{value:1,ttl:s}}})}await i.write({type:ft.Type.STATUS,status:j.OK,reservation:await this.makeReservation(n.remotePeer,BigInt(o.expire??0)),limit:this.reservationStore.get(n.remotePeer)?.limit}),this.log("sent confirmation response to %s",n.remotePeer)}catch(s){this.log.error("failed to send confirmation response to %p",n.remotePeer,s),this.reservationStore.removeReservation(n.remotePeer)}}async makeReservation(t,r){let n=[];for(let o of this.addressManager.getAddresses())o.toString().includes("/p2p-circuit")||n.push(o.bytes);let i=await ui.seal(new _o({peer:t,relay:this.peerId,expiration:Number(r)}),this.peerId);return{addrs:n,expire:r,voucher:i.marshal()}}async handleConnect({stream:t,request:r,connection:n}){let i=t.pb(ft);if(Eh(n.remoteAddr)){this.log.error("relay reservation over circuit connection denied for peer: %p",n.remotePeer),await i.write({type:ft.Type.STATUS,status:j.PERMISSION_DENIED});return}this.log("hop connect request from %p",n.remotePeer);let o;try{if(r.peer==null)throw this.log.error("no peer info in hop connect request"),new Error("no peer info in request");r.peer.addrs.forEach(Wt),o=an(r.peer.id)}catch(l){this.log.error("invalid hop connect request via peer %p %s",n.remotePeer,l),await i.write({type:ft.Type.STATUS,status:j.MALFORMED_MESSAGE});return}if(!this.reservationStore.hasReservation(o)){this.log.error("hop connect denied for destination peer %p not having a reservation for %p with status %s",o,n.remotePeer,j.NO_RESERVATION),await i.write({type:ft.Type.STATUS,status:j.NO_RESERVATION});return}if(await this.connectionGater.denyOutboundRelayedConnection?.(n.remotePeer,o)===!0){this.log.error("hop connect for %p to %p denied by connection gater",n.remotePeer,o),await i.write({type:ft.Type.STATUS,status:j.PERMISSION_DENIED});return}let s=this.connectionManager.getConnections(o);if(s.length===0){this.log("hop connect denied for destination peer %p not having a connection for %p as there is no destination connection",o,n.remotePeer),await i.write({type:ft.Type.STATUS,status:j.NO_RESERVATION});return}let a=s[0],c=await this.stopHop({connection:a,request:{type:le.Type.CONNECT,peer:{id:n.remotePeer.toBytes(),addrs:[]}}});if(c==null){this.log.error("failed to open stream to destination peer %p",a?.remotePeer),await i.write({type:ft.Type.STATUS,status:j.CONNECTION_FAILED});return}await i.write({type:ft.Type.STATUS,status:j.OK});let u=t.unwrap();this.log("connection from %p to %p established - merging streams",n.remotePeer,o);let f=this.reservationStore.get(o)?.limit;ph(u,c,this.shutdownController.signal,f,{log:this.log})}async stopHop({connection:t,request:r}){this.log("starting circuit relay v2 stop request to %s",t.remotePeer);let n=await t.newStream([Zr],{maxOutboundStreams:this.maxOutboundStopStreams,runOnTransientConnection:!0}),i=Er(n),o=i.pb(le);await o.write(r);let s;try{s=await o.read()}catch{this.log.error("error parsing stop message response from %p",t.remotePeer)}if(s==null){this.log.error("could not read response from %p",t.remotePeer),await n.close();return}if(s.status===j.OK)return this.log("stop request to %p was successful",t.remotePeer),i.unwrap();this.log("stop request failed with code %d",s.status),await n.close()}get reservations(){return this.reservationStore.reservations}};function Sh(e={}){return t=>new wc(t,e)}var Ro=class extends he{peerId;peerStore;contentRouting;registrar;started;topologyId;log;constructor(t){super(),this.log=t.logger.forComponent("libp2p:circuit-relay:discover-relays"),this.started=!1,this.peerId=t.peerId,this.peerStore=t.peerStore,this.contentRouting=t.contentRouting,this.registrar=t.registrar}isStarted(){return this.started}async start(){this.topologyId=await this.registrar.register(xe,{notifyOnTransient:!0,onConnect:t=>{this.safeDispatchEvent("relay:discover",{detail:t})}}),this.started=!0}afterStart(){this.discover().catch(t=>{this.log.error("error discovering relays",t)})}stop(){this.topologyId!=null&&this.registrar.unregister(this.topologyId),this.started=!1}async discover(){this.log("searching peer store for relays");let t=await this.peerStore.all({filters:[r=>r.protocols.includes(xe)],orders:[()=>Math.random()<.5?1:-1]});for(let r of t)this.log("found relay peer %p in content peer store",r.id),this.safeDispatchEvent("relay:discover",{detail:r.id});this.log("found %d relay peers in peer store",t.length);try{this.log("searching content routing for relays");let r=await Ao(bo),n=0;for await(let i of this.contentRouting.findProviders(r))if(i.multiaddrs.length>0&&!i.id.equals(this.peerId)){let o=i.id;n++,await this.peerStore.merge(o,{multiaddrs:i.multiaddrs}),this.log("found relay peer %p in content routing",o),this.safeDispatchEvent("relay:discover",{detail:o})}this.log("found %d relay peers in content routing",n)}catch(r){this.log.error("failed when finding relays on the network",r)}}};var Ac=Vt(Th(),1);var di=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},Tc=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Bh=e=>globalThis.DOMException===void 0?new Tc(e):new DOMException(e),Ih=e=>{let t=e.reason===void 0?Bh("This operation was aborted."):e.reason;return t instanceof Error?t:Bh(t)};function Bc(e,t){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=t,s,c=new Promise((u,f)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(t.signal){let{signal:h}=t;h.aborted&&f(Ih(h)),h.addEventListener("abort",()=>{f(Ih(h))})}if(r===Number.POSITIVE_INFINITY){e.then(u,f);return}let l=new di;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(h){f(h)}return}typeof e.cancel=="function"&&e.cancel(),i===!1?u():i instanceof Error?f(i):(l.message=i??`Promise timed out after ${r} milliseconds`,f(l))},r),(async()=>{try{u(await e)}catch(h){f(h)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}function Ic(e,t,r){let n=0,i=e.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(e[s],t)<=0?(n=++s,i-=o+1):i=o}return n}var pi=class{#t=[];enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,run:t};if(this.size&&this.#t[this.size-1].priority>=r.priority){this.#t.push(n);return}let i=Ic(this.#t,n,(o,s)=>s.priority-o.priority);this.#t.splice(i,0,n)}dequeue(){return this.#t.shift()?.run}filter(t){return this.#t.filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return this.#t.length}};var yi=class extends Ac.default{#t;#e;#o=0;#a;#c;#p=0;#n;#u;#r;#y;#i=0;#f;#s;#m;timeout;constructor(t){if(super(),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:pi,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#t=t.carryoverConcurrencyCount,this.#e=t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,this.#a=t.intervalCap,this.#c=t.interval,this.#r=new t.queueClass,this.#y=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#m=t.throwOnTimeout===!0,this.#s=t.autoStart===!1}get#v(){return this.#e||this.#o<this.#a}get#b(){return this.#i<this.#f}#w(){this.#i--,this.#l(),this.emit("next")}#E(){this.#x(),this.#g(),this.#u=void 0}get#S(){let t=Date.now();if(this.#n===void 0){let r=this.#p-t;if(r<0)this.#o=this.#t?this.#i:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#E()},r)),!0}return!1}#l(){if(this.#r.size===0)return this.#n&&clearInterval(this.#n),this.#n=void 0,this.emit("empty"),this.#i===0&&this.emit("idle"),!1;if(!this.#s){let t=!this.#S;if(this.#v&&this.#b){let r=this.#r.dequeue();return r?(this.emit("active"),r(),t&&this.#g(),!0):!1}}return!1}#g(){this.#e||this.#n!==void 0||(this.#n=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#o===0&&this.#i===0&&this.#n&&(clearInterval(this.#n),this.#n=void 0),this.#o=this.#t?this.#i:0,this.#h()}#h(){for(;this.#l(););}get concurrency(){return this.#f}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#f=t,this.#h()}async#A(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(t.reason)},{once:!0})})}async add(t,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#m,...r},new Promise((n,i)=>{this.#r.enqueue(async()=>{this.#i++,this.#o++;try{r.signal?.throwIfAborted();let o=t({signal:r.signal});r.timeout&&(o=Bc(Promise.resolve(o),{milliseconds:r.timeout})),r.signal&&(o=Promise.race([o,this.#A(r.signal)]));let s=await o;n(s),this.emit("completed",s)}catch(o){if(o instanceof di&&!r.throwOnTimeout){n();return}i(o),this.emit("error",o)}finally{this.#w()}},r),this.emit("add"),this.#l()})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return this.#s?(this.#s=!1,this.#h(),this):this}pause(){this.#s=!0}clear(){this.#r=new this.#y}async onEmpty(){this.#r.size!==0&&await this.#d("empty")}async onSizeLessThan(t){this.#r.size<t||await this.#d("next",()=>this.#r.size<t)}async onIdle(){this.#i===0&&this.#r.size===0||await this.#d("idle")}async#d(t,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(t,i),n())};this.on(t,i)})}get size(){return this.#r.size}sizeBy(t){return this.#r.filter(t).length}get pending(){return this.#i}get isPaused(){return this.#s}};function S2(e,t,r){let n=0,i=e.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(e[s],t)<=0?(n=++s,i-=o+1):i=o}return n}var Cc=class{#t=[];enqueue(t,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new F("missing peer id",Fo);let o={priority:i,peerId:n,run:t};if(this.size>0&&this.#t[this.size-1].priority>=i){this.#t.push(o);return}let s=S2(this.#t,o,(a,c)=>c.priority-a.priority);this.#t.splice(s,0,o)}dequeue(){return this.#t.shift()?.run}filter(t){if(t.peerId!=null){let r=t.peerId;return this.#t.filter(n=>r.equals(n.peerId)).map(n=>n.run)}return this.#t.filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return this.#t.length}},Do=class extends yi{results;constructor(t={}){super({...t,queueClass:Cc}),this.results=new be}hasJob(t){return this.sizeBy({peerId:t})>0}async joinJob(t){let r=this.results.get(t);if(r==null)throw new F("No job found for peer id","ERR_NO_JOB_FOR_PEER_ID");return r===!0&&(r=qe(),this.results.set(t,r)),r.promise}async add(t,r){let n=r?.peerId;if(n==null)throw new F("missing peer id",Fo);return this.results.set(r.peerId,!0),super.add(async i=>{try{let o=await t(i),s=this.results.get(n);return s!=null&&s!==!0&&s.resolve(o),o}catch(o){let s=this.results.get(n);throw s!=null&&s!==!0&&s.reject(o),o}finally{this.results.delete(n)}},r)}clear(){this.results.clear(),super.clear()}};function Ch(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var T2=60*1e3*10,B2=60*1e3*5,I2=30*1e3,No=class extends he{peerId;connectionManager;transportManager;peerStore;events;reserveQueue;reservations;maxDiscoveredRelays;maxReservationQueueLength;reservationCompletionTimeout;started;log;constructor(t,r){super(),this.log=t.logger.forComponent("libp2p:circuit-relay:transport:reservation-store"),this.peerId=t.peerId,this.connectionManager=t.connectionManager,this.transportManager=t.transportManager,this.peerStore=t.peerStore,this.events=t.events,this.reservations=new be,this.maxDiscoveredRelays=r?.discoverRelays??0,this.maxReservationQueueLength=r?.maxReservationQueueLength??100,this.reservationCompletionTimeout=r?.reservationCompletionTimeout??1e4,this.started=!1,this.reserveQueue=new Do({concurrency:r?.reservationConcurrency??1}),this.events.addEventListener("peer:disconnect",n=>{this.#e(n.detail)})}isStarted(){return this.started}start(){this.started=!0}stop(){this.reserveQueue.clear(),this.reservations.forEach(({timeout:t})=>{clearTimeout(t)}),this.reservations.clear(),this.started=!1}async addRelay(t,r){if(this.peerId.equals(t)){this.log("not trying to use self as relay");return}if(this.reserveQueue.size>this.maxReservationQueueLength){this.log("not adding relay as the queue is full");return}if(this.reserveQueue.hasJob(t)){this.log("relay peer is already in the reservation queue");return}this.log("add relay %p",t),await this.reserveQueue.add(async()=>{try{let n=this.reservations.get(t);if(n!=null){if(gc(n.reservation.expire)>T2){this.log("already have reservation on relay peer %p and it expires in more than 10 minutes",t);return}clearTimeout(n.timeout),this.reservations.delete(t)}if(r==="discovered"&&[...this.reservations.values()].reduce((f,l)=>(l.type==="discovered"&&f++,f),0)>=this.maxDiscoveredRelays){this.log("already have enough discovered relays");return}let i=AbortSignal.timeout(this.reservationCompletionTimeout),o=await this.connectionManager.openConnection(t,{signal:i});if(o.remoteAddr.protoNames().includes("p2p-circuit")){this.log("not creating reservation over relayed connection");return}let s=await this.#t(o,{signal:i});this.log("created reservation on relay peer %p",t);let a=gc(s.expire),c=Math.min(Math.max(a-B2,I2),Math.pow(2,31)-1),u=setTimeout(()=>{this.addRelay(t,r).catch(f=>{this.log.error("could not refresh reservation to relay %p",t,f)})},c);this.reservations.set(t,{timeout:u,reservation:s,type:r}),await this.peerStore.merge(t,{tags:{[sh]:{value:1,ttl:a}}}),await this.transportManager.listen([Wt(`/p2p/${t.toString()}/p2p-circuit`)])}catch(n){this.log.error("could not reserve slot on %p",t,n);let i=this.reservations.get(t);i!=null&&clearTimeout(i.timeout),this.reservations.delete(t)}},{peerId:t})}hasReservation(t){return this.reservations.has(t)}getReservation(t){return this.reservations.get(t)?.reservation}async#t(t,r){r.signal?.throwIfAborted(),this.log("requesting reservation from %p",t.remotePeer);let n=await t.newStream(xe,r),o=Er(n).pb(ft);await o.write({type:ft.Type.RESERVE},r);let s;try{s=await o.read(r)}catch(c){throw this.log.error("error parsing reserve message response from %p because",t.remotePeer,c),n.abort(c),c}finally{await n.close()}if(s.status===j.OK&&s.reservation!=null){let c=!1,u=t.remoteAddr.bytes;for(let f of s.reservation.addrs)if(Ch(u,f)){c=!0;break}return c||s.reservation.addrs.push(u),s.reservation}let a=`reservation failed with status ${s.status??"undefined"}`;throw this.log.error(a),new Error(a)}#e(t){let r=this.reservations.get(t);r!=null&&(this.log("connection to relay %p closed, removing reservation from local store",t),clearTimeout(r.timeout),this.reservations.delete(t),this.safeDispatchEvent("relay:removed",{detail:t}),this.reservations.size<this.maxDiscoveredRelays&&(this.log("not enough relays %d/%d",this.reservations.size,this.maxDiscoveredRelays),this.safeDispatchEvent("relay:not-enough-relays",{})))}};function _c(e){let{stream:t,remoteAddr:r,logger:n}=e,i=n.forComponent("libp2p:stream:converter"),o=!1,s=!1,a=t.close.bind(t);t.close=async h=>{await a(h),l(!0)};let c=t.abort.bind(t);t.abort=h=>{c(h),l(!0)};let u=t.sink.bind(t);t.sink=async h=>{try{await u(h)}catch(y){y.type!=="aborted"&&i.error("%s error in sink",r,y)}finally{s=!0,l()}};let f={log:i,sink:t.sink,source:async function*(){try{for await(let h of t.source)h instanceof Uint8Array?yield h:yield*h}finally{o=!0,l()}}(),remoteAddr:r,timeline:{open:Date.now(),close:void 0},close:t.close,abort:t.abort};function l(h){h===!0&&(o=!0,s=!0),o&&s&&f.timeline.close==null&&(f.timeline.close=Date.now())}return f}var C2=k("dns4"),_2=k("dns6"),R2=k("dnsaddr"),Qr=It(k("dns"),R2,C2,_2),ko=It(k("ip4"),k("ip6")),Nn=It(H(ko,k("tcp")),H(Qr,k("tcp"))),Oo=H(ko,k("udp")),L2=H(Oo,k("utp")),D2=H(Oo,k("quic")),N2=H(Oo,k("quic-v1")),Rc=It(H(Nn,k("ws")),H(Qr,k("ws"))),Po=It(H(Rc,k("p2p")),Rc),Lc=It(H(Nn,k("wss")),H(Qr,k("wss")),H(Nn,k("tls"),k("ws")),H(Qr,k("tls"),k("ws"))),Uo=It(H(Lc,k("p2p")),Lc),Dc=It(H(Nn,k("http")),H(ko,k("http")),H(Qr,k("http"))),Nc=It(H(Nn,k("https")),H(ko,k("https")),H(Qr,k("https"))),_h=H(Oo,k("webrtc-direct"),k("certhash")),Dh=It(H(_h,k("p2p")),_h),Rh=H(N2,k("webtransport"),k("certhash"),k("certhash")),Nh=It(H(Rh,k("p2p")),Rh),Ph=It(H(Po,k("p2p-webrtc-star"),k("p2p")),H(Uo,k("p2p-webrtc-star"),k("p2p")),H(Po,k("p2p-webrtc-star")),H(Uo,k("p2p-webrtc-star"))),h6=It(H(Po,k("p2p-websocket-star"),k("p2p")),H(Uo,k("p2p-websocket-star"),k("p2p")),H(Po,k("p2p-websocket-star")),H(Uo,k("p2p-websocket-star"))),Uh=It(H(Dc,k("p2p-webrtc-direct"),k("p2p")),H(Nc,k("p2p-webrtc-direct"),k("p2p")),H(Dc,k("p2p-webrtc-direct")),H(Nc,k("p2p-webrtc-direct"))),Jr=It(Rc,Lc,Dc,Nc,Ph,Uh,Nn,L2,D2,Qr,Dh,Nh),d6=It(H(Jr,k("p2p-stardust"),k("p2p")),H(Jr,k("p2p-stardust"))),Sr=It(H(Jr,k("p2p")),Ph,Uh,Dh,Nh,k("p2p")),Lh=It(H(Sr,k("p2p-circuit"),Sr),H(Sr,k("p2p-circuit")),H(k("p2p-circuit"),Sr),H(Jr,k("p2p-circuit")),H(k("p2p-circuit"),Jr),k("p2p-circuit")),kh=()=>It(H(Lh,kh),Lh),ar=kh(),p6=It(H(ar,Sr,ar),H(Sr,ar),H(ar,Sr),ar,Sr);var y6=It(H(ar,k("webrtc"),k("p2p")),H(ar,k("webrtc")),H(Jr,k("webrtc"),k("p2p")),H(Jr,k("webrtc")),k("webrtc"));function Oh(e){function t(r){let n;try{n=Wt(r)}catch{return!1}let i=e(n.protoNames());return i===null?!1:i===!0||i===!1?i:i.length===0}return t}function H(...e){function t(r){if(r.length<e.length)return null;let n=r;return e.some(i=>(n=typeof i=="function"?i().partialMatch(r):i.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:Oh(t),partialMatch:t}}function It(...e){function t(n){let i=null;return e.some(o=>{let s=typeof o=="function"?o().partialMatch(n):o.partialMatch(n);return s!=null?(i=s,!0):!1}),i}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:Oh(t),partialMatch:t}}function k(e){let t=e;function r(i){let o;try{o=Wt(i)}catch{return!1}let s=o.protoNames();return s.length===1&&s[0]===t}function n(i){return i.length===0?null:i[0]===t?i.slice(1):null}return{toString:function(){return t},matches:r,partialMatch:n}}var Pc=class extends he{connectionManager;relayStore;listeningAddrs;log;constructor(t){super(),this.log=t.logger.forComponent("libp2p:circuit-relay:transport:listener"),this.connectionManager=t.connectionManager,this.relayStore=t.relayStore,this.listeningAddrs=new be,this.relayStore.addEventListener("relay:removed",this._onRemoveRelayPeer)}_onRemoveRelayPeer=t=>{this.#t(t.detail)};async listen(t){this.log("listen on %a",t);let r=t.decapsulate("/p2p-circuit"),n=await this.connectionManager.openConnection(r);if(!this.relayStore.hasReservation(n.remotePeer)){this.log("making reservation on peer %p",n.remotePeer),await this.relayStore.addRelay(n.remotePeer,"configured");return}let i=this.relayStore.getReservation(n.remotePeer);if(i==null)throw new F("Did not have reservation after making reservation","ERR_NO_RESERVATION");if(this.listeningAddrs.has(n.remotePeer)){this.log("already listening on relay %p",n.remotePeer);return}this.listeningAddrs.set(n.remotePeer,i.addrs.map(o=>Wt(o).encapsulate("/p2p-circuit"))),this.safeDispatchEvent("listening",{})}getAddrs(){return[...this.listeningAddrs.values()].flat()}async close(){}#t(t){let r=this.listeningAddrs.has(t);this.log("relay peer removed %p - had reservation",t,r),this.listeningAddrs.delete(t),r&&(this.log.trace("removing relay event listener for peer %p",t),this.relayStore.removeEventListener("relay:removed",this._onRemoveRelayPeer),this.safeDispatchEvent("close",{}))}};function Mh(e){return new Pc(e)}var U2=e=>{if(e.peer==null)return!1;try{e.peer.addrs.forEach(Wt)}catch{return!1}return!0},Uc={maxInboundStopStreams:li,maxOutboundStopStreams:li,stopTimeout:3e4},Mo=class{discovery;registrar;peerStore;connectionManager;transportManager;peerId;upgrader;addressManager;connectionGater;reservationStore;logger;maxInboundStopStreams;maxOutboundStopStreams;stopTimeout;started;log;constructor(t,r){this.log=t.logger.forComponent("libp2p:circuit-relay:transport"),this.registrar=t.registrar,this.peerStore=t.peerStore,this.connectionManager=t.connectionManager,this.transportManager=t.transportManager,this.logger=t.logger,this.peerId=t.peerId,this.upgrader=t.upgrader,this.addressManager=t.addressManager,this.connectionGater=t.connectionGater,this.maxInboundStopStreams=r.maxInboundStopStreams??Uc.maxInboundStopStreams,this.maxOutboundStopStreams=r.maxOutboundStopStreams??Uc.maxOutboundStopStreams,this.stopTimeout=r.stopTimeout??Uc.stopTimeout,r.discoverRelays!=null&&r.discoverRelays>0&&(this.discovery=new Ro(t),this.discovery.addEventListener("relay:discover",n=>{this.reservationStore.addRelay(n.detail,"discovered").catch(i=>{this.log.error("could not add discovered relay %p",n.detail,i)})})),this.reservationStore=new No(t,r),this.reservationStore.addEventListener("relay:not-enough-relays",()=>{this.discovery?.discover().catch(n=>{this.log.error("could not discover relays",n)})}),this.started=!1}isStarted(){return this.started}async start(){this.reservationStore.start(),await this.registrar.handle(Zr,t=>{this.onStop(t).catch(r=>{this.log.error("error while handling STOP protocol",r),t.stream.abort(r)})},{maxInboundStreams:this.maxInboundStopStreams,maxOutboundStreams:this.maxOutboundStopStreams,runOnTransientConnection:!0}),await this.discovery?.start(),this.started=!0}afterStart(){this.discovery?.afterStart()}async stop(){this.discovery?.stop(),this.reservationStore.stop(),await this.registrar.unhandle(Zr),this.started=!1}[Wc]=!0;[Symbol.toStringTag]="libp2p/circuit-relay-v2";async dial(t,r={}){if(t.protoCodes().filter(d=>d===290).length!==1){let d="Invalid circuit relay address";throw this.log.error(d,t),new F(d,yc)}let n=t.toString().split("/p2p-circuit"),i=Wt(n[0]),o=Wt(n[n.length-1]),s=i.getPeerId(),a=o.getPeerId();if(s==null||a==null){let d=`Circuit relay dial to ${t.toString()} failed as address did not have peer ids`;throw this.log.error(d),new F(d,yc)}let c=Et(s),u=Et(a),f=!1,h=this.connectionManager.getConnections(c)[0];h==null&&(await this.peerStore.merge(c,{multiaddrs:[i]}),h=await this.connectionManager.openConnection(c,r),f=!0);let y;try{return y=await h.newStream(xe),await this.connectV2({stream:y,connection:h,destinationPeer:u,destinationAddr:o,relayAddr:i,ma:t,disconnectOnFailure:f})}catch(d){throw this.log.error("circuit relay dial to destination %p via relay %p failed",u,c,d),y?.abort(d),f&&await h.close(),d}}async connectV2({stream:t,connection:r,destinationPeer:n,destinationAddr:i,relayAddr:o,ma:s,disconnectOnFailure:a}){try{let c=Er(t),u=c.pb(ft);await u.write({type:ft.Type.CONNECT,peer:{id:n.toBytes(),addrs:[Wt(i).bytes]}});let f=await u.read();if(f.status!==j.OK)throw new F(`failed to connect via relay with status ${f?.status?.toString()??"undefined"}`,lh);let l=_c({stream:c.unwrap(),remoteAddr:s,localAddr:o.encapsulate(`/p2p-circuit/p2p/${this.peerId.toString()}`),logger:this.logger});return this.log("new outbound transient connection %a",l.remoteAddr),await this.upgrader.upgradeOutbound(l,{transient:!0})}catch(c){throw this.log.error(`Circuit relay dial to destination ${n.toString()} via relay ${r.remotePeer.toString()} failed`,c),a&&await r.close(),c}}createListener(t){return Mh({connectionManager:this.connectionManager,relayStore:this.reservationStore,logger:this.logger})}filter(t){return t=Array.isArray(t)?t:[t],t.filter(r=>ar.matches(r))}async onStop({connection:t,stream:r}){if(!this.reservationStore.hasReservation(t.remotePeer))try{this.log("dialed via relay we did not have a reservation on, start listening on that relay address"),await this.transportManager.listen([t.remoteAddr.encapsulate("/p2p-circuit")])}catch(f){this.log.error("failed to listen on a relay peer we were dialed via but did not have a reservation on",f)}let n=AbortSignal.timeout(this.stopTimeout),i=Er(r).pb(le),o=await i.read({signal:n});if(this.log("new circuit relay v2 stop stream from %p with type %s",t.remotePeer,o.type),o?.type===void 0){this.log.error("type was missing from circuit v2 stop protocol request from %s",t.remotePeer),await i.write({type:le.Type.STATUS,status:j.MALFORMED_MESSAGE},{signal:n}),await r.close();return}if(o.type!==le.Type.CONNECT){this.log.error("invalid stop connect request via peer %p",t.remotePeer),await i.write({type:le.Type.STATUS,status:j.UNEXPECTED_MESSAGE},{signal:n}),await r.close();return}if(!U2(o)){this.log.error("invalid stop connect request via peer %p",t.remotePeer),await i.write({type:le.Type.STATUS,status:j.MALFORMED_MESSAGE},{signal:n}),await r.close();return}let s=an(o.peer.id);if(await this.connectionGater.denyInboundRelayedConnection?.(t.remotePeer,s)===!0){this.log.error("connection gater denied inbound relayed connection from %p",t.remotePeer),await i.write({type:le.Type.STATUS,status:j.PERMISSION_DENIED},{signal:n}),await r.close();return}this.log.trace("sending success response to %p",t.remotePeer),await i.write({type:le.Type.STATUS,status:j.OK},{signal:n});let a=t.remoteAddr.encapsulate(`/p2p-circuit/p2p/${s.toString()}`),c=this.addressManager.getAddresses()[0],u=_c({stream:i.unwrap().unwrap(),remoteAddr:a,localAddr:c,logger:this.logger});this.log("new inbound transient connection %a",u.remoteAddr),await this.upgrader.upgradeInbound(u,{transient:!0}),this.log("%s connection %a upgraded","inbound",u.remoteAddr)}};function Kh(e={}){return t=>new Mo(t,e)}return jh(k2);})();
|
16
16
|
/*! Bundled license information:
|
17
17
|
|
18
18
|
@noble/hashes/esm/utils.js:
|